Osnove Racunarske Tehnike
Osnove Racunarske Tehnike
Osnove Racunarske Tehnike
Vera V. Petrovi
Milan Mijalkovi
ZBIRKA ZADATAKA IZ
OSNOVA RAUNARSKE TEHNIKE
Autori:
dr Dragana Prokin
dr Vera V. Petrovi
dr Milan Mijalkovi
Recezenti:
dr Slobodan Obradovi
dr Zoran Banjac
Izdava:
Tehnika obrada:
Gabrijela Dimi
Divna Mii
Korice:
Kristijan Kuk
Gabrijela Dimi
Tira:
50
tampa:
CIP
,
004 (075.8)(076)
,
, 1963Zbirka zadataka iz osnova raunarske
tehnike / Dragana Prokin, Vera V.Petrovi,
Milan Mijalkovi. 2. neizmenjeno izd.
Beograd: Visoka kola elektrotehnike i
raunarstva strukovnih studija, 2013 (Beograd
: kolski servis Gaji). 148 str.: graf.
prikazi; 24 cm
Tira 50. Bibliografija: str.148.
ISBN 978-86-7982-096-9
1.
, ., 1965 [] 2.
,
, 1957-[]
) ! "
COBISS.SR ID 201821964
Brojni sistemi:
x predstavljaju nain prikazivanja bilo kog broja pomou niza simbola koji se nazivaju
cifre brojnog sistema.
x skup pravila po kojima se realizuju osnovne operacije nad brojevima.
U pozicionom (teinskom) brojnom sistemu vrednost cifre zavisi od pozicije koju cifra ima u
zapisu brojne vrednosti.
Za bilo koji broj x u teinskom brojnom sistemu vai zapis:
R
R-1
1
0
-1
-P
x = aRS + aR-1S + ... + a1S + a0S + a-1S + ...+ a -PS
S = osnova (baza) brojnog sistema
Si = teina cifre u brojnom sistemu
i = pozicija cifre ( R, R-1, , 1, 0, -1,, -P )
aR , aR-1 , ..., a1 , a0 , a-1 , ..., a-P su cifre broja koje pripadaju skupu { 0, 1, , S-1}
Saeti oblik prikazivanja broja x:
x = aR aR-1 ... a1 a0, a-1 ... a-P.
Decimalni brojni sistem (DEC) je teinski.
Svaki broj x iz DEC brojnog sistema moe da se predstavi kao:
R
R-1
1
0
-1
-P
x = aR10 + aR-110 + ... + a110 + a010 + a-110 + ... + a-P10
S = 10 osnova (baza) brojnog sistema
aR , aR-1 , ..., a1 , a0 , a-1 , ..., a-P su cifre broja koje pripadaju skupu { 0, 1, , 9 }
Konverzija brojeva iz drugih brojnih sistema u decimalan brojni sistem (DEC) obavlja se
sumiranjem elementarnih proizvoda cifara u zapisu broja i njihovih teinskih koeficijenata:
x Konverzija iz HEX u DEC brojni sistem
R
R-1
1
0
-1
-P
x(10) = aR16 + aR-116 + ... + a116 + a016 + a-116 + ... + a-P16
S = 16 osnova (baza) brojnog sistema
aR , aR-1 , ..., a1 , a0 , a-1 , ..., a-P su cifre broja koje pripadaju skupu {0,..., 9, A, B, C, D, E, F }
x Konverzija iz OCT u DEC brojni sistem
R
R-1
1
0
-1
-P
x(10) = aR8 + aR-18 + ... + a18 + a08 + a-18 + ... + a-P8
S = 8 osnova (baza) brojnog sistema
aR , aR-1 , ..., a1 , a0 , a-1 , ..., a-P su cifre broja koje pripadaju skupu { 0, 1, , 7 }
x Konverzija iz BIN u DEC brojni sistem
R
R-1
1
0
-1
-P
x(10) = aR2 + aR-12 + ... + a12 + a02 + a-12 + ... + a-P2
S = 2 osnova (baza) brojnog sistema
aR , aR-1 , ..., a1 , a0 , a-1 , ..., a-P su cifre broja koje pripadaju skupu { 0, 1 }
Primer 1.
Reenje:
x(16) = 2E3A(16)
x(10) = 2*163 + 14*162 + 3*161 + 10*160 = 11834(10)
2E3A(16) 11834(10)
Primer 2.
Izvriti konverziju oktalnog broja x(8) = 3217(8) u decimalni brojni sistem, x(8) x(10).
Reenje:
x(8) = 321(8)
x(10) = 3*83 + 2*82 + 1*81 = 1672(10)
321(8) 1672(10)
Primer 3.
Reenje:
x(2) = 10111011(2)
x(10) = 1*27 + 0*26 +1*25+ 1*24 + 1*23 + 0*22 + 1*21 + 1*20 = 187(10)
10111011(2) 187(10)
Konverzija brojeva iz DEC brojnog sistema u brojni sistem sa osnovom S obavlja se:
x metodom sukcesivnih deljenja celobrojnog dela sa osnovom brojnog sistema
x metodom sukcesivnih mnoenja decimalnog (razlomljenog) dela sa osnovom brojnog
sistema S
Primer 4.
Reenje:
240 : 2 = 120
120 : 2 = 60
60 : 2 = 30
30 : 2 = 15
15 : 2 = 7
7:2=3
3:2=1
1:2=0
0
0
0
0
1
1
1
1
0.375 * 2 = 0.75
0.75 * 2 = 1.5
0.5 * 2 = 1.0
0
1
1
Primer 5.
Reenje:
4859 : 2 = 2429
2429 : 2 = 1214
1214 : 2 = 607
607 : 2 = 303
303 : 2 = 151
151 : 2 = 75
75 : 2 = 37
37 : 2 = 18
18 : 2 = 9
9:2=4
4:2=2
2:2=1
1:2=0
1
1
0
1
1
1
1
1
0
1
0
0
1
0.237 * 2 = 0.474
0.474 * 2 = 0.948
0.948 * 2 = 1.896
0.896 * 2 = 1.792
0.792 * 2 = 1.584
0.584 * 2 = 1.168
0
0
1
1
1
1
Reenje:
4365 : 8 = 545
545 : 8 = 68
68 : 8 = 8
8:8=1
1:8=0
5
1
4
0
1
0.136 * 8 = 1.088
0.088 * 8 = 0.704
0.704 * 8 = 5.632
0.632 * 8 = 5.056
1
0
5
5
Reenje:
695 : 8 =
86 : 8 =
10 : 8 =
1:8=
86 7
10 6
1 2
0 1
0.218 * 8 = 1.744
0.744 * 8 = 5.952
0.952 * 8 = 7.616
0.616 * 8 = 4.928
1
5
7
4
Reenje:
845 : 16 = 52
52 : 16 = 3
3 : 16 = 0
13 = D
4
3
0.631 * 16 = 10.096
0.096 * 16 = 1.536
0.536 * 16 = 8.576
A
1
8
Reenje:
674 : 16 = 42 2
42 : 16 = 2 10=A
2 : 16 = 0 2
0.574 * 16 = 9.184
0.184 * 16 = 2.944
0.944 * 16 = 15.104
0.104 * 16 = 1.664
9
2
15=F
1
Reenje:
3428 : 16 = 214 4
214 : 16 = 13 6
13 : 16 = 0 13=D
0.435 * 16 = 6.95
0.95 * 16 = 15.2
0.2 * 16 = 3.2
0.2 * 16 = 3.2
6
15=F
3
3
Konverzija brojeva iz BIN u OCT brojni sistem obavlja se tako to se grupiu po tri
binarne cifre levo i desno poev od decimalne take.
Konverzija brojeva iz BIN u HEX brojni sistem obavlja se tako to se grupiu po etiri
binarne cifre levo i desno poev od decimalne take.
Primer 11.
Reenje:
011 ~001~110 , 010~110 (2) 316,26(8)
11001110,01011(2) 316,26(8)
Primer 12.
Reenje:
0111 ~1001~0110 , 0101~0111~1100 (2) 796,57C(16)
11110010110,0101011111 (2) 796,57C (16)
x
Konverzija brojeva iz OCT u BINbrojni sistem obavlja se tako to se svaka oktalna cifra
zamenjuje svojim trocifrenim binarnim zapisom.
Primer 13.
Reenje:
34752,423601(8) 011~100~111 ~101~010 , 100~010~011~110~000~001 (2)
34752,423601(8) 011100111101010 , 100010011110000001 (2)
Primer 14.
Reenje:
E1B3C6,D4F8(16) 1110~0001~1011~0011~1100~0110 , 1101~0100~1111~1000 (2)
E1B3C6,D4F8(16) 11100001101100111100 0110 , 1101010011111000 (2)
x
Konverzija brojeva iz OCT u HEX brojni sistem vri se preko binarnog brojnog sistema:
OCT
BIN
HEX
Konverzija brojeva iz HEX u OCT brojni sistem vri se preko binarnog brojnog sistema:
HEX
BIN
OCT
Primer 15.
Reenje:
5716,043(8) 101 111 001 110,000 100 011(2)
5716,043(8) 1011~1100~1110,0001~0001~1000(2) BCE,118(16)
5716,043(8) BCE,118(16)
5
Primer 16.
Reenje:
4127,153(8) 100 001 010 111 , 001 101 011(2)
4127,153(8) 1000~0101~0111, 0011~0101~1000(2) 857,358(16)
4127,153(8) 857,358(16)
Primer 17.
Reenje:
D5C,13F(16) 1101 0101 1100 , 0001 0011 1111(2)
D5C,13F(16) 110~101~011~100,000~100~111~111(2) 6534,0477(8)
D5C,13AF(16) 6534,0477(8)
Primer 18.
Reenje:
1CB,81A(16) 0001 1100 1011,1000 0001 1010(2)
1CB,81A(16) 000~111~001~011,100~000~011~010(2) 713,4032(8)
1CB,81A(16) 713,4032(8)
Primer 19.
Reenje:
a)
10110101(2) = 1*27+0*26+1*25+1*24+0*23+1*22+0*21+1*20 =
= 128+32+16+4+1 = 181(10)
b)
c)
d)
e)
f)
Primer 20.
g)
h)
i)
Reenje:
a)
b)
c)
Primer 21.
Reenje:
22120 (3)+1531 (6)+677 (9)+358 (14)+10B (26)+9E (35) ) =
= 231(10) +415(10)+556(10)+666(10)+687(10)+329(10) = 2884(10)
Primer 22.
Reenje:
550(10) = 1000100110(2) = 202101(3) = 20212(4) = 4200(5) = 2314(6) = 1414(7) = 1046(8) = 671(9)
Primer 23.
Reenje:
4/5 = 0,110011001100(2) = 0,CCC(16)
Primer 24.
Reenje:
1/7 = 0,1111(8) = 0,001001001001(2) = 0,249249(16)
Primer 25.
c)
d)
q=7
q = 9.
a)
b)
c)
d)
310100(4)
101334(5)
12515(7)
4525(9).
Reenje:
Primer 26.
Reenje:
00 BF;
Primer 27.
C0 C7;
C8 CF;
D0 FF.
q=8
q =16
q=2
q=2
q = 8.
Reenje:
a)
b)
c)
d)
e)
363,64(8)
18E,3C(16)
110001100,111001000001(2)
101100100101,101000100001(2)
1653,206(8).
Primer 28.
Primer 29.
m) 113
n) 0,376
o) 91
p) 0,455
Primer 30.
Primer 31.
g)
h)
i)
j)
k)
l)
3456,566
0,34567
760,054
1643,22
4672,502
756,1
m)
n)
o)
p)
r)
s)
135,447
50,505
707,706
0,125
5150
324,77
t)
u)
v)
x)
y)
z)
3112,3
0,6376
51765
40,55
12,16433
4774,16
2345,56
12,3333
333,444
47,156
6,233
33101
A6B,5C4
F3ED3
99,ABCD
2,ABB
CC5
CFA
g)
h)
i)
j)
k)
l)
B,4CDE
2ABC,D
0,FEBC
891,435
672,21C
70448
m)
n)
o)
p)
r)
s)
9888,65
34A34B
ABC,DEF
3F2E,BAD
578,226
9177CF
t) 1230,ABC
u) 0,5DF
v) ED34,57
x) 5A6B,DF
y) 1AB,AB3
z) 16276,1.
Primer 1.
Reenje:
100 - 0,4567(10) = 1 - 0,4567(10) = 0,5433(10)
102 - 34,639(10) = 100 - 34,639(10) = 65,361(10)
Primer 2.
Reenje:
100 - 10-4 - 0,4567(10) = (1 - 0,0001) - 0,4567(10)
= 0,9999(10) - 0,4567(10)
= 0,5432(10)
102 - 10-3 - 34,639(10) = (100 - 0,001) - 34,639(10)
= 99,999(10) - 34,639(10)
= 65,360(10)
Primer 3.
Reenje:
a) 102 10-2 38,25(10) = (100 0,01) 38,25(10) = 99,99(10) - 38,25(10) =61,74(10)
b) 103 10-3 876,345(10) = (1000 0,001) 876,345(10) = 999,999(10) 876,345(10) = 123,654(10)
c) 104 10-2 4285,12(10) = (10000 0,01) 4285,12(10) = 9999,99(10) 4285,12(10) = 5714,87(10)
10
Primer 4.
Odrediti prvi i drugi komplement sledeih binarnih brojeva x(2) bez znaka:
a) 101(2) b) 11001(2) c) 1011011(2) d) 11001011(2) e) 11001010(2).
Reenje:
a) Prvi komplement binarnog broja x(2) dobija se invertovanjem svakog bita polaznog binarnog
broja:
x(2) = 010(2)
Drugi komplement binarnog broja x(2) dobija se dodavanjem jedinice na prvi komplement:
x(2) = x(2) + 1 = 011(2)
b)
x(2) = 00110(2)
x(2) = x(2) + 1 = 00111(2)
c)
x(2) = 0100100(2)
x(2) = x(2) + 1 = 0100101(2)
d)
x(2) = 00110100(2)
x(2) = x(2) + 1 = 00110101(2)
e)
x(2) = 00110101(2)
x(2) = x(2) + 1 = 00110110(2).
Primer 5.
c) 10101100(2)
d) 01010101(2)
Reenje:
a) Prvi komplement binarnog broja x(2) dobija se invertovanjem svakog bita polaznog binarnog
broja:
x(2) = 10001000(2)
Drugi komplement binarnog broja x(2) dobija se dodavanjem jedinice na prvi komplement:
x(2) = x(2) + 1 = 10001001(2)
b), c) i d) se rade na isti nain kao primer a).
11
Primer 6.
Reenje:
a) Poto je format zapisa celobrojan i bez znaka, u optem sluaju binarni broj moe da se
prikae kao:
x = bR bR-1 b1 b0, gde su bR , bR-1 , ..., b1 , b0 {0, 1} cifre u binarnom zapisu
Za konverziju u decimalni brojni sistem x(2) x(10), koristi se opta formula
x(10) = bR2R + bR-12R-1 +... + b121 + b020
Primenom formule za konverziju x(2) x(10) na zadati binarni broj x(2) = 01001011(2), dobija
se:
x(10) = 1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20 = 203(10)
b) Znak binarnog broja se nalazi na poziciji bita najvee teine (MSB). Poto je u datom zapisu
x(2) = 11001011(2), na mestu bita najvee teine 1, to znai da je broj negativan. U postupku
konverzije u decimalni brojni sistem, treba prvo odrediti osnovnu vrednost binarnog broja, s
tim to se ne konvertuje bit najvee teine:
x(2) = 10110100(2)
Primenom formule za konverziju x(2) x(10) na binarni broj x(2) ,dobija se:
x(10) = - (0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 0*20) = -52(10)
c) Znak binarnog broja se nalazi na poziciji bita najvee teine (MSB). Poto je u datom zapisu
x(2) = 11001011(2), na mestu bita najvee teine 1, to znai da je broj negativan. U postupku
konverzije u decimalan brojni sistem, treba prvo odrediti osnovnu vrednost binarnog broja, s
tim to se ne konvertuje bit najvee teine. Na osnovu reenja iz take b) sledi:
x(2) = x(2) + 1 = 10110101(2)
Primenom formule za konverziju x(2) x(10) na binarni broj x(2) ,dobija se:
x(10) = - (0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20) = -53(10)
Primer 7.
Reenje:
a) Za neoznaeni podatak:
1 * 27 + 0 * 26 + 0 * 25 + 0*24 + 0*23 + 0*22 + 0*21 + 1*20 =128 +1 = 129(10) .
b) Za oznaeni podatak:
-1 * 27 + 0 * 26 + 0 * 25 + 0*24 + 0*23 + 0*22 + 0*21 + 1*20 =-128 +1 = 127(10) .
12
Primer 8.
Reenje:
I nain:
-1 * 27 + 0 * 26 + 1 * 25 + 0*24 + 1*23 + 0*22 + 0*21 + 1*20 =-128 +32 +8+1=-87(10)
II nain:
Kako je broj negativan, izrauna se drugi komplement broja.
x(2) 10101001
x(2) 01010110
+1
x(2) 01010111(2) 1*26+1*24 +1*22 +1*21+1*20 =87, pa je to oznaeni broj -87(10).
Primer 9.
Reenje:
a) 14B0(16) = 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 (2)
2 7 25 2 4
212 210
Ispod binarnog kda, prikazane su pozicione vrednosti (teinski koeficijenti) za svaku poziciju
na kojoj se nalazi jedinica. Decimalni broj se dobija kao rezultat sabiranja ovih pozicionih
vrednosti:
14B0(16) = 0001 0100 1011 0000 (2) = 212 + 210 + 27 + 25 + 24 = 5296(10)
Rezultat je isti i ako se broj tretira kao oznaen i neoznaen. Oznaeni brojevi se razlikuju od
neoznaenih jedino po koeficijentu uz bit najvee pozicione vrednosti koji je u sluaju oznaenih
brojeva negativan (-215) a sluaju neoznaenih pozitivan (+215), svi ostali teinski koeficijenti su
jednaki. Kako je bit najvee pozicione vrednosti nula, to ovaj zapis odgovara broju 5296 i kao
oznaen i kao neoznaen broj.
b) 8011(16) = 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1(2)
215
24
20 Teinski koeficijenti za neoznaene brojeve
15
4
2
2
20 Teinski koeficijenti za oznaene brojeve
Ispod binarnog kda, prikazane su pozicione vrednosti (teinski koeficijenti) za svaku poziciju
na kojoj se nalazi jedinica. U prvom redu su koeficijenti za neoznaene, a u drugom za oznaene
brojeve. Decimalni broj se dobija kao rezultat sabiranja ovih pozicionih vrednosti:
8011(16) = 1000 0000 0001 0001 (2) = 215 + 24 + 20 = 32785(10) kao neoznaeni broj
8011(16) = 1000 0000 0001 0001 (2) = 215 + 24 + 20 = 32751(10) kao oznaeni broj
Da se podsetimo:
Oznaeni brojevi se razlikuju od neoznaenih jedino po teinskom koeficijentu bita najvee
pozicione vrednosti koji je u sluaju oznaenih brojeva negativan (-215), a u sluaju
neoznaenih, pozitivan (+215). Svi ostali teinski koeficijenti su jednaki.
13
c) 83(16) = 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 (2)
27
2 1 20
Ispod binarnog kda, prikazane su pozicione vrednosti (teinski koeficijenti) za svaku poziciju
na kojoj se nalazi jedinica. Decimalni broj se dobija kao rezultat sabiranja ovih pozicionih
vrednosti:
83(16) = 0000 0000 1000 0011 (2) = 27 + 21 + 20 = 131(10)
Rezultat je isti i ako se broj tretira kao oznaen i neoznaen, jer je bit najvee pozicione
vrednosti (za esnaestobitne zapise to je bit broj 15) nula.
Primer 10.
Reenje:
Broj 41(10) oigledno treba predstaviti kao oznaen broj, jer neoznaeni brojevi mogu biti samo
pozitivni.
Da se podsetimo:
x Oznaeni brojevi mogu biti i pozitivni i negativni.
x Kod oznaenih brojeva bitna je duina zapisa, jer je samo teinski koeficijent
najznaajnije binarne cifre negativan pa nije svejedno koliko taj, jedini
negativan teinski koeficijent iznosi. Iz tog razloga, za predstavljanje ovog broja
treba koristiti iskljuivo esnaestobitni zapis.
x Promena znaka oznaenog broja je raunanje drugog komplementa.
x U osmobitnom zapisu oznaenog broja mogu se predstaviti brojevi od -128 do
+127 i kad god u bilo kom obliku ukljuujemo negativne brojeve, bilo da je u
pitanju promena znaka ili aritmetike operacije sa drugim brojevima koji mogu
biti negativni, moramo koristiti zapis oznaenih brojeva.
! Obratite panju: broj +129 se ne moe predstaviti kao osmobitni oznaen broj iako
prilikom pretvaranja u binarni kd dobijamo osam binarnih cifara. Vrlo je vano da
pokuate sami da odgovorite i istinski razumete zato je to tako.
Krenimo od apsolutne vrednosti ovog broja (dakle, od broja +41). Pretvaranjem u binarni zapis
dobija se 41(10) = 101001(2) (pretvaranje se moe obaviti, na primer uzastopnim deljenjem sa 2
kao u ranije datim primerima). Meutim, zbog teksta zadatka, nas zanima iskljuivo
esnaestobitni zapis ovog broja. Proirenje duine zapisa pozitivnog broja se obavlja
jednostavnim dopisivanjem potrebnog broja nula nalevo. Da ponovimo, ovo vai samo za
POZITIVNE BROJEVE. Zato je +41(10), kao esnaestobitni oznaeni broj:
+ 41(10) = 0000 0000 0010 1001(2)
Da bi dobili zapis broja 41(10) treba samo izraunati drugi komplement binarnog zapisa broja
+41(10)
14
Da se podsetimo:
Operacija drugog komplementa menja znak oznaenog broja. Operacija drugog
komplementa nad neoznaenim brojevima nema aritmetikog smisla.
Prvi komplement je 1111 1111 1101 0110(2) (invertovanjem, to jest promenom svakog bita
pojedinano sa nule na jedan i obrnuto), pa je drugi komplement (dodavanjem jedinice na prvi
komplement):
1111 1111 1101 0110 (2)
+ 0000 0000 0000 0001 (2)
1111 1111 1101 0111 (2)
41(10) =
Zapisano kao heksadecimalni etvorocifreni broj (direktno iz tablice heksadecimalnih cifara):
41(10) = 1111 1111 1101 0111 (2) = FFD7 (16)
esta greka: Pogreno bi bilo poi od kda broja +41 kakav se dobija direktno
pretvaranjem u binarni sistem i nad binarnim zapisom te duine uraditi drugi komplement.
Direktno pretvoren u binarni kd, 41 = 101001(2) to je estobitni binarni zapis ovog broja.
Drugi komplement ovog binarnog zapisa je 010111(2) to svakako nije binarni kd broja - 41
(uporedite sa reenjem). Bit najvee pozicione vrednosti je nula, pa to svakako ne moe biti
zapis broja koji je negativan. Problem je u tome to se mora poi od zapisa broja +41 kao
oznaenog broja , a za to nije dovoljna duina zapisa od est bita. Ako pogledamo ovaj
estobitni zapis, primetiemo da je bit najvee pozicione vrednosti jedinica to bi u svetu
oznaenih brojeva bilo tumaeno kao negativan broj. I zaista sa est bita se mogu predstaviti
oznaeni brojevi od -25 do +25-1 (-32 do +31), a +41 ne spada u taj opseg. Minimalna duina
zapisa broja +41 kao oznaenog je sedam bita, tako da sa zapisom duine sedam ili vie bita
nema tih problema. Zapisi duina razliitih od 8, 16 ili 32 bita nemaju praktini znaaj pa je
vrlo korisno raditi samo sa zapisima date duine. Pri tome se mora voditi rauna o opsegu
brojeva.
Primer 11.
Reenje:
Kao i u prethodnom primeru, kada se trai binarni zapis broja 3 to svakako mora biti oznaeni
broj, moramo poi od esnaestobitnog binarnog zapisa broja +3 kao oznaenog broja. Binarni
kod broja +3 je 011(2) ili, predstavljeno kao esnaestobitni oznaeni broj:
+3(10) = 0000 0000 0000 0011(2)
15
Broj 3 se dobija kao drugi komplement ovog binarnog zapisa. Da podsetimo, drugi komplement
se dobija kao prvi komplement (svaki bit invertovan) i uvean za jedan.
-3(10) = 1111 1111 1111 1101(2) = FFFD (16)
! esta greka: Kao esto reenje ovog i slinih zadataka pojavljuje se odgovor:
3(10) = 1000 0000 0000 0011(2)
Sa idejom da jedinica kao najznaajniji bit pretvara broj u negativan, to je potpuno pogreno
kada se za predstavljanje negativnih brojeva koristi tehnika drugog komplementa, a u
savremenim raunarima se jedino ona koristi u tu svrhu.
Da se podsetimo:
Jedinica na mestu bita najvee pozicione vrednosti (MSB) zaista znai da je broj negativan, ali
ostali biti nisu apsolutna vrednost tog broja niti se prostim menjanjem MSB menja znak
broju!
Primer 12.
Reenje:
1025(10) = 1024+1 = 210 + 20 = 0000 0100 0000 0001(2) = 0401(16).
Zapis je isti bez obzira da li se broj tretira kao oznaen ili neoznaen.
Ako se znaju stepeni broja 2, potpuno je neracionalno troiti vreme na uzastopno deljenje sa 2
(klasino pretvaranje).
Da se podsetimo:
u sistemu esnaestobitnih brojeva razlike nastaju tek za brojeve vee od +32767 koji se mogu
predsataviti kao neoznaeni ali kao oznaeni ne mogu. Normalno, negativni brojevi do 32768
se mogu predstaviti jedino kao oznaeni. Brojevi 32769 i manji (negativniji) se ne mogu nikako
predstaviti pomou esnaestobitnog zapisa.
Primer 13.
Reenje:
Broj se mora tretirati kao oznaen. Polazimo od esnaestobitnog zapisa +512(10) kao oznaenog
broja (u ovom sluaju, isti je i zapis oznaenog i neoznaenog broja):
+512(10) = 2 9 = 0000 0010 0000 0000 (2)
Prvi komplement ovog zapisa je 1111 1101 1111 1111 (2) pa se konano reenje dobija
dodavanjem jedinice na ovaj zapis:
-512(10) = 1111 1110 0000 0000 (2) = FE00 (16)
16
Primer 14.
Reenje:
a) 6(10) 0000000000000110(2)
1111111111111001(2)
+1
1111111111111010
b) 33(10) 0000000000100001(2)
1111111111011110(2)
+1
1111111111011111
(1. komplement)
(2. komplement)
(1. komplement)
(2. komplement)
c) 2049(10)0000100000000001(2)
Primer 15.
1 = prenos (carry)
Binarno sabrati brojeve 10100011 (2) i 00111010 (2) ako su ulazni podaci:
a) Dva neoznaena binarna broja.
b) Dva oznaena binarna broja.
Oba rezultata predstaviti i kao decimalni broj.
Reenje:
a)
10100011(2)
+ 00111010(2)
11011101(2)
zbir je 221(10)
Reenje:
a)
01101001(2)
+ 10001010(2)
11110011(2)
zbir je 243(10)
Posle svake aritmetike operacije u ALU, procesor postavlja ili brie kontrolne bite u registru
stanja (zastavice, flag-ovi) ija vrednost moe da bude 1 ili 0.
x
C (Carry) = 1 oznaava da postoji prenos iz bita najvee teine.
x
N (Negative) = 1 oznaava negativan rezultat kada su podaci oznaeni brojevi.
x
V (oVerflow) = 1 signalizira da je rezultat oznaeni broj van opsega (-128 do +127).
x
Z (Zero) = 1 signalizira da je rezultat aritmetike operacije 0.
Primer 17.
U osmobitnoj aritmetici binarno sabrati brojeve 129 i 131. Koji decimalni broj je
rezultat sabiranja? Komentarisati odgovor. Kakvo e biti stanje zastavica V, N, C
posle sabiranja?
Reenje:
10000001
+ 10000011
00000100 zbir je 4
U ovom sluaju, stanje flegova e biti sledee: C=1, N=0 (najznaajniji bit rezultata je nula, pa je
broj tretiran kao pozitivan), V=1 (fleg V se postavlja pod pretpostavkom da su ulazni podaci
oznaeni brojevi. Prvi broj (10000001), posmatran kao oznaen je -127, a drugi (10000011) je 125. Sabiranjem ova dva broja dobija se broj van opsega oznaenog osmobitnog broja (-128 do
127) pa se V fleg postavlja.
Zbog pojave prekoraenja rezultat nije aritmetiki taan.
Primer 18.
U osmobitnoj aritmetici binarno sabrati brojeve 126 i 44. Koji decimalni broj je
rezultat sabiranja? Komentarisati odgovor. Kakvo e biti stanje zastavica V, N, C
posle sabiranja ?
Reenje:
01111110
+ 11010100
01010010 zbir je 82
U ovom sluaju, stanje flegova e biti sledee: C=1, N=0 (najznaajniji bit rezultata je nula, pa
je broj tretiran kao pozitivan), V=0 (fleg V se postavlja pod pretpostavkom da su ulazni podaci
oznaeni brojevi. Prvi broj je 124 i kada se tretira kao oznaen i kao neoznaen, a drugi je -44
kada se tretira kao oznaen. Sabiranjem ova dva broja dobija se broj u opsegu oznaenog
osmobitnog broja (-128 do 127) pa se V fleg brie.
Prilikom sabiranja postoji prenos, meutim, poto se sabiraju oznaeni brojevi, to to je dolo do
prenosa nema uticaja na aritmetiku tanost rezultata. Rezultat je aritmetiki taan, jer nema
prekoraenja (V=0).
Primer 19.
18
8-bitni rezultat
Primer 20.
Reenje:
a)
01000010 = 66
+ 11111110 = 254
1 01000000
19
b) Postupak isti kao pod a). Uvek je isti. Rezultat je 64 (deveti, najznaajniji bit je odseen) i
pod a) i pod b)
Rezultat je taan za oznaene jer je 11111110 (2) = 2, kao oznaen broj
Primer 21.
Reenje:
a)
00100010 = 34
+ 11111101 = 253
1 00011111
b) Postupak isti kao pod a). Uvek je isti . Rezultat je 31 (deveti bit je odseen) i pod a) i pod b)
Rezultat je taan za oznaene jer je 11111101(2) = -3 kao oznaen broj
20
Reenje:
100 : 2 = 50 0
50 : 2 = 25 0
25 : 2 = 12 1
12 : 2 = 6 0
6:2= 3 0
3:2= 1 1
1:2= 0 1
100(10) 01100100(2)
56 : 2 = 28
28 : 2 = 14
14 : 2 = 7
7:2= 3
3:2= 1
1:2= 0
0
0
0
1
1
1
56(10) 00111000(2)
- 56(10) 11000111(2) 1.komplement
Reenje:
111 : 2 = 55
55 : 2 = 27
27 : 2 = 13
13 : 2 = 6
6:2= 3
3:2= 1
1:2= 0
1
1
1
1
0
1
1
87 : 2 = 43
43 : 2 = 21
21 : 2 = 10
10 : 2 = 5
5:2= 2
2: 2 = 1
1: 2 = 0
111(10) 01101111(2)
1
1
1
0
1
0
1
87(10) 01010111(2)
- 87(10) 10101000(2) 1.komplement
21
Reenje:
113 : 2 = 56
56 : 2 = 28
28 : 2 = 14
14 : 2 = 7
7:2= 3
3:2= 1
1:2= 0
1
0
0
0
1
1
1
113(10) 01110001(2)
66 : 2 = 33
33 : 2 = 16
16 : 2 = 8
8:2= 4
4:2= 2
2:2= 1
1:2= 0
0
1
0
0
0
0
1
Reenje:
Primer 26.
Reenje:
45 : 2 = 22
22 : 2 = 11
11 : 2 = 5
5:2= 2
2:2= 1
1:2= 0
22
1
0
1
1
0
1
73 : 2 = 36
36 : 2 = 18
18 : 2 = 9
9:2= 4
4:2= 2
2:2= 1
1:2= 0
1
0
0
1
0
0
1
45(10) 00101101(2)
73(10) 01001001(2)
- 73(10) 10110110(2) 1.komplement
+1
10110111(2) 2.komplement
45(10) - 73(10) = 45(10) + (- 73(10) )
00101101(2)
+ 10110111(2)
11100100(2) - 1*27 + 1*26 + 1*25 + 1*22 = - 28(10)
ili
11100100
10011011 (negativan br. 1.komplement)
+1 (korekcija)
Reenje:
59 : 2 = 29
29 : 2 = 14
14 : 2 = 7
7:2= 3
3:2= 1
1:2= 0
1
1
0
1
1
1
100 : 2 = 50
50 : 2 = 25
25 : 2 = 12
12 : 2 = 6
6:2= 3
3:2= 1
1: 2 = 0
0
0
1
0
0
1
1
59(10) 00111011(2)
100(10) 01100100(2)
-100(10) 10011011(2) 1. komplement
+1
10011100(2) 2. komplement
59 (10) - 100 (10) = 59 (10) + (-100 (10) )
00111011(2)
+ 10011100(2)
11010111(2) - 1*27 + 1*26 + 1*24 + 1*22+1*21 +1*20 = - 41(10)
ili
11010111
10101000 (negativan br. 1.komplement)
+1 (korekcija)
23
Primer 28.
Reenje:
0
1
0
1
1
1
1
94 : 2 = 47
47 : 2 = 23
23 : 2 = 11
11 : 2 = 5
5:2= 2
2:2= 1
1:2= 0
0
1
1
1
1
0
1
122(10) 01111010(2)
94(10) 01011110(2)
- 122(10) 10000101(2) 1. komplement
+1
10000110(2) 2. komplement
94(10) - 122(10) = 94(10) + (- 122(10) )
01011110(2)
+ 10000110(2)
11100100(2) 10011011(2) (1. komplement)
+1
10011100(2) (2. komplement) = - ( 24 + 23 + 22 ) = - 28(10).
Primer 29.
Reenje:
63 : 2 = 31
31 : 2 = 15
15 : 2 = 7
7:2= 3
3:2= 1
1:2= 0
63(10) 00111111(2)
- 63(10) 11000000(2) 1. komplement
+1
11000001(2) 2. komplement
24
1
1
1
1
1
1
Primer 30.
a) 112(10) 31(10)
b) 31(10) 112(10)
c) 84(10) 16(10)
d) 16(10) 84(10)
e) 105(10) 14 (10)
f) 14(10) 105(10)
g) 121(10) 45(10)
h) 45(10) 121(10)
i) 68(10) 29 (10)
j) 29(10) 68(10)
k) 125(10) 55 (10)
l) 55 (10) 125(10)
m) 73(10) 119(10)
n) 119(10) 73(10)
o) 88(10) 98(10)
p) 98(10) 88(10).
25
Broj cifara levo od decimalne take definie opseg brojeva koji mogu da se predstave tim
formatom.
Broj cifara desno od decimalne take definie tanost sa kojom se prikazuju brojevi.
Istom binarnom zapisu u zavisnosti od formata mogu da odgovaraju razliite brojne
vrednosti
Ista brojna vrednost moe da bude zapisana u razliitim formatima
Reenje:
a) Poto je format zapisa celobrojan i bez znaka, u optem sluaju binarni broj moe da se
prikae kao x = bR bR-1 b1 b0, gde su bR , bR-1 , ..., b1 , b0 {0, 1} cifre u binarnom zapisu .
Za konverziju u decimalni brojni sistem x(2) x(10), koristi se opta formula
x(10) = bR2R + bR-12R-1 +... + b121 + b020
26
Primenom formule za konverziju x(2) x(10) na zadati binarni broj x(2) = 01001011(2), dobija
se:
x(10) = 0*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20 = 75(10).
b) Ako je zapis broja u formatu QN-R,R pri emu je:
1) N = 8, a R =2, to znai da 6 viih binarnih cifara datog broja x(2) = 01001011(2) predstavlja
celobrojni deo binarnog broja, dok dve najnie binarne cifre predstavljaju razlomljeni deo,
odnosno da binarni broj moe da se posmatra kao:
x(2) = 010010,11(2)
Za konverziju x(2) x(10) moe da se primeni opta formula:
2-R * ( b7 * 27 + b6 * 26 + ... + b1 * 21 + b0 * 20 )
Poto je R = 2,
x(10) = 2-2 (0 * 27 + 1 * 26 + 0 * 25 .+. 0*24 + 1*23 + 0*22 + 1*21 + 1*20) = 75/4 = 18,75(10)
2) N = 8, a R =3, to znai da 5 viih binarnih cifara datog broja x(2) = 01001011(2)
predstavlja celobrojni deo binarnog broja, dok tri najnie binarne cifre predstavljaju
razlomljeni deo, odnosno da binarni broj moe da se posmatra kao:
x(2) = 01001,011(2)
Za konverziju x(2) x(10) moe da se primeni opta formula:
2-R * ( b7 * 27 + b6 * 26 + ... + b1 * 21 + b0 * 20 )
Poto je R = 3,
x(10) = 2-3 (0 * 27 + 1 * 26 + 0 * 25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20) = 75/8= 9,375(10)
Primeri 3) i 4) kada je R = 4 i R = 5 rade se na analogan nain kao primeri 1) i 2).
c) Ako je zapis broja u formatu QSN-R,R pri emu je:
1) N = 8, a R =2, to znai da je na mestu bita najvie teine (MSB) u zapisu sauvan znak
broja ( 0 = +, 1 = - ), 5 viih binarnih cifara datog broja x(2) = 01001011(2)
predstavlja celobrojni deo binarnog broja, dok 2 najnie binarne cifre predstavljaju
razlomljeni deo, odnosno binarni broj moe da se posmatra kao:
x(2) = 010010,11(2) = +10010,11(2)
Za konverziju x(2) x(10) moe da se primeni opta formula:
2-R * ( -b7 * 27 + b6 * 26 + ... + b1 * 21 + b0 * 20 )
Poto je R = 2,
x(10) = 2-2 (-0 * 27 + 1 * 26 + 0 * 25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20) = +75/4= +18,75(10)
2) N = 8, a R =3, to znai da je na mestu bita najvie teine (MSB) u zapisu sauvan znak
broja ( 0 = +, 1 = - ), 4 vie binarne cifre datog broja x(2) = 01001011(2)
predstavljaju celobrojni deo binarnog broja, dok 3 najnie binarne cifre predstavljaju
razlomljeni deo, odnosno da binarni broj moe da se posmatra kao:
x(2) = 01001,011(2) = +1001,011(2)
Za konverziju x(2) x(10) moe da se primeni opta formula:
2-R * ( -b7 * 27 + b6 * 26 + ... + b1 * 21 + b0 * 20 )
Poto je R = 3,
x(10) = 2-3 (-0 * 27 + 1 * 26 + 0 * 25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20)= +75/8 = +9,375(10)
Primeri 3) i 4) kada je R = 4 i R = 5 rade se na analogan nain kao primeri 1) i 2).
27
Primer 2.
Reenje:
U formatu Q5, 3 za celobrojni deo se koristi 5 binarnih cifara, a za decimalni deo 3 binarne cifre:
x(2) = 11001,001 = 24 + 23 +20 +2-3 = 25.125(10)
5 cifara 3 cifre
Primer 3.
Reenje:
U formatu Q6, 2 za celobrojni deo se korist 6 binarnih cifara, a za decimalni deo 2 binarne cifre:
x(2) = 011010,11 = 24 + 23 +21 +2-1 +2-2 = 26.75(10)
6 cifara 2 cifre
Primer 4.
Reenje:
65(16) 0110 0101(2) ; ako je format Q6,2 011001,01(2) 25,25(10)
Primer 5.
Reenje:
a) 97(16) 1001 0111(2) ; ako je format Q7,1 1001011,1(2) 75,5(10) .
b) 97(16) 1001 0111(2) ; ako je format Q7,1 1001011,1(2) -52,5(10) .
Primer 6.
28
Koje decimalne vrednosti odgovaraju binarnom zapisu 0000 1011(2), ako je format:
a) Q8,0
d) Q5,3
b) Q7,1
e) Q4,4
c) Q6,2
f) Q3,5
Reenje:
a) 0000 1011(2) 11(10)
b) 0000 1011(2) 5,5(10)
c) 0000 1011(2) 2,75(10)
Primer 7.
Reenje:
U pitanju je format za zapis brojeva bez znaka, tako da u optimalnom formatu treba predvideti
minimalan neophodan broj binarnih cifara za zapis celobrojnog dela i maksimalan broj binarnih
cifara za zapis dela koji je desno od decimalne take:
4(10) = 100(2)
0.563 * 2 = 1.126
0.126 * 2 = 1.252
0.252 * 2 = 0.504
0.504 * 2 = 1.008
0.008 * 2 = 0.016
1
0
0
1
0
4,563(10) = 100,10010(2)
Iz prethodnog sledi da je optimalan format za uvanje 8-bitnog zapisa broja Q3, 5.
Primer 8.
Reenje:
U pitanju je format za zapis brojeva bez znaka, tako da u optimalnom formatu treba predvideti
neophodan broj binarnih cifara za zapis celobrojnog dela i maksimalan broj cifara za zapis dela
koji je desno od decimalne take:
2(10) = 10(2)
0.872 * 2 = 1.744
0.744 * 2 = 1.488
0.488 * 2 = 0.976
0.976 * 2 = 1.952
0.952 * 2 = 1.904
0.904 * 2 = 1.808
1
1
0
1
1
1
2,872(10) = 10,110111(2)
Iz prethodnog sledi da je optimalan format za uvanje 8-bitnog zapisa broja Q2, 6.
29
Primer 9.
Reenje:
Za ceo deo, odnosno za je 3 potrebno najmanje dva bita, pa za razlomljeni deo, 0,6 ostaje 6 bita.
3,6(10) 11,100110011001(2)
Optimalni format bi bio Q2,6. Ekvivalentan binarni zapis broja u ovom formatu je:
3,6(10) 11100110(2)
Ako je u pitanju oznaen broj, mora da se predvidi jedan bit za znak u celobrojnom delu zapisa,
tako da je optimalan format QS3,5. Ekvivalentan binarni zapis broja u ovom formatu je:
3,6(10) 01110011(2)
Odsecanje bita u razlomljenom delu binarnog zapisa dovodi do greke u zaokruivanju, koje se
ogleda u odstupanju ekvivalentne decimalne vrednosti binarnog zapisa u 8-bitnom registru za
izabrani optimalni format.
Ekvivalentna decimalna vrednost neoznaenog broja u optimalnom formatu je:
11100110(2) = 2-6 (1 * 27 + 1 * 26 + 1 * 25 + 0*24 + 0*23 + 1*22 + 1*21 + 0*20)= 3,59375(10).
Ekvivalentna decimalna vrednost oznaenog broja u optimalnom formatu je:
01110011 (2) = 2-5 (-0 * 27 + 1 * 26 + 1 * 25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20)= 3,59375(10).
Kada se uva u optimalnom formatu pozitivan oznaen broj, greka usled zaokruivanja je ista
kao kada se u optimalnom formatu uva neoznaen broj.
Primer 10.
Kako zapisati decimalni broj 127,7(10) u binarnom brojnom sistemu, x(2), u 8-bitnom
registru u optimalnom formatu fiksnog zareza? Da li postoji greka usled
zaokruivanja?
Reenje:
Za ceo deo, odnosno za 127 potrebno je 7 bita, pa za razlomljeni deo, 7 ostaje 1 bit.
127,7(10) 0 1111111,101...(2)
Optimalni format bi bio Q7,1. Ekvivalentan binarni zapis broja u ovom formatu je:
127,7(10) 11111111(2)
Ekvivalentna decimalna vrednost oznaenog broja u optimalnom formatu je:
11111111(2) = 2-1 (1*27+1*26+1*25+1*24+1*23+1*22+1*21+1*20)= 127,5(10).
Primer 11.
30
Reenje:
a) 3,1416(10) (neoznaen) 11001001(2) u formatu Q2,6
b) 3,1416(10) (oznaen) 01100100(2) u formatu QS3,5.
Primer 12.
Reenje:
a) 66,6(10) (neoznaen) 10000101(2) u formatu Q7,1
b) 66,6(10) (oznaen) 01000010(2) u formatu Qs8,0
Primer 13.
Reenje:
a) 9,87(10) (neoznaeni) 10011101(2) = 9D 16 u formatu Q4,4
b) 9,87(10) (oznaeni) 01001110(2) = 4E 16 u formatu Q5,3
Primer 14.
Reenje:
a) 34,6(10) (neoznaeni) 10001010(2) u formatu Q6,2
b) 34,6(10) (oznaeni) 01000101(2) u formatu Qs7,1
Primer 15.
31
Reenje:
a) 6,283(10) (neoznaeni) 11001001(2) = C9 (16) u formatu Q3,5
b) 6,283(10) (oznaeni) 01100100(2) = 64 (16) u formatu Qs4,4
Primer 16.
Reenje:
Pretvaranjem u binarni sistem celobrojnog dela dobijamo
1025 = 10000000001 (2)
(zapis duine 11 bita)
Pretvaranjem razlomljenog dela (uzastopnim mnoenjem razlomljenog dela sa 2) dobijamo
0,608 = 0,100110111010 (2)
(zapis beskonane duine)
Ispostavie se da nam toliki broj decimala nije bio neophodan ali je dat u reenju samo radi
kontrole.
Dakle,
1025,608(10) = 10000000001,100110111010 (2)
a) Za zapis celobrojnog dela ovog broja (kada se on tretira kao neoznaeni broj) treba uzeti
najmanje 11 bita. Tolika je, naime, duina binarnog zapisa celobrojnog dela i to je
neophodan i minimalan broj bita koji se mora "potroiti" da bi se ovaj broj prikazao, bez
obzira na eljenu tanost. Ako bi pokuali da zapiemo ovaj broj sa manje od 11 bita, dobili
bi broj koji ne odgovara originalu. Kako smo na zapis celobrojnog dela "potroili" 11 bita, a
radimo u esnaestobitnom formatu, ostatak do 16 (pet bita) treba upotrebiti za zapis binarnih
cifara levo od zareza. Sa gledita tanosti zapisa, potrebno je uzeti to vei broj binarnih
cifara levo od zareza, a u ovom sluaju je to 5 jer je toliko ostalo. Ako bi celobrojni deo
zapisali sa vie od 11 bita (to je mogue) ostalo bi nam manje bita za zapis razlomljenog
dela to bi umanjilo tanost zapisa. Na osnovu ovoga, esnaest bita koja treba uzeti za zapis
sa maksimalnom moguom tanou su biti koji su podebljani:
1025,608(10) = 0000010000000001,100110111010 (2)
Za bite koji nisu podebljani iza zareza, na alost, nema mesta u 16-bitnim formatima.
Tanost bi bila vea kada bi uzeli vie njih ali to ne smemo da uradimo na raun celobrojnog
dela. Nule koje su dopisane spreda ne utiu na vrednost pozitivnog broja, a dopisane radi
ilustracije izbora optimalnog formata.
Dakle, ovaj broj treba zapisati u formatu Q 11, 5 (jedanaest bita ispred i pet iza zareza):
1025,608(10) = 1000 0000 0011 0011 (2) = 8033 (16) u formatu Q 11, 5
Da se podsetimo:
U formatu fiksnog zareza, zarez se ne pojavljuje u zapisu broja, ve format nosi
informaciju o njegovom poloaju.
Ako bi broj bita u zapisu razlomljenog dela bio konaan i manji od 5, tanost zapisa bi bila
maksimalna (potpuna) i sa manjim brojem bita. Na primer, za decimalni broj 0,5 potrebna je
32
samo jedna binarna cifra za zapis razlomljenog dela (0,5(10) = 0,1(2)) i taj jedan bit iza zareza
obezbeuje potpunu tanost. Kada je broj bita u binarnom zapisu iza zareza vei od
raspoloivog broja, potrebno je celobrojni deo zapisati sa najmanjim moguim brojem bita.
b) Da bi se broj 1025,608 predstavio kao oznaen treba uzeti najmanje 12 bita ispred zareza.
Sada vie nije dovoljan jedanaestobitni zapis celobrojnog dela iako je upravo toliki broj bita
koji dobijamo prevoenjem 1025(10) u binarni sistem. Broj 1025(10) je pozitivan, a ako bi bio
zapisan u jedanaestobitnom formatu, bit najvee pozicione vrednost bi bio jedinica to bi
ukazivalo da je broj negativan. I zaista, sa 11 bita u sistemu oznaenih brojeva mogue je
prikazati brojeve od - 210 do 210-1, dakle od -1024(10) do +1023(10), a zadati broj 1025(10) ne
spada u taj opseg. Predstavljen sa 12 bita,
1025(10) = 0100 0000 0001 (2)
(zapis duine 12 bita)
sada od binarnog kda razlomljenog dela moemo uzeti samo 4 bita jer je toliko preostalo:
0,608(10) = 0,100110111010
etiri bita koja mogu da uu u zapis (12 je neophodno za zapis)
Ako ponovo posmatramo traeni broj pretvoren u binarni kd, videemo u emu se razlikuje
optimalni zapis oznaenog od optimalnog zapisa neoznaenog broja.
1025,608(10) = 0000010000000001,100110111010 (2)
Uporedite ovo reenje sa reenjem pod a) i podsetite se zato je nuna nula na mestu
najznaajnijeg bita kada se pozitivan broj prikazuje kao oznaen.
Prema tome, 1025,608(10) kao oznaen broj treba zapisati u formatu QS12, 4:
1025,608(10) = 0100 0000 0001 1001 (2) = 4019(16) u formatu QS12, 4.
Primer 17.
Reenje:
Broj je negativan pa se samim tim moe predstaviti jedino kao oznaen broj. Kao i kod celih
negativnih brojeva i ovde treba poi od broja +71,75 pa njegovom binarnom kdu odgovarajue
duine promeniti znak tako to se pronae drugi komplement tog zapisa. Binarni kd broja
+71,75 se dobija tako to se prvo pronae binarni kd broja 71 uzastopnim deljenjem sa 2, a
zatim binarni kd broja 0,75 uzastopnim mnoenjem. Broj bita iza zareza je konaan i
prevoenjem na binarni zapis se ne gubi tanost.
71(10) = 1000111 (2)
0,75(10) = 0,11 (2)
Dakle, broj +71,75 = 1000111,11 (2)
Kako je broj binarnih cifara iza zareza konaan (postoje samo dve binarne cifre), to postoji vie
esnaestobitnih formata pomou kojih se moe zapisati ovaj broj sa potpunom tanou. To
moe biti format QS14, 2 sa 14 bita za celobrojni deo (neophodno je bar 8) i 2 bita iza zareza
33
(tano toliko je i potrebno). Podjednako dobar je i format QS13, 3 kao i QS12, 4 i tako dalje sve do
formata QS8, 8.
Da se podsetimo:
I ovde je nuno broj predstaviti kao oznaen jer emo mu kasnije menjati znak, a operacija
promene znaka (drugi komplement) nema smisla nad neoznaenim brojevima. To je i razlog
to je potrebno najmanje osam bita za zapis broja +71. Obratite panju da ovaj broj kada se
pretvori u binarni ima sedam bita koliko je potrebno kada bi ga tretirali kao neoznaen, ali
za zapis oznaenog broja +71 nuna su osam bita.
Ako usvojimo format QS14, 2
+71,75(10) = 0000 0001 0001 1111 (2) u formatu QS14, 2
Negativan broj se dobija kao drugi komplement pozitivnog broja iste apsolutne vrednosti. Drugi
komplement se dobija pojedinanim invertovanjem svakog bita (to je prvi komplement) i
dodavanjem jedinice na bit najmanje pozicione vrednosti (bez obzira gde je poloaj zareza). Zato
je :
-71,75(10) = 1111 1110 1110 0001(2) = FEE1 (16) (QS14 , 2 )
Podjednako dobro reenje je i, na primer:
-71,75(10) = 1011 1000 0100 0000(2) = B840 (16) (QS8 , 8 )
kao i svi formati izmeu ova dva.
(10)
0,75(10).
+71(10)= 0000 0000 0100 0111 (2) pa je 71(10)=1111 1111 1011 1001 (2) (kao drugi
komplement zapisa za +71(10))
0,75(10) = 0,11 (2)
Kombinacijom ova dva dolazi se do pogrenog rezultata:
71,75(10)=11 1111 1011 1001,11 (2)
Rezultat oigledno nije taan. Uporedite rezultat i postupak sa reenjem. Najistije je
razlomljeni broj tretirati kao celinu. Ako se tako ne tretira, moramo paziti da delovi sa
kojima radimo nezavisno zaista daju polazni broj. Tako, broj -71,75 nije zbir brojeva -71 i
0,75. Ma kako oigledno delovala ova prosta aritmetika injenica, zbog iznenaujue
velikog procenta pojave ove greke, na nju treba obratiti posebnu panju. Greka je naroito
Primer 18.
Reenje:
a) 0,875(10) 0,111(2)
34
1. kom
2. kom
Reenje:
+1,5(10) =01,1 (2) ili 0000 0000 0000 0011(2) u formatu QS15,1 primenom drugog komplementa:
1,5(10) = 1111 1111 1111 1101 (2) = FFFD (16) u formatu QS15 , 1
Podjednako dobra reenja se mogu dati i u drugim formatima: QS14, 2 , QS13, 3 i tako dalje, sve do
QS2, 14.
Primer 20.
Koji je najmanji, a koji najvei pozitivan broj koji se moe prikazati u formatu
QS6,2?
Reenje:
Najmanji pozitivan broj u formatu QS6 , 2 je 000000,01 (2) to iznosi 2-2 = 0,25(10).
Najvei pozitivan broj u formatu QS6 , 2 je 011111,11 (2) to iznosi 31,75(10).
Da se podsetimo:
Bit najvee pozicione vrednosti pozitivnog broja mora biti nula.
Primer 21.
Reenje:
Najmanji negativan broj u formatu QS6 , 2 je 111111,11 (2) to iznosi 0,25(10)
Najvei negativan broj u formatu QS6 , 2 je 100000,00 (2) to iznosi 32(10)
Primer 22.
35
Reenje:
64,87(10) se mora predstaviti u oznaenom formatu (jer treba da se sabira sa negativnim brojem).
Stoga je nuno celobrojni deo predstaviti sa minimalno 8 bita (sa 7 bita, opseg oznaenih brojeva
je od -63(10) do +63(10), to nije dovoljno) dakle jedini osmobitni format koji dolazi u obzir je
Qs8,0. Predstavljajui 64,87(10) u ovom formatu gubimo informaciju o razlomljenom delu, ali u
osmobitnoj aritmetici to je najbolje to moe da se uradi.
64,87(10) je 01000000(2) u formatu Qs8,0. Da bi mogao da se sabira sa njim, i -3,14(10) se mora
predstaviti u istom formatu (Qs8,0).
+3,14(10) = 011,00100(2) to je 00000011(2) u formatu Qs8,0 .
-3,14(10) se dobija kao drugi komplement ovog zapisa:
-3,14(10) = 11111101(2) formatu Qs8,0
01000000 = 64,87(10) (Qs8,0)
+ 11111101 = 3,14(10) (Qs8,0)
1 00111101 = 61(10)
(Qs8,0)
Dakle, rezultat je 61(10)
Primer 23.
Reenje:
32,17 je 01000000(2) u formatu Qs7,1 zbog toga se i -9,81(10) mora predstaviti u istom formatu.
+9,81(10) = 1001,1101(2) to je 00010011(2) formatu Qs7,1 .
-9,81(10) se dobija kao 2. komplement ovog zapisa:
-9,81(10) = 11101101(2) formatu Qs7,1
01000000 = 32,17(10) (Qs7,1)
+ 11101101 = -9,81(10) (Qs7,1)
1 00101101 = 22,5(10) (Qs7,1)
Dakle, rezultat je 22,5(10)
Binarnim kodovanjem cifara decimalnog brojnog sistema (BCD) svaka cifra decimalnog
brojnog sistema se zamenjuje ekvivalentnom binarnom vrednou koja se sastoji od etiri
binarne cifre. Najee se primenjuju kodovi 8421, kod vie 3 i Gray-ov kod.
x Binarnim kodovanjem cifara decimalnog brojnog sistema, obezbeuje se tano prikazivanje
racionalnih decimalnih brojeva, bez greke usled zokruivanja koja nastaje pri klasinoj
konverziji brojnih vrednosti iz decimalnog u binarni brojni sistem.
36
Kod 8421 je teinski kod koji se dobija direktnom konverzijom vrednosti svake cifre iz
decimalnog brojnog sistema ekvivalentnom vrednou u binarnom brojnom sistemu.
Kod vie 3 nije teinski kod. Ovaj kod ima osobinu autokomplementiranja koju ne poseduje
kod 8421. Na primer, prvi komplement koda vie 3 za cifru 0 je 1100, to predstavlja
istovremeno kod vie 3 za cifru 9, dok prvi komplement koda vie 3 za cifru 9 ima istu
vrednost kao kod vie 3 za cifru 0, odnosno 0011.
Gray-ov kod nije teinski kod. Dva susedna binarna koda u Gray-ovom kodu razlikuju se u
vrednosti samo jednog bita koda.
Decimalna
cifra
0
1
2
3
4
5
6
7
8
9
Primer 24.
8421
BCD kod
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
vie 3
BCD kod
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Gray-ov
BCD kod
0000
0001
0011
0010
0110
0111
0101
0100
1100
1000
(16).
O kom
Reenje:
a) 215 + 211 + 210 + 25 + 24 + 23 = 35896(10)
b) 215 + 211 + 210 + 25 + 24 + 23 = 29640(10)
c) 5905(10)
d) Prvi nain:
U neoznaenom formatu Q12,4 dvanaest bita se nalazi ispred, a etiri bita iza zareza. Teinski
koeficijenti za svaki bit rastu ulevo od zareza od 20 do 211, a desno od zareza rastu u
negativnu stranu od 2 - 1 do 2 - 4.
8C38(16) (Q12,4) = 1 0 0 0 1 1 0 0 0 0 1 1, 1 0 0 0 (2)
27 26
2 1 20 2 1
211
Traeni decimalni broj se dobija sabiranjem ovih teinskih koeficijenata:
8C38(16) = 211 + 27 + 26 + 21 + 20 + 2 1 = 2243,5(10)
37
Drugi nain:
8C38(16) se direktno pretvara u decimalni kd, a dobijeni rezultat treba da se podeli sa 24
(odnosno da se pomnoi sa 1/24):
8C3816) = 2-4 (215+211+210+25+24+23) = 35896/16 = 2243,5(10)
Da se podsetimo:
Celobrojna vrednost u drugom nainu konverzije se u optem sluaju deli sa 2R , gde je R
broj bita iza zareza, odnosno broj bita u razlomljenom delu (u prethodnom primeru R=4).
e) Prvi nain:
8C(16) (QS4,4) = 1000, 1100 (2) = 23 + 2 1 + 2 2 = 7,25(10)
38(16) (QS4,4) = 0011, 1100 (2) = 2 1 + 20 + 2 1 + 2 2 = 3,5(10)
Drugi nain:
8C(16) = 2-4 (-27+23+22) = 116/16 = 7,25(10)
38(16) = 2-4 (25+24+23) = 56/16 = 3,5(10)
f) Prvi nain:
8C(16) (Q 2,6) = 10, 001100 (2) = 21 + 2 3 + 2 4 = 2,1875(10)
38(16) (Q 2,6) = 00, 111100 (2) = 2 1 + 2 2 + 2 3 + 2 4 = 0,875(10)
Drugi nain:
8C(16) = 2-6 (27+23+22) = 140/64 = 2,1875(10)
38(16) = 2-6 (25+24+23) = 56/64 = 0,875(10)
Primer 25.
Reenje:
a)
b)
c)
d)
e)
f)
38976(10)
26560(10)
9840(10)
2436,0(10)
6,5(10) i 4,0(10)
4,75(10) i 2,0(10)
Primer 26.
38
105(10) i 138(10)
105(10) i 118(10)
69(10) i 57(10)
3,28125(10) i 4,3125(10)
52,5(10) i 69,0(10)
Primer 27.
Reenje:
a)
b)
c)
d)
e)
163(10) i 58(10)
93(10) i 58(10)
7007(10)
10,1875(10) i 3,625(10)
81,5(10) i 29,0(10)
Primer 28.
Primer 29.
Konvertovati 8-bitne brojeve x(2) iz binarnog u decimalan brojni sistem x(2) x(10):
a) Ako su brojevi neoznaeni;
b) Ako je zapis u formatu QN-R,R pri emu je N = 8, a R {2, 3, 4 ,5};
c) Ako je zapis u formatu QSN-R,R pri emu je N = 8, a R {2, 3, 4 ,5}.
1) 11100011
2) 10001010
3) 01000111
4) 11110110
5) 00011011
6) 11101111
7) 11001100
8) 01001101
9) 00111110
10) 01010101
11) 01011100
12) 00110100.
39
Primer 1.
Reenje:
15,147(10) = 0001 0101 , 0001 0100 0111(8421)
15,147(10) = 0100 1000 , 0100 0111 1010( vie 3 )
Primer 2.
Dati su brojevi:
a) 100100,00111 u kodu 8421
b) 111011,01111 u kodu vie 3.
Napisati ove brojeve u decimalnom brojnom sistemu.
Reenje:
a)
b)
Primer 3.
40
Prikazati u kodu 8421 brojeve 6187(10) i 2495(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
6187(10)
2495(10)
Primer 4.
Prikazati u kodu 8421 brojeve 7531(10) i 1484(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
7531(10)
1484(10)
Primer 5.
Prikazati u kodu 8421 brojeve 6187(10) i 2495(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
6187(10)
2495(10)
Primer 6.
Prikazati u kodu 8421 brojeve 7531(10) i 1484(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
7531(10)
1484(10)
Primer 7.
Prikazati u kodu 8421 brojeve 5324(10) i 1768(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
41
Reenje:
5324(10)
1768(10)
Primer 8.
Prikazati u kodu 8421 brojeve 3712(10) i 1456(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
3712(10)
1456(10)
Primer 9.
Prikazati u kodu 8421 brojeve 1357(10) i 5468(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
1357(10)
5468(10)
Primer 10.
Prikazati u kodu 8421 brojeve 2875(10) i 6943(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
2875(10)
6943(10)
Primer 11.
42
Prikazati u kodu 8421 brojeve 1337(10) i 2468(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
Primer 12.
1337(10)
2468(10)
Prikazati u kodu 8421 brojeve 2075(10) i 5943(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
2075(10)
5943(10)
Primer 13. Prikazati u kodu 8421 brojeve 2369(10) i 1653(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
2369(10)
1653(10)
Primer 14.
Prikazati u kodu vie 3 brojeve 8153(10) i 1298(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
8153(10) = 1011 0100 1000 0110( vie 3 )
1298(10) = + 0100 0101 1100 1011( vie 3 )
1111 1010 0101 0001
+ 1101 1101 0011 0011 korekcija
1100 0111 1000 0100( vie 3) = 9451(10)
Primer 15.
Prikazati u kodu vie 3 brojeve 5947(10) i 3106(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
43
Reenje:
5947(10)
3106(10)
Primer 16.
Prikazati u kodu vie 3 brojeve 2875(10) i 6943(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
2875(10)
0101 1011 10101000 ( vie 3 )
6943(10) + 1001 1100 0111 0110 ( vie 3 )
1111 1000 0001 1110
+ 1101 0011 0011_1101 korekcija
1100 1011 0100 1011( vie 3 ) = 9818 (10).
Primer 17.
Prikazati u kodu vie 3 brojeve 5324(10) i 1768(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
5324(10) 1000 0110 0101 0111 ( vie 3 )
1768(10) + 0100 1010 1001 1011 ( vie 3 )
1101 0000 1111 0010
+ 1101 0011 1101 0011 korekcija
1010 0011 1100 0101( vie 3 ) = 7092(10).
Primer 18.
Prikazati u kodu vie 3 brojeve 3712(10) i 1456(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
3712(10)
1456(10)
Primer 19.
Prikazati u kodu vie 3 brojeve 5318(10) i 2471(10), a zatim izraunati njihov zbir i
vratiti rezultat u decimalni brojni sistem.
Reenje:
5318(10) 1000 0110 0100 1011 ( vie 3 )
2471(10) + 0101 0111 1010 0100 ( vie 3 )
1101 1101 1110 1111
+ 1101 1101 1101 1101 korekcija
1010 1010 1011 1100( vie 3 ) = 7789(10).
44
Primer 20.
Primer 21.
4) 4545(10) + 4444(10)
5) 2323(10) + 7654(10)
6) 6789(10) + 1459(10)
7) 1234(10) + 8765(10)
8) 2033(10) + 6754(10)
9) 1099(10) + 8188(10).
4) 465(10) + 6235(10)
5) 218(10) + 1743(10)
6) 572(10) + 9006(10)
7) 919(10) + 135(10)
8) 371(10) + 817(10)
9) 666(10) + 444(10)
45
x+x = x
x x = x.
x +1=1
x 0 = 0.
x=x
x+ xy = x
x (x + y) = x.
x + (y + z) = (x + y) + z
(x + y) = x y
(x y) = x + y.
Primer 1.
Dokazati identitet: ( A B ) ( A C )
A B C
Reenje:
( A B) ( A C )
A A AC A B B C A AC A B B C
A (1 C ) A B B C A A B B C
A (1 B ) B C
A B C
46
Primer 2.
Dokazati identitet: ( A C ) ( A D) ( B C ) ( B D)
A B C D
Reenje:
Na osnovu identiteta iz Primera 1, moe da se izvri direktno uproavanje logikih proizvoda:
( A C ) ( A D) ( B C ) ( B D)
( A C D) ( B C D)
A B C D ( A B 1)
A B C D
Primer 3.
Dokazati identitet: A A B
A B
Reenje:
A A B
A (1 A B) A B
A A A A B A B
A A A A A B A B
A ( A B) A ( A B)
( A B ) ( A A)
Primer 4.
A B
Dokazati identitet: A B A B 1
Reenje:
A B A B
Primer 5.
( A B) ( A B) 1
Dokazati identitet: ( A B) ( A B)
Reenje:
( A B) ( A B)
A A A B A B B B
A A ( B B)
Primer 6.
A A
Reenje:
F ( A, B, C )
A C ( B B) A C ( B B)
AC AC
A (C C )
Primer 7.
Reenje:
A (C D)
47
Negacija (NE, NOT) je najprostija logika operacija koja se obavlja nad jednim operandom.
Zove se jo inverzija ili komplementiranje. Operacija NE konvertuje vrednost 1 u vrednost 0 i
obrnuto. U tabeli istinitosti za NE operaciju X je ulazna veliina (operand), a Z je izlazna
veliina (rezultat).
Z
0
1
1
0
Z=X
ILI operacija (OR) se vri nad dve ili vie ulaznih vrednosti, a naziva se jo i logiko sabiranje
(disjunkcija). Da bi rezultat ILI operacije imao vrednost 1 mora bar jedna ulazna veliina da ima
vrednost 1. U tabeli istinitosti za ILI operaciju nad dve ulazne vrednosti X i Y, kao i tabeli
istinitosti za n ulaznih vrednosti X1 ,..., Xn dobija se rezultat Z = 1 kada su jedna ili vie ulaznih
vrednosti istovremeno jednake 1.
X
X1
X2
Xn-1
Xn
X1
X2
...
Xn-1
Xn
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
0
...
1
1
0
0
0
0
...
1
1
...
...
...
...
...
...
...
0
0
1
1
...
1
1
0
1
0
1
...
0
1
0
1
1
1
...
1
1
Z=X+Y
Z=X1+X2++Xn-1+Xn
48
Operacija I (AND) se vri nad dve ili vie ulaznih vrednosti, a naziva se jo i logiko mnoenje
(konjunkcija). Rezultat I operacije je jednak 0, ako je bar jedna ulazna vrednost jednaka nuli. Da
bi rezultat I operacije bio Z = 1, moraju svi ulazni signali istovremeno da budu jednaki jedinici:
X = Y=1 tj. X1 = X2 = ... = Xn =1.
X1
X2
X
Z
Xn-1
Xn
X1
X2
...
Xn-1
Xn
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
...
1
1
0
0
0
0
...
1
1
...
...
...
...
...
...
...
0
0
1
1
...
1
1
0
1
0
1
...
0
1
0
0
0
0
...
0
1
Z=X Y
Z=X1 X2 Xn-1 Xn
NILI operacija (NOR) daje rezultat 1 samo kada se na svim ulazima nalazi vrednost 0.
X
Z
0
0
1
1
0
1
0
1
1
0
0
0
Z=X+Y
NI operacija (NAND) daje rezultat 0 samo ako se na svim ulazima nalazi vrednost 1.
49
Ekskluzivno ILI (XOR) se naziva jo i iskljuivo ILI. Rezultat operacije je 1, ako je jedna i
samo jedna od ulaznih veliina jednaka 1, odnosno ako su vrednosti na ulazima uzajamno
razliite. Rezultat ove operacije odgovara zbiru binarnih cifara (ne uzimajui u obzir prenos), pa
se zato ova operacija naziva i sabiranje po modulu dva.
Ekskluzivno NILI (XNOR) se naziva jo iskljuivo NILI. Rezultat operacije je 1 ako i samo
ako su obe ulazne veliine jednake (obe imaju vrednost 0 ili 1). Ovo kolo se zbog toga zove i
jednobitni komparator.
Primer:
x ILI kolo sa tri ulaza (troulazno kolo) moe da se realizuje primenom dva dvoulazna ILI
kola
I kolo sa etiri ulaza (etvoroulazno kolo) moe da se realizuje primenom tri dvoulazna I
kola
X
Y
XY
PQ
P
Q
50
XYPQ
X
Y
P
Q
XYPQ
Osnovne logike operacije mogu da se realizuju primenom samo jednog tipa logikih
kola
x
X
1
X
1
ILI
Y
X
Y
X Y = X + Y = X+Y
1
X
XY
1
XY
= XY
51
Primer 8.
Reenje:
Da bi logika mrea mogla da se realizuje samo primenom dvoulaznih logikih kola, moe se
izvriti odgovarajue grupisanje promenljivih u okviru izraza logike funkcije:
F ( X , Y , Z , W ) X Z X Y X Y W X ( Z Y W ) X Y
X
X Y
F ( X , Y , Z ,W )
X (Z Y W ) X Y
Y W
Z Y W
X ( Z Y W )
F ( X , Y , Z ,W )
Primer 10.
52
Primenom NE kola i vieulaznih ILI i I logikih kola nacrtati emu logike mree
kojom se realizuje funkcija F data izrazom:
F (W , Z , Y , X ) W Z Y Y X W Z Y X Y X
Reenje:
X
F (W , Z , Y , X )
Primer 11.
Primenom NE kola i vieulaznih ILI i I logikih kola nacrtati emu logike mree
kojom se realizuje funkcija F data izrazom:
F ( X , Y , Z , W ) ( X Y Z W ) ( Z W ) (Y Z W ) ( X Y )
Reenje:
X
F ( X , Y , Z ,W )
Primer 12.
Reenje:
F ( A, B, C , D)
( A B C ) ( B C D) ( A C D)
F ( A, B, C , D )
( A B C ) ( B C D) ( A C D)
F ( A, B, C , D)
( A B C ) ( B C D) ( A C D)
53
F ( A, B ,C , D )
Primer 13.
Primenom NE kola i vieulaznih NILI kola nacrtati emu logike mree kojom se
realizuje funkcija F data izrazom:
F ( A, B, C , D)
( A B D) ( A C ) ( B C D)
Reenje:
F ( A, B, C , D)
( A B D) ( A C ) ( B C D)
F ( A, B, C , D)
( A B D) ( A C ) ( B C D)
F ( A, B ,C , D )
Primer 14.
Reenje:
F ( A, B, C , D)
54
( A B C ) ( A B D) ( D C )
F ( A, B ,C , D )
Primer 15.
F ( A, B, C , D)
( A B D) (C D) ( A B C )
Reenje:
F ( A, B, C , D)
( A B D) (C D) ( A B C )
F ( A, B, C , D )
( A B D) (C D ) ( A B C )
F ( A, B ,C , D )
Primer 16.
Reenje:
a) Da bi se lake odredila vrednost funkcije, moe se primeniti analitiko uproavanje datog
izraza primenom identiteta iz Primera 3.
55
A D B C A B C D B C
F ( A, B, C , D)
D A B C C
A D C B D
A
1
0
1
0
0
0
1
1
B
1
1
0
1
0
1
0
1
C
1
0
1
0
1
0
0
0
D A A B C C B B
A D C C B D
C D ( A B)
Primer 17.
Reenje:
a) F ( X , Y , Z , W )
F (0,1,1,1)
b) F ( X , Y , Z , W )
F (1,0,0,0)
(1 1) (0 1) (1 1 1) (0 1)
0 1 1 1 0
(0 0) (1 0) (0 0 0) (1 0) 1 1 1 1 1
Primer 18.
X
F ( X , Y , Z ,W )
Reenje:
a) F X , Y , Z , W
b) F X , Y , Z , W
Primer 19.
Z W Y X Y X Y Z X Y
F 1, 1, 0, 0 1
F ( A, B ,C , D )
A B D A C B C D
F 0, 0, 1, 1 0
F ( A, B, C , D )
57
Reenje:
a) F ( A, B, C , D) B C D A C A D
b) Primenom De Morganove teoreme u izrazu dobijenom u a) i dvostrukom negacijom izraza,
dobija se:
F ( A, B, C , D) B C D A C A D
na osnovu koga je mogua implementacija funkcije primenom NE i vieulaznih NI kola.
A (B D C)
58
Reenje:
a) F ( A, B, C , D) 1
b) F ( A, B, C , D) 0
Primer 24. Nacrtati emu kombinacione mree kojom se realizuje funkcija data izrazom:
F ( A, B, C , D) ( A C D) ( B C D) ( A B D) (C D)
a) Primenom NE kola i dvoulaznih I i ILI logikih kola.
b) Primenom NE kola i dvoulaznih ILI kola.
Primer 25. Nacrtati emu kombinacione mree kojom se realizuje funkcija data izrazom:
F ( X , Y , Z , W ) (Y W ) ( X Z W ) ( X Y Z ) ( Z W )
a) Primenom NE kola i vieulaznih I i ILI logikih kola.
b) Primenom NE kola i vieulaznih NILI kola.
Primer 26. Nacrtati emu kombinacione mree kojom se realizuje funkcija data izrazom:
F ( A, B, C , D) B C D A C D A B D A B D
a) Primenom NE kola i dvoulaznih I i ILI logikih kola.
b) Primenom NE kola i dvoulaznih I kola.
Primer 27. Nacrtati emu kombinacione mree kojom se realizuje funkcija data izrazom:
F ( X , Y , Z ,W ) A B D A C D B C C D
a) Primenom NE kola i vieulaznih I i ILI logikih kola.
b) Primenom NE kola i vieulaznih NI kola.
Primer 28. Nacrtati eme kombinacionih mrea kojima se realizuju funkciju datu izrazom:
F ( X , Y , Z ,W ) ( X Y ) (Y Z ) ( X Z W ) ( X Y Z )
a) Primenom NE kola i vieulaznih ILI i I logikih kola.
b) Primenom NE kola i vieulaznih ILI kola.
Primer 29. Nacrtati emu kombinacione mree kojom se realizuju funkcije date izrazima:
F ( A, B, C , D ) B C D A B C B C D A D
a) Primenom NE kola i vieulaznih ILI i I logikih kola.
b) Primenom NE kola i vieulaznih I kola.
59
0
1
2
3
F(X, Y) (X Y) (X Y)
X
Y
0
0
1
1
0
1
0
1
0
0
1
1
60
Karnoova mapa za funkciju tri promenljive X, Y i Z, ima izgled prikazan na Slici 2.a). I
u ovom sluaju svako polje mape rezervisano je za jednu tano odreenu konjunkciju
promenljivih ili njihovih negacija. Kako se za zadatu konjunkciju pronalazi odgovarajue
polje? Pronalaenje odgovarajueg polja ide postepeno, eliminacijom polja koja ne
zadovoljavaju. Neka je data konjunkcija X Y Z .
o Poto se u zadatom izrazu promenljiva x javlja u afirmativnom obliku, u obzir
dolaze 4 leva polja (desna polovina mape se oseni jer ta polja ne dolaze u obzir,
slika 2. b)). Druga promenljiva je y, pa se 4 leva polja smanjuju samo na 2, i to u
gornjoj vrsti, a donja vrsta se oseni (slika 2. c)). Konano, trei element je Z , pa
treba oseniti polja u sredini u kojima je Z=1 (slika 2. d)). Preostalo, neoseneno
polje odreuje polje datog izraza i u njega upisujemo 1, slika 2. d). Analognim
postupkom moe se nai polje za bilo koju konjunkciju 3 promenljive.
F(X, Y, Z) (X Y Z)
X
Y
Z
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
X=1
0
0
1
1
0
0
1
1
X=1
X=0
Y=1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
Y=1
Y=0
Z=1
Y=1
Y=0
Z=0
Z=0
Z=1
a)
Z=0
Z=0
X=0
Y=0
Z=1
Z=0
c)
b)
X=1
X=0
Y=1
Y=0
Z=0
X=1
X=0
Z=0
Z=1
Z=0
d)
F(X, Y, Z)
i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
XYZ W
Z
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
W
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
61
Minimalna disjunktivna forma ima onoliko lanova koliko je grupa napravljeno. Svaki lan
je logiki proizvod (logika I funkcija) do etiri ulaza (za funkciju 4 promenljive) ili njihovih
invertovanih vrednosti. Ako grupu ine dve jedinice, lan ima tri elementa; ako grupu ine
etiri jedinice, lan ima dva elementa, a samo jedan element ako smo grupisali osam jedinica.
lanovi su meusobno povezani logikom ILI funkcijom.
Primeri grupisanja polja u Karnoovoj mapi sa 2 promenljive dati su na slici 4.
62
Za svaku formiranu grupu definie se konjunkcija promenljivih ili njihovih negacija, ali
samo onih koje su za celu grupu nepromenjene.
Kada su formirane konjunkcije za sve grupe, konana funkcija dobija se kao disjunkcija
ovih pojedinanih lanova. Primer mape sa 3 promenljive, gde su ve formirane grupe
prikazan je na slici 7
P0
P1
1
0
P2
P3
P4
P5
P6
P7
a)
X
(X 1)
Y
(Y 1)
X
(X
0)
Y
(Y 0)
(Z
YZ
Z
0)
00
P0
P4
01
10
P3
P2
1 P5
P7
P6
Z
Z
( Z 1) ( Z 0)
Slika 8. Popunjavanje Karnoove mape i minimizacija funkcije F
64
11
P1
d)
Raspored polja u Karnoovim mapama za etiri ulazne promenljive, koje su prikazane na Slici 9,
treba zamisliti kao da su nacrtana na torusu, pa razvijena u ravan. Drugim reima, leva ivica
mape se direktno naslanja na desnu, a donja ivica na gornju. Ovo treba imati u vidu prilikom
zaokruivanja susednih lanova.
a)
b)
F = (Y Z ) (X Z W ) (X W ) (Y Z W )
65
Primer 1.
Reenje:
Izraz za funkciju Y sastoji se od sume potpunih proizvoda, odnosno moe da se predstavi u
obliku: Y ( A, B, C ) (0,3,5,7)
A
B
1
C
Primer 2.
FMDF ( A, B , C )
1
1
C
F ( A, B, C )
Reenje:
(0,1,2,4,6)
A
A
B
1
1
Primer 3.
AC B C A B C
FMDF ( A, B , C )
A B C
Reenje:
A
B
1
C
66
1
F ( A, B, C )
B AC
Primer 4.
Reenje:
A
1
1
B
C
Primer 5.
F ( A, B , C )
AB AC A B C
1
C
Reenje:
A
A
B
F ( A, B , C )
B AC AC
Primer 6.
Y ( A, B , C )
(A B C) (A B C) (A B C) (A B C) ( A B C) (A B C)
Reenje:
Izraz za funkciju Y sastoji se od proizvoda potpunih suma, odnosno moe da se predstavi u
obliku:
Y ( A, B, C ) (0,3,4,5,6,7)
A
A
B
0
0
C
FMKF ( A, B, C )
A (B C) (B C)
67
Primer 7.
Reenje:
X
Y
Primer 8.
FMKF ( X , Y , Z )
Y (X Z)
AB C AC [ B A( B C )]
Reenje:
Izraz za funkciju X(A, B, C) transformie se na sledei nain:
A B C A C [ B A ( B C )]
X ( A, B , C )
A B C AC B AC A B AC AC
A B C A C [B A B A C ]
A B C A B C A B C
Odavde sledi da funkcija X(A,B,C) moe da se predstavi kao suma potpunih proizvoda, odnosno
u disjunktivnoj normaloj formi: X DNF ( A, B, C ) (2,5,7) . Na osnovu toga se popunjava
Karnoova mapa.
X MDF ( A, B , C )
A B C AC
Primer 9.
AC D B C D A B C A B C D A B C D
Reenje:
Da se podsetimo:
Karnoovu mapa 4x4 moe da se, na primer, formira tako to e se po horizontali unositi
promenljive (ulazi) A i B, a po vertikali promenljive (ulazi) C i D. Raspored promenljivih koje
e se nai po horizontali i vertikali moe da bude potpuno drugaiji i svaki je podjednako dobar
(na primer, mogue je da po horizontali budu ulazi A i D, a po vertikali B i C ili bilo koja druga
kombinacija). Ipak, praktino je usvojiti jedan od moguih rasporeda i drati ga se pri svakom
korienju Karnoovih mapa jer je tada manja mogunost greke prilikom rasporeivanja manja.
Na primer, redosled kombinacija koji se najee koristi je da prvu kolonu odreuje kombinacija
AB=00, za njom AB=01, zatim AB=11 (primetite da ovde ne moe biti kombinacija 10, koja bi
ila po binarnom redosledu) i na kraju AB=10. Ako usvojimo isti redosled kombinacija i za ulaze
C i D po vertikali, dobijamo da prvu vrstu odreuje kombinacija CD=00, drugu, CD=01, zatim
CD=11 i na kraju CD=10. Tako dobijamo sledeu tabelu:
Kod odreivanja koje e se kombinacije ulaza A i B nai jedna pored druge po horizontali,
jedino to je bitno je da se dve susedne kombinacije razlikuju u samo jednom ulazu. Na primer,
pored kombinacije AB=01 se moe nai kombinacija AB=00 (jer je A nula, a samo B se
razlikuje, jer je u prvoj kombinaciji jedinica, u drugoj nula). Pored ove kombinacije (AB=01) se
takoe moe nai kombinacija AB=11 (samo je A razliito, B je jedinica u obe). Meutim,
kombinacije AB=01 i AB=10 ne smeju biti susedne jer se i A i B razlikuju.
Izraz za logiku funkcija koji je dat u zadatku je oigledno u disjunktivnoj formi. Na osnovu
postojeih logikih proizvoda u izrazu funkcije, moe da se zakljui koje grupe polja u
Karnoovoj mapi treba da sadri vrednost 1. Grupa jedinica (dve jedinice) koja odgovaraje prvom
lanu A C D nalaze se u preseku polja u kojima je ulaz A na nuli, ulaz B je bilo nula ili
jedinica (B ne uestvuje u lanu), a oba ulaza C i D su na jedinici
69
Ako se poe od injenice da svako polje u Karnoovoj mapi odgovara tano odreenom
potpunom logikom proizvodu za koji funkcija predstavljena u disjunktivnoj normalnoj formi
ima vrednost 1, do pozicije grupe polja koja odgovaraju lanu A C D moe se doi i analitiki,
odnosno proirivanjem nepotpunog logikih proizvoda: ACD A( B B )CD ABCD ABCD ,
to znai da grupu ine polja gde je A,B,C,D = 0,1,1,1 i A,B,C,D = 0,0,1,1. Na slian nain
dolazimo do ostalih grupa. Grupisanjem polja u Karnoovoj mapi, dobija se izraz za funkciju u
minimalnoj disjunktivnoj formi, koji je mnogo jednostavniji od poetne forme:
B D AC D A B
A BC D
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
A B - Ulaz A je za celu grupu na nuli, ulaz B je za celu grupu na nuli, a ulazi B i D se menjaju. Po
pravilima Karnoovih mapa, ulazi koji se menjaju ispadaju iz lana, ulazi koji su stalno na jedinici
ulaze u lan direktno, a ulazi koji su stalno na nuli ulaze u lan kao invertovani. lan koji potie
od ove grupe je A B .
Grupu d ine etiri logike jedinice funkcije F:
A BC
0 0 0
0 0 1
1 0 0
1 0 1
- B -
D
0
0
0
0
D
Ulaz B je za celu grupu na nuli, ulaz D je za celu grupu na nuli, a ulazi A i C se menjaju. lan
koji potie od ove grupe je: B D .
70
A BC D
0 0 1 1
0 1 1 1
A -CD
Ulaz A je za celu grupu na nuli, ulazi C i D su na jedinici, a ulaz B se menja. Tako lan koji
potie od ove grupe ima tri elementa:. A C D
Primer 10.
Niz 1000 000x 1x10 1110 predstavlja izlaze funkcije etiri promenljive A,B,C,D pri
emu prva cifra u nizu predstavlja izlaz kada je A,B,C,D =0,0,0,0, a poslednja, kada
je A,B,C,D =1,1,1,1. Cifre izmedju prve i poslednje su izlazi po binarnom redu. x je
neodreen izlaz koji moe biti bilo nula ili jedinica. Napisati logiki izraz koji
predstavlja:
a) Minimalnu disjunktivnu formu ove funkcije.
b) Minimalnu konjunktivnu formu ove funkcije.
Reenje :
Zadati niz mogao bi da se predstavi pomou tabele istinitosti. U tabelu se upisuju vrednosti
funkcije F (0 ili 1) u polja koja odreuju ulazi. Tako logiku jedinicu koja je vrednost funkcije F
u prvom redu oznaenom brojem u tabeli istinitosti, treba upisati na mestu gde su ulazi
ABCD=0000, tanije u preseku kolone gde je AB=00 i vrste gde je CD=00. Logiku jedinicu
koja je vrednost funkcije F u osmom redu u tabeli istinitosti, treba upisati na mestu gde su ulazi
ABCD=1000, tanije u preseku kolone gde je AB=10 i vrste gde je CD=00 i tako dalje.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
X
1
X
1
0
1
1
1
0
71
AC AD B C D
Grupu oznaenu sa c ine etiri logike jedinice funkcije F. Ova grupa je nastala od jedinica za
sledee ulaze:
A BC D
1 1 0 0
1 0 0 0
1 1 0 1
1 0 0 1
A -C Ulaz A je za celu grupu na jedinici, ulaz C je za celu grupu na nuli, a ulazi B i D se menjaju. Po
pravilima Karnoovih mapa, ulazi koji se menjaju ispadaju iz lana, ulazi koji su stalno na jedinici
ulaze u lan direktno, a ulazi koji su stalno na nuli ulaze u lan kao invertovani. Tako lan koji
potie od ove grupe je AC .
72
Grupu oznaenu sa d koja spaja dve jedinicu iz prve kolone sa jedinicom poslednje kolone
(spojena s druge strane papira) ine dve logike jedinice funkcije F:
Ova grupa je nastala od jedinica za sledee ulaze:
A BC D
0 0 0 0
1 0 0 0
- BCD
Ulaz B je za celu grupu na jedinici, ulazi C i D takoe, a ulaz B se menja. Tako lan koji potie
od ove grupe ima tri elementa: B C D .
Grupu oznaenu sa e koja spaja dve jedinice iz prve vrste sa dve jedinice poslednje vrste
(spojena s druge strane papira) ine etiri logike jedinice funkcije F:
A BC D
1 1 0 0
1 0 0 0
1 1 1 0
1 0 1 0
A - - D
Ulaz A je za celu grupu na jedinici, ulaz D je za celu grupu na nuli, a ulazi B i C se menjaju. Po
pravilima Karnoovih mapa, ulazi koji se menjaju ispadaju iz lana, ulazi koji su stalno na jedinici
ulaze u lan direktno, a ulazi koji su stalno na nuli ulaze u lan kao invertovani. Tako lan koji
potie od ove grupe je AD .
b) Minimalna konjunktivna forma je forma logikog proizvoda lanova koji su logiki
zbirovi elemenata. Elementi su ili same ulazne promenljive ili njihove invertovane vrednosti.
Da bi se dobila ova forma pomou Karnoovih mapa potrebno je grupisati nule u grupe po istom
principu kao to su grupisane jedinice za dobijanje minimalne disjunktivne forme. Razlog
ovakvog grupisanja i pravila su objanjena u udbeniku.
Na slici je prikazan jedan od moguih naina grupisanja polja u Karnoovoj mapi. Neodreeni
izlaz x na poziciji ABCD=0110 je usvojen kao nula da bi grupa c mogla da ima etiri ulaza.
73
Minimalan broj grupa je etiri i svaka od grupa ima po etiri nule. Kao i u sluaju minimalne
disjunktivne forme grupa koja obuhvata dve nule smanjuje, broj elemenata u tom lanu za jedan,
grupa od etiri nule smanjuje broj elemenata za dva i tako dalje. Za funkciju etiri ulaza grupa od
etiri nule e dati lan sa dva elementa. Svaka grupa ini jedan lan u minimalnoj konjunktivnoj
formi. Odreivanje koji elementi ine lan je po principu slino istom postupku u sluaju
disjunktivne forme. Ovde e biti prikazano samo za jednu grupu oznaenu sa d.
Grupu oznaenu sa d (puna linija) ine etiri logike nule funkcije F:
A BC D
0 0 1 1
0 1 1 1
1 1 1 1
1 0 1 1
- - C D
Ulaz C je za celu grupu na jedinici, ulaz D takoe, ulazi A i B se menjaju. Po pravilima
Karnoovih mapa za minimalnu konjunktivnu formu, ulazi koji se menjaju ispadaju iz lana, ulazi
koji su stalno na nuli ulaze u lan direktno, a ulazi koji su stalno na jedinici ulaze u lan kao
invertovani. Tako lan koji potie od ove grupe je C + D .
Postupak odreivanja ostalih lanova je isti. Funkcija koja se na ovaj nain dobija kao minimalna
disjunktivna forma je sledea (lanovi su podvueni linijom kakvom je oznaena odgovarajua
grupa)
Primer 11.
Niz 1110 00x0 x101 0x01 predstavlja izlaze funkcije etiri promenljive A,B,C,D pri
emu prva cifra u nizu predstavlja izlaz kada je A,B,C,D=0,0,0,0, a poslednja, kada
je A,B,C,D=1,1,1,1. Cifre izmedju prve i poslednje su izlazi po binarnom redu. x je
nedefinisan izlaz, svaki od njih pojedinano moe biti bilo nula ili jedinica. Napisati
logiki izraz koja predstavlja:
a) Minimalnu disjunktivnu formu ove funkcije.
b) Minimalnu konjunktivnu formu ove funkcije.
Reenje:
a) Jedna od moguih minimalnih disjunktivnih formi je odreena na osnovu tabele:
AD B C AC D
c
74
00
01
11
10
00
01
11
10
( A B)( A C D)( A D)
Primer 12.
Reenje:
Y
1
Primer 13.
FMDF ( X , Y , Z , W )
ZW Z W
Reenje:
Y
1
FMDF ( X , Y , Z , W )
X Z YZ
W
Z
75
Primer 14.
Reenje:
X
X
1
Primer 15.
W
W
FMDF ( X , Y , Z , W )
Z YW
Reenje:
X
X
1
Y
1
Primer 16.
FMDF ( X , Y , Z , W )
76
X W
Reenje:
X
X
1
W
W
Primer 17.
b)
c)
X Z YW
Za funkciju:
F ( A, B, C , D)
a)
FMDF ( X , Y , Z ,W )
AC B C D AC D C D A B C D
Reenje:
a)
B
1
D
1
b)
B
0
0
1
1
1
0
0
1
A
0
1
0
1
0
1
1
1
C
0
1
0
1
0
1
0
1
D
1
1
0
0
1
0
1
0
FMDF ( A, B , C , D )
C BD
C BD C BD
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
F(A,B,C,D)=10101010
77
c)
Primer 18.
F ( A, B , C , D )
C BD
F ( A, B, C , D)
C BD
CBD
Reenje:
a)
A
1
0
1
0
0
0
1
1
B
1
1
0
1
0
1
0
1
C
1
0
1
0
1
0
0
0
D
1
0
1
0
1
0
1
1
AB
0
1
1
1
1
1
1
0
A+B D(A+B)
1
1
1
0
1
1
1
0
0
0
1
0
1
1
1
1
C( A B ) F(A,B,C,D)
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
F(A,B,C,D)=10101011
b)
A
1
F ( A, B , C , D )
78
D
C
AD BD C B C A
D( A B) C ( A B)
Primer 19.
W
0
Y
0
Z
FMKF ( X , Y , Z , W )
Primer 20.
W
Z
( Z W ) ( X W ) (Y W ) ( X Z ) ( X Y ) (Y Z )
F(X, Y, Z, W) = 3 (0,1,2,3,5,6,9,13,14)
Reenje:
X
0
W
0
0
0
Y
0
Z
FMKF ( X , Y , Z , W )
Primer 21.
( X Y ) ( Z W ) (Y Z W )
Reenje:
X
0
X
0
0
0
Y
0
Primer 22.
Reenje:
X
0
Y
0
Z
FMKF ( X , Y , Z , W )
Primer 23.
80
(Z W ) ( X Y W ) ( X Y Z ) ( X Z W )
Niz 0x00 1011 10x0 101x predstavlja izlaze funkcije etiri promenljive A,B,C,D
pri emu prva cifra u nizu predstavlja izlaz kada je A,B,C,D=0,0,0,0, a poslednja,
kada je A,B,C,D=1,1,1,1. Cifre izmedju prve i poslednje su izlazi po binarnom
redu. x je nedefinisan izlaz, svaki od njih pojedinano moe biti bilo nula ili
jedinica. Napisati logiki izraz koja predstavlja:
a) Minimalnu disjunktivnu formu ove funkcije.
b) Minimalnu konjunktivnu formu ove funkcije.
Reenje:
a) Minimalna disjunktivna forma:
AB
CD
b)
00
01
11
10
00
01
11
10
CB BD
00
01
11
10
00
01
11
10
Primer 24.
(C D )( A D )( A B )
Reenje:
X
X
Y
1
1
1
X
1
1
X Z ZW YZ W
FMDF ( X , Y , Z , W )
81
Primer 25.
Reenje:
Y
0
X
0
W
0
Y
0
FMKF ( X , Y , Z , W )
Primer 26.
( X Z ) (Y Z ) ( X Y W ) ( X Y W ) ( X Y Z W )
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
82
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Z
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
W
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
b
0
b
1
1
0
1
1
0
b
1
1
0
0
b
Reenje:
Y
b
Z
FMDF ( X , Y , Z , W )
Primer 27.
XW Z W X Y Z
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
x
x
1
1
1
0
0
0
x
1
1
1
1
1
0
0
83
Reenje:
CD
00
01
11
10
00
01
AB
B
1
11
10
Primer 28.
B
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
F MDF ( A, B, C , D )
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
B AC C D
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
x
0
1
0
1
1
1
x
1
0
1
0
x
0
1
0
84
Reenje:
A
X
A
1
B
D
B
1
C
F MDF ( A, B, C , D )
Primer 29.
D AB
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
x
0
1
1
0
1
1
1
0
0
0
1
x
0
0
85
Reenje:
CD
AB
00
01
11
00
B
01
10
FMKF ( A, B, C , D )
D
C
( A C ) (C D ) ( B C D )
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
86
D
D
11
Primer 30.
10
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
x
x
0
x
1
1
Reenje:
A
CD
AB
00
00
01
11
10
01
11
10
FMKF ( A, B, C , D )
Primer 31.
D
D
( A C) B
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
x
0
0
1
1
1
0
x
0
0
0
0
87
Reenje:
A
Primer 32.
D
C
C
FMKF ( A, B, C , D )
( A C ) ( B D) ( B C ) ( B C D)
+VCC
Reenje:
a) Poto se na ulaz kombinacione mree dovode tri signala A, B i C broj kombinacija logikih
vrednosti ovih signala je 23 = 8.
n
0
1
2
3
4
5
6
7
88
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
OUT
0
0
0
1
0
1
1
1
b)
A
1
1
1
B
C
OUTMDF ( A, B , C )
Primer 33.
A B AC B C
Nivo tenosti u rezervoaru detektuje se preko tri senzora A, B i C, iji izlaz ima
vrednost logika 1 kada nivo tenosti dostigne ili premai poziciju senzora,
odnosno logika 0 kada je senzor iznad nivoa. Ako su senzori postavljeni kao to
je prikazano na slici:
C
B
A
a)
b)
Reenje:
a)
Poto vrednost funkcije F zavisi od tri ulazne promenljive, ukupan broj kombinacija
vrednosti ulaznih veliina A, B i C je 23 = 8. Poto izlaz svakog senzora dobija vrednost
logika 1 tek kada nivo dostigne ili premai poziciju senzora, mogua je sledea
kombinacija vrednosti na izlazima senzora:
C
89
Funkcija F e imati vrednost 1 samo kada senzor A detektuje nivo (CBA = 001), dok e za
ostale tri kombinacije vrednosti izlaza sa senzora imati vrednost 0. Za sve ostale kombinacije
vrednosti izlaza senzora funkcija F e imati nedefinisanu vrednost (X). Na osnovu ovog
razmatranja popunjena je kombinaciona tabela:
n
0
1
2
3
4
5
6
7
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
X
0
X
X
X
0
X su nedefinisana stanja
b)
Na osnovu tabele iz take a) popunjena je Karnoova mapa sa tri promenljive, pri emu
nedefinisana stanja X u cilju bolje minimizacije mogu da se po potrebi grupiu sa poljima u
kojima je 1.
FMDF (C , B , A)
Primer 34.
BA
b)
Reenje:
a)
n
0
1
2
3
4
5
6
7
90
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
0
0
1
0
0
1
1
0
b)
00
01
11
10
FMKF ( X , Y , Z )
Primer 35.
YZ
X
0
Z
(Y Z ) (Y Z ) ( X Y )
Reenje:
n
0
1
2
3
4
5
6
7
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F ( A, B, C )
0
1
0
0
0
1
1
1
A B B C
91
Primer 36.
a)
b)
Reenje:
i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
X3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
X4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Y ( X 1, X 2 , X 3 , X 4 )
Primer 37.
X3X4
00
01
00
01
11
10
11
10
1
1
X1 X 2 X 3 X 4 X 2 X 3 X1 X 3 X1 X 4
92
X1X2
Primer 38.
Y
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
Primer 39.
Primer 40.
Primer 41.
Primer 42.
Za funkciju FDNF (A1, A2, A3, A4 ) = 6 (1, 4, 5, 6, 12, 13) = 1, F(X) = (8, 9, 14,15),
gde je X nedefinisana vrednost funkcije:
a) Odrediti minimalnu disjunktivnu formu funkcije (MDF).
b) Odrediti minimalnu konjuktivnu formu funkcije (MKF).
Primer 43.
Za funkciju FKNF (X1, X2, X3, X4 )= 3 (0, 4, 7, 8, 12) = 0, F(b) = (1, 3, 9, 12, 14,15),
gde je b nedefinisana vrednost funkcije:
a) Odrediti minimalnu konjuktivnu formu funkcije (MKF).
b) Odrediti minimalnu disjunktivnu formu funkcije (MDF).
93
Postavljanje (SET) - logika vrednost 0 nekog bita pretvara se u logiku vrednost 1.
Primenjuje se na bite u registru stanja, registrima CPU i memorijskim lokacijama.
1 1 1 0 0 0 1 0
1 1 1 0 1 1 1 0
x
x
x
Negacija (NEGATE) kao rezultat se dobija drugi komplement broja. Operacija se odnosi
na sadraj celog registra.
1 1 1 0 0 0 1 0
0 0 0 1 1 1 1 0
x
94
x Dekrementiranje (DECREMENT) - smanjuje vrednosti operanda za 1.Odnosi se na sadraj
celog registra. Kod nekih procesora se primenjuje samo na registre u okviru CPU, a kod drugih
se primenjuje i na sadraj memorijskih lokacija.
1 1 1 0 0 0 1 0
1 1 1 0 0 0 0 1
x Pomeranje (SHIFT) - pomeraju se biti u okviru jednog registra ulevo ili udesno.
Bit koji naputa registar se gubi ili se upisuje u Carry flag. Kod mikroprocesora se obino u
jednom taktu obavi pomeranje za jednu poziciju, a kod veih raunara se u jednom taktu pomera
sadraj za vie pozicija. Upranjena mesta se obino popunjavaju logikim nulama (0).
o Pomeranje udesno
Primena:
Ispitivanje sadraja bita u registru
Deljenje sa 2N, N = broj pomeranja
1 1 1 0 0 0 1 0
0 1 1 1 0 0 0 1
Carry
flag
Carry
flag
o Pomeranje ulevo
Primena:
Ispitivanje sadraja bita u registru
Mnoenje sa 2N, N = broj pomeranja
1 1 1 0 0 0 1 0
Carry
flag
1 1 0 0 0 1 0 0
95
x
Rotacija (ROTATE) - rotiraju se biti u okviru jednog registra ulevo ili udesno.
Bit koji se rotira upisuje se na upranjeno mesto na drugom kraju registra, a pri tome moe
da se uva i u Carry flag-u. Kod nekih procesora i sam bit prenosa (C, carry) uestvuje u
rotaciji.
o Rotacija ulevo
1 1 1 0 0 0 0 1
1 1 0 0 0 0 1 1
1 1 0 0 0 0 1 C
o Rotacija udesno
1 1 1 0 0 0 0 1
Prvobitni sadraj
1 1 1 1 0 0 0 0
Prvobitni sadraj
C 1 1 1 0 0 0 0
96
pomou maske koja sadri 0 na mestu bita iji sadraj treba da ostane nepromenjen, a 1 na
mestu bita koje treba postaviti (setovati).
A
B
A OR B
Primena:
Komplementiranje sadraja eljenih bita,
pomou maske koja sadri 0 na mestu bita iji sadraj treba da ostane nepromenjen, a 1 na
mestu bita koji treba invertovati.
A
B
A XOR B
Primer 1
U 8-bitnom registru A nalazi se broj 7E(16). Koji se HEX broj nalazi u registru
posle:
a) pomeranja prvobitnog sadraja za 3 mesta ulevo
b) rotacije prvobitnog sadraja za 3 mesta ulevo
c) pomeranja prvobitnog sadraja za 3 mesta udesno
d) rotacije prvobitnog sadraja za 3 mesta udesno.
Reenje:
Prvobitni sadraj u registru A: 01111110(2)
a) Posle pomeranja za 3 mesta ulevo, sadraj u registru A je: 11110000(2)
b) Posle rotacije za 3 mesta ulevo, sadraj u registru A je: 11110011(2)
c) Posle pomeranja za 3 mesta udesno, sadraj u registru A je: 00001111(2)
d) Posle rotacije za 3 mesta udesno, sadraj u registru A je: 11001111(2)
Primer 2
Iz tabele sa ASCII kodovima proitati kod za broj 9(10) i sadraj sauvati u 8bitnom registru A. Pokazati kako primenom operacija pomeranja i rotiranja za
odgovarajui broj mesta moemo da postignemo da:
a) vii nibl u registru A bude 0
b) nii nibl u registru A bude 0
c) vii nibl doe na mesto nieg nibla
d) nii nibl doe na mesto vieg nibla
Reenje:
Prvobitni sadraj u registru A je 00111001(2) = 39(16)
a) Posle pomeranja za 4 mesta udesno, sadraj u registru A je 00000011 (2) = 03(16)
97
b)
c)
d)
Primer 3
Iz tabele sa EBCDIC kodovima proitati kod za broj 6(10) i sadraj sauvati u 8bitnom registru A. Pokazati kako primenom operacija pomeranja ili rotiranja za
odgovarajui broj mesta moemo da postignemo da:
a) sadraj u registru A bude 3D(16)
b) sadraj u registru A bude 60(16)
c) vii nibl doe na mesto nieg nibla
d) nii nibl doe na mesto vieg nibla
Reenje:
Prvobitni sadraj u registru A je 11110110(2)
a ) Posle pomeranja za 2 mesta udesno, sadraj u registru A je 00111101 (2) = 3D(16)
b) Posle pomeranja za 4 mesta ulevo, sadraj u registru A je 01100000(2) = 60(16)
c) Posle rotacije za 4 mesta udesno, sadraj u registru A je 01101111(2) = 6F(16)
d) Posle rotacije za 4 mesta ulevo, sadraj u registru A je 01101111(2) = 6F(16)
Primer 4
Reenje:
Prvobitni sadraj u registru A je 10110011(2)
a) Posle rotacije za 4 mesta udesno, ako je C = 1 sadraj u registru A je 01111011(2)
b) Posle rotacije za 2 mesta ulevo, ako je C = 1 sadraj u registru A je 11001111(2)
c) Posle rotacije za 4 mesta udesno, ako je C = 0 sadraj u registru A je 01101011(2)
d) Posle rotacije za 2 mesta ulevo, sadraj u registru A je 11001101(2)
Primer 5
Reenje:
0001100100100001
Primer 6
Reenje:
1100000000000111
98
Primer 7
Reenje:
0101001000000000
Primer 8
Reenje:
1110010111010111
Primer 9
Reenje:
Prvobitni sadraj u registru A je 00000110 (2)
a) Posle pomeranja za 5 mesta ulevo sadraj registra A je 11000000 (2) = 192(10)
b) Na ovaj nain je izvreno mnoenje broja 5 sa 25 = 32
Primer 10
Reenje:
Prvobitni sadraj u registru A je 00111001(2), a u registru B je 00110111(2)
a) Primenom logike I (AND) operacije nad sadrajem registara A, odnosno B i maske
00001111(2) dobija se zapis brojeva u raspakovanom formatu BCD koda 8421:
A = 00111001(2) AND 00001111(2) = 00001001(2)
B = 00110111(2) AND 00001111(2) = 00000111(2)
b)
c)
99
Primenom odgovarajue maske i logike operacije invertovati 2., 3., 8., 9., 12. i 13.
bit u 16-bitnom broju koji se nalazi u akumulatoru A:
A: 1101010111100010
Nakon izvrenja logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
Primer 11
A XOR M
Primer 12
A:
M:
A:
Primenom odgovarajue maske i logike operacije invertovati 2., 5., 6., 8., 11., 13.
i 14. bit u 16-bitnom broju koji se nalazi u akumulatoru A: 0011010101010101.
Nakon izvrenja logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
A XOR M
Primer 13
A:
M:
A:
Reenje:
A XOR M
100
A:
M:
A:
Primer 14
Reenje:
A XOR M
Primer 15
A:
M:
A:
Reenje:
A AND M
Primer 16
A:
M:
A:
Primenom odgovarajue maske i logike operacije resetovati 0., 1., 6., 7., 14. i 15.
bit u 16-bitnom broju koji se nalazi u akumulatoru A:
A: 1110100111000111
Nakon izvrenja logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
101
A AND M
Primer 17
A:
M:
A:
Reenje:
A AND M
Primer 18
A:
M:
A:
Reenje:
A OR M
Primer 19
102
A:
M:
A:
Primenom odgovarajue maske i logike operacije setovati 4., 6., 8., 10. i 12. bit u
16-bitnom broju koji se nalazi u akumulatoru A:
A: 0010101010101001
Nakon izvrenja logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
A OR M
Primer 20
A:
M:
A:
Primenom odgovarajue maske i logike operacije izdvojiti 1., 3., 5., 11., 13. i 15.
bit u 16-bitnom broju koji se nalazi u akumulatoru A:
A: 1110110111101011
Nakon izvrenja logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
A AND M
Primer 21
A:
M:
A:
Primenom odgovarajue maske i logike operacije izdvojiti 3., 5., 9. i 10. bit u 16bitnom broju koji se nalazi u akumulatoru A: 1001001001001001. Nakon izvrenja
logike operacije rezultat se nalazi u akumulatoru A.
Reenje:
A AND M
Primer 22
A:
M:
A:
Reenje:
103
A AND M
A:
M:
A:
Primer 24.
Primer 25.
Primer 26.
Primer 27.
Primer 28.
Primer 29.
104
Primer 30.
Primer 31.
Primer 32.
Primer 33.
Primer 34.
Primer 35.
U 8-bitnom registru A nalazi se broj C5(16). Koji se HEX broj nalazi u registru
posle:
a) pomeranja prvobitnog sadraja za 5 mesta ulevo
b) rotacije prvobitnog sadraja za 5 mesta ulevo
c) pomeranja prvobitnog sadraja za 5 mesta udesno
d) rotacije prvobitnog sadraja za 5 mesta udesno.
105
Primer 36.
Primer 37.
Primer 38.
106
8. ALGORITMI
Re algoritam je arapskog porekla i znaci vetina raunanja, etiri osnovne raunarske
radnje. Izraz potie od arapskog matematiara Mohameda ibn Musa Alhariymi. U srednjem
veku upotrebljavali su se i izrazi alorizam i algaritam. Algoritam je opis za reavanje nekog
problema. U novije vreme, algoritam je pojam koji se gotovo iskljuivo vezuje za
informatiku i, mada ne postoji jedinstvena opte prihvaena definicija, podrazumeva se da je
u pitanju nekako opisna procedura za obavljanje posla.
Definicija:
Algoritam je konana i precizno definisana procedura, formulisana u cilju reavanja
odreenog tipa zadatka, kojom se ulazne vrednosti transformiu u izlazne, ili se opisuje
izvravanje nekog postupka. Dijagram toka se esto koristi za grafiki prikaz algoritma.
Grafiki prikaz elemenata:
Unoenje podataka
Obrada
Odluka (pitalica)
Prirodnim jezikom,
Pseudokodom, vetakim precizno definisanim jezikom,
Grafiki, dijagramom toka ili strukturnim dijagramima ili
Odgovarajuim programskim jezikom.
.
107
108
Primer 1.
Reenje:
Primer 2.
Reenje:
109
Primer 3.
Reenje:
Primer 4.
- x; x 0
x; x t 0
Reenje:
110
Primer 5.
Reenje:
Primer 6.
Napraviti algoritam koji promenljivoj max dodeljuje najvecu vrednost tri zadata
broja a, b, c
Reenje:
111
Primer 7.
Napraviti algoritam koji izraunava izraz |t-3| i tampa uneti podatak t i apsolutnu
vrednost izraza .
Reenje:
Primer 8.
Reenje:
112
Primer 9.
Reenje:
Primer 10. Napraviti algoritam za unoenje dva prirodna broja (x,y) i izraunavanje
izraza z = x/y. tampati vrednost izraza, z.
113
Reenje:
Primer 11. Napraviti algoritam koji izraunava i tampa kvadratni koren brojeva od 5 do 21.
Reenje:
Primer 12. Sastaviti algoritam kojim se za zadate realne brojeve a i b, izraunava funkcija y
prema formuli:
114
Reenje:
POETAK
a,b
a<b
( a 0.5)
(1 b )
2
(b 0.5)
(1 a )
2
KRAJ
Primer 13. Napraviti algoritam koji uitava vrednost x, izraunava i tampa vrednost
polinoma y .
Y
( X 3)( X 5)
( X 2)( X 3)
Reenje:
( X 3)( X 5)
( X 2)( X 3)
115
1 1 1
... sa
2 4 8
tanou .
Reenje:
X1=1
X2=X1-1/21
X3=X2+1/22
X4=X3-1/23
Xn=Xn-1+((1)n+1*1/2n1)
116
1 2 3 4 5 7
...
2 3 4 5 6 6
sa tanou .
Xn
Xn
n
(1) n
n 1
n
znak
n 1
117
Primer 17. Napraviti algoritam koji tampa sve neparne prirodne brojeve koji su manji i
jednaki n.
Reenje:
Primer 18. Napraviti algoritam koji uitava stranice trougla a, b, c i izraunava povrinu
trougla po Heronovom obrascu i tampa vrednost povrine trougla i stranice tog
trougla.
Reenje:
P
S
S ( S a )( S b)( S c)
abc
Poluobim.
2
Heronov obrazac.
118
abc
2
Primer 19. Napraviti algoritam koji izraunava i tampa vrednost broja primenom izraza:
1 1 1
S
1 ... . Uslov izraunavanja je da je n-ti lan reda |an| < .
4
3 5 7
119
Reenje:
Primer 20. Zadata su dva prirodna broja k i m (k<m). Sastaviti algoritam koji odreuje broj
kombinacija k-te klase od m elemenata.
Reenje:
k!
m!(k m)!
120
121
Primer 21. Napraviti algoritam koji izraunava prosenu srednju ocenu na ispitu iz ORT-a.
Reenje:
idn
Primer 22. U datoteci se nalazi 30 brojeva koji predstavljaju temperaturu od 130 juna 2004.
godine (T1- T30). Sastaviti algoritam koji izraunava prosenu temperaturu u
mesecu junu, tampa datum dana u kojima je temperatura bila manja od prosene
i broj dana kada je temperatura bila manja od prosene.
122
Reenje:
123
Primer 23. Napraviti algoritam koji uitava niz ai, pronalazi i tampa najmanji elemenat niza.
Reenje:
124
Primer 24. Napraviti algoritam koji dati niz dimenzije n, ureuje u rastuem redosledu.
Reenje:
125
Primer 25. Napraviti algoritam koji odreuje reenja kvadratne jednaine ax2+bx+c=0.
Reenje:
a
0, uslov da je jednaina kvadratna; Diskriminanta: D=b2-4ac
Realna i razliita reenja: x1
Realna i jednaka reenja: x
b D
b D
i x2
(a,b,c
0)
2a
2a
b
(a,b,c
0 i b2=4ac).
2a
Reenja su konjugovano kompleksna (b2-4ac <0). Jednaina nije kvadratna, x=-c/b (a=0 i
b
0).
126
Primer 26. Sastaviti algoritamsku emu za reavanje i tampanje reenja sistema linearnih
jednaina ax + by = p i mx + ny = q
Reenje:
ax + by = p, mx + ny = q,
Dx
D
, y
Dy
D
a b
D
m n
an bm
Dx
p b
q n
pn bq
Dy
aq pm
D=0 ; Dx
0 ; Dy
0 sistem nema reenje. D =0 ; Dx = 0 i Dy = 0 sistem ima bezbroj reenja
127
Primer 27. Napraviti algoritam koji uitava datum u obliku d,m,g ; to znai dan, mesec,
godina, a zatim izraunava i tampa koji je to dan u godini.
Reenje:
128
Primer 28. Napraviti algoritam koji uitava elemente matrice kolonu po kolonu, a tampa
matricu vrstu po vrstu.
Reenje:
129
Primer 29. Napraviti algoritam koji uitava elemente kvadratne matrice (m=n) vrstu po
vrstu, nalazi i tampa najvei element na glavnoj dijagonali.
Reenje:
130
Primer 30. Nacrtati algoritam za program koji uitava n parova brojeva (1 d n d 50) xi i yi
(i = 1, 2,..,n) i izraunava sumu proizvoda S = (xi yi ) i proizvod sume
P = (xi + yi).
Reenje:
Izraunavanje S i P obavlja se u petlji. Broj prolazaka kroz petlju odreen je brojem n lanova
nizova x i y. Broj parova n unosi se na poetku programa. Ukoliko se uneta vrednost ne nalazi
u zadatom opsegu, program generie izvetaj i skae na kraj. Kad se broj n nalazi u zadatom
opsegu, novi parovi brojeva (xi yi) se uitavaju u petlji pre formiranja sume proizvoda (S),
odnosno proizvoda suma (P).
POETAK
NE
50
DA
zadavanje poetnih vrednosti
i = 1, S = 0, P = 1
xi, yi
n je
van
opsega
S = S + xi * yi
Petlja za formiranje
sume S i proizvoda
P od od lanova
nizova x i y
P = P * ( xi + yi )
i=i +1
NE
i >n
DA
S, P
KRAJ
Primer 31. Nacrtati algoritam za program koji od dva niza A i B koji imaju po 1 d n d 15
brojeva formira niz C sa elementima:
Ci = Ai, Ai d Bi 2, i = 1, 2, ...,n i Ci = Bi, Ai ! Bi 2, i = 1, 2,...,n
i daje izvetaj u kome se prikazuju lanovi niza Ai, Bi i Ci.
Reenje:
Na poetku programa unosi se vrednost za n i to predstavlja broj lanova nizova A, B i C.
Ukoliko se uneta vrednost za n ne nalazi u zadatom opsegu, program generie izvetaj i skae
na kraj.Algoritam treba da sadri dve petlje. U prvoj petlji uitavaju se vrednosti nizova A i B,
na osnovu ega se formira niz C, dok se u drugoj petlji omoguava formiranje izvetaja u
kome se prikazuju svi elementi nizova A, B i C.
131
Primer 32. Nacrtati algoritam programa za izraunavanje i prikazivanje funkcije y(x), gde je
x zadata celobrojna ulazna promenljiva:
y ( x)
Reenje:
x t 10
2 x 3
2
4 x 10
x
x 5
xd4
132
POETAK
x t 10
DA
NE
x!4
NE
DA
y ( x)
2x 3
y ( x)
x2
y ( x)
x5
y(x)
KRAJ
Primer 33. Nacrtati algoritam programa koji izraunava i prikazuje vrednosti polinoma f(x):
a 0 a1 x a 2 x 2 ... a n x n 0 d n d 20
x 0 k' x
k 0,1,..., m
f ( x)
x
Reenje:
Za organizovanje programskog ciklusa za izraunavanje polinoma f(x), pogodno je da se
polinom zapie u obliku:
f ( x) a 0 x(a1 x(a 2 ...x(a n 1 xa n )))
Zbog toga algoritam treba da sadri dva koncentrina ciklusa izraunavanja, odnosno dve
petlje. U unutranjoj petlji vri izraunavanje vrednosti polinoma za x = x0, poev od xan.
Unutranji ciklus se izvrava za i =n, n-1,...,0 sa korakom -1. U spoljanjem ciklusu se vri
postavljanje f = 0, izdavanje izraunate vrednosti polinoma i uveanje vrednosti x za naredno
izraunavanje. Spoljanji ciklus se izvrava za k = 0, 1, ..., m sa korakom +1, odnosno onoliko
puta koliko puta treba izraunati vrednost polinoma.
133
Primer 34. Definisati dijagram toka programa koji za zadatu vrednost promenljive x
izraunava vrednost funkcije:
y ( x)
2 x x 2 3x 4
134
Reenje:
Polinom koji se nalazi ispod korena funkcije y(x) moe da se proglasi za funkciju f(x), ija se
vrednost izraunava na poetku programa za unetu vrednost promenljive x, a zatim se ispituje
da li je zadovoljen uslov da je vrednost polinoma vea od 0. Ukoliko je uslov ispunjen
nastavlja se sa izraunavanjem vrednosti funkcije y(x) i izdaje se izvetaj u kome se nalazi
vrednost promenljive x i funkcije y(x).
F ( x1 , y1 )
F ( x2, y 2 )
ako je F ( x, y )
2
2x 2 8 y e2x 8 y
Reenje:
Izraz koji se ponavlja u funkciji F moe da se definie kao posebna funkcija Q(x, y):
Q ( x, y ) 2 x 2 8 y
tako da funkcija F(x, y) moe da se zapie u obliku: F ( x, y ) Q( x, y ) eQ ( x, y ) Vrednost
izraza Z moe da se izrauna u petlji u kojoj se uitavaju vrednosti za parove promenljivih x i
y (xi, yi, i = 1, 2), pri emu se u prvom prolasku kroz petlju izrazu Z dodeljuje vrednost
funkcije F(x1, y1), dok se u drugom prolasku tako dobijena vrednost za Z deli sa vrednou
funkcije F(x2, y2).
135
Q ( xi , y i )
2 xi
8 yi
F(xi , yi ) Q(xi , yi ) e
Q( xi , yi )
Z * F ( xi , y i )
Z
F ( xi , yi )
y
b
A
a
-a
x
C
-b
136
Reenje:
Ako su zadate veliine a i b, tada su poznate koordinate svih temena praovougaonika
prikazanog na slici: A(a, b), B(-a, b), C(-a, -b) i D(a, -b). Taka M(x0, y0) nalazi se unutar
pravougaonika ako je x0 d a i y 0 d b .
137
y ( x)
k 1
sin 3 x
S
sin ( - x ) cos x k 2
4
cos(S x )
k 3
0
k {1, 2, 3}
Reenje:
Algoritam moe da se realizuje kao:
x klasina struktura sa viestrukim odluivanjem i
x kao struktura sa CASE odluivanjem.
U oba sluaja, na poetku se uitavaju vrednosti parametra x i kontrolne promenljive k od ije
vrednosti zavisi nain izraunavanja vrednosti funkcije y(x).
a)
138
b)
Primer 38. Nacrtati dijagram toka za program koji niz brojeva a1, a2, ..., an, 1 d n d 10
ureuje u opadajui niz.
Reenje: Niz brojeva moe da se uredi uporeivanjem svaka dva susedna broja u nizu:
ai t ai+1, i = 1, 2, ..., n
Mogu da nastanu dva sluaja: Brojevi ai i ai+1 zadovoljavaju zahtevanu relaciju, pa takve
lanove niza ne treba premetati. Brojevi ai i ai+1 ne zadovoljavaju zahtevanu relaciju, pa
takvim brojevima treba promeniti mesta u nizu.
p ai
Razmena mesta lanova u nizu moe da se uradi na sledei nain: ai ai 1
a i 1 p
Algoritam treba da se sastoji iz dve koncentrine petlje: U unutranjoj petlji se vri uzajamno
poreenje dva susedna lana niza. U spoljanjoj petlji se odluuje da li je zavreno ureivanje
lanova i u tu svrhu moe da se koristi neka pomona promenljiva K koja predstavlja
indikaciju da li je dolo do promene mesta meu lanovima niza. Pre prolaska kroz niz
postavi se vrednost promenljive K = 0, a zatim ako doe do promene mesta lanova niza
postavi se K = 1. Ako je po izlasku iz unutranjeg ciklusa K = 1, nastavlja se ureenje niza, a
ako je K = 0 niz je ureen i izlazi se iz programa, odnosno prikazuje se ceo ureeni niz.
139
1 d n d 10
a i t ai 1
p ai
ai ai 1
ai 1 p
140
f=e
-4x
cos4x
141
Primer 40. Nacrtati dijagram toka programa koji za zadatu vrednost promenljive N t 1
rauna sumu:
N
k 1
Reenje:
Poto je N poznata vrednost koja se uitava na poetku programa, traena suma moe da se
izrauna jedino ako je N u dozvoljenom opsegu, to se ispituje na poetku programa. Ako je N
van opsega, formira se poruka i izlazi se iz programa. Ako je N u dozvoljenom opsegu,
vrednost sume S rauna se u petlji u kojoj se inkrementira vrednost promenljive k sve dok je
k d N. Po izlasku iz petlje prikazuje se zadata vrednost N i suma S.
N t1
142
Primer 41. Nacrtati dijagram toka programa koji rauna m vrednosti funkcije y(x):
y ( x) x 2 12 sin 3 x
ako se promenljiva x menja poev od vrednosti x0 sa priratajem 'x, a zatim nalazi minimalnu
vrednost funkcije y(x) i vrednost promenljive x.
Reenje:
Dijagram toka sadri dve nezavisne petlje. U prvoj se obavlja izraunavanje vrednosti
funkcije y, i tada se dobija m parova (x1, y1), (x2, y2),...,(xm, ym). U drugoj petlji se odreuje par
(x, y) koji se sastoji od minimalne vrednosti funkcije y i odgovarajuu vrednosti promenljive
x, pri emu se polazi od pretpostavke da je prva izraunata vrednost funkcije y1 dobijena za x
= x1 najmanja vrednost funkcije. Ukoliko se utvrdi da je neka vrednost funkcije yi manja,
onda se ova vrednost uzima kao nova najmanja, kojoj odgovara promenljiva xi. Na kraju
ispitivanja par (x, y) predstavlja traenu najmanju vrednost funkcije y i odgovarajuu vrednost
promenljive x.
x,x,m
xi2 12 sin 3 xi
xi 1
xi 'x
x1
y1
xi
yi
143
Primer 42. Neka su zadata tri niza brojeva, od kojih svaki sadri po 10 brojeva. Nacrtati
dijagram toka za program koji izraunava i prikazuje srednju vrednost svakog
niza.
Reenje:
Dijagram toka treba da sadri dve koncentrine petlje. U unutranjoj petlji se uitava 10
lanova niza i rauna njihov zbir, dok se u spoljanjoj petlji rauna srednja vrednost niza i
prikazuje u izvetaju. Spoljanja petlja se izvrava tri puta, nakon ega se program zavrava.
144
x, H
x0
x1
1
2
x 1
(x 0
x0
x0 x1 H
x0 x1
x1
145
a 2 xi b2 yi
c2
z sin( x 5) cos 2 x
ako se vrednosti promenljive x nalaze u opsegu [x0, xm], pri emu se x menja sa korakom
'x. Program se zavrava kada je izraunato K vrednosti funkcije ili ako je promenljiva x
dostigla svoju maksimalnu vrednost xm.
7. Realizovati dijagram toka programa koji u zavisnosti od vrednosti kontrolne promenljive
C i poznatog poluprenika krunice r odreuje obim kruga O (C = 1 ), povrinu krune
povri PK (C = 2) ili povrinu kvadrata oko koga je opisana data krunica S (C = 3).
Program testira u petlji vrednost kontrolne promenljive C koja se uitava sa tastature i
zavrava se izvetajem o brojnoj vrednosti traene izraunate veliine kada promenljiva
C dobije jednu od definisanih vrednosti.
8. Odrediti vrednosti funkcije Zi (i = 1,...,8):
Z i ( x)
ln( xi ) sin 2 xi
y i 1
yi 1 yi (2 a 2 'x 2 )
12. Napraviti algoritam koji odreuje da li se krug moe prekriti kvadratom ili kvadrat
krugom, ako su date povrine kvadrata i kruga.
13. Napravi algoritam kojim se uitava ceo broj n i realni broj a, a zatim se izraunava an.
Algoritam mora da radi a R i n Z.
14. Naprraviti algoritam koji odreuje maksimum za n unetih brojeva.
15. Napravi algoritam koji uitava cele brojeve a i b i za njih izraunava NZS i NZD.
16. Napravi algoritam kojim se najpre uitava broj n, koji predstavlja broj lanova niza,
odreuje se indeks najveeg i najmanjeg lana niza, a zatim se tampaju ti indeksi i ti
lanovi niza.
17. Napraviti algoritam kojim se uitava broj x i realna greka , a zatim na bazi razvoja u
x3 x5
Maklorenov red funkcije sin x x
... izraunati vrednost sin x sa grekom
3! 5!
manjom od zadatog .
18. Napraviti algoritam kojim se uitava broj x i realna greka , a zatim na bazi razvoja u
x2 x4
Maklorenov red funkcije cos x 1
... izraunati vrednost sin x sa grekom
2! 4!
manjom od zadatog .
19. Napraviti algoritam kojim se uitava prirodan broj n, a zatim se proverava da li je taj
broj prost, i tampa odgovarajua poruka.
20. Napraviti algoritam koji uitava dananji datum u obliku d,m,g (dan, mesec, godina), a
zatim odreuje i tampa sutranji datum.
21. Napraviti algoritam koji odreuje koliko od unetih 10 brojeva je vee od 100.
22. Napraviti algoritam koji uitava elemente kvadratne matrice (m=n) vrstu po vrstu, nalazi
i tampa najmanji element ispod glavne dijagonale.
23. Napraviti algoritam kojim se uitavaju brojevi m i n koji predstavljaju dimenzije matrice
A, a zatim se uitavaju elementi matrice amn i odreuje:
a) Suma elementa na glavnoj dijagonali;
b) Vrednost najveeg elementa iznad glavne dijagonale;
c) Po apsolutnoj vrednosti najvei element u sporednoj dijagonali.
147
LITERATURA
148
SADRAJ
1.
2.
10
3.
26
4.
40
5.
46
6.
60
7.
94
8.
Algoritmi................................................................................................................ 107
Literatura................................................................................................................ 148