P8.2 Pravljenje sintaksnog analizatora

Величина: px
Почињати приказ од странице:

Download "P8.2 Pravljenje sintaksnog analizatora"

Транскрипт

1 Прављење синтаксног анализатора Синтаксни анализатор Ручно: анализатор са рекурзивним спуштањем Уз помоћ алата: сличност са интерпретером 1

2 Синтаксни анализатор са рекурзивним спуштањем (енгл. recursive-descent) Има по једну (међурекурзивну) функцију за сваки нетерминал (синтаксну класу) Унутар сваке функције switch по врсти улазног симбола са по једном case клаузулом за сваку продукцију Синоним: анализа са предвиђањем (predictive) Ограничење: Ради добро само ако први терминални симбол у сваком подизразу једнозначно одређује продукцију Ако то није случај, постоји конфликт 2

3 Пример 1 (1/3) Спецификација граматике Направити синтаксни анализатор са рекурзивним спуштањем за задату граматику Нетерминални симболи: S, E, L Дефинишу дозвољене исказе и изразе у језику Терминали: let, in, begin, print, end, ;, =, num Кључне речи и оператори у језику S let E in S S begin S L S print E L end L ; S L E num = num 3

4 Пример 1 (2/3) Програм S let E in S S begin S L S print E L end L ; S L E num = num enum token {LET, IN, BEGIN, END, PRINT, SEMI, NUM, EQ}; enum token gettoken(); enum token tok; void advance() { tok = gettoken(); } void eat(enum token t) { if (tok == t) advance(); else error(); } void S() { switch (tok) { case LET: eat(let); E(); eat(in); S(); break; case BEGIN: eat(begin); S(); L(); break; case PRINT: eat(print); E(); break; default: error(); } } 4

5 Пример 1 (3/3) Програм S let E in S S begin S L S print E L end L ; S L E num = num void L() { switch (tok) { case END: eat(end); break; case SEMI: eat(semi); S(); L(); break; default: error(); } } void E() { eat(num); eat(eq); eat(num); } void main() { advance(); S(); } 5

6 Примери са конфликтом E a b T E a c G Први терминални симбол не одређује продукцију. Али одређују прва два За неке граматике треба више од једног терминалног симбола за предвиђање продукције Није суштински проблем, парсер са рекурзивним спуштањем се оваквом случају релативно лако прилагођава 6

7 Примери са конфликтом E a b T E a c G Први терминални симбол не одређује продукцију. void E() { switch (tok) { case A_TOK: eat(a_tok); switch (tok) { case B_TOK: eat(b_tok); T(); break; case C_TOK: eat(c_tok); G(); break; } break; } } 7

