P11.1 Izbor instrukcija, najveci zalogaj

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

Download "P11.1 Izbor instrukcija, najveci zalogaj"

Транскрипт

1 Избор инструкција 1

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

3 Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 3

4 Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Да ли Избор инструкција мора бити прва фаза? Псеудо-асемблер (листа инструкција које још увек не баратају стварним ресурсима) 4

5 Ближи погледа на избор инструкција Моделоване инструкције Све инструкције циљне платформе Избор инструкција Програм сачињен од операција МР (IR) Програм сачињен од моделованих операција (инструкција) циљне 5 платформе

6 Задаци избора инструкција Ваљаност Изабране инструкције морају бити семантички еквивалентне програму у међукоду Квалитет Изабрани скуп инструкција треба да буде што бољи, у складу са неким задатим критеријумом Исте задатке има и компајлер као целина. 6

7 Разни поступци за избор инструкција Поступци се разликују у одређеним елементима у зависности од тога каква је форма међурепрезентације над којом могу да раде У основи сваког поступка су правила која упарују део МР са неким скупом инструкција Разликују се многе друге особине: врсте инструкција које се могу моделовати у правилима, поступак избора правила и сл. 7

8 Пример једноставне МР := + - * / мем var const := a + - * 2 1 / мем b c mov add sub mul div ld ldi 8

9 Правила := + - * / мем var const := -> mov + -> add - -> sub * -> mul / -> div мем -> ld mov r d, r s1, r s2 add r d, r s1, r s2 sub r d, r s1, r s2 mul r d, r s1, r s2 div r d, r s1, r s2 ld r d, r s ldi r d, imm const -> ldi var -> претпоставка да је већ у регистру 9

10 Правила := -> mov + -> add - -> sub * -> mul / -> div := a + - * мем -> ld 2 1 / мем const -> ldi Сва правила су 1 на 1. b c 10

11 Избор инструкција? setnja(node* x) { switch (x->getkind()) { case MOV_OK: MovNode* p = static_cast<movnode*>(x); Reg lop = setnja(p->rightnode()); Reg rop = setnja(p->leftnode()); emitinstr(movinstr(lop, rop)); return?; break; case ADD_OK:... case SUB_OK:... case MUL_OK:... case DIV_OK:... case MEM_OK:... case CONST_OK:... case VAR_OK:... } } 11

12 Избор инструкција void setnjastm(node* x) { switch (x->getkind()) { case MOV_OK: MovNode* p = static_cast<movnode*>(x); Reg lop = setnjaexp(p->rightnode()); Reg rop = setnjaexp(p->leftnode()); emitinstr(movinstr(lop, rop)); return;... } Reg setnjaexp(node* x) { switch (x->getkind()) { case ADD_OK: } } 12

13 Избор инструкција Reg setnjaexp(node* x) { switch (x->getkind()) { case ADD_OK: AddNode* p = static_cast<addnode*>(x); Reg lop = setnjaexp(p->rightnode()); Reg rop = setnjaexp(p->leftnode()); Reg dst = NewTemp(); emitinstr(addinstr(dst, lop, rop)); return dst; case SUB_OK:... case MUL_OK:... case DIV_OK:... case MEM_OK:... case CONST_OK:... case VAR_OK: VarNode* p = static_cast<varnode*>(x); return p->getreg(); } } 13

14 Избор инструкција := a + - * 2 1 / мем b c ldi t1, 2 ldi t2, 1 sub t3, t1, t2 ldi t4, 6 div t5, b, t4 ldi t6, 7 add t7, t6, c ld t8, t7 mul t9, t5, t8 add t10, t3, t9 mov a, t10 14

15 Избор инструкција := t10 a + t3 t9 - * t1 t2 t5 t8 2 1 / мем t4 t7 b 6 t6 + 7 c ldi t1, 2 ldi t2, 1 sub t3, t1, t2 ldi t4, 6 div t5, b, t4 ldi t6, 7 add t7, t6, c ld t8, t7 mul t9, t5, t8 add t10, t3, t9 mov a, t10 15

16 МР у форми листе t1 <- 2 t2 <- 1 t3 <- t1 - t2 t4 <- 6 t5 <- b - t4 t6 <- 7 t7 <- t6 + c t8 <- мем[t7] t9 <- t5 * t8 t10 <- t3 + t9 a := t10 16

17 Избор инструкција - МР у форми листе void izbor(ir x) { for (auto& it : x.oplist()) { switch (it.kind) { case ADD_OK: emitinstr(addinstr(it.dst, it.src1, it.src2)); break; case SUB_OK:... break; case MUL_OK:... break; case DIV_OK:... break; case MEM_OK:... break; case CONST_OK:... break; //case VAR_OK:... } } } 17

18 Форме међурепрезентације Структуралне: Стабла, усмерени ациклични графови, графови Линеарне: Листа инструкција апстрактне машине Тро-адресни код, код стек машине Хибридне (комбинација претходна два): Граф тока управљања 18

19 Правила пример 1 на више := + - * / мем var const := -> mov + -> add - -> inv add * -> mul / -> div мем -> ld mov r d, r s1, r s2 add r d, r s1, r s2 invr d, r s mul r d, r s1, r s2 div r d, r s1, r s2 ld r d, r s ldi r d, imm const -> ldi var -> претпоставка да је већ у регистру 19

20 Избор инструкција пример 1 на више Reg setnjaexp(node* x) { switch (x->getkind()) { case ADD_OK:... case SUB_OK: SubNode* p = (SubNode*)x; Reg lop = setnjaexp(p->rightnode()); Reg rop = setnjaexp(p->leftnode()); Reg tmpd = NewTemp(); emitinstr(invinstr(tmpd, rop)); Reg dst = NewTemp(); emitinstr(addinstr(dst, lop, tmpd)); return dst; case MUL_OK:... case DIV_OK:... case MEM_OK:... case CONST_OK:... case VAR_OK:... } } 20

21 Избор инструкција пример 1 на више МР у форми листе? 21

22 Оптималност избора инструкција Оптималност над истим скупом моделованих инструкција. Шта ако неке важне инструкције нису моделоване? Оптималност над истим скупом правила. Како се то односи према укупној оптималности компајлера? Оптималност? По ком критеријуму? 22

23 Шаблони стабла IR чворови изражавају само по једну операцију Читање или упис у меморију, сабирање или одузимање... Реална инструкција може обавити више операција Нпр. скоро свака машина може обавити сабирање и дохватање операнда у истој инструкцији Модел инструкције у IR = шаблон стабла 23

24 Пример скупа инструкција (1/3) Jouette архитектура Регистар r0 увек садржи 0 M[x] означава мем. локацију са адресом x Инструкције Аритметичке Производе резултате у регистру Меморијске Изводе ивичне ефекте над меморијом (пишу у меморију) Неким инструкцијама одговара више шаблона комутативни оператори (+ и *) LOAD/STORE: регистар или константа може бити 0 24

25 Пример скупа инструкција (2/3) Jouette архитектура Име Ефекат Стабла r i TEMP ADD r i r j + r k MUL r i r j x r k SUB r i r j - r k DIV r i r j / r k ADDI r i r j + c SUBI r i r j c LOAD r i M[r j + c] 25

26 Пример скупа инструкција (3/3) Jouette архитектура STORE M[r j + c] r i MOVEM M[r j ] M[r i ] 26

27 Пример пополочавања Тајгер исказ a[i] := x ADDI r 1 r 0 + a ADD r 1 fp + r 1 LOAD r 1 M[r 1 + 0] ADDI r 2 r MUL r 2 r i x r 2 ADD r 1 r 1 + r 2 ADDI r 2 r 0 + x ADD r 2 fp + r 2 LOAD r 2 M[r 2 + 0] STORE M[r 1 + 0] r 2 move mem mem + + mem * fp + temp i const 4 const x fp const a 27

28 Пример пополочавања Тајгер исказ a[i] := x ADDI r 1 r 0 + a ADD r 1 fp + r 1 LOAD r 1 M[r 1 + 0] ADDI r 2 r MUL r 2 r i x r 2 ADD r 1 r 1 + r 2 ADDI r 2 r 0 + x ADD r 2 fp + r 2 LOAD r 2 M[r 2 + 0] STORE M[r 1 + 0] r 2 LOAD r 1 M[fp + a] ADDI r 2 r MUL r 2 r i x r 2 ADD r 1 r 1 + r 2 LOAD r 2 M[fp + x] STORE M[r 1 + 0] r 2 Које поплочавање је боље? 28

29 Пример пополочавања Тајгер исказ a[i] := x 2 LOAD r 1 M[fp + a] 4 ADDI r 2 r MUL r 2 r i x r 2 6 ADD r 1 r 1 + r 2 8 LOAD r 2 M[fp + x] 9 STORE M[r 1 + 0] r 2 2 LOAD r 1 M[fp + a] 4 ADDI r 2 r MUL r 2 r i x r 2 6 ADD r 1 r 1 + r 2 8 ADDI r 2 fp + x 9 MOVEM M[r 1 ] M[r 2 ] Које поплочавање је боље? 29

30 Пример пополочавања Тајгер исказ a[i] := x У исказу a[i] := x, i је у регистру, док су a и x у оквиру стека Показана су два могућа поплочавања a и x су у ствари одстојања од показивача оквира, fp У оба случаја, плочице 1, 3 и 7 не одговарају инструкцијама, већ регистрима (TEMP-ови) Иначе, увек је могуће IR поплочати танким плочицама, које покривају по један IR чвор 30

31 Алгоритам максималног залогаја (енгл. munch) је алгоритам субоптималног поплочавања IR Врло је једноставан Полазећи од корена IR пронаћи највећи шаблон који се уклапа и њиме покрити корен и чворове испод њега Поновити исти алгоритам за сва преостала подстабла Инструкције се генеришу у обратном редоследу Инструкција у корену је прва генерисана, али може да се изврши тек кад све остале инструкције произведу њене операнде 31

32 Појашњење/изведба алгоритма Највећи шаблон је онај са највише IR чворова Ако се два шаблона исте величине уклапају на неком месту, избор између њих је произвољан Изведба за Jouette: две рекурзивне функције munchstm за исказе и munchexp за изразе Клаузуле munchexp-а одговарају шаблонима Клаузуле су поређане по опадајућој величини шаблона Следе скелети функција Изостављен је избор регистара и емитовање операнада 32

33 Костур функције munchexp static void munchexp(t_exp exp) MEM(BINOP(PLUS, e1, CONST(i))) => munchexp(e1); emit( LOAD ); MEM(BINOP(PLUS, CONST(i), e1)) => munchexp(e1); emit( LOAD ); MEM(CONST(i)) => emit( LOAD ); MEM(e1) => munchexp(e1); emit( LOAD ); BINOP(PLUS, e1, CONST(i)) => munchexp(e1); emit( ADDI ); BINOP(PLUS, CONST(i), e1) => munchexp(e1); emit( ADDI ); CONST(i) => emit( ADDI ); BINOP(PLUS, e1, e2) => munchexp(e1); munchexp(e2); emit( ADD ); TEMP(t) => {} 33

34 Брзо поклапање (1/2) Алгоритми поплочавања морају за сваки чвор IR Проверити све шаблоне, који се могу уклопити у чвору Наиван алгоритам би редом проверавао сваки шаблон и сваки чвор шаблона са одговарајућим делом IR Бољи приступ: да би се уклопио шаблон у чвору н Лабела чвора n се користи за избор case клаузуле match(n) { switch (label(n)) { case MEM: case BINOP: case CONST: 34

35 Брзо поклапање (2/2) Једном кад се изабере једна лабела, нпр. MEM Даље се анализирају само шаблони који имају ту лабелу у свом корену Нови switch-case Правило: низ поређења у munchexp никада не треба да гледа исти чвор IR два пута 35

36 Костур функције munchstm (1/2) static void munchstm(t_stm s) { switch (s->kind) { case T_MOVE: { T_exp dst = s->u.move.dst, src = s->u.move.src; if (dst->kind == T_MEM) { if (dst->u.mem->kind == T_BINOP && dst->u.mem->u.binop.op == T_plus && dst->u.mem->u.binop.right->kind == T_CONST) { // MOVE(MEM(BINOP(PLUS, e1, CONST(i))), e2) T_exp e1 = dst->u.mem->u.binop.left, e2 = src; munchexp(e1); munchexp(e2); emit( STORE ); } else if (dst->u.mem->kind == T_BINOP && dst->u.mem->u.binop.op == T_plus && dst->u.mem->u.binop.left->kind == T_CONST) { // MOVE(MEM(BINOP(PLUS, CONST(i), e1)), e2) T_exp e1 = dst->u.mem->u.binop.right, e2 = src; munchexp(e1); munchexp(e2); emit( STORE ); 36

37 Костур функције munchstm (2/2)... } else if (src->u.mem->kind == T_MEM) { // MOVE(MEM(e1), MEM(e2)) T_exp e1 = dst->u.mem, e2 = src->u.mem; munchexp(e1); munchexp(e2); emit( MOVEM ); } else { // MOVE(MEM(e1), e2) T_exp e1 = dst->u.mem, e2 = src; munchexp(e1); munchexp(e2); emit( STORE ); } else if (dst->kind == T_TEMP) { // MOVE(TEMPi, e2) T_exp e2 = src; munchexp(e2); emit( ADD ); //second reg is r0 (==0) } else assert(0); //destination of MOVE must be MEM or TEMP break; case T_JUMP:... case T_CJUMP:... case T_NAME:... 37

38 Избор инструкција за Тајгер Апстрактни асемблер Мапе привремених променљивих, temp Пример генерисаних асемблерских инструкција Костури MunchStm и MunchExp Позиви процедура и функција Излаз 38

39 Апстрактни асемблер enum InstrKind{I_OPER, I_LABEL, I_MOVE}; Instr* makeoper(string a, TempList d, TempList s); Instr* makelabel(string a, Label label); Instr* makemove(string a, TempList d, TempList s); void printinst(file* out, const Intr& i, TempMap m); 39

40 Пример генерисаних инструкција Дато IR стабло би могло бити преведено у следеће Jouette инструкције si/ di означавају i-ти изворишни/одредишни регистар Неки пут се регистар подразумева и не наводи се експлицитно Нпр. за инструкцију add t1,t2, која реализује t1 t1+t2, генерише се стринг add d0, s1; регистар s0 је имплицитан Asem dst src ADDI d0 <- s0+4 t98 t87 LOAD d0 <- M[ s0+0] t99 t92 MUL d0 <- s0* s1 t100 t98,t99 40

41 munchexp (1/2) Temp_temp munchexp(t_exp e) { switch (e) { case MEM(BINOP(PLUS, e1, CONST(i))): { Temp r = newtemp (); emit(makeoper( LOAD d0 <- M[ s0+ + i + ]\n, {r}, {munchexp(e1)})); return r;} case MEM(CONST(i)): { Temp r = newtemp(); emit(makeoper( LOAD d0 <- M[r0+ + i + ]\n, {r}, {})); return r;} case MEM(e1): { Temp r = newtemp (); emit(makeoper( LOAD d0 <- M[ s0+0]\n, {r}, {munchexp(e1)})); return r;} 41

42 munchexp (2/2)... case BINOP(PLUS, CONST(i), e1): { Temp r = newtemp (); emit(makeoper( ADDI d0 <- s0+ + i + ]\n, {r}, {munchexp(e1)})); return r;} case CONST(i): { Temp r = newtemp (); emit(makeoper( ADDI d0 <- r0+ + i + ]\n, {r}, {})); return r;} case BINOP(PLUS, e1, e2): { Temp r = newtemp (); emit(makeoper( ADD d0 <- s0+ s1\n, {r}, {munchexp(e1), munchexp(e2)})); return r;} case TEMP(t): return t; 42

43 munchstm (1/2) static void munchstm(t_stm s) { switch (s) { case MOVE(BINOP(PLUS, e1, CONST(i)), e2): emit(makeoper( STORE M[ s0+ + i + ] <- s1\n, {}, {munchexp(e1), munchexp(e2)})); case MOVE(BINOP(PLUS, CONST(i), e1), e2): emit(makeoper( STORE M[ s0+ + i + ] <- s1\n, {}, {munchexp(e1), munchexp(e2)})); case MOVE(MEM(e1), MEM(e2)): emit(makeoper( MOVE M[ s0] <- M[ s1]\n, {}, {munchexp(e1), munchexp(e2)})); case MOVE(MEM(CONST(i)), e2): emit(makeoper( STORE M[r0+ + i + ] <- s0\n, {}, {munchexp(e2)})); 43

44 munchstm (2/2)... case MOVE(MEM(e1), e2): emit(makeoper( STORE M[ s0] <- s1\n, {}, {munchexp(e1), munchexp(e2)})); case MOVE(TEMP(i), e2): emit(makemove( ADD d0 <- s0 +r0\n, {i}, {munchexp(e2)})); case LABEL(lab): emit(makelabel(tostring(lab) + :\n s, lab); 44

45 Позиви процедура и функција Позив процедуре: EXP(CALL(f, args)) Позив функције: MOVE(TEMP t, CALL(f, args)) Код за покривање munchargs генерише код за пребацивање args Враћа листу temp-ове; то су изворишни операнди (source) calldefs листа регистара које процедура мења рег. које чува позивајућа проц., рег. повратне адресе и рег. повратне вредности case EXP(CALL(e, args)): { Temp_temp r = munchexp(e); Temp_tempList l = munchargs(0, args); emit(as_oper( CALL s0\n, calldefs, {r, l}));} 45

46 Пример генерисаног псеудо кода queens, процедура printboard PROCEDURE printboard... ADD 184 <-$fp + r0 ADDI 185 <-r0+1 ADD 132 < r0 LOAD 186 <- M[$fp+12] ADDI 190 <-r0+4 LOAD 191 <- M[$fp+4] MUL 189 <-191 * 190 LOAD 193 <- M[$fp+0] LOAD 192 <- M[193+20] ADD 188 < LOAD 187 <- M[188+0] CMP 187,186 JEQ L91 L92: ADDI 194 <-r0+0 ADD 132 < r0 L91: ADDI 195 <-r function printboard() = (for i := 0 to N-1 do (for j := 0 to N-1 do print(if col[i]=j then " O else "."); print("\n")); print("\n")) 46

P11.3 Analiza zivotnog veka, Graf smetnji

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

Више

P9.1 Dodela resursa, Bojenje grafa

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

Више

P11.2 Izbor instrukcija, IBURG

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

Више

P1.2 Projektovanje asemblera

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

Више

P1.3 Projektovanje makroasemblera

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

Више

OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me

OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su međusobno povezane preko sistemske magistrale. Tajmer

Више

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)

Више

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

Више

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

Више

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

Више

P2.1 Projektovanje paralelnih algoritama 1

P2.1 Projektovanje paralelnih algoritama 1 Projektovanje paralelnih algoritama I Uvod Osnove dinamičke paralelizacije 1 Primer: Fibonačijev niz Primer rekurz. računanja Fibonačijevih brojeva: F 0 = 0; F 1 = 1; F i = F i -1 + F i -2 za i 2 Algoritam

Више

Zbirka resenih zadataka iz arhitekture racunara

Zbirka resenih zadataka iz arhitekture racunara Ј. ЂОРЂЕВИЋ, З. РАДИВОЈЕВИЋ, М. ПУНТ, Б. НИКОЛИЋ, Д. МИЛИЋЕВ, Ј. ПРОТИЋ, А. МИЛЕНКОВИЋ АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА ПРЕКИДИ, МАГИСТРАЛА И УЛАЗ/ИЗЛАЗ ЗБИРКА РЕШЕНИХ ЗАДАТАКА Београд 2013. i САДРЖАЈ

Више

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

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

Више

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

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

Више

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 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

Више

Algoritmi i arhitekture DSP I

Algoritmi i arhitekture DSP I Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA

Више

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

Више

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

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

Више

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,

Више

Classroom Expectations

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

Више

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

Више

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

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

Више

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

Више

Vezbe_AOR1_2014_V1.0

Vezbe_AOR1_2014_V1.0 АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА 1 Верзија 2014 1.0 САДРЖАЈ Садржај... 3 Кеш меморија (Cache Memory)... 5 Задатак 1.... 5 Задатак 2.... 6 Задатак 3.... 9 Задатак 4.... 12 Задатак 5.... 15 Задатак 6....

Више

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

Више

Државно такмичење године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица

Државно такмичење године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица Државно такмичење 2018. године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица квадратног облика странице p центиметара, које се постављају

Више

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 Ψ,

Више

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

Више

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

Више

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

Више

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.

Више

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

Више

Zadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000

Zadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 Zadatak 2.1 1. T=5: Jedinica WBSD propušta vred 0000 0003 Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 0003 koja je pročitana u taktu 5 (prethodno pitanje)

Више

P9.2 Optimizujuci kompajler, prednji deo

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

Више

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -

Више

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

Орт колоквијум Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат

Више

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*

Више

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

Више

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

Више

Precesor Intel 8086

Precesor Intel 8086 Precesor Intel 8086 Uvod Procesor 8086 jedan je od najvažnijih u istoriji računarstva, rodonačelnik Intelove 80x86 familije kojoj pripadaju: 8086, 80286, 80386, 80486, Pentium, Pentium II itd. Familija

Више

Pojačavači

Pojačavači Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku

Више

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.

Више

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

Више

Edukacioni racunarski sistem

Edukacioni racunarski sistem ТРАНСЛАЦИЈА ИНСТРУКЦИЈА 1. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 6 фаза помоћу измењеног процесора са стандардном проточном обрадом (слика 1.). У процесор са

Више

Upitni jezik SQL

Upitni jezik SQL Šta je SQL? SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka.

Више

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

Више

_sheets.dvi

_sheets.dvi Zavod za elektroniku, mikroelektroniku, 28. studenog 2008. računalne i inteligentne sustave 2. me duispit iz Arhitekture računala 2, teorijski dio 1. Koja komponenta modernih računala nije bila prisutnau

Више

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,

Више

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

Више

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

Више

Microsoft PowerPoint - Datoteke [Compatibility Mode]

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

Више

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

Више

Logicko projektovanje racunarskih sistema I

Logicko projektovanje racunarskih sistema I POKAZNA VEŽBA 10 Strukture za računanje Potrebno predznanje Urađena pokazna vežba 8 Poznavanje aritmetičkih digitalnih sistema i aritmetičko-logičkih jedinica Osnovno znanje upravljačkih jedinica digitalnih

Више

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode] Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 03 Zvonimir Bujanović Slaven Kožić Vinko Petričević Mrežno programiranje: SocketAPI Programiramo u aplikacijskom sloju, za ostale se brinu

Више

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

Више

Problemi zadovoljavanja ogranicenja.

Problemi zadovoljavanja ogranicenja. I122 Osnove umjetne inteligencije Tema:. 7.1.2016. predavač: Darija Marković asistent: Darija Marković 1 I122 Osnove umjetne inteligencije. 2/26 (PZO) Problem zadovoljavanja ograničenja sastoji se od 3

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

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

Више

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

Више

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

Више

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)

Више

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

Више

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

Више

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

Више

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71 Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { public static void main(string[] args) { obrada(2.7182818284590452354); private static void obrada(double

Више

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

Више

Uvod u organizaciju i arhitekturu računara 2 1

Uvod u organizaciju i arhitekturu računara 2 1 Uvod u organizaciju i arhitekturu računara 2 1 1 Asemblersko programiranje u Intel 64 arhitekturi 1.1 Sintaksa Opšta sintaksa asemblera je takva da se čita linija po linija. Linije mogu biti prazne u kom

Више

Programiranje za UNIX Okruženje unix procesa

Programiranje za UNIX Okruženje unix procesa Programiranje za UNIX Okruženje unix procesa Sadržaj Memorijska slika UNIX procesa Argumenti naredbenog retka i varijable okruženja Životni ciklus procesa Izlazni status procesa 2 Memorijska slika UNIX

Више

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke od tih jezičkih razlika su: Java kod se prevodi u.class

Више

Grafovski algoritmi - čas 4 Artikulacione tačke i mostovi Ukoliko u neusmerenom povezanom grafu G = (V, E) postoji čvor v V takav da njegovim uklanjan

Grafovski algoritmi - čas 4 Artikulacione tačke i mostovi Ukoliko u neusmerenom povezanom grafu G = (V, E) postoji čvor v V takav da njegovim uklanjan Grafovski algoritmi - čas 4 Artikulacione tačke i mostovi Ukoliko u neusmerenom povezanom grafu G = (V, E) postoji čvor v V takav da njegovim uklanjanjem graf prestaje da bude povezan, onda takav čvor

Више

2_Arhitektura racunara

2_Arhitektura racunara Архитектура рачунара Садржај Типови података Формати инструкција Скуп инструкција Програмски доступни регистри Начини адресирања 2 Типови података Најчешће коришћени типови података су: целобројне величине

Више

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić 1. temperatura u stepenima Celzijusa i stepene Farenhajta tf=1.8*tc+32 2. pretvoriti inče u centimetre 1 inč=2.54cm 3. vreme učitano

Више

Microsoft Word - Projekat iz MIPS-a - simCPU.doc

Microsoft Word - Projekat iz MIPS-a - simCPU.doc UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU MIKROPROCESORSKI SISTEMI simcpu Mentor Prof. dr. Mile Stojčev Marko Ilić 9921 Nebojša Pejčić 9738 Aleksandar Stojadinović 10085 Bojan Janićijević

Више

AR2019

AR2019 ARHITEKTURA RAČUNARA (pregled principa i evolucije) Miroslav Hajduković Žarko Živanov NOVI SAD, 2019. PREDGOVOR Cilj ove knjige je da stvori funkcionalno zaokruženu sliku o radu računara. Zbog toga je

Више

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

Више

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost 1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar. 1.. Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred. 1.7. Bodovna vrijednost (ECTS) 7 1.3. Suradnici 1.8. Način izvođenja nastave

Више

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

Више

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само

Више

Programiranje 1

Programiranje 1 Sveučilište u Rijeci ODJEL ZA INFORMATIKU Ulica Radmile Matejčić 2, Rijeka Akademska 2018./2019. godina PROGRAMIRANJE 1 Studij: Preddiplomski studij informatike (jednopredmetni) Godina i semestar: 1. godina,

Више

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

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch A1 Slanje svima preko fiksiranog razapinjućeg stabla

Више

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 30.06.2018. Писмени део испита из предмета Увод у рачунарство 1. [7 поена] Методом МакКласкија минимизарити систем прекидачких

Више

Microsoft Word - SIORT1_2019_K1_resenje.docx

Microsoft Word - SIORT1_2019_K1_resenje.docx I колоквијум из Основа рачунарске технике I СИ- 208/209 (24.03.209.) Р е ш е њ е Задатак f(x, x 2, x 3 ) = (x + x x ) x (x x 2 + x ) + x x 2 x 3 f(x, x 2, x 3 ) = (x + x x ) (x x + (x )) 2 + x + x x 2

Више

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

Више

Microsoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode]

Microsoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode] TAJMERI I BROJAČI: PIC16F887 PIC 16F887 mikrokontroler ima tri tajmera/brojača: 8 - bitni tajmer/brojač (registar TMR0) 16 - bitni tajmer/brojač (registar TMR1H TMR1L) 8 - bitni tajmer/brojač (registar

Више

P1.0 Uvod

P1.0 Uvod Системска програмска подршка у реалном времену 1 Миодраг Ђукић miodrag.djukic@rt-rk.uns.ac.rs www.rt-rk.uns.ac.rs 1 Системска програмска подршка у реалном времену 1 програмска подршка = софтвер Системски

Више

Microsoft PowerPoint - jkoren10.ppt

Microsoft PowerPoint - jkoren10.ppt Dickey-Fuller-ov test jediničnog korena Osnovna ideja Različite determinističke komponente Izračunavanje test-statistike Pravilo odlučivanja Određivanje broja jediničnih korena Algoritam testiranja Prošireni

Више

TEORIJA SIGNALA I INFORMACIJA

TEORIJA SIGNALA I INFORMACIJA Multiple Input/Multiple Output sistemi MIMO sistemi Ulazi (pobude) Izlazi (odzivi) u 1 u 2 y 1 y 2 u k y r Obrada=Matematički model Načini realizacije: fizički sistemi (hardware) i algoritmi (software)

Више

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

Више

Fortran

Fortran FORTRAN Uvod Računala su samo strojevi: neznaju ništa, ne razmišljaju ni o čemu, ali mogu izuzetnom brzinom i vrlo točno, slijediti precizno napisane upute. Takve upute moraju se napisati u posebnom jeziku

Више

Увод у организацију и архитектуру рачунара 1

Увод у организацију и архитектуру рачунара 1 Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне

Више

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

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

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

Више

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

Више

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

Више

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

Више

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

Више