8 Примери са конфликтом E a T x E a T z Први терминални симбол не одређује продукцију. И не можемо знати коју продукцију да изаберемо пре нетерминала Т Формалније речено: FIRST(a T x) се преклапа са FIRST(a T y) За низ терминала и нетерминала γ, скуп FIRST чине сви терминали којима започињу реченице развијене из γ Нпр. за γ = T * F у некој граматици, FIRST(γ) = {id, num, (} 8

9 Примери са конфликтом E a T x E a T z E a T E E x E z Решење конфликта Први терминални симбол не одређује продукцију. И не можемо знати коју продукцију да изаберемо пре нетерминала Т Формалније речено: FIRST(a T x) се преклапа са FIRST(a T y) За низ терминала и нетерминала γ, скуп FIRST чине сви терминали којима започињу реченице развијене из γ Нпр. за γ = T * F у некој граматици, FIRST(γ) = {id, num, (} 9

10 Примери са конфликтом E a T x E a T E a T E E x E ε Решење конфликта Слично као мало пре Симбол E је поништив (nullable) ако се из њега може развити празан низ Сада нам треба и FOLLOW(T) скуп, да бисмо знали да ли да применимо редукцију која поништава неки нетерминални симбол Скуп FOLLOW(X) је скуп терминала који у реченицама језика могу пратити нетерминал X 10

11 Примери са конфликтом E a T b c T b T ε Не можемо разликовати прву и другу продукцију T FIRST(T) и FOLLOW(T) скуп се преклапају 11

12 Примери са конфликтом E a T b c T b T ε E a b b c E ab c Решење конфликта Не можемо разликовати прву и другу продукцију T FIRST(T) и FOLLOW(T) скуп се преклапају Решење конфликта може увести нови конфликт (али другачије врсте) 12

13 Алгоритам за одређивање FIRST, FOLLOW и NULLABLE Initialize FIRST and FOLLOW to empty sets, and nullable to all false. for each terminal symbol Z FIRST[Z] = {Z} repeat for each production X Y 1 Y 2... Y k for each i from 1 to k, each j from i+1 to k if all the Yi are nullable then nullable[x] true if Y 1... Y i-1 are all nullable then FIRST[X] FIRST[X] U FIRST[Y i ] if Y i+1... Y k are all nullable then FOLLOW[Y i ] FOLLOW[Y i ] U FOLLOW[X] if Y i+1... Y j-1 are all nullable then FOLLOW[Y i ] FOLLOW[Y i ] U FOLLOW[Y j ] until FIRST, FOLLOW, and nullable did not change in this iteration. 13

14 Пример са конфликтима S E $ E E + T T T * F F id E E - T T T / F F num E T T F F ( E ) Лева рекурзија Специјалан случај преклапања FIRST скупова две продукције 14

15 Уклањање леве рекурзије Опште правило за преписивање израза са левом рекурзијом у изразе са десном рекурзијом Примењено на посматрани пример Početni skup produkcija X X γ 1 X X γ 2 X α 1 X α 2 Rezultat transformacije X α 1 X X α 2 X X γ 1 X X γ 2 X X α -не садржи X γ -не почиње са X Језик након трансформације: S E $ E T E T F T E + T E T * F T F id E - T E T / F T F num E T F ( E ) 15

16 Садржаји скупова Поред трансформације језика, потребно је одредити садржаје скупова За сваки нетерминал: nullable, FIRST и FOLLOW Симбол nullable FIRST FOLLOW S false ( id num E false ( id num ) $ E' true + - ) $ T false ( id num ) + - $ T' true * / ) + - $ F false ( id num ) * / + - $ 16

17 Интерпретер са рекурзивним спуштањем (1/2) F id F num F ( E ) enum token {EOF, ID, NUM, PLUS, MINUS,...}; union tokenval {string id; int num;...}; enum token tok; union tokenval tokval; int lookup(string id) {...} int F_follow[] = {RPAREN, TIMES, DIVIDE, PLUS, MINUS, EOF, -1}; int F(void) { switch (tok) { case ID: {int i = lookup(tokval.id); advance(); return i;} case NUM: {int i = tokval.num; advance(); return i;} case LPAREN: eat(lparen); { int i = E(); eatorskipto(rparen, F_follow); return i; } case EOF: default: printf( Expected ID, NUM, or ( ); skipto(f_follow); return 0; } } 17

18 Интерпретер са рекурзивним спуштањем (2/2) int T_follow[] = {RPAREN, PLUS, MINUS, EOF, -1}; int T(void) { switch (tok) { case ID: case NUM: case LPAREN: return Tprime(F()); default: printf( Expected ID, NUM, or ( ); skipto(t_follow); return 0; } } int Tprime(int a) { switch (tok) { case TIMES: eat(times); return(a*f()); case RPAREN: case PLUS: case MINUS: case EOF: return a; default:... } } void eatorskipto(int expected, int* stop) { if (tok == expected) eat(expected); else {printf(...); skipto(stop);} } T F T T * F T T / F T T Originalne produkcije: T T * F T T / F T F T se prenosi kroz a 18

19 Напомене уз претходни Це код Семантика Симболи ID и NUM носе вредности типа sting и int Подразумева се постојање табеле Која пресликава ID-ове на NUM-ове (целе бројеве) Тип придружен нетерминалима E, T, F, итд. је int Семантичке акције се лако реализују Проблем: Семантичка акција за вештачки симбол T Нпр. у продукцији T *FT недостаје леви операнд за * Један начин је да се леви операнд проследи као аргумент Функција T га узима са F() и прослеђује функцији Tprime Развој симбола у празан стринг се препознаје појавом неког од симбола из скупа FOLLOW 19

20 Однос интерпретера и синтаксног анализатора Постоји велика сличност између њих Ако се користи Bison, разликују се само акције Интерпретер: акције доводе до директног извршења Нпр. исказ доделе вредности заиста уписује вредност у променљиву Исказ штампања (print) садржаја променљиве га заиста приказује на монитору, итд. Синтаксни анализатор: акције изграђују стабло апстрактне синтаксе додавањем нових чворова То стабло ће касније у низу трансформација бити преведено у машински код Тек при његовом извршење добијају се резултати 20

21 Граматика праволинијских програма SLP интерпретер и синтаксни анализатор за SLP Граматика SLP задата доњим низом продукција Преузимањем структура из ручно писаног SLP интерпретера, долази се до Bison(Yacc) спецификација У случају синтаксног анализатора те структуре података представљају апстрактну синтаксу S S; S E id L E S id := E E num L L, E S print (L) E E B E E S, E B + - * / E (E) 21

22 Спецификација SLP интерпретера (1/2) %{ #include "table.h" extern table tab; %} %union {int ival; string sval;} %token <sval> ID %token <ival> INT %token ASSIGN PRINT LPAREN RPAREN %type <ival> exp %right SEMICOLON %left MINUS PLUS %left TIMES DIVIDE %start prog %% prog: stm 22

23 Спецификација SLP интерпретера (2/2) stm: stm SEMICOLON stm stm: ID ASSIGN exp {update(&tab, $1, $3);} stm: PRINT LPAREN exps RPAREN {printf("\n");} exps: exp {printf("%d ", $1);} exps: exps COMMA exp {printf("%d ", $3);} exp: INT {$$ = $1;} exp: ID {$$ = lookup(tab, $1);} exp: exp PLUS exp {$$ = $1 + $3;} exp: exp MINUS exp {$$ = $1 - $3;} exp: exp TIMES exp {$$ = $1 * $3;} exp: exp DIVIDE exp {$$ = $1 / $3;} exp: stm COMMA exp {$$ = $3;} exp: LPAREN exp RPAREN {$$ = $2;} // $1, $2, itd. se odnose na definicione članove produkcije 23

24 Спецификација SLP синтаксног анализатора (1/2) %{ extern A_stm rootprg; %} %union {int num; string id; A_stm stm; A_exp exp; A_expList explist;} %token <num> INT %token <id> ID %token ASSIGN PRINT LPAREN RPAREN %type <stm> stm prog %type <exp> exp %type <explist> exps %left SEMICOLON %left MINUS PLUS %left TIMES DIVIDE %start prog %% prog: stm {$$=$1; rootprg=$1;} 24

25 Спецификација SLP синтаксног анализатора (2/2) stm: stm SEMICOLON stm {$$=A_CompoundStm($1,$3);} stm: ID ASSIGN exp {$$=A_AssignStm($1,$3);} stm: PRINT LPAREN exps RPAREN {$$=A_PrintStm($3);} exps: exp exps: exp COMMA exps {$$=A_LastExpList($1);} {$$=A_PairExpList($1,$3);} exp: INT {$$=A_NumExp($1);} exp: ID {$$=A_IdExp($1);} exp: exp PLUS exp {$$=A_OpExp($1,A_plus,$3);} exp: exp MINUS exp {$$=A_OpExp($1,A_minus,$3);} exp: exp TIMES exp {$$=$$=A_OpExp($1,A_times,$3);} exp: exp DIVIDE exp {$$=$$=A_OpExp($1,A_div,$3);} exp: stm COMMA exp {$$=A_EseqExp($1,$3);} exp: LPAREN exp RPAREN {$$=$2;} 25

26 Апстрактна синтакса за Tiger (1/2) /* Function Prototypes */ A_var A_SimpleVar(A_pos pos, S_symbol sym); A_var A_FieldVar(A_pos pos, A_var var, S_symbol sym); A_var A_SubscriptVar(A_pos pos, A_var var, A_exp exp); A_exp A_VarExp(A_pos pos, A_var var); A_exp A_NilExp(A_pos pos); A_exp A_IntExp(A_pos pos, int i); A_exp A_StringExp(A_pos pos, string s); A_exp A_CallExp(A_pos pos, S_symbol func, A_expList args); A_exp A_OpExp(A_pos pos, A_oper oper, A_exp left, A_exp right); A_exp A_RecordExp(A_pos pos, S_symbol typ, A_efieldList fields); A_exp A_SeqExp(A_pos pos, A_expList seq); A_exp A_AssignExp(A_pos pos, A_var var, A_exp exp); A_exp A_IfExp(A_pos pos, A_exp test, A_exp then, A_exp elsee); A_exp A_WhileExp(A_pos pos, A_exp test, A_exp body); A_exp A_ForExp(A_pos pos, S_symbol var, A_exp lo, A_exp hi, A_exp body); A_exp A_BreakExp(A_pos pos); A_exp A_LetExp(A_pos pos, A_decList decs, A_exp body); A_exp A_ArrayExp(A_pos pos, S_symbol typ, A_exp size, A_exp init); 26

27 Апстрактна синтакса за Tiger (2/2) A_dec A_FunctionDec(A_pos pos, A_fundecList function); A_dec A_VarDec(A_pos pos, S_symbol var, S_symbol typ, A_exp init); A_dec A_TypeDec(A_pos pos, A_nametyList type); A_ty A_NameTy(A_pos pos, S_symbol name); A_ty A_RecordTy(A_pos pos, A_fieldList record); A_ty A_ArrayTy(A_pos pos, S_symbol array); A_field A_Field(A_pos pos, S_symbol name, S_symbol typ); A_fieldList A_FieldList(A_field head, A_fieldList tail); A_expList A_ExpList(A_exp head, A_expList tail); A_fundec A_Fundec(A_pos pos, S_symbol name, A_fieldList params, S_symbol result, A_exp body); A_fundecList A_FundecList(A_fundec head, A_fundecList tail); A_decList A_DecList(A_dec head, A_decList tail); A_namety A_Namety(S_symbol name, A_ty ty); A_nametyList A_NametyList(A_namety head, A_nametyList tail); A_efield A_Efield(S_symbol name, A_exp exp); A_efieldList A_EfieldList(A_efield head, A_efieldList tail); 27

28 Yacc спецификација за Tiger exp: lvalue {$$=A_VarExp(EM_tokPos,$1);} NIL {$$=A_NilExp(EM_tokPos);} INT {$$=A_IntExp(EM_tokPos,$1);} STRING {$$=A_StringExp(EM_tokPos,$1);} NEG INT {$$=A_OpExp(EM_tokPos,A_minusOp,A_IntExp(EM_tokPos,1), A_IntExp(EM_tokPos,$2));} functioncall {$$=$1;} arithmetic {$$=$1;} comparison {$$=$1;} booleanexp {$$=$1;} recordcreation {$$=$1;} arraycreation {$$=$1;} ; lvalue: ID {$$=A_SimpleVar(EM_tokPos,S_Symbol($1));} lvalue DOT ID {$$=A_FieldVar(EM_tokPos,$1,S_Symbol($3));} ID LBRACK exp RBRACK {$$=A_SubscriptVar(EM_tokPos, A_SimpleVar(EM_tokPos, S_Symbol($1)),$3);} ;... 28

29 Пример стабла синтаксне анализе Програм queens...\tigerc.exe..\testcases\queens_book.tig Parsing successful! letexp( declist( functiondec( fundeclist( fundec(try, fieldlist( field(c, int, TRUE), fieldlist()), iffexp( opexp( EQUAL, varexp( simplevar(c)), varexp( simplevar(n))), callexp(printboard, explist()), forexp(r, intexp(0), opexp( MINUS, varexp( simplevar(n)), intexp(1)), iffexp( iffexp( iffexp( opexp( EQUAL, varexp( subscriptvar( simplevar(row), varexp( simplevar(r)))), intexp(0)), 29

30 Мала илустрација још једног алгоритма за синтаксну анализу Помери и редукуј (енгл. shift-reduce) парсер (LR). Такви парсери се зову још и Од доле ка горе (енгл. bottom-up) због начина на који се гради стабло синтаксне анализе. 30

31 Синтаксни анализатор Синтаксни анализатор као улазну информацију користи табелу униформних симбола, чији сваки симбол улази на стек. Стек садржи скуп симбола над којима се тренутно ради у фази синтаксне анализе и интерпретације. Елемент са стека може бити унет у табелу униформних симбола и обратно. 31

32 Пример рада LR парсера 1. S E $ 2. E T 4. T id 3. E E + T 5. T (E ) ( (id (T (E (E + (E + id (E + T (E (E) T E E$ S (id + id)$ id + id)$ + id)$ + id)$ + id)$ id)$ )$ )$ )$ $ $ $ shift shift reduce T->id reduce E->T shift shift reduce T->id reduce E->E + T shift reduce T->(E) reduce E->T shift reduce S->E$ 32

33 Општи облик редукција (1/2) LABELA: PRETHODNI RUTINA NOVI VRH SLEDEĆA VRH STEKA AKCIJA STEKA REDUKCIJA Лабела је опциона Претходни врх стека Изостављен увек се поклапа Симбол СИНТАКСНИ као што је идентификатор или литерал - поклапа се са неким симболом овог типа било који (*) поклапа се са симболом било ког типа симболички представљена кључна речи као WHILE" или "IF" 33

34 Општи облик редукција (2/2) LABELA: PRETHODNI RUTINA NOVI VRH SLEDEĆA VRH STEKA AKCIJA STEKA REDUKCIJA Рутина акција назив рутине акције (опционо) Нови врх стека: знак празнине или нула - нема промене одстранити врх стека (поворку која се поклапа) синтаксни тип, кључна реч или елеменат стека - заменити претходни врх стека са овим елементом узети следећи униформни симбол из табеле униформних симбола и ставити га на врх стека 34

P8.1 Generatori skenera i parsera

P8.1 Generatori skenera i parsera Генератор лексичких и синтаксних анализатора Пример спецификације језика Flex генератор лексичких анализатора Bison генератор синтаксних анализатора 1 Граматика => Језик (Бесконачан) скуп реченица 2 Граматика

Више

P2.1 Formalne gramatike

P2.1 Formalne gramatike Превођење Полазни језик? Одредишни језик 1 Превођење Полазни језик? Одредишни језик Како знање неког језика стиче и складишти човек, а како рачунар? 2 Два аспекта језика Синтакса Семантика значење То су

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih

Више

Microsoft PowerPoint - C-4-1

Microsoft PowerPoint - C-4-1 Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,

Више

P11.2 Izbor instrukcija, IBURG

P11.2 Izbor instrukcija, IBURG Избор инструкција (1/2) Машинска инструкција се може приказати као део стабла међукода, који се назива шаблон стабла (енгл. tree pattern). Избор инструкција је проблем поплочавања стабла међукода минималним

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4 Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Grananje u programu predavač: Nadežda Jakšić

Grananje u programu predavač: Nadežda Jakšić Grananje u programu predavač: Nadežda Jakšić u okviru linijske strukture izvršavaju se sve naredbe u okviru razgranate strukture uvek se ispituje neki uslov; u zavisnosti od toga da li je uslov ispunjen

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

KDP

KDP Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион

Више

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar 2016 1 Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova strategija rekurzivno razbija problem na 2 ili više potproblema

Више

P1.3 Projektovanje makroasemblera

P1.3 Projektovanje makroasemblera ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде

Више

PowerPoint Presentation

PowerPoint Presentation Python tutorijal - praktični primeri - Sadržaj: 1. Upoznavanje sa razvojnim okruženjem - Python proširenje (PTVS) za Visual Studio 2015 - Druga razvojna okruženja 2. Osnovi Python jezika - Sintaksa i konvencije

Више

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode] Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније

Више

P1.2 Projektovanje asemblera

P1.2 Projektovanje asemblera ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)

Више

Programski jezik C

Programski jezik C Pojam funkcije Deklaracija i definicija funcije Poziv funkcije Memorijske klase promjenljivih Primjeri. Za kompajliranje koda koristen DEV-C++ 4.9.9.2 Compiler!!!! Moze is koristiti I bilo koji drugi standardni

Више

PowerPoint Presentation

PowerPoint Presentation II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc.

Више

Рачунарска интелигенција

Рачунарска интелигенција Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic

Више

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,

Више

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Microsoft PowerPoint - 07-DinamickeStrukturePodataka Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

Logicko projektovanje racunarskih sistema I

Logicko projektovanje racunarskih sistema I PRIMERI SA PREDAVANJA 17 Beta asembler Zadatak 1. Posmatrajmo sledeću funkciju napisanu u programskom jeziku C, za računanje najvećeg zajedničkog delioca dva pozitivna cela broja: int gcd(int a, int b)

Више

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Datoteke nastavak Funkcija fgets Funkcija koja učitava podatke iz datoteke, liniju po liniju, je char *fgets(char *str, int n, FILE *fp); gdje su str pokazivač na dio memorije (string) u koji će ulazna

Више

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

P9.1 Dodela resursa, Bojenje grafa

P9.1 Dodela resursa, Bojenje grafa Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.

Више

Slide 1

Slide 1 Funkcionalno programiranje Interoperabilnost jezika Scala i Java, 2019. Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

Више

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode] Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба

Више

Konačna_verzija_3516_13_09_2018.pdf

Konačna_verzija_3516_13_09_2018.pdf SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni preddiplomski studij računarstva GLAVNI KORACI DIZAJNA I UGRADNJE JEDNOSTAVNOG

Више

Algoritmi

Algoritmi Projektovanje algoritama L09.1. Topološko sortiranje Današnje teme Topološko sortiranje Povezanost grafa jako povezane komponente Minimum Spanning Trees (razapinjuće stablo) Lektira: 22. Elementary Graph

Више

070-ALIP2-udzbenik.indb

070-ALIP2-udzbenik.indb 0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka

Више

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft PowerPoint - Bitovi [Compatibility Mode] Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)

Више

Uvod u PHP

Uvod u PHP Uvod u PHP Marijan Šuflaj FER, 2018 Sadržaj PHP Općenito Sintaksa Osnove Kontrola toka Zadatci Resursi Općenito Naziv od PHP Hypertext Preprocessor Obično koristi ekstenziju.php Tipovi su dinamički Trenutno

Више

Programski jezik C

Programski jezik C SPR, 2016 Rad sa datotekama Komunikacija sa OS Rad sa datotekama Vrste datoteka Otvaranje / zatvaranje datoteka Pristup datotekama za upis / čitanje Funkcije za rad sa datotekama Ulazno / izlazni tokovi

Више

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Pokazivači Pointeri Definicija pokazivača Pokazivač na tip je varijabla koja sadrži adresu varijable tipa tip. Definicija pokazivača: mem_klasa tip * p_var; Primjer: static int * pi; double *px; char*

Више

PowerPoint Presentation

PowerPoint Presentation Programski jezici i strukture podataka UVOD Izvođači nastave Srđan Popov (JUG 215) Petar Marić (JUG 105) Milena Počuča (JUG 215) Milica Milutinović (JUG 215) Termini konsultacija naknadno Cilj vežbi Sticanje

Више

07_PJISP_II_Predavanja

07_PJISP_II_Predavanja Rekurzija i rekurzivne funkcije Informacioni inženjering 1 Rekurzija Rekurzija nastaje kada se pojam definiše pomoću sebe samog Javlja se u različitim oblastima, od lingvistike i logike, preko matematike

Више

Kombinatorno testiranje

Kombinatorno testiranje Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Sadržaj 1 Pokazivači - ponavljanje 3 2 Pokazivači - veza sa nizovima 5 2 1 Pokazivači - ponavljanje 1.

Више

Classroom Expectations

Classroom Expectations АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

Algoritmi SŠ P1

Algoritmi SŠ P1 Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode

Више

PowerPoint Presentation

PowerPoint Presentation NAREDBE U PHP-U Naredbe if else elseif/else if while do-while for foreach break continue switch return require include require_once include_once goto If-else if (izraz) uradi 1 else uradi 2 ili if (izraz)

Више

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Računarski praktikum I - Vježbe 03 - Implementacija strukture string Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String

Више

Inženjering informacionih sistema

Inženjering informacionih sistema Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)

Више

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr Oblikovanje i analiza algoritama 5. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. predavanje p. 1/68 Sadržaj predavanja Nehomogene rekurzije

Више

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 2 Sadržaj 1 Programski jezik C 5 1.1 Oblast važenja lokalnih promenljivih..........................

Више

Dijagrami sekvenci

Dijagrami sekvenci Dijagrami sekvenci Izrada dijagrama sekvenci Dijagram sekvenci koristi se za specifikaciju vremenskih zahteva u opisu složenih scenarija opis toka poruka između objekata kojima se realizuje odgovarajuća

Више

Microsoft Word - 02 Elementi programskog jezika Pascal

Microsoft Word - 02 Elementi programskog jezika Pascal Elementi programskog jezika Pascal Osnovni elementi jezika Osnovni simboli U programskom jeziku Pascal sve konstrukcije se grade od skupa osnovnih simbola jezika koji čine slova, cifre i specijalni znaci.

Више

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p 1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.

Више

Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017

Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017 Aksiomatska semantika kroz primere Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nikola Katić, 1094/2017 mi13093@alas.matf.bg.ac.rs 12. decembar 2018 Sažetak Ovaj rad za cilj

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode] Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева

Више

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6 Programiranje 1 9. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/60 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima:

Више

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature opti

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature opti The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most

Више

P11.1 Izbor instrukcija, najveci zalogaj

P11.1 Izbor instrukcija, najveci zalogaj Избор инструкција 1 Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 2 Поједностављени

Више

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију Електротехнички факултет Универзитета у Београду 19.11.017. Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквијум траје h. Напуштање сале дозвољено је након 1h. Употреба

Више

P9.2 Optimizujuci kompajler, prednji deo

P9.2 Optimizujuci kompajler, prednji deo ОПТИМИЗУЈУЋИ КОМПАЈЛЕР Структура компајлера Предњи део, до међукода 1 Важна својства одредишне архитектуре Подржане операције Регистри и меморија (Ресурси - операнди) Проточна структура Организација меморије

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena

Више

Programiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1

Programiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1 Programiranje 1 10. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1/95 Sadržaj predavanja Funkcije: Definicija funkcije.

Више

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj Programiranje 1 5. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanje dodatak p. 1/60 Sadržaj predavanja dodatka Primjeri

Више

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, 02.07.2019. Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite Uputstvo pre popunjavanja Obrasca za odgovore. b) Vrednost

Више

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x I колоквијум из Основа рачунарске технике I СИ- / (...) Р е ш е њ е Задатак Тачка А Потребно је прво пронаћи вредности функција f(x, x, x ) и g(x, x, x ) на свим векторима. f(x, x, x ) = x x + x x + x

Више

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe 6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju

Више

Računarski praktikum I - Vježbe 11 - Funktori

Računarski praktikum I - Vježbe 11 - Funktori Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 11 - Funktori v2018/2019. Sastavio: Zvonimir Bujanović Funkcijski objekti (funktori) Objekt klase

Више

PASCAL UVOD 2 II razred gimnazije

PASCAL UVOD 2 II razred gimnazije PASCAL UVOD 2 II razred gimnazije Upis-ispis 1. Upis Read(a,b); --u jednom redu Readln(a,b); -- nakon upisa prelazi se u novi red 2. Ispis Write(a,b); -- u jednom redu Writeln(a,b); --nakon ispisa prelazi

Више

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1 ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1 do 5. Obezbediti ispis uspeha za unetu ocenu (1=nedovoljan,

Више

Logičke izjave i logičke funkcije

Logičke izjave i logičke funkcije Logičke izjave i logičke funkcije Građa računala, prijenos podataka u računalu Što su logičke izjave? Logička izjava je tvrdnja koja može biti istinita (True) ili lažna (False). Ako je u logičkoj izjavi

Више

Strukture predavač: Nadežda Jakšić

Strukture predavač: Nadežda Jakšić Strukture predavač: Nadežda Jakšić složeni tip podatka; kolekcija promenljivih različitog tipa koje su sakupljene radi lakše manipulacije sintaksa: struct [oznakastrukture] navede { definicija člana strukture;

Више

RACUNARSKA ELEKTRONIKA – VEŽBE 3

RACUNARSKA ELEKTRONIKA – VEŽBE 3 RAČUNARSKA ELEKTRONIKA VEŽBE 3 Aleksandra Lekić lekic.aleksandra@etf.bg.ac.rs Elektrotehnički fakultet, Univerzitet u Beogradu 2015/2016 ETF Beograd RE VEŽBE 3 2015/2016 1 / 30 Procedure Procedure Organizacijom

Више

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode] 1. Broj bitova koji se jednovremeno prenosi i obrađuje unutar procesora naziva se: a) radni takt b) procesorski kod c) procesorska reč d) procesorski takt 1. Broj bitova koji se jednovremeno prenosi i

Више

OOP08

OOP08 Object Constraint Language Naš život se sastoji uglavnom iz snova, iz nesvesnog,, i on se mora dovesti u vezu s akcijom. Oni moraju biti spojeni u jedno. Anais Nin 9.2.202 2/ / 45 Istorija OCL 996. OA&D

Више

PHP kod

PHP kod PHP kod Fajl test.txt kreiran u Notepad-u Ugrađene funkcije u php-u fopen() otvara datoteku fclose() zatvara datoteku Primjer pokazuje kako se može najprije otvariti datoteka "test.txt" za čitanje, zatim

Више

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda

Више

Hacklab-Lisp-36.pdf

Hacklab-Lisp-36.pdf Kazimir Majorinc Povijest Lispa 36. Razmjena vjestina Hacklab u mami 19. listopada 2013. Peter L. Deutsch je tijekom 1960-64 implementirao Lisp 1.5 u,tx- 0" i,pdp-1" laboratorijima (cini se da su laboratoriji

Више

Microsoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode]

Microsoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode] VHDL jezik za opis hardvera VHDL jezik za opis hardvera VHDL jezik za opis hardvera Prof. Dr Predrag Petković Dr Miljana Milić Sadržaj 1. Šta je VHDL? 2. Opis hardvera 3. Signali 4. Osnove VHDL pravopisa

Више

P1.1 Analiza efikasnosti algoritama 1

P1.1 Analiza efikasnosti algoritama 1 Analiza efikasnosti algoritama I Asimptotske notacije Master metoda (teorema) 1 Asimptotske notacije (1/2) Služe za opis vremena izvršenja algoritma T(n) gde je n N veličina ulaznih podataka npr. br. elemenata

Више

Орт колоквијум

Орт колоквијум II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу

Више

PowerPoint Presentation

PowerPoint Presentation Tehnička škola 9. maj Bačka Palanka Programiranje III razred Tok izvršavanja programa Tok izvršavanja programa Dosadašnji kod se izvršavao praktično linearno. Nije postojala nikakva uslovna ili brojačka

Више

P3.2 Paralelno programiranje 2

P3.2 Paralelno programiranje 2 Paralelno programiranje II Analiza zavisnosti Struktura algoritma Pomoćne strukture Komunikacioni šabloni 1 4 Koraka paralelizacije programa 2 Evo algoritma. Gde je paralelizam? Dekompozicija zadataka

Више

Računarski praktikum I - Vježbe 01 - Uvod

Računarski praktikum I - Vježbe 01 - Uvod Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika

Више

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули 2019. године Садржај 1. НАЧИН ДОСТАВЉАЊА ИЗВЈЕШТАЈНИХ ДАТОТЕКА... 1

Више

SPR , IV godina, VHDL – Ispitna pitanja

SPR , IV godina, VHDL – Ispitna pitanja VHDL, SPR, II kolokvijum, priprema, 2016 Napomena: Na kolokvijumu dolazi 1 zadatak (40%) i 1 praktican projekat (60%). Radi se u grupama prema utvrdjenom rasporedu od I kolokvijuma. A. ZADAI Priloziti

Више

KDP

KDP Дистрибуирано програмирање Прослеђивање порука Комуникациони сервиси у једном дистрибуираном систему реализовани су на бази сандучића типа mbx за пренос порука типа msg. Претпоставићемо да тип msg обухвата

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,

Више