P. 1
ViŠa TehniČka Škola Subotica

ViŠa TehniČka Škola Subotica

|Views: 1,210|Likes:
Published by pera1988

More info:

Published by: pera1988 on Mar 11, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/17/2013

pdf

text

original

VIŠA TEHNIČKA ŠKOLA SUBOTICA

PREDAVANJA – ŠK. 2001./2002.god.

Rukovodilac kursa/nastavnik: Mr. Ištvan Boroš email: iboros@vts.su.ac.yu

Ove prezentacije su pripremljene za predavanja iz predmeta

OSNOVI RAČUNARSTVA
i uredjene su u jedan dokument radi elektronske publikacije, u cilju, da se olakša studentima 1. godine VTŠ Subotica lakše praćenje predavanja i pripremanje ispita iz tog predmeta.

OPŠTE NAPOMENE: semestar 1. i 2., školska 2001./2002. godina
• elektrotehnički odsek • mašinski odsek • informatički odsek Nedeljni fond časova: 2 č. predavanja i 2 č. vežbe (auditorne i laboratorijske) po posebnom rasporedu.

UDŽBENIK (U PRIPREMI): 0SNOVI RAČUNARSTVA u elektronskoj formi (CD rom), izdanje VTŠ

Ostale obaveze i režim ispita:

• redovno phadjanje predavanja i vežbi • izvršavanje obaveza na vežbama, • I provera osnovnih znanja u vezi sa računarem, • II pismeni kolokvijum iz teorijskih sadržaja, • III izrada seminarskog rada iz C jezika, • IV praktični ispit iz C jezika.

Sadržaj:

1. OPŠTI OSNOVI 1.1. UVOD 1.2. OSNOVNI POJMOVI INFORMATIKE 1.3. OSNOVNI POJMOVI RAČUNARSTVA 1.4. SREDSTVA RAČUNARSKE TEHNIKE

Sadržaj:

2. HARDVERSKI OSNOVI 2.1. MIKRORAČUNAR 2.2. MIKROPROCESOR 2.3. MREŽE RAČUNARA

Sadržaj:

3. SOFTVERSKI OSNOVI 3.1. UVOD 3.2. OPERATIVNI SISTEMI 3.3. KORISNIČKI SOFTVER 3.4. SISTEMI ZA RAZVIJANJE PROGRAMA 3.5. INTERNET – OSNOVNE FUNKCIJE

Saržaj:

4. MATEMATIČKI I LOGIČKI OSNOVI 4.1. BROJNISISTEMI 4.2. KODOVI I KODNI SISTEMI 4.3. ALGORITMI 4.4. BOOLE-OVE OPERACIJE

Sadržaj:

5. OSNOVI PROGRAMSKOG JEZIKA C 5.1. ELEMENTI PROGRAMSKOG JEZIKA C 5.2. STRUKTURA IZVORNOG C PROGRAMA

LITERATURA:

Sledi nabrajanje korišćene literature. Pojedini naslovi se preporučuju i studentima kao dodatni izvor informacija:

1

Bodnár I., Nagy Z.

PC hálózatok és Internet
PC-START STÚDIÓ Budapest, 2000.

2

Boroš I.

Računske mašine i osnovi programiranja
Građevinski Fakultet, Subotica, 1979.

3

Ćalasan L. Petkovska M.

MATLAB i dodatni moduli
Mikro Knjiga Beograd, 1997.

4

Čuljat K.

Organizacija i funkcionisanje digitalnih kompjutera
Stvarnost Zagreb, 1971.

5

Cullman G., Denis-Papin M., Kaufmann A. Farkas Miklós szerkesztő

A hír tudománya
Gondolat, Budapest, 1978.

6

Matematikai Kislexikon
Műszaki Könyvkiadó, Budapest, 1972.

7

Gluškov. V.M.

Sinteza cifarskih automata
Zavod za izdavanje udžbenika Beograd, 1967.

8

Gluškov. V.M.

Uvod u kibernetiku
Zavod za izdavanje udžbenika Beograd, 1967.

9

Hansen A.

Programiranje na jeziku C
Mikro knjiga Beograd, 1991.

10

Jegeš Z. i ostali

Zbirka zadataka iz programiranja
VTS Subotica, 1988.

11

Kakašić-Milošević-Ćetković-Boroš

Priručnik za praktikum iz pedagoške informatike i računarstva
Pedagoška Akademija, Subotica, 1991.

12

Kakašić-Milošević-Ćetković-Boroš

Matematika sa metodikom
Pedagoška Akademija, S. Mitrovica, 1991.

13

Kekić Zlatko

Kibernetika
Privreda Zagreb, 1962.

14

Kovács Magda és mások

Bevezetés a számítástechnikába
LSI Oktatóközpont, Budapest, 1999.

15

Microsoft

Microsoft Excel Help
Microsof ®Excel2000

16

Microsoft

Microsoft Word Help
Microsof ®Word2000

17

Microsoft

Microsoft Access Help
Microsof ®Access2000

18

Microsoft

Microsoft Outlook Express Help
Microsoft®Outlook Express2000

19

Netscape

NetHelp - Browsing the Web
Netscape 2000

20

Netscape

NetHelp - Using Email
Netscape 2000

21

Netscape

NetHelp - Creating Web Pages
Netscape 2000

22

Müller P. szerkesztő

Számítástechnikai Kislexikon
Műszaki Könyvkiadó, Budapest, 1973.

23

Orlov K., Mihajlović B.

Numerička matematika
Zavod za izdavanje udžbenika Beograd, 1968.

24

Papp László

A könyvviteli információs rendszer elméleti kérdései
Tankönyvkiadó, Budapest, 1979.

25

Parezanović N.

Računske mašine i programiranje
PFV "OECONOMICA" Beograd, 1972.

26

Pejović P., Parezanović N.

Analogni elekronski računari
Univerzitet u Novom Sadu PMF, 1970.

27

Perišić B.

Metodička zbirka zadataka I
Stylos Novi Sad, 1997.

28

Prószéki G.

Számítógépes nyelvészet
Számítástechnika-alkalmazási Vállalat Budapest, 1989.

29

Rozgonyi-Borus Ferenc

RAM-ba zárt világ
Mozaik oktatási Studió Szeged, 1998.

30

The MathWorks, Inc.

Using MATLAB version 5
Natick, MA. 2000

31

Tošić Ž.

Mali leksikon računarstva i informatike
Prilog časopisa Računari

32

Životić Z.

Moja škola C-a
Prilog časopisa Računari

1. OPŠTI OSNOVI
1.1. UVOD
Zadatak nam je u okviru ovog kursa da tačno odredimo mesto računara kao pomoćnog sredstva u životu savremenog čoveka, i da se pripremimo za prijem novih znanja na užem području specijalizacije – svaka struka u okviru svoje specijalnosti. Imajući u vidu, koliko ljudi danas koristi računar za igru, šta

više - neki nauče i neke elementarne korake iz nekog poznatog programskog jezika, još uvek relativno malo njih koristi računar kao obično svakodnevno sredstvo za rad.
U tom cilju je potrebno prvo savladati neke osnovne pojmove sa područja informatike i ačunarstva.

1.2. OSNOVNI POJMOVI INFORMATIKE (1)

Informacija – u naj opštijem smislu reči – jeste smisaoni sadržaj koji nam saopštava bilo koji skup znakova (vesti, poruka, podataka).

Ovaj opis pretpostavlja postojanje nekakvog zajedništva sledećih objekata: IZVORA znakova, vesti, poruka, podataka, PRENOSNOG medija, preko kojeg informacija stiže do cilja, SMETAJUĆIH FAKTORA („ŠUM”) prilikom prenosa, i CILJA, gde informacija stiže, ili bi trebalo da stigne.

1.2. OSNOVNI POJMOVI INFORMATIKE (2)

Za merenje količine informacije I primenjujemo metod Shannon-a, jednog od začetnika teorije informacija:

I = – log2 p = log2(1/p)
gde p označava verovatnoću dogadjaja o čijem dešavanju govori informacja. Prema tome vrednost informacije je obrnuto proporcionalna sa verovatnoćom dodadjaja, odnosno sa očekivanim sadržajem vesti. Verovatnoća je broj izmedju 0 i 1 (0 je verovatnoća nemogućeg dogadjaja, a 1 je verovatnoća sigurnog dogadjaja). Logaritam tih brojeva je negativan broj, zato je po Shannon-ovoj formuli vrednost I je nenegativan broj izmedju 0 i ∞. (Koja informacija ima vrednost 0, koja 1 a koja ima beskonačnu?)

1.2. OSNOVNI POJMOVI INFORMATIKE (3)
PODACI su zadate (zapisane - kodirane) različite stvari numeričkim ili alfanumeričkim znacima. Zadavanje podataka (data) u formalnom obliku omogućava obradu i prenos tih podataka mašinskim putem ili ljudskim snagama.

Čitamo u nekom dnevnom listu:

„Na jugoslovenskoj deonici evropske magistrale E-75 kod »crne tačke« na 75.-tom kilometru prošle godine za 13% je smanjen broj saobraćajnih nesreća sa ljudskim žrtvama"
Ovo saopštenje nosi odredjenu informacijsku vrednost za svakoga. Stanovnicima naselja u blizini te tačke to je to „dobra vest”, a stanovnicima istočne Bačke to je „samo” jedna informacija, medjutim ovako zapisano, štampano ili drugačuje zabeleženo to je: podatak. Prema tome, podaci su informacije, čiji oblik je pogodan za dalju obradu, tumačenje i prenošenje.

1.2. OSNOVNI POJMOVI INFORMATIKE (4)
SISTEM (system) je zajedništvo skupa objekata i njihovih osobina (atributa) sa jedne strane, i okruženja tog skupa sa druge strane, koje je pogodno i služi za rešavanje tačno odredjenih zadataka.
SITEME I VEZE OKRUZENJA

SISTEM

OKRUZENJE

VEZE IZMEDJU ELEMEATA SISTEMA ELEMENTI SISTEMA

OKRUZENJE

1.2. OSNOVNI POJMOVI INFORMATIKE (5)
Nakon prethodnih pojmova sada možemo da opišemo i pojam informacionog sistema i sistema za obradu podataka. Očevidno, reč je o potpuno različitim sistemima, različiti su im elementi, i različite su im veze izmedju elemenata kao i sa okruženjem.

Informacioni sistem (information system) je organizovani skup postupaka, metoda, procesa i sredstava za prikupljanje, čuvanje, obradu, prenos i korišćenje informacija.
Za odredjivanje sistema za obradu podataka u prethodnoj definiciji je potrebno zameniti termin informacije sa terminom podatak. To je suštinska razlika! Podatak nije istovetan sa informacijom,

prikupljanje podataka nije istovetno sa prikupljanjem informacija, itd. Svaki element ova dva pojma ima drugo značenje – mada ima i preklapanja ali razlike su značajne. Na primer: podatak se može uništiti! (da li to možemo učiniti sa informacijom?)

1.2. OSNOVNI POJMOVI INFORMATIKE (6)

PODACI RAZUMLJIVI ZA SISTEM I CIJA INFORMACIJSKA VREDNOST JE POZITIVNA

INFORMACIONI SISTEM

SISTEM ZA OBRADU PODATAKA
NERAZUMLJIVI PODACI ILI PODACI CIJA INFORMACIJSKA VREDNOST JEDNAKA 0.

INFORMACIJE KOJE NEMAJU OBLIK PODATKA (NE ZABELEZENE INFORMACIJE)

1.2. OSNOVNI POJMOVI INFORMATIKE (7)

Dosada smo opisivali osnovne pojmove informatike, ali nismo definisali samu informatiku. To nije slučajno, jer još se i danas vode žestoke rasprave o tačnoj definiciji informatike. Dajemo jedan opis informatike, koji u suštini pokriva sadržaj pojma, ali u slučaju neke stručne diskusije može biti modifikovan. U sledećem poglavlju uporedjujemo pojam informatike i pojam računarstva!

Informatika (informatics) je nauka koja posmatra, proučava i razvija informacione sisteme, istražuje i otkriva njihove strukture i zakonitosti, razvija efikasne metode primene.

KONTROLNA PITANJA
1. Opišite pojam informacije! 2. Odredite pojam podatka! 3. Kako se meri količina informacije? 4. Oredite pojam sistema! 5. Odredite pojam informacionog sistema! 6. Odredite pojam sistema za obradu podataka! 7. Objasnite vezu informacionog sistema i sistema za obradu podataka! 8. Odredite pojam informatike!

1.3. OSNOVNI POJMOVI RAČUNARSTVA (1)
Mnogi brkaju (ili „izjednače”) informatiku sa računarstvom, eventualno nadrede ili podrede jednu disciplinu drugoj. Ne možemo tvrditi, da informatika u sebi sadrži računarstvo! Istina, informatika primenjuje sredstva i metode računarstva, ali je moguće tvrditi i to, da ne postoji informatika bez (sredstava) računarstva. postavlja se pitanje: da li postoji računarstvo bez informatike? Odgovor na ovo pitanje nije moguće dati bez detaljnog ispitivanja pojma računarstva. To će nam omogućiti, da jasno uočimo razlike izmedju te dve naučne discipline.

1.3. OSNOVNI POJMOVI RAČUNARSTVA (2)
Računarstvo (computer science) je nauka, koja izučava principe funkcionisanja računara, njihovu organizaciju i strukturu, kao i metode primene.

Zaista, računarstvo primenjuje i razvija sredstva koja pripadaju skupu sredstava informatike, pa je stoga računarstvo jeste deo informatike. Odgovor na prethodno postavljeno pitanje je: nema računarstva bez informatike! Čemu bi služio jedan kompjuter koji “sve zna”, ako nema podataka za input, ili ako sam kompjuter proizvodi podatke za autput bez inputa, pri čemu ti podaci nisu potrebni nikome?

1.3. OSNOVNI POJMOVI RAČUNARSTVA (3) Istorijski pregled: ...izmedju ostalog: 1642. B. Pascal mehanički adijator (drveni!). oko 1850. Ch. Babbage ... oko 1890. H. Hollerith ... 1946. ENIAC (Electronic Numerical Integrator and Computer) BINAC (naslednik ENIAC-a) u velikoj meri već realizuje
Neumann-ove principe. Sve kasnije mašine se isključivo baziraju na Neumann-ovim principima. Upoznajmo Neumann-ove principe!

1.3. OSNOVNI POJMOVI RAČUNARSTVA (4) Neumann-ovi principi projektovanja, izgradnje i funkcionisanja modernih računskih mašina: princip unutrašnjeg programa, princip mogućnosti adresiranja, samostalna ulazno/izlazna jedinica, upravljačka jedinica i jedinica za izvršavanje operacija, elektronska mašina čije funkcionisanje se bazira na binarnom brojnom sistemu, princip serijskog izvršavanja naredbi.

1.4. SREDSTVA RAČUNARSTVA 1.4.1. OBJEKTI I NJIHOV MATEMATIČKI MODEL
Pod matematički odelom objekta podrazumeva se skup relacija i formula koji opisuju osobine i ponašanje objekta. Jedan od naučnih metoda zamenjuje istraživanje objekta sa istraživanjem njegovog matematičkog modela. Zamena je često opravdana materijalnim razlozima: izučavanje realnog procesa je veoma skupo, medjutim sam proces se može opisati sa jednim (istina, složenim) sistemom jednačina. Variranjem parametara sistema jednačina moguće je “oponašati” različite varijante odvijanja procesa – to nazivamo “simulacijom”.

1.4. SREDSTVA RAČUNARSTVA 1.4.2. KLASIFIKACIJA SREDSTAVA RAČUNARSTVA Sa aspekta manipulacije sa matematičkim veličinama i čuvanja nihovih vrednosti, sredstva računarstva se dele u sledeće dve grupe: analogna ili kontinualna računska sredstva, i diskretna ili digitalna računska sredstva.

1.4.2.1. KONTINUALNA RAČUNSKA SREDSTVA Osnovna ideja kontinualnih računskih sredstava je konstruisanje takvog fizičkog modela koji ima istovetan matematički model, kao i ispitivani objekat. Jasno je, da retko možemo konstruisati fizički model sa potpuno istim matematičkim modelom kao i ispitivani objekat, tako u ispitivanjima se uvek javljaju i izvesne “približnosti”, tojest rezultati ispitivanja uvek imaju ograničenu tačnost. Osmotrimo sledeći primer:

1.4.2.1. KONTINUALNA RAČUNSKA SREDSTVA
Neka je dat matematički model:

y =

3

x

Konstuišimo kupu kod koje važi sledeći odos izmedju poluprečnika i visine:

r 3 = = 0.97720502380583984317276924567665 H π
r

Vk:V=y3:H3.
H

Videti još naprimer: logaritmar, nomograme, itd

x=V

y

1.4.2.2. DISKRETNA RAČUNSKA SREDSTVA Kod kontinualnih sredstava je bilo potrebno vreme za uspostavljanje relacija izmedju fizičkih veličina koje su opisane matematičkim modelom, ali nije bilo potrebno vreme za računanje. Kod diskretnih računskih sredstava potrebno je vreme za izvršavanje računskih operacija. U tom zahtevanom vremenu dešavaju se takve diskretne promene stanja računskog sredstva, koje rezultuju pretvaranje ulaznih veličina u izlazne veličine.

Abakus
5 A 6 3 8 0 9 2 1 4

B

1.4.2.3. SAVREMENA RAČUNSKA SREDSTVA U pogledu tehničke realizacije i u pogledu primene savremena računska sredstva svrstavamo u sledeće četiri klase: klasa analognih računskih sredstava, klasa digitalnih računskih sredstava, klasa hibridnih račuskih sredstava, i klasa priručnih računskih sredstava.

KONTROLNA PITANJA
9. Odredite pojam računarstva! 10. Objasnite vezu informatike i računarstva! 11. Navedite Neumann-ove principe! 12. Šta znači princip unutrašnjeg programiranja? 13. Šta nači mogućnost adresiranja? 14. Šta znači postojanje samostalnog ulano/izlazne, upravljačke i operativne-izvršne jedinice? 15. Šta znači funkcionisanje uz oslonac na elektroniku i na binarni brojni sistem? 16. Šta znači princip serijskog izvršavanja naredbi? 17. Koja je veza izmedju objekta i njegovog matematičkog modela?

KONTROLNA PITANJA
18. Izvršite klasifikaciju računskih sredstava po principu funkcionisanja! 19. Navedite karakteristike analognih računskih sredstava! 20. Prikažite karakteristike jednog analognog računskog sredstva! 21. Navedite karakteristike diskretnih računskih sredstava! 22. Prikažite abakus, kao karakterističnog predstavnika diskretnih sredstava! 23. Izvršite klasifikaciju modernih računskih sredstava! 24. Navedite karakteristike “hibridnih” računskih sredstava! 25. Koje su karakteristike priručnih računskih sredstava?

2. HARDVERSKI OSNOVI
U tehnici obrade podataka razlikujemo dve vrste proizvoda: sa jedne strane su opipljive, vidljive materijalne komponente, takozvani hardver (hardware), što doslovce znači “tvrdu robu”, ili “materijalni proizvod”, dok sa druge strane je softver (software), što znači “meku robu” ili “intelektualni proizvod”. O softveru će biti reči u poglavlju 3. a sada malo detajnije o hardveru.

Hardver je skup svih tehničkih (fizičkih) komponenti jednog uredjaja za obradu podataka (računara).

Klasifikaciju računara možemo izvršiti po različitim osnovama:
? ? ? ? ? po osnovu brzine njihovog funkcionisanja, po osnovu kapaciteta komponenti za skladištenje podataka, po osnovu dužine reči koje upotrebljavaju, po broju priključenih periferijskih jedinica, i po brzini renosa podataka.

NA PRIMER:
super računari (CRAY-ov računar. . . ) mainframe računari (osiguranje, aerodromi, itd.) mali računari (na primer za upravljanje lokalnim mrežama), mikroračunari. Nećemo proučavati računare proizvedene za specijalizovane zadatke (kao što su džepni kalkulatori, automati za prevodjenje, specijalni upravljački uredjaji, menadžer-kalkulatori, tekst automati, itd.) Pažnju usmeravamo na slobodno programabilne personalne (lične) računare.

2.1. MIKRORAČUNAR(1)
Osnovni funkcionalni delovi mikroračunara: n n n n Ulazna jedinica (INPUT) Memorija (glavna, operativna) Mikroprocesor Izlazna jedinica (OUTPUT)

– za unos podataka i programa,

– za skladištenje podataka i naredbi koje treba izvršiti,

– za izvršavanje operacija nad podacima dobijenih iz memorije,

– za vraćanje dobijenih rezultata korisniku računara.

2.1. MIKRORAČUNAR(2)

MEMORIJSKA MAGISTRALA ULAZNA IZLAZNA

INPUT
MIKRO PROCESOR
ADRESNA MAGISTRALA

OUTPUT

MEMORIJA

OUTPUT

INPUT

I/O BUS ili SISTEMSKA MAGISTRALA

2.1. MIKRORAČUNAR(3) Memorija:
ADRESE
00000000

(operativna memorija – Operating Memory: OM, ili Main Memory: MM)
PREGRADE

0 1 1

1 1 0

0 0 0

0 1 0

1 0 1

0 1 1

1 0 1

1 0 0

00000001

00000010

11111110

0 1

1 0

0 0

1 0

0 0

1 0

1 0

0 0

11111111

MEMORIJSKI MODUL

2.1. MIKRORAČUNAR(4)
Neka je adresa memorije 16- bitna, i neka prvih 6 bitova predstavljaju adresu memorijskog modula. To znači adresa modula prostire se od 000000 do 111111. (Ukupan broj modula je prema tome 26 = 64). Pošto adresa pregrade ima 10 bitova, znači unutar svakog modula postiji 210 = 1024 pregrada.
ADRESA MODULA

ADRESA PREGRADE

1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1
Ukupan broj adresibilnih pregrada je 216 = 65536. (Kažemo, da imamo posla sa memorijom kapaciteta 64K ).

2.1. MIKRORAČUNAR(5)
U okvirima ovog kursa ne govorimo tehničkoj realizaciji memorije, ali je potrebno da razlikujemo dva osnovna tipa: ROM (Read Only Memory) RAM (Random Access Memory)
Rad računara reguliše takt “kucanja” jednog unutrašnjeg časovnika. Signali koji se neprestano emituju sa strane tog časovnika diktiraju tempo aktiviranja programskih koraka koji stoje u redu čekanja (i programski korak ima adresu) potom programski korak sa date adrese poziva podatke nad kojima izvrši operaciju, potom se dobijeni rezultat vraća u memoriju na odredjenu adresu. Ovaj niz koraka nazivamo mašinski ciklus. Očevidni, za obavljanje jednog mašinskog ciklusa je porebno više otkucaja (takta) unutračnjeg časovnika. Razvojem tehnologije proizvodnje računara sa jedne strane povećava se frekvencija takta unutračnjeg časovnika (200 MHz, ili 400MHz odnosno 800Mhz, - danas već ti časovnici kcaju na frekvenciji iznad 1GHz!), a sa druge strane se smanjuje potreban broj taktova za izvršenje jednog mašinskog ciklusa.

2.1. MIKRORAČUNAR(6)
Sa tehničkim detaljima periferijskih uredjaja u okviru Osnova računarstva se ne bavimo,, ali radi celovitosti čemo navesti najčešće upotrebljavane periferije u opsluživanju mikroračunara
ULAZNE PERIFERIJE: tastatura (A), miš (B), skener (C), svetlosna olovka (D), mikrofon, itd... IZLAZNE PERIFERIJE: ekran (display) (1), štampač (printer) (2), pisač (plotter) (3), akustični uredjaji (4). itd... I/O PERIFERIJE (PERIFERIJE MEŠOVITE NAMENE) magnetski diskovi (5-E) čvrsti disk – winchester, flopidisk magnetska traka (strimer) (6-G), optički diskovi(F) (CD ROM i rw, DVD ROM i rw) itd...

Oznake se odnose na skicu konfiguracije koja je predstavljena na sledećoj slici.

4 2

1 5 E

3

F

6

G

C

A
D

B

KONTROLNA PITANJA

1. 2. 3. 4. 5. 6. 7. 8. 9.

Šta podrazumevamo pod hardverom računara? Izvršite klasifikaciju računara po osnovu hardverske nadgradnje! Koje funkcionalne delove poseduje mikroračunar? Koja je namena I/O jedinice montirane na osnovnu ploču računara? Koja je namena mikroprocesora? Šta služi strujanju podataka izmedju funkcionalnih delova mikroračunara? Kako se vrši adresiranje registara memorije računara? Navedite glavne ulazne periferijske jedinice računara i njihovu funkciju! Navedite glavne izlazne periferijske jedinice računara i njihovu funkciju!

10. Navedite periferijske jedinice računara mešovite namene!

2.2. MIKROPROCESOR
Mikroprocesor je centralna operativna jedinica mikroračunara. Na osnovu naziva na engleskom jeziku (Central Processing Unit) opšte prihvaćena je skraćenica za mikroprocesor: CPU.

Mikroprocesor – CPU – posmatramo kao sklop sledećih delova: •Upravljačka jedinica – Control Unit – CU •Aritmetičko-logička jedinica – Arithmetic and Logic Unit – ALU •Registri

2.2. MIKROPROCESOR (2)

ulazna magistrala podataka

akumulator

izlaz

registri

ALU

CPU

upravljacka jedinica

CU

2.2. MIKROPROCESOR (3)
Upravljačka jedinica (CU) kontroliše sve procese koji se odvijaju unutar mikroprocesora. Kontrola se sastoji od praćenja predvidjenog redosleda i trajanja operacija i pravilnog dotoka podataka. Brojač naredbi uvek sadrži onu adresu memorije, koja sadrži upravo naredbu koja će se izvršiti u sledećem taktu. Tumačenjem operacijskog dela mašinske naredbe CU “saznaje”, šta treba učiniti, a u adresnom delu naredbe stoje adrese podataka sa kojima je to potrebno učiniti. Na osnovu toga CU “poziva” sa datih adresa potrebne podate u odgovarajuće registre, i “naredjuje” ALU-u izvršenje operacija. Rezultat smešta na odgovarajuću adresu i “korakne” u brojaču naredbi na sledeću adresu, itd...(Detaljnije u poglavlju 3.4.1.)

2.2. MIKROPROCESOR (4)
Aritmetičko-logička jedinica (ALU) samo “radi”. Ona nema o čemu da “misli”, sve izvršava po nalogu CU. Suština je u toma, da je i vrsta poslova, koje ALU izvršava takodje je veoma odgraničena, ali te akcije izvršava “strahovito” brzo. Navodimo operacije, koje ALU ume da izvrši: binarno sabiranje, a logičke operacije, komplementiranje, šiftovanje (pomeranje niza bitova desno/levo). U poglavlju o brojevnim sistemima saznaćemo kako je moguće bilo koju aritmetičku operaciju rastaviti na kompoziciju nabrojanih operacija. Za svaku od tih operacija ALU ima posebnu jedinicu. Tako u ALU-u radi sabirač, deo za izvršavanje logičih operacija, komplementer i kaunter.

2.2. MIKROPROCESOR (5)
Registri su memorijske jedinice sa posebno brzim funkcionisanjem. Na osnovu uputstva CU podaci iz operativne memorije dospevaju u registre. Očevidno, kapacitet jednog registra nije istovetan kao kapacitet jedne pregrade (bajt), već odgovara dužini reči koje upotrebljava konkretni računar. Podatak koji je dospeo u registar će se promeniti upravo u tom registru, ili pomoću tog podatka će ALU promeniti podatak koji se već nalazi u nekom drugom registru. Iz toga proizilazi, da postoje registri različite namene. Navedimo najvažnije namene: Akumulator (Accumulator – A ili ACC) Brojač naredbi ili programskih koraka (Program Counter – PC) Registar memorijskih adresa (Memory Adress Register – MAR) Registar podataka (Memory Data Register – MDR)

KONTROLNA PITANJA

11. Koje su komponente mikroprocesora? 12. Koju funkciju ima upravljačka jedinica mikroprocesora? 13. Koju funkciju ima aritmetičko-logička jedinica mikroprocesora? 14. Koju namenu imaju registri mikroprocesora? 15. Navedite vrste računarskih mreža po njihovoj veličini!

2.3. MREŽE RAČUNARA
Ako je računar revolucionarno promenio civilizacijski razvoj i pretvorio današnje doba u informatičko doba, tada pojava mreža računara pretvorila informacijsko društvo u svet računarskih mreža. Čemu služi mreža računara? Očevidno mreža računara ne bi trebala da bude prosto mnoštvo računara povezanih provodnicima! Ako na dve mašine imamo isti softver i imamo iste periferije, tada možemo rešti iste zadatke na svakoj mašini, bez pomoći drugih. Osnovni zadatak umrežavanja je upravo zajedničko iskorišćavanje raspoloživih resursa, ali i prži protok informacija i zajednička upotreba jedne baze podataka. Povezivanje već dve mašine i rešenje komunikacijskih problema je pokazala takve nevidjene mogućnosti, koje su počele enomrmno da povećavaju apetit za povezivanjem još više i više računara, pa mreže rastu... rastu...

2.3. MREŽE RAČUNARA (2)
U pogledu rasprostranjenosti sledeći tipovi mreža računara: danas egzistiraju

♦ Lokalna mreža – LAN – Local Area Network. Ove mreže su unutar jedne organizacije (eventualno povezuju i baze udaljene do 10 km), ♦ Gradska mreža – MAN – Metropolitan Area Network. Obuhvataju čitav grad do kruga prečnika od 10 do 100 km. (Ovu varijantu mreže izgleda polako potiskuju još prostranije mreže.) ♦ Mreže velike prostranosti – WAN – Wide Area Network, to su mreže na prostoru kruga prečnika većeg od 100 km. ♦ INTERNET – svetska mreža, varijanta WAN-a.

2.3. MREŽE RAČUNARA (3)
Već smo napomenuli, da nije dovoljno za mrežu, da imamo gomilu računara i da ih povežemo sa komunikacijskim kanalima. Od izuzetne je važnosti zajednički jezik: elementi mreže treba da razumeju jedni druge. Mrežni protokol je regulisan medjunarodnim standardima. Standard ISO-OSI (International Standard Organization – Open System Interconnection) omogućava, da SLOJEVITO IZGRADJEN MREŽNI SISTEM funkcioniše tako, da svaki sloj može da komunicira na način, koji odgovara dodeljenom zadatku. Hardver i softver proizveden sa strane različitih proizvodjača pomoću tog protokola komunicira sa odgovarajućim slojem (skoro bez smetnji). Ti slojevi su sledeći:

2.3. MREŽE RAČUNARA (4)
– sloj primene (Application layer)
sa zadatkom prosledjivanja datoteka izmedju sistema,

– sloj prikazivanja (Presentation layer )
sa zadatkom premošćavanja razlika izmedju kodnih sistema,

– sloj odnosa (Session layer )
sa zadatkom izgradnje i sinkronizacije veza izmedju mašina,

– sloj prenosa (Transport layer ) sa zadatkom pripreme paketa za
slanje i prijema paketa koji stižu,

– sloj mreže (Network layer ) sa zadatkom izbora putanja, – sloj povezivanja podataka (Datalink control layer )
sa zadatkom realizovanja prenosa podataka bez grešaka,

– fizički sloj (Physical layer ) sa zadatkom besprekornog odašiljanja
i prijema na nivou bitova.

2.3. MREŽE RAČUNARA (5)
Nazovimo računare povezane u mrežu opšte prihvaćenim engleskim terminom: host. Hostovi se povezuju na sledeća dva načina: point-to-point povezivanje, i povezivanje sa ravnomernom distribucijom poruka. U sistemu point-to-point hostovi su u neposrednoj vezi sa svim ostalim hostovima mreže. U sistemu povezanom sa ravnomernom distribucijom poruka postoji centralni kabel na koji se povezuje svaki host. Informacije koje protiču kroz glavni kabel “čuju” svi hostovi, i iz njih separiraju informacije koje su im potrebne, a ostale informacije prosto ignorišu.

2.3. MREŽE RAČUNARA (6)
Topologije mreža sa point-to-point povezivanjem

zvezda

prsten

potpuna

nepravilna

drvo

2.3. MREŽE RAČUNARA (7)
Topologije sa ravnomernom distribucijom

hub/swich

serijski (redni)

prsten

zvezda

2.3. MREŽE RAČUNARA (8)
O softveru ćemo govoriti u sledećem poglavlju, ali o mrežnom softveru neće biti reči, zato smatramo potrebnim ovde da navedemo klasifikaciju mreža po softveru koji ih pokreće: U ravnopravnoj mreži (peer-to-peer mreža) sve su mašine istog ranga. Svako podešavanje se može izvršiti sa svake mašine: kakav pristup imaju ostali mojim datotekama, ali moguće je i potpuno samostalno funkcionisanje mašine, „kao da je ona sama”. U mreži sa serverom (mreža sa dedikovanim serverom) postoji najmanje jedna mašina koja ima isključivi zadatak opsluživanja ostalih mašina. Ovi opsluživači su serveri. Za rukovanje serverom ima ovlaštenje samo supervisor. Ostali korisnici (user-i) upotrebljavaju resurse mreže na tačno odredjen i dozvoljen način. (Ovakav mrežni sistem je naprimer Novell NetWare). U mreži klient-server (client-server) obrada podataka se može smatrati višeslojnom U tim sistemima korisnici (user-i) ne dobijaju podatke od servera koji su im potrebni za odredjivanje rezultata, već dobijaju gotove rezultate. Danas smatramo ovu tehniku najsavremenijom. Operatini sistemi MS Windows NT i Windows2000 realizuju upravo takve mreže.

KONTROLNA PITANJA

16. Navedite preporuke ISO standarda za slojevitu nadgradnju mreža! 17. Koje topologije point-to-pont mreža upotrebljavamo? 18. Koje topologije mreža sa ravnomernom distribucijom upotrebljavamo? 19. Navedite razlike izmedju peer-to-peer mreže i mreže sa dedikovanim serverom. 20. Nabrojite karakteristike klijent-server mreža!

3. SOFTVERSKI OSNOVI
3.1. UVOD
Softver je skup programa za eksploataciju hardverskih komponenti računara. Osnovna podela softvera je podela u sledeće tri kategorije: Operativni sistemi, Korisnički programi, Sistemi za razvoj programa.

U vezi operativnih sistema više iz “istorijskih” razloga razmatramo DOS, a zbog trenutne velike popularnosti govorimo o Windows-u. (O Windows NT-u, o Linux-u, o OS/2 itd.. ne govorimo) Korisnički softver se dalje razvrstava u više kategorija: Kancelarijski softverski paket (na primer MS Office), Poslovni sistemi, Sistemi za projektovanje (naprimer CAD, Matlab) , Softveri za pokretanje računarskih mreža, Pomoćni programi. Sistemi za razvoj programa (programski jezici: Pascal, C, Java Bilder, Visual Basic itd). Od tih sistema jedan mora biti savladan na elementarnom stepenu. Trenutno u sastavu predmeta Osnovi računarstva je programski jezik C.

3.2. OPERATIVNI SISTEMI
3.2.1. POJAM OPERATIVNOG SISTEMA
Operativni sistem je takva grupa programa, koja upravlja funkcionisanjem računara: kontroliše izvršavanje korisničkih programa, odredjuje redosled tog izvršavanja, komunicira sa korisnikom (pruža i traži informacije u vezi funkcionisanja periferijskih uredjaja računara), pruža informacije o greškama u programima i o kvarovima na komponentama, itd.

3.2.2. O OPERATIVNOM SISTEMU DOS
1981. godine zajedno sa IBM PC računarem se pojavio operativni sistem DOS (Disk Operating System). Ovaj operativni sistem je bio i ostao tipično jednokorisnički i jednoprogramski (single user , single tasking). Računar koji radi u DOS okruženju na ekranu ima karakteristični prompt (na primer a C:\> ) posle kojeg na mestu trepćućeg kursora čeka da ukucamo naredbu u tekstualnoj formi. Nakon ukucane naredbe pritisnemo taster Enter. Na taj način smo „saopštili” računaru naš zahtev. Nakon pritiska na Enter interpreter operativnog sistema „pokuša” razumeti naredbu, i u slučaju nerarumevanja daje „dosadnu” poruku Bad command or file name. Neophodno je upoznati glavne DOS naredbe, jer time upoznajemo funkcionisanje mašine! Nije nam zadatak navodjenje i tumačenje svih naredbi DOS-a po nekom logičkom redosledu, ali smatram potrebnim navodjenje izvesnih komandi DOS-a sa odgovarajućim komentarom.

3.2.2. O OPERATIVNOM SISTEMU DOS (2)
Fajl (datoteka, file) je skup podataka uskladištenih na spoljnim memorjskim medijima pod jednim imenom. Fajlovi koji se svrstavaju u jednu grupu čine jedan katalog (biblioteka, directory). Drajv (volume, drive) je logička celina snabdevena nekim imenom pomoću kojeg DOS operiše sa medijima za čuvanje podataka. Tipičan naziv fajla (zajedno sa putanjem – path):

D:\PERA\PODACI\CX.DAT

3.2.2. O OPERATIVNOM SISTEMU DOS (3)

Operacija sa drajvom formatiranje opoziv formatiranja labeliranje provera ispravnosti kopiranje sadržaja format unformat label chkdsk diskcopy

3.2.2. O OPERATIVNOM SISTEMU DOS(4) Operacije sa bibliotekama nova biblioteka brisanje promena struktura (stablo) sadržaj md naziv rd naziv cd naziv tree dir

3.2.2. O OPERATIVNOM SISTEMU DOS (5)
Operacije sa fajlovima naziv edit naziv dir naziv /s del naziv undelete copy poreklo/naziv odredište move poreklo/naziv odredište type naziv print nziv ren naziv attrib naziv svojstvo

pokretanje tekstualna datoteka traženje brisanje restauriranje kopiranje pomeranje ispisivanje sadržaja štampanje preimenovanje podešavaje

3.2.2. O OPERATIVNOM SISTEMU DOS (6)
Pored naredbi i komandi obuhvaćenih tabelama (izmedju ostalih) upoznajmo i upotrebu sledećih komandi i fajlova: cls, time, date, ver, help, vol, ... autoexec.bat és config.sys

U ovom pregledu operativnog sistema DOS ni blizu nismo dotakli sve njeove mogućnosti: primera radi podešavanja uopšte nismo detaljisali. Ipak, i pored tog „bogatstva” ovaj sistem je „siromašan” i nikako ne zadovoljava zahteve današnjice. Preporučujem slušaocima da se upoznaju sa „radjanjem” i razvojem DOS-a (počev od trenutka, kada je William /Bill/ Gates kupio operativni sistem CPM koji je razvijen 1976. godine, a on ga jedalje razvio tako, da 1981. godine IBM je mogao da se pojavi na tržištu sa PC računarem, koji je već bio snabdeven Gejtsovim DOS sistemom. Dalji razvoj tog sistema je ideničan razvoju Gejstove firme Microsoft).

3.2.3. O OPERATIVNOM SISTEMU WINDOWS
Operativni sistem MS Windows je razvijen na bazi MS DOS sistema. Medjutim, suviše bi pojednostavili njegov značaj, ako bi smo samo tvrdili da sve šo ume i radi DOS u tekstualnom okruženju radi i Windows u grafičkom okruženju. Istina, i Windows izvršava osnone funkcije operativnih sistema, ali broj i kvalitet dodatnih pomoćnih programa, njihove mogućnosti, komoditet i ergonomičnost upotrebe, estetski izgled, i još mnoga svostva visoko ga izdižu iznad „malog” DOS -a. Istina je i to, da postoje i drugi operativni sistemi sa sličnim dobrim svojstvima, ali zbog širine uotrebe (po nekim procenama 80-90% ličnih računara sveta pokreće neka varijanta Windows operativnog sistema) valja upoznati ovaj sistem malo detaljnije.

MATHEMATICA MSDOS PROMPT WORDPAD TURBO C NOTEPAD CALCULATOR EXPLORER EDIT PAINT CONTOL PANEL SMARTDRAW

KONTROLNA PITANJA
1. 2. 3. 4. 5. 6. 7. 8. 9. Šta podrezumevamo pod pojmom softvera? Kakve tipove programa imamo na personalnim računarima? Izvršite klasifikaciju korisnikog softvera! Koji su osnovni zadaci operativnog sistema? Koje su karakteristike operativnog sistema DOS? Šta podrazumeva operativni sistem DOS pod pojmom fajla? Šta je katalog (direktorijum) pod operativnim sistemom DOS? Šta podrazumevamo u okviru DOS-a pod pojmom volume? Koje su najvažnije operacije sa diskovima pod DOS-om?

KONTROLNA PITANJA
10. Koje su najvažnije operacije sa bibliotekama (katalozima)? 11. Koje su glavne operacije sa fajlovima? 12. Koje su razlike izmedju operativnog sistema DOS i WINDOWS? 13. Navedite glavne elemente WINDOWS ekrana! 14. Kako se vrše operacije sa diskovima pod WINDOWS-om? 15. Kako se vrše operacje sa folderima (katalozima) pod WINDOWS-om? 16. Kako se vše operacije sa fajlovima pod WINDOWS-om? 17. Koja je razlika u posledicama klika na ikonu levim odnosno desnim tasterom miša? 18. Koji su glavni pomoćni programi WINDOWS-a?

3.3. KORISNIČKI SOFTVER
Korisnički softver svrstavamo u više kategorija. Student u toku svojih inženjerskih studija će se upoznati sa više specijalizovanih softvera, ali na ovaj kurs kao osnovno i nezaobilazno znanje zahteva elementarno poznavanje po jednog programa za uredjivanje teksta, za tabelarne proračune i za rukovanje bazompodataka. Od prograa za crtanje inženjerskih crteža će student takodje upoznati specijalizovanje programe za svoju struku. Proizvodjač operativnog sistema Windows raspolaže sa programskim paketom koji se popularno naziva paketom “za kancelarije”: MS Office. Takve softverske pakete imaju i drugi proizvodjači, ali iz praktičnih razloga razmatramo komponente ovog softverskog paketa. Upoznaćemo se sa editorom teksta WINWORD, sa programom za tabelarna izračunaanja EXCEL i sa programom za rukovanje bazama podataka MSACCESS.

3.3.1. O ZAJEDNIČKOM ALATU KOMPONENATA MS OFFICE

Svaka komponenta MS Office raspolaže sa istovetnim skupom osnovnog alata. Alati su dostupni preko opcija glavnog menija (struktura menija u osnovi je ista kao i kod operativnog sistema Windows). Posebne mogućnosti pojedinih specijalizovanih aplikacija (način njihovog poziva i primene) student treba da upozna na vežbama. U sledećem ćemo navesti elemente, koji su zajednički u svim MS komponentama :

New Blank Document Open Save Print Print Preview

Spelling and Grammar Cut Copy Paste Format Painter

Undo, Redo Help Align left, Center, Align Right, Justify Bold, Italic, Underline

3.3.1.1. WINWORD
Većina korisnika lične računare upotrebljava za zapisivanje, uredjivanje i štampanje običnih tekstova. Za rešavanje tog zadatka korisniku stoji na raspolaganje više programa takozvanih tekst editora ili uredjivača teksta :

WINWORD je tekst editor opšte namene: pogodan je za konstruisanje i za uredjivanje svih tekstova počev od jednostavnih pisma pa sve do najkomplikovanije naučno-tehničke dokumentacije. Evo nekoliko pomoćnih programa WORD-a:
WordArt , Microsoft Equation , Microsoft Graph Chart, Microsoft Word Picture, ...

3.3.1.2. EXCEL
Tabela je osnovni način prikupljanja i čuvanja podataka. U tabeli se nalaze grupe podataka snabdevenih posebnim nazivom svrstane u verikalne kolone i u horizontalne vrste.
Osnovni zadaci prograa za tabelarne proračune su: formiranje tabela (popunjavanje tabela podacima i njihovo formatiranje), modifikacija podataka prikupljenih u tabeli, postizanje brzih rezultata na bazi podataka iz tabele i njihovo prikazivanje.

Prvi program za tabelarne proračune bio je Lotus 123. Kasnije su se pojavili Quattro i QuatroPro. Danas se najšire upotrebljava program EXCEL

3.3.1.3. MSACESS
MSACCESS je program za rukovanje bazama podataka. U vezi EXCEL-a smo već napomenuli, da svaka komponenta MS Office paketa ima tačno definisane zadatke. Šta se podrazumeva pod bazom podataka? Ako odgovorimo na ov pitanje, tada smo u potpunosti rasčistili namenu programa MSACCESS. Baza podataka je skup prikupljenih i organizovano skladištenih podataka, zajedno sa pomoćnim informacijama koje osiguraju efikasni pristup i zaštitu jedinstva i neprikosnovenosti tim podacima.
OBJEKTI MSACESS-a: Tables (tabele) služe za stvarno skladištenje podatatka, Queries (upiti) služe za izdvajanje traženih podataka iz tabela, Forms (formulari) obezbedjuju lakši i lepši prikaz rezultatima, Reports (izveštaji) su štampani dokumenti o rezultatima, Pages (listovi) su izveštakji baze podataka na WEB-listovima, Macros (makroi) , Modules (moduli) .

KONTROLNA PITANJA
19. Koji programi su nam najvažniji iz kategorije korisničkog softvera za kancelarije? 20. Koje su zajedničke karakteristike članova softverskog paketa MS Office? 21. Čemu služi i koje su osnovne karakteristike programa za uredjivanje teksta? 22. Koji pomoćni programi pomažu efikasnu upotrebu programa WINWORD? 23. Čemu služi i koje su osnovne karakteristike programa za tabelarna izračunavanja? 24. Koje su osnovne karakteristike programa EXCEL? 25. Koje su sličnosti izmedju ćelije EXCEL tabele i radne površine MSWORD? 26. Čemu služi i koje su osnovne karakteristike programa za baze podataka? 27. Koji objekti su u sastavu baze podataka MSACCESS? 28. Koja pomoćna sredstva koristimo prilikom upotrebe MSACCESS-a?

3.3.2. O MATLAB-u
U visokoškolskoj nastavi širom sveta najčešće primenjivan matematički progamski paket je MATLAB. Ova široka primena nije slučajnost, jer je program primenljiv u rešavanju izuzeno velikog broja različitih tipova matematičkih problema. Grafičko okruženje u kojem radi je veoma prijatno i zadovoljava najviše tehničke zahteve. Posebno naglašavamo takozano interaktivno svojstvo programa: program izvršava sve zahteve korisnika neposredno nakon ukucanja komandne linije i čeka sledeću naredbu. Paralelno sa tim svojstvom MATLAB raspolaže sa posebnim sopstvenim programskim jezikom. Na tom jeziku moguće je napisati zasebne programe, koji će se izvršavati u zahtevanom trenutku sa novim aktuelnim vrednostima promenljivih.

3.3.2. O MATLAB-u (2)
Proizvodjač programa, firma The Math Works Inc. na svakom uputsvu programu definiše ga na sledeći način: MATLAB® The Language of Technical Computing Computation – Visualisation – Programming MATLAB® Jezik tehničkih kalkulacija Računanje – Vizuelizacija – Programiranje U okviru kursa Osnovi računarstva potrebno je upoznati elementarnu upotrebu MATLAB-a. Mnoštvo „dodatnih” modula upoznaćemo u okviru stručnih predmeta, svaki sa svojim specijalizovanim „toolbox”-om. Posebno snažan argument na strani uvodjenja MATLAB-a u visokoškolsku nastavu je grafički modul SIMULINK pomoću kojeg se veoma uspešno simuliraju procesi u dinamičkim sistemima. Evo jednog, svakako nepotpunog spiska „toolbox”-ova MATLAB-a:

Control System Toolbox Signal Processing Toolbox System Identification Toolbox Optimization Toolbox Neural Network Toolbox Robust-Control Toolbox Statistics Toolbox Symbolic Math Toolbox Fuzzy Logic Toolbox Wavelet Toolbox, Partial Differential Equation Toolbox, .....

3.3.2. O MATLAB-u (3)
Šta se podrazumeva pod elementarnim poznavanjem rada sa MATLAB-om? 1. Pokretanje, odnosno pravilno napuštanje programa MATLAB, 2. Unošenje MATLAB komandi i uredjivanje komandne linije,
(podrazumeva dobijanje rezultata kraćih proračuna)

3. Unošenje podataka, struktura MATLAB izraza,
(podrazumeva konstrukciju izraza i način formiranja naziva)

4. Formiranje i korišćenje M datoteka,
(podrazumeva upotrebu MATLAB Editor/Debuggera)

5. Snimanje i upotreba snimljenog WORKSPACE-a (MAT fajlovi).
(podrazumeva upotrebu Workspace Browser-a)

KONTROLNA PITANJA

29. Čemu služi i koje su osnovne karakteristike programa za matematičke kalkulacije? 30. Koje su osnovne karakterisike programskog paketa MATLAB? 31. Navedite nekoliko „toolbox”-ova MATLAB-a! 32. Izvršite grupisanje operacijskih znakova i specijalnih karaktera u MATLAB-u! 33. Koji je ugradjeni editor teksta MATLAB-a? 34. Koju funkciju imaju .m fajlovi MATLAB-a? 35. Koju funkciju imaju .mat fajlovi MATLAB-a?

3.4. SISTEMI ZA RAZVOJ PROGRAMA
Softver koji „živi” u našim računarima smo uslovno podelili na operativne sisteme, na korisnički softver i na programe za razvoj softvera.

Namenu i vrste operativnih sistema smo obradili, govorili smo i o korisničkim programima koji su nama najznačajniji. Sada je red da ukratko iznesemo karakteristike programa, pomoću kojih stvaramo programe. Svaki program za računare se priprema dugim i pažljivim radom i primenom odgovarajućeg alata. Evo nekoliko reči o tom alatu.

3.4.1. MAŠINSKI JEZIK
Jezik računara je vrlo”jednostavan”. Koristi samo dva znaka: {0, 1}, a masa informacija struja unutar računara u obliku „beskonačnog” niza nula i jedinica, kao na primer: →... 00110011 10100011 11101011 11110001 1001010 ....→ Mašinskim jezikom nazivamo niz naredbi za računar, napisanih u obliku binarnog koda kojeg nepsredno možemo saopštiti mašini, a ona je sposobna da to izvrši.
Primer: „reč” 10011100 znači sabiranje. Neka je adresa jednog sabirka u glavnoj memoriji 00001010 11101110, a drugog 00001010 00110001. Ako želimo dati naredbu mašini da sabere ova dva podatka, tada je potrebno zapisati sledeće: 10011100 00001011 11101110 00001010 00110001 ili u heksadecimalnom „zapisu”: 9C 0B DD 0A 31.

3.4.2. PROGRAMSKI JEZIK ASSEMBLY
Assembly je mašinski orijentisan simbolički programski jezik.
Mašinska orijentisanost znači da su naredbe istovetne sa mašinskim naredbama date mašine, samo su operacijski kodovi zamenjeni sa takozvanim mnemoničkim kodovima, skraćenicama iz govornog jezika, dok adrese dobiju nazive. Naprimer kôd sabiranja 10011100 zamenjujemo sa skraćenicom ADD, podatak koji se nalazi na adresi 00001010 11101110 dobija recimo ime VAS1, a podatak na adresi 00001010 00110001 nazvaćemo VAS2. Posle uvodjenja ovih oznaka sabiranje ta dva podatka na jeziku assembly zapisujemo na sledeći način: ADD VAS1, VAS2

Program napisan na assembly jeziku assembler prevodi na jezik mašine.

3.4.3. PROGRAMSKI JEZICI VISOKOG NIVOA
Problem-orijentisani ili zadatak-orijentisani programski jezici omogućavaju naprimer rešavanje matematičkih problema upotrebom formula. Ako za primer uzimamo već razmatrano sabiranje, tada u jednom problem-orijentisanom programskom jeziku dovoljno je napisati sledeće: SUM=VAS1+VAS2 Izvorni program (pseudo kôd, simbolićki kôd) je programski kôd napisan sa strane programera na nekom od programskih jezika visokog nivoa. Prevodjenje izvornog programa na jezik odredjene mašine vrši program prevodilac. Naziv programa prevodioca problem orijentisanih programskih jezika visokog nivoa je kompajler (compiler).

3.4.3. PROGRAMSKI JEZICI VISOKOG NIVOA (2)
Program prevodilac pored prevodjenja (tačnije: pre prevodjenja) kontroliše izvorni program i javlja greške koji se kose sa pravilima pisanja programa na dotičnom programskom jeziku. Ove su takozvane sintaktičke greške. Logičke (semantičke) greške – nažalost – ne primećuje još ni jedan prevodilac. Moguće je prema tome napisati program, koji u svemu odgovara pravilima tog programskog jezika, samo „ne radi ono” što je zamislio programer.

Kôd, kojeg generiše program prevodilac je često takav, da ga možemo direktno pozvati i mašina će je izvršiti. Češće je potrebno taj kôd još povezati pomoću jednog trećeg programa sa modulima koji pripadaju biblioteci razvojnog sistema, i nakon tog povezivanja program postaje izvršiv. Povezivanje modula koji pripadaju biblioteci razvojnog sistema sa modulom koji se dobija prevodjenjem izvornog programa vrši program za povezivanje ili linker.

3.4.3. PROGRAMSKI JEZICI VISOKOG NIVOA (3)
Navešćemo nekoliko problem orijentisana programska jezika visokog nivoa, čija pojava i razvoj uzima zalet početkom 1950-tih godina i danas imaju vrlo brojnu porodicu.

FORTRAN (FORmula TRANslation 1954.), ALGOL (ALGOrithmic Language 1960.), COBOL (COmmon Business Oriented Language, 1959.), BASIC (Beginners All-purpose Symbolic Instruction Code, 1964.), PASCAL (1968.) PL/1 (Programming Language 1), CLIPPER, . . .

Ne slučajno iz nabrajanja smo izostavili programski jezik C. O jeziku C govorićemo posebno i to sa aspekta neposredne primene.
...i ne zaboraviti, da je tu i mnoštvo WINDOWS-alata za razvoj programa, na primer Visual Basic, itd.

3.4.4. VHLL JEZICI I JEZIK VEŠTAČKE INTELIGENCIJE

Nova generacija programsih jezika se bazira na 3. generaciji, takozvanih proceduralnih programskih jezika. Ove ne-proceduralne jezike svrstamo u kategoriju VHLL jezika (Very High Level Language – jezici vrlo visokog nivoa)
Na neproceduralnom jeziku (nonprocedual language) definišemo samo željeni rezultat, ali ne zadajemo put (proceduru) koji vodi do tog rezultata (To je 4. generacija prograsmkih jezika)

Nauka koja istražuje veštačku inteligenciju (Artifical Intelligence) bavi se sa mogućnostima konstruisanja takvih programa, koji pokušavaju simulirati odredjeni segment ljudske inteligencije: o datim ulaznim podacima na osnovu datih pravila zaključivanja donose zaključke i to saopštavaju korisniku. (To je 5. generacija programskih jezika)

KONTROLNA PITANJA

36. Navedite zadatke sistema za razvoj programa! 37. Koje su osnovne karakteristike mašinskog jezika? 38. Šta je assembly, a šta je assembler? 39. Koje programske jezike visokog nivoa smatrate važnim? 40. Koje su karakteristike programskih jezika visokog nivoa? 41. Koja je funkcija programa prevodioca (kompajlera)? 42. Koju funkciju ima program za povezivanje (linker)? 43. Navedite generacije programskih jezika! 44. Koja su osovna svojtva programskih jezika vrlo visokog nivoa? 45. Šta nazivamo veštačkom inteligencijom?

3.5. OSNOVNE USLUGE INTERNETA
Osnovne usluge interneta su: E-mail ili elektronska pošta; World Wide Web ili samo WWW – „navigacija” na svetskoj mreži; Fajl transfer, ili FTP – zamena fajlova izmedju udaljenih mašina; IRC (Internet Relay Chat) - istovremeni „razgovor” više učesnika ; Telnet – prijavljivanje na udaljene mašine i korišćenje njihovih resursa. Od navedenih usluga ukratko ćemo se baviti samo sa elektronskom poštom i sa WWW, ali neizbežno je govoriti i o „drugoj strani” , tojest o osnovnoj operaciji priprema dokumenata koji su dostupi na WWW. Većina tih dokumenata je u takozvanom „hipertext” formatu, te svaki korisnik, koji na nekom stepenu vlada tehnikama Interneta potrebno je da upozna i korišćenje jednog .html editora. Istina je, da i MSWord, ili Excel pa i Access poznaje mogućnost snimanja u .html formatu, ali je potrebno da se upoznamo i sa „pravim” .html editorom.

3.5. OSNOVNE USLUGE INTERNETA (2)
I za osnovne usluge Interneta postoji softver od firme Microsoft ali je po mnogim mišljenjima u pogledu nivoa usluga i kvaliteta tom paketu je ravan, a u nekim komponentama je i bolji Netscape paket. Teren je otvoren, i na raspolaganju su proizvodi i mnogih drugih proizvodjača. editor html
dokumanata

elektronska pošta

WWW browser

3.5.1. E-mail
Komponente elektronske pošte: pisanje i uredjivanje pisama koja ćemo slati, slanje gotovih pisama, čitanje pristiglih pisama, (po potrebi) brisanje pristiglih pisama, automatski odgovor (reply) „prosledjivanje” pristiglih pisama (forward) arhiviranje pristiglih i poslatih pisama, štampanje pisama. Osmotrimo detaljnije programe za e-poštu oba proizvodjača! Analizirajmo strukturu lične e-mail adrese!

MICROSOFT

Outlook Express New Message

NETSCAPE

Messenger mail Composition

3.5.2. Browseri ili navigatori
Slično e-mail adresama i na WWW je svako mesto snabdeveno jedinstvenom adresom. Ova adresa je takozvana WWW adresa, ili home page adresa. U „stručnim krugovima” za tu adresu jednostavno se kaže: URL adresa. Ova adresa se ukucava u slučaju Internet Explorer-a u Adress prozor, a u slučaju Netscape Communicator-a u Location prozor.
Na „posećenim” mestima (sem njihovog sadržaja) najinteresantnije je mnoštvo takozvanih linkova ili živih kopči. Svaki dokument je snabdeven bar sa jednim ili dva linka, koji „skreću pažnju” na druge dokumente ili na druge URL adrese.

Osmotrimo detaljnije i browser programe oba proizvodjača! Detaljno analizirajmo jednu URL adresu!

3.5.3. HTML editori ili WEB editori
Radi kompletnog pregleda i za urdjivanje WEB dokumenata analiziramo programe istih proizvodjača: Microsoft-ov FrontPage i Netscape-ov Composer, iako u novije vreme stručnjaci smatraju program Macromedia Dreamweaver najboljim na ovom polju.
Uredjivanje WEB doumenata podseća na obično uredjivanje teksta, iako mnogo složenija je to procedura. Korisnik ovu složenost ne oseća, jer su programi takozvanog WYSWYG tipa (prikazivanje realne slike i sakrivanje kodova koji se nalaze iza te slike).

Osmotrimo detaljnije i HTML editore oba proizvodjača! Analizirajmo i html kôd jednog WEB dokumenta!

NETSCAPE Composer

MICROSOFT Front Page

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta name="Author" content="X.Y."> <meta name="GENERATOR" content="Mozilla/4.75 [en] (Win95; U) [Netscape]"> <title>Untitled</title> </head> <body text="#33CCFF" bgcolor="#FFFF00" link="#0000FF" vlink="#008000" alink="#00FFFF"> <blockquote> <blockquote> <blockquote> <blockquote> <blockquote> <blockquote><b><i><u><font face="Arial,Helvetica"><font color="#33CCFF"><font size=+4>Szervusz!</font></font></font></u></i></b></blo ckquote> </blockquote> </blockquote> </blockquote> </blockquote> </blockquote> </body> </html>

NETSCAPE html code

<html> <head> <meta http-equiv="Content-Language" content="enus"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>New Page 1</title> </head> <body> <p style="background-color: #FFFF00; color: #0099CC" align="center"><font face="Arial" size="7"><i><b><u>Szervusz!</u></b></i></font></p> </body> </html>

FRONT PAGE html code

KONTROLNA PITANJA
46. Koje su glavne usluge Internet-a? 47. Koje su glavne komponente elektronske pošte? 48. Koji su najpoznatiji Internet-browser programi i koje su njihove glavne osobine? 49. Navedite karakteristike i strukturu e-mail adresa i web adresa! 50. Opišite glavne osobine programa za uredjivanje web-dokumenata!

Zadaci:
1. 2. Konstruišite sopstveni home page. Primenite bilo koji html editor, koji vam stoji na raspolaganje. Konstruišite za preduzeće XYZ predstavljanje na web-u. Neka portal sadrži i fotografiju, zvučne efeke i link na direktorov home page!

4. MATEMATIČKI I LOGIČKI OSNOVI
4.1. BROJNI SISTEMI
Razvojem ljudske civilizacije zapisivanje brojeva i računskih operacija sa brojevima prešla su značajan razvojni put. Naš zadatak u ovom kursu nije izučavanje tog razvojnog puta, ali zbog potpunog shvatanja današnjeg načina pisanja brojeva i operacija sa njima, potrebno je da upoznamo osnovna svojstva ranije upotrebljavanih brojevnih sistema.

4.1.1. A NEPOZICIONI BROJNI SISTEMI
U nepozicionim brojnim sistemima za zapisivanje svakog “značajnog” broja koristi se poseban znak. Svaki takav znak jednoznačno označava jedan jedini broj. U nizu svih ostalih znakova taj znak broja je značio uvek isto: samo taj broj, bez obzira na poziciju u zapisanom nizu znakova. Brojevi, koji nisu raspolagali samostalnim znakom zapisani su pomoću postojećih znakova za brojeve, poštujući sledeće principe:

princip repetitivnosti (ponavljanja), i princip aditivnosti (sabiranja).

PRIMER NEPOZICIONOG BROJNOG SISTEMA: RIMSKI NAČIN PISANJA BROJEVA Upotreba rimskog načina pisanja je bila prilično rasprostranjena, čak i danas često zapisujemo brojeve rimskim ciframa (istina, više u dekorativne svrhe). Treba istaći, da danas korišćeni način pisanja brojeva rimskim ciframa već koristi neka pravila, koja nisu karakteristika originalnih nepozicionih brojnih sistema. Radi korišćenja tih pravila u eventualnom zadatku za pisanje programa konverzije zapisa brojeva iz rimskog načina u naš brojni sistem, upoznajmo ih detaljnije! I 1 X 10 C 100 M 1000 V 5 L 50 D 500

osnovne cifre

pomoćne cifre

Pored repetitivnosti i aditivnosti dodatna pravila zapisivanja brojeva rimskim ciframa su sledeća: samo osnovne cifre možemo ponavljati (repetirati) u cilju adicije (sabiranja) – i to najviše tri puta, pomoćna cifra može stajati samo iza neposredno veće glavne cifre, i to samo jedanput osnovna cifra može da stoju samo iza veće glavne ili pomoćne cifre, IZUZETAK: osnovna cifra može da stoji i ispred neposredno veće osnovne ili pomoćne cifre isključivo jedanput – ali tada njegovu vrednost ODUZIMAMO.

1956 = MCMLVI 2001 = MMI 999 = CMXCIX neispravno: IC 990 = CMXC neispravno : XM 49 = XLIX neispravno : IL 1234 = MCCXXXIV

4.1.2. POZICIONI BROJNI SISTEMI
4.1.2.1. DECIMALNI BROJNI SISTEM
I kod nepozicionih brojnih sistema se već prećutno pojavio jedan princip, kojeg sada posebno ističemo: to je princip grupisanja. Po tom principu svaki sistem zapisivanja brojeva ima jedan osnovni broj, i čim se pojavi onoliko jedinica, koliki je osnovni broj, odmah to obuhvatamo jednom jedinicom višeg reda (grupišemo). U decimalnom brojnom sistemu taj osnovni broj je deset.
2 hiljade + 4 stotine + 3 desetice + 7 jedinica 2 103 + 4 102 + 3 101 + 2 100 Ako u ovom poslednjem zapisu po dogovoru (konvenciji) izostavljamo stepene osnovnog broja i operacijske znakove, tada broj zapisujemo na sledeći način: 2431

Skup cifara: C = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

4.1.2.2. POZICIONI BROJNI SISTEMI SA OSNOVOM M≠10
Obeležimo osnovu brojnog sistema sa M. Na osnovu iskustava iz sistema sa osnovom deset, skup cifara ovog sistema sadrži M elemenata: C = {0, 1, . . . , M-1}. Posmatrajmo sistem sa osnovom 8. Skup cifara je: C(8) = {0, 1, 2, 3, 4, 5, 6, 7} Značenje broja zadatog zapisom u „oktalnom” sistemu preveden na zapis u poznati „dekadni” sistem je sledeće:

7265.23(8) = 7 83 + 2 82 + 6 81 + 5 80 + 2 8-1 + 3 8-2 = = 7 512 + 2 64 + 6 8 + 5 + 2 0,125 + 3 0,015625 = = 3584 + 128 + 48 + 5 + 0,25 + 0.03125 = 3765,28125(deset)

Osmotrimo jedan primer zapisa broja u sistemu sa osnovom koja je veća od broja deset. Svi brojevi, koji su manji od osnovnog broja a veći su od “deset” (svakako i oni, koji su manji od deset) moraju biti obeleženi jednom cifrom! Neka je: C(T) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B}, gde slovo T označava broj „tuce” (dvanaest). Cifra A označava broj deset, a cifra B označava jedanaest. Pokazujemo konverziju zapisa broja iz sistema sa osnovom „tuce” u sistem sa osnovom deset: 34A,0B(T) =3 122 + 4 121 + 10 120 + 0 12-1 + 11 12-2 = =3 144 + 4 12 + 10 + 0 + 11 0,00694444... = = 432 + 48 + 10 + 0,07638888... = 490,0763888.. Primedba: Zapis racionalnog broja u bilo kojem brojnom sistemu ili je konačan, ili je beskonačan periodični razlomak.

Heksadecimalni brojni sistem ima posebno važnu primenu. Obeležimo heksadecimalni zapis broja sa indeksom (H). Ovo je brojni sistem sa osnovom „šesnaest”. Skup cifara je sledeći: C(H) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Evidentno je dogovoreno značenje cifara: A = „deset", B = „jedanaest", C = „dvanaest", D = "trinaest", E = „četrnaest", F = „petnaest". Neka su data ČETIRI broja: X, Y, Z i W. Poređajmo ih u rastući redosled! X = 12345 Y = 12345(7) Z = 12345(T) W = 1234(H) Sa brojem X nemamo šta činiti. Zapise ostalih brojeva moramo konvertovati u decimalni brojni sistem: Y = 12345(7) = 1 74 + 2 73 + 3 72 + 4 71 + 5 70 = 3267 Z = 12345(T) = 1 124 + 2 123 + 3 122 + 4 121 + 5 120 = 24677 W = 12345(H) = 1 164 + 2 163 + 3 162 + 4 161 + 5 160 =74565 Nakon te konverzije možemo brojeve uporediti: Y < X < Z < W.

Izvršimo sada konverziju dekadnog celog broja 2431 u brojni sistem sa osnovom 5! Vršimo sledeće operacije: 2431 = 5 486 + 1 486 = 5 97 + 1 97 = 5 19 + 2 19 = 5 3 + 4 3= 5 0+3 Skraćeno zapisujemo: 2431 486 97 19 3 0 1 1 2 4 3

1

Tvrdimo sledeću činjenicu: 2431 = 34211(5) Zaista: 34211(5) = 3 54 + 4 53 + 2 52 + 1 51 + 1 50 = = 3 625 + 4 125 + 2 25 + 1 5 + 1 = 2431.

Konverziju razlomljenog dela dekadnog broja takođe prvo pokazujemo prema sistemu sa osnovom 5. Vršimo sledeće operacije: 0,2431 0,2155 0,0775 0,3875 0,9375 0,6875 0,4375 0,1875 0,9375 5 = 1,2155 5 = 1,0775 5 = 0,3875 5 = 1,9375 5 = 4,6875 5 = 3,4375 5 = 2,1875 5 = 0,9375 5 = 4,6875 .... .... Skraćeno zapisujemo: 0,2431 0,2155 0,0775 0,3875 0,9375 0,6875 0,4375 0,1875 0,9375 0,6875 .... 1 1 0 1 4 3 2 0 4 3 ...

1

Prema tome rezultat konverzije je: 0,2431 = 0,1101(4320)(5)

4.1.2.3. BROJNI SISTEMI SA OSNOVOM 2N (N=1,2,3,4)
Brojni sistemi sa osnovom 2N (N=1,2,3,4) imaju posebno važnu ulogu na području računarske tehnike. Ti brojni sistemi su sledeći: Za N=1 → 2N = 2 imamo binarni brojni sistem sa skupom cifara: C(2) = {0, 1} Za N=2 → 2N = 4 imamo kvartalni brojni sistem sa skupom cifara: C(4) = {0, 1, 2, 3} Za N=3 → 2N = 8 imamo oktalni brojni sistem sa skupom cifara: C(8) = {0, 1, 2, 3, 4, 5, 6, 7} i Za N=4 → 2N = 16 imamo heksadecimalni brojni sistem sa ciframa: C(H) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Konverzija zapisa brojeva izmedju ovih sistema može se izvršiti mnogo lakše posredstvom binarnog brojnog sistema (izostavljamo dekadni brojni sistem!)

0

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Uočiti sledeće činjenice: Zapisivanje cifara kvartalnog broja možemo izvršiti sa najviše dve binarne cifre, cifre oktalnog broja zahtevaju najviše tri binarne cifre, a cifre heksadecimalnog broja se mogu zapisati pomoću 4 binarne cifre. Koristeći ove konstatacije, pronalazimo veoma jednostavan i udoban način medjusobne konverzije zapisa brojeva u tim sistemima.

1 2 3 4 5 6 7 8 9 A B C D E F

Posmatramo primer konverzije oktalnog zapisa broja na binarni, odmah zatim dalju konverziju broja sa binarnog na heksadecimalni zapis: Princip je grupisanje: umesto jednog kvartalnog znaka dva binarna (i obrnuto), a takodje i umesto četiri binarne cifre jedna heksadecimalna cifra (naravno: i ornuto). U slučaju oktalnih cifara imamo tri binarne cifre (i obrnuto: trima binarnim ciframa odgovara jedan oktalni znak). „Zamena” se vrši upotrebom prikazane tabele. (U slučaju „okrnjene” grupe cifara vrši se dopunjavanje nolama za zauzimanje odgovarajućih mesta.) Grupisanje uvek počinjemo kod zapete, koja razdvaja razlomljeni deo od celog dela zapisa broja! Konvertovati oktalni zapis 7453,657(8) na heksadecimalni!

7 4 5 3 , 6 5 7(8) = 111100101011,110101111(2) = = 111100101011,110101111000(2) = = F 2 B , C 7 8(H).

4.1.2.4. OPERACIJE U BROJNIM SISTEMIMA
Konstatujemo, da izmedju brojnih sistema ne postoje principijelne razlike. Jedina razlika je u „pravilima igre": grupisanje se vrši po drugom osnovnom broju. Pokušajmo brojanje zapisati u sistemu sa osnovom 6. Ispod zapisa brojeva u sistemu sa osnovom 6 ispisali smo i dekadni zapis istih brojeva: Niz prirodnih brojeva zapisan u sistemu sa osnovom 6: 1,2,3,4,5,10,11,12,13,14,15,20,21, ... ,53,54,55,100,... Isti niz u dekadnom sistemu: 1,2,3,4,5, 6, 7, 8, 9,10,11,12,13, ... ,33,34,35, 36,... Zašto je 12(6) = 8, ili 26 = 42(6), Videti zašto je 36 = 100(6) ?

Naredni primeri bez suvišnih objašnjenja prikazuju sabiranje u nekoliko brojna sistema. Skrećemo pažnju na činjenicu, da i "tehnika" sabiranja je potpuno ista, koju smo naučili u osnovnoj školi i svakodnevno primenjujemo kod dekadnog brojnog sistema.

N=3
21202 +11120 110022

N=6
543032 +541013 1524045

N=9
868777616 +151272333 1131161050 N=2 101110101110101 1101001110101 + 111101110111 1000011101100001

N = "tuce" heksadecimalni 45A0B5 ABCD102 + 32B0A + F2345 491003 ACBF447

Proučimo i primere oduzimanja!

N=3 211222212 – 22222222 111222220

N=5 32343244 – 4434332 22403412

N=2 1000100010001000 – 10010010010010 110001111110110

Imamo dva značajna razloga, zbog kojih moramo potražiti drugi metod oduzimanja brojeva u nedekadnim zapisima: jedan razlog je komplikovanost postupka (sabiranje se još nekako može analogijom izvršiti, ali oduzimanje mnogo više odudara od postupka na koji smo naviknuti), a (pojednostavljen) drugi razlog je to, da računar „ume samo da sabira" (?!). Odgovor na ovo (prividno) nemoguće pitanje dobija se iscrpan odgovor u okvirima drugih predmeta. Pokušajmo da na neki način „zamenimo” oduzimanje sabiranjem!

Za predstavljanje negativnih brojeva definišemo komplement broja.
U dekadnom sistemu deveti komplement broja je zapis čije cifre dopunjavaju odgovarajuće cifre posmatranog broja do DEVET. Deseti komplement broja je zapis koji se dobija tako, što na najnižoj poziciji devetom komplementu dodamo 1.

Dekadni broj

45689 235,123 764,876 764,877

0,0365 9,9634 9,9635

000236,1200 999763,8799 999763,8800

Deveti komplement 54310 Deseti komplement 54311

Pojam komplementa na prirodan način se može preneti i na nedekadne brojne sisteme. Ako je osnova sistema broj N, tada cifre N-1-vog komplementa dopunjuju odgovarajuće cifre prvobitnog broja do N-1, a N-ti komplement se dobija iz N-1-vog uvećanjem za 1 na najnižoj poziciji. Posmatrajmo primere:
Broj sa osnovom 5 Četvrti komplement Peti komplement Heksadecimalni broj 15-ti komplement 16-ti komplement

43214 01230 01231

234,123 0,03112 000233,1200 210,321 4,41332 444211,3244 210,322 4,41333 444211,3300

ABC034 543FCB 543FCC

34,123 CB,EDC CB,EDD

0,03112 00023F,1200 F,FCEED FFFDC0,EDFF F,FCEEE FFFDC0,EE00

Pokazujemo primere za korišćenje komplementa za zamenu oduzimanja sabiranjem. Prvi primeri ponovo su uzeti iz sistema sa osnovom 10 i odabrani su tako da je razlika pozitivna.

Uobičajeno oduzimanje

Oduzimanje dodavanjem 9-tog komplementa 5879,123 9654,889 +1 5534,013

Oduzimanje dodavanjem 10tog komplementa

5879,123 – 0345,110 5534,013
POSTOJI PRELIVANJE, znači razlika je pozitivan broj. Prelivanje ZANEMARIMO, cifri na najnižoj mesnoj poziciji dodamo 1.

+

1 5534,012

5879,123 + 9654,890

1 5534,013
POSTOJI PRELIVANJE, znači razlika je pozitivan broj. Prelivanje ZANEMARIMO, preostaje korektan rezultat.

Osmotrimo primere, kada je razlika negativna! Oduzimanje dodavanjem 9-tog komplementa Oduzimanje dodavanjem 10tog komplementa 0345,110 + 4120,877

Uobičajeno oduzimanje

345,110 –5879,123 –5534,013

+

0345,110 4120,876 – 5534,013

0 4465,986

0 4465,987
5534,012 +1 – 5534,013

NEMA PRELIVANJA, znači rezultat je negativan broj, tražena razlika je 9-ti komplement ovog zbira. KOMPLEMENTIRATI!

NEMA PRELIVANJA, znači rezultat je negativan broj, tražena razlika je 10-ti komplement ovog zbira. KOMPLEMENTIRATI!

Primer iz binarnog sistema (N = 2): Binarno oduzimanje 11001100,10001 –10111111,11111 1100,10010 Sa prvim komplementom 11001100,10001 +01000000,00000 Sa drugim komplementom 11001100,10001 +01000000,00001

100001100,10001
+1 1100,10010

100001100,10010

1111,11111 000001111,11111 –100000000,01101 +011111111,10010 -11110000,01110 0100001111,10001 -11110000,01110

000001111,11111 +011111111,10011

0100001111,10010
011110000,01101 +1 -11110000,01110

Primer iz heksadecimalnog brojnog sistema (N = 16) : Heksadecimalno oduzimanje A0F,130 –166,5C5 8A8,B6B Sa 15-tim komplementom A0F,130 +D99,A3A 18A8,B6A +1 8A8,B6B 546,653 +3D6,EEF 092D,542 -6D2,ABD Sa 16-tim komplementom A0F,130 +D99,A3B 18A8,B6B

546,653 –B29,110 -6D2,ABD

546,653 +3D6,EF0 092D,543 6D2,ABC +1 -6D2,ABD

1011100011001 : 11011 = 1101101 -11011↓↓↓↓↓↓↓ 100110↓↓↓↓↓↓ Jer je: 11011011 ⋅ 11011 Ako je -11011↓↓↓↓↓↓ 11011011 a:b = c =10110↓↓↓↓↓ 11011011 onda 11011011 101101↓↓↓↓ c⋅b = a 11011011 -11011↓↓↓↓ =100101↓↓↓ 111 1 111 11 1 -11011↓↓↓ =10100↓↓ 1011100011001 101000↓ I: 1011100011001 : 11011011 = 11011 -11011↓ -11011011↓↓↓↓ =11011 =100101101↓↓↓ -11011 i =0 -11011011↓↓↓ a:c = b ==10100100↓↓ =101001000↓ -11011011↓ Primer za binarno =11011011 deljenje -11011011 =0

Zadaci:
Izvršiti naznačene operacije u odgovarajućem brojnom sistemu, a tačnost izvršenih operacija kontrolisati konverzijom u dekadni brojni sistem! a) c) e) g) i) 256,512(7) + 616,16(7) = 256,512(9) + 616,16(9) = 256,512(8) + 616,16(7) = 2B6,512(T) + 616,16(T) = 2EF,512(H) + 616,16(H) = b) 656,512(7) – 416,16(7) = d) 656,512(9) – 416,16(9) = f) 656,512(8) – 416,16(7) = h) 656,512(T) – A16,16(T) = j) 656,512(H) – EF6,16(H) =

Oduzimanje izvršiti na tri načina: direktno u datom brojnom sistemu, upotrebom “nepotpunog” (osnovni broj–1) i upotrebom “potpunog” komplementa!

Kontrolna pitanja.
1. 2. 3. 4. 5. 6. 7. 8. 9. Koje su karakteristike nepozicionih brojnih sistema? Šta znači princip repetitivnosti? Šta znači princip aditivnosti? Koja pravila koristimo danas u rimskom načinu pisanja brojeva? Koje su glavne karakteristike pozicionih brojnih sistema? Šta znače cifre pozicionih brojnih sistema? Koje su cifre oktalnog brojnog sistema? Kako zapisujemo osnovni broj u proizvoljnom brojnom sistemu? Kako vršimo konverziju dekadnog celog broja u sistem sa osnovom različitom od 10.

10. Kako vršimo konverziju pozitivnog decimalnog broja manjeg od 1 u pozicioni brojni sistem sa nekom drugom osnovom? 11. Kakvu istorijsku ulogu je imao brojni sistem sa osnovom 12?

Kontrolna pitanja.
12. Koja veza postoji izmedju cifara brojnih sistema sa osnovom 2, 4, 8 i 16? 13. Kako se vrši medjusobna konverzija binarnih i kvartalnih brojeva? 14. Kako se vrši medjusobna konverzija binarnih i oktalnih brojeva? 15. Kako se vrši medjusobna konverzija binarnih i heksadecimalnih brojeva? 16. Kako sabiramo brojeve u jednom pozicionom brojnom sistemu? 17. Šta je nepotpuni komplement (N-1-vi komplement) broja u sistemu sa osnovom N? 18. Šta je potpuni komplement (N-ti komplement) broja u sistemu sa osnovom N? 19. Koja je uloga nepotpunog komplementa u oduzimanju brojeva? 20. Koja je uloga potpunog komplementa u oduzimanju brojeva? 21. Pokažite kako se vrši množenje u pozicionim brojnim sistemima (uzmite za primer binarni sistem)! 22. Pokažite kako se vrši deljenje u pozicionim brojnim sistemima (uzmite za primer binarni sistem)!)!

4.2. KODOVI I KODNI SISTEMI
4.2.1. KODIRANJE, KODNA AZBUKA
Pojam informacije i podatka smo već ranije tretirali. Sada posmatramo mogućnosti kako zabeležiti, čuvati, obraditi i prenositi skup informacija B = {b1, b2, b3, ... , bN} Od tih pitanja prvenstveno se bavimo sa prvim: kako zabeležiti informaciju? (Ovo pitanje je veoma važno i sa aspekta sigurnog čuvanja, i efikasne obrade kao i brzog prenosa zabeleženih informacija tj. podataka).

Definišemo jedan fiksni skup znakova – azbuku, i samo pomoću znakova iz te azbuke – na osnovu precizno utvrdjenih pravila formiramo kombinacije i koristimo ih za beleženje informacija iz skupa B. Elemente tako formiranih kombinacija nazvaćemo karakterima. Karakteri su: slova, cifre i ostali znakovi. Dogovorno prihvatamo znak | kao znak rastavljanja (prinudno taj znak sada ne smatramo elementom koji pripada skupu za “prevodjenje”). Obeležimo taj skup sa A. Elementi skupa A su: |A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z| |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z| |0|1|2|3|4|5|6|7|8|9| |+|–|*|/|\|^|[|{|(|)|}|]|_|!|?|<|>|~|#|$|%|&|:|;|"|.| |,|
velika slova mala slova cifre ostali znaci.

Konačan niz karaktera je reč. Reč, sastavljena isključivo od velikih i malih slova je alfabetski niz karaktera (primer: jabuka, perEc, MateMatiKa), nizovi koji se sastoje samo od cifara su numeričke reči (primer: 23 ili 999), mešoviti nizovi karaktera su, kao što je na primer H2O+ocat=3,1415 ili U2) su alfanumeričke reči. Ako elementima skupa informacija B = {b1, b2, b3, ... , bN} jednoznačno dodelimo po jednu reč formiranu pomoću elemenata iz skupa A, tada smo izvršili kodiranje elemenata skupa informacija. Na primer štampani materijali (knjige, novine, pisma) jesu kodirani oblik po jednog skupa informacija. Mi se bavimo opštim formama kodiranja informacija u računarskoj tehnici.

Naziv skupa reči formiranog od elemenata azbuke A fiksne dužine k je kodna azbuka. Zašto je računarska tehnika odabrala dvoelementnu azbuku za formiranje kodne azbuke? (Ta dva “slova” mogu biti obeležena bilo kako, ali je najpraktičnija oznaka {0,1}.) Odaberimo azbuku sa N elemenata i neka je dužina kodnih reči (kodne azbuke) n. Očevidno je, da skup kodnih reči sadrži m = Nn elemenata. Uzimajući u obzir činjenice, da je za predstavljanje dugačkih reči sa malo različita slova potreban veliki memorijski prostor, ali je i tehnička realizacija memorije koja “pamti” kratke reči sa mnogo slova je skupa, to potrebno je pomiriti dva suprotna zahteva: Kod reči date dužine k sa što manje upotrebljenih slova N bude moguće kodirati što veći broj informacija m. Prema tome potrebno je minimizirati funkciju f(N) = n ⋅ N pri konstantnom m.

Iz m = Nn, odnosno logNm = n sledi f(N) = n ⋅ N = N logNm. Izvršimo sledeću zamenu: logNm = (ln m)/(ln N): f(N) = N(ln m)/(ln N). Zaboravimo na trenutak, da je N diskretna promenljiva, i sredstvima matematičke analize potražimo ekstremne vrednosti funkcije f(N). Pronalazimo minimum, i to za ln N = 1, odnosno kada je N = e ≈ 2,71828182845905... Očevidno je, ne postoji azbuka sa 2,71... slova! Ostaje zamena sa najbližim prirodnim brojem, a to je 3, ili, ukoliko smo “skromniji” tu je broj 2, koji je nešto udaljeniji. Računarstvo se ipak odredilo za upotrebu dvoslovne azbuke, jer je ta (suprotno čak i matematičkim rezonima), ipak jeftinija i jednostavnija.

4.2.2. A BINARNO KODIRANJE
Zapis decimalnog broja se ne konvertuje u binarni brojni sistem, već se kodira cifra po cifra: → svaka se zamenjuje sa po jednom grupom binarnih cifara fiksne dužine shodno strogo odredjenim pravilima tog dodeljivanja. Dobijeni nizovi binarnih cifara predstavljaju binarno kodirani decimalni broj: BCD – Binary Coded Decimals Broj informacija koje je potrebno kodirati je 10 (to su cifre od 0 do 9). To znači, broj kodnih reči treba da je najmanje 10. Ako sa elementima dvoznačne azbuke formiramo troslovne reči, dobijamo svega 8 različitih reči, a to je premalo.

Ako su kodne reči četvoroslovne – te reči nazivamo tetradama – tada imamo čak i višak, jer imamo 16 tetrada od kojih zauzimamo svega 10. Elementima skupa od 10 cifara elemente iz 16-toelementnog skupa tetrada možemo čak na 29 miliardi načina dodeliti ( to su varijacije od 16 elemenata desete klase bez ponavljanja) Navodimo elemnte skupa tetrada:

A = {0,1} T = A4 = {0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111}

Primer: Dat je decimalni broj A = 7916,25 . Binarna konverzija broja je: A(2) = 1111011101100,01(2) NBC binarno kodirani oblik je ( to jedna od BCD mogućnosti): A(BCD) = 0111 1001 0001 0110.0010 0101

Prikazaćemo još nekoliko BCD kodnih sistema, kod kojih dodeljivanje kodnih reči ciframa ne dešava se na potpuno proizvoljan način, već na osnovu izvesnih uslova Dodeljivanje treba da je jednoznačno! Različitim ciframa treba da odgovaraju različiti kodovi. Od prikazanih kodnih siste taj zahtev SVAKI SISTEM ZADOVOLJAVA. Cifri koja ima najveću decimalnu vrednost, treba da odgovara kodna reč najveće binarne vrednosti. Od prikazanih sistema taj zahtev zadovoljava 4 kodna sistema. Parnim, odnosno neparnim decimalnim ciframa treba da odgovaraju kodne reči parne odnosno neparne binarne vrednosti. Ovaj zahtev ne ispunjavaju svi kodni sistemi. Ako za decimalne cifre α i β važi: α + β = 9 (tj da su 9-i komplementi jedan drugom), tada i dodeljene binarne kodne reči treba da budu uzajamno prvi komplementi jedna drugoj. Ima primera da se ovaj zahtev ispunjava, ali većina kodnih sistema to ne ispunjava.

3321

5211 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

2421
Aiken

8421 NBC 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

7321 0000 0001 0010 0100 0011 0101 0110 0111 1000 1001 1010

5421 0000 0001 0010 0011 0100 1000 1001 1010 1011 1100

753-6 0000 1001 0111 0010 1011 0100 1101 1000 0110 1111

74-2-1 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111 1110

Stibitz

XS-3

0 1 2 3 4 5 6 7 8 9

0000 0001 0010 0011 0100 1000 0101 1001 0110 1010 0111 1011 1100 1101 1110 1111

0000 0001 0010 1000 0011 1001 0100 1010 0101 1011 0110 1100 0111 1101 1110 1111

0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

4.2.3. GRAY-OV KODNI SISTEM
Veliki nedostatak prikazanih kodnih sistema je i sledeći (taj nedostatak kod nekih primena se pokazuje kao veoma značajan): Kodne reči dodeljene uzastopnim decimalnim ciframa razlikuju se u nekoliko (više od jednog) bitova. Naprimer u NBC kodnoj tabeli sa 1 na 2 dodeljene kodne reči 0001 i 0010 razlikuju se u dva bita. Naj izraženija je ta razlika izmedju nivoa 7 i 8: kodna reč 0111 menja se na 1000, tojest promena je kod sva 4 bita.

Broj koji pokazuje u koliko bitova se razlikuju dve kodne reči nazivamo HAMINGOVOA udaljenost.
Gray-ov kod ispravlja ovu nepravilnost, i uzastopnim decimalnim ciframa dodeljuje kodne reči čija je Hamingova udaljenost 1.

Neka su gN,

gN–1, ... , g2, g1 cifre u Gray-ovoj kodnoj reči kako slede s leva na desno (N je dužina reči, gi ∈{0,1}).

Obeležimo sa bN,

bN–1, ... , b2, b1 cifre NBC koda iste decimalne cifre, takodje u redosledu s leva na desno, bi ∈{0,1}.

k =N  bN gk =  bk +1 ⊕ bk k < N
znak ⊕ oznažava ekskluzivnu disjunkciju, takozvanu "XOR" operaciju:

⊕ 0 1

0 0 1

1 1 0

NIVO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 nastavite! ↓ 31

NBC kod 00000 00001 00010 00011 0010 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 nastavite! ↓ 11111

Gray - 3 000 001 011 010 110 111 101 100

Gray - 4 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 nastavite! ↓

Gray - 5 00000 00001 00011 00010 00110 00111 00101 00100 01100 01101 01111 01110 nastavite! ↓

NBC

1

0 ⊕

1 ⊕ 1 ⊕ 1

1 ⊕ 0 ⊕ 1

0 ⊕ 1 ⊕ 0

1 ⊕ 1 ⊕ 1

1 ⊕ 0 ⊕ 1

0 ⊕ 1 ⊕ 0

0 ⊕ 0 ⊕ 0

1 ⊕ 1 ⊕ 1

1 ⊕ 0 ⊕ 1

0 ⊕ 1 ⊕ 0

Gray

1

1 ⊕

NBC

1

0

Tabela prikazuje „prevodjenje” dvanaestoslovne NBC kodne reči 101101100110 na Gray-ov kod i „inverzno prevodjenje”. Primena ekskluzivne disjunkvije (XOR) na prikazani način umnogome olakšava to prevodjenje.

4.2.4. SIMBOLIČKI KODNI SISTEMI
Simbolički kodni sistemi služe za kodiranje slova i ostalih znakova za pisanje korišćenih u govornim jezicima. Videli smo da je za kodiranje decimalnih cifara bilo dovoljno koriščenje “tetrada” čak je još i ostalo neiskorišćenih kodnih reči. Skupimo sada sva slova i znakove koje je potrebno kodirati ako “prevodimo” pisani tekst. Sledimo logiku sastavljača kodova: engleska abeceda ima 26 slova (velika i mala slova – ukupno 52), i cifre je potrebno kodirati na ovaj način (10 znakova), takozvani interpunkcijski znakovi (tačka, zapeta, dvotačka, upitnik, uskličnik, zagrade, itd..) recimo 25 znakova, ukupno to je najmanje 87 znakova. Za kodiranje tog skupa moramo upotrebiti sedmoslovne kodne reči, jer je broj šestoslovnih reči nedovoljan (26 = 64). Dodelimo zato elementima navedenog skupa sedmoslovne kodne reči.

Očevidno, to dodeljivanje i sada može biti potpuno proizvoljno, ali moće da sledi i odredjenu logiku. Bilo kakvo je dodeljivanje, jedan princip mora biti ispunjen, a to je jednoznačnost! Evo jedne kodne tabele koja je poznata kao ASCII tabela (American Standard Code for Information Interchange).
* 0 1 2 3 4 5 6 7 0 @ P ` p 0 NUL DLE 1 SOH DC1 ! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 TAB EM ) 9 I Y i y A LF SUB * : J Z j z B VT ESC + ; K [ k { C FF FS , < L \ l | D CR GS = M ] m } E SO RS . > N ^ n ~ F SI US / ? O _ o

Umesto binarnih kodnih reči iz te tabele možemo da pročitamo odgovarajuće heksadecimalne vrednosti. Na primer slovo A se nalazi u horizontalnom redu sa oznakom 4 i u vertikalnoj koloni sa oznakom 1. prema tome: A → 41(H) = 0100 0001(2) = 65(decimalno)

Primećujemo, da te kodne reči nisu sedmoslovne, već osmoslovne. Osmi bit, koji nam se čini da je potpuno suvišan, ima jednu veoma važnu funkciju: kontrola tačnosti kodne reči! Nazovimo taj osmi bit bitom pariteta. Ako je u sedmobitnom delu kodne reči imamo neparan broj jedinica, tada bitu pariteta dodelimo vrednost 0, odnosno, ako je u sedmobitnom delu imamo paran broj jedinica, tada dodelimo paritenom bitu vrednost 1. Ovim se postiže, da je broj jedinica u osmobitnoj reči uvek neparan. Očevidno, upotreba paritetnog bita moguća je i u obrnutom smislu (0, ako u sedmobitnom delu ima paran broj jedinica, i 1 ako u sedmobitnom delu imamo neparan broj jedinica), tada u osmobitnoj reči uvek imamo paran broj jedinica. Primer za primenu oba pariteta:

Karakter E e

7 bitni kod 100 0101 110 0101

broj jedinica 3 4

8 bitni kod 8 bitni kod neparan paran 0100 0101 1110 0101 1100 0101 0110 0101

Brzo širenje upotreba računara izvan engleskog govornog područja učinilo je kodni sistem baziran na 26-toslovnoj engleskoj abecedi „nedovoljnim”, pa skup sedmobitnih kodnih reči postao usko grlo. Pored takozvanog medjunarodnog skupa slova pojavili su se još i noviji tipografski znaci, koji su morali biti takodje kodirani. Sve to dovodi do potrebe proširenja originalne ASCII tabele novim znacima. Sledi nekoliko ilustracija proširenja izvorne ASCII tabele, pro proširenje koje upotrebljava DOS:

Extended ASCII Codes (8th bit => 28)
These were added later & are not true ASCII. There are different extended sets, but this is the most common

Pri dnu slajda su brojevi, koji su linkovi na različite kodne tabele. Sve tabele su izrasle na izvornoj ASCII tabeli. Broj 1 vodi nas na tabelu ISO8859 standarda sa proširenjem LATIN-1. WINDOWS sistemi upotrebljavaju ANSI tabelu, do koje nas vodi link na broju 2, na linku 3 možemo videti paralelno dva proširenja ASCII tabele, Kodna tabela EBCDIC se upotrebljava uglavnom u velikim računarima firme IBM. Ovu tabelu možemo pogledati koristeći link broj 4.. Sve kodne tabele se nalaze uglavnom u svim knjigama koje se bave osnovama računarstva.

Nekoliko zadataka:
1. Formirajte kodni sistem baziran na brojnom sistemu sa
osnovom 3. Neka je to „ternarni” ili NTC kodni sistem koji, slično NBC sistemu, odnosi se samo na decimalne cifre. Koliko slova imaju te kodne reči, koliki je neupotrebljeni broj reči?

2. Izvršite binarno kodiranje sledeća tri broja sa svakim binarnim
kodom, koji je prikazan na slajdu 10 ove prezentacije: a) 325,333... b) 962.0101 c) 546576.23 .

3. Dat je binarni broj: 1101101101111:
a) Ako to nije u Gray kodu, kako glasi “prevod” na Gray kod? b) Ako je to Gray-ov kod, kako glasi NBC kod tog broja?

4. Kako glasi ASCII kod reči MIKROPROCESOR ako upotrebite
neproširenu (sedmobitnu) ASCII tabelu + paritetni bit : a) sa neparnim paritetoml, b) sa parnim paritetom.

5. Izvršite ANSI kodiranje reči (pazite na velika i mala slova):
Šišmiš i Žaba:
a) binarno (osmobitne kodne reči = bajtovi), b) oktalno, c) heksadecimalno.

6. U DOS okruženju posle prompta C:\> napravite prozor sa 4
okna koristeći simbole tabele: levi gornji ugao desni gornji ugao, itd upotrebom nuzmeričke tastature i tastera <Alt>.

Primedba: I osnovni ASCII karakteri, ali i karakteri iz proširenog skupa mogu se “pozvati” na ekran držanjem <Alt> tastera i ukucavanjem na numeričkoj tastaturi odgovarajuće decimalne vrednosti ASCII koda.

Kontrolna pitanja:
1. Šta podrazumevamo pod pojmom karaktera u računarstvu? 2. Navedite tipove karaktera. 3. Šta znači kodiranje? 4. Šta se podrazumeva pod pojmom kodnog sistema? 5. Koji su osnovni razlozi postojanja kodova i kodiranja? 6. Navedite osnovna svojstva ponderisanih BCD tetrada! 7. Zašto se upotrebljava binarno kodiranje, a ne neko drugo? 8. Šta je Hamingovo odstojanje kodnih reči? 9. Definišite način formiranja Gray-ovog koda.

10. Navedite svrhu upotrebe i način formiranja ASCII koda. 11. Koliko elemenata ima osnovni skup ASCII kodova. Koliko bitova sadrži svaka pojedinačna kodna reč? 12. Šta predstavlja bit pariteta? 14. Navedite razloge koji su doveli do proširenja ASCII koda. 15. Gde se upotrebljava ANSI kodna tabla? 16. Šta znači i gde se koristi EBCDIC kodni sistem?

4.3. ALGORITMi
4.3.1. POJAM ALGORITMA I ALGORITAMSKE STRUKTURE
Algoritam je konačan niz koraka koje je potrebno izvesti za rešavanje nekog zadatka. Pod korakom podrazumevamo primenu nekog jednoznačno formulisanog pravila. Koje su karakteristike svakog algoritma?

Konačnost, Jednoznačnost, Izlaz, Ulaz, Efikasnost.
Šta pojedinačno znači svaka od navedenih karakteristika?

Računar u toku rada izvršava algoritme, koje je programer napisao na pogodnom i jasnom jeziku, - na jeziku koji je „razumljiv” računaru.

Simboli za grafičko predstavljanje algoritama
in ou t

a,b,c,d,e,f

x, y

ULAZ
ae-bd → D D=0
0 1

IZLAZ

OBRADA
SUBROU(A1 ,A2 ,...,An )

ODLUKA POTPROGRAM

POČETAK/KRAJ
1

KONEKTORI

START STOP
3

Prosta linijska struktura algoritama
START
in

Početak Ulaz početnih vrednosti

a,b,c,d,e a+b → b b+c → c c+d → d d+e → e
out

Operativni koraci

Izlaz rezultata Završetak

a,b,c,d,e

STOP

Razgranata linijska struktura algoritama
START

Ulaz početnih vrednosti

in

a,b,c,d,e

Odluke

a>b
0 1

1

a<b
0

c+d+e → r

c*d*e → r

(c+d) e → r

Izlaz. Samo je r novo!

out

a,b,c,d,e,r

STOP

Ciklička algoritamska struktura (ciklus sa brojačem)
START
in

A, n 1 → S

A∈R n ∈N

n =0
0

1

n - 1 → n
out

S=An

A*S → S

S

STOP

Ciklička algoritamska struktura (ciklus sa sa kontrolom tačnosti)
START
in

Z,

ε

Z ≥0 ε>0

Z+1 → a (a+Z/a)/2 → V

|a-V|<ε
0

1

V≈√ Z
ou t

V→a

V

STOP

Način testiranja kriterijuma izlaska iz cilkusa
Testiranje pre jezgra: ‘pretestiranje’ Testiranje posle jezgra: ‘posttestiranje’

?
0

1

....... .......

....... .......

.......
....... .......

....... .......

?
0

1

.......

Jezgro ciklusa

Organizacija više ciklusa u algoritmu

?
1

0

?
1

0

?
1

0

?
1

0

KONCENTRIČNA SERIJSKA
?
1 0

.......

LOŠA!

.......
?
1 0

?
1

0

.......
0

?
1

4.3.2. NUMERIČKI ALGORITMI
Prikazaćemo nekoliko numeričkih algoritama koji su karaktreristični za pojedine strukture. Normalno je, da prilikom pisanja programa programer treba da ulaz i izlaz “okruži” sa odgovarajućim tekstom. Još jedna važna napomena: algoritmi ne sadrže korake “odbrane” od slučajnih ili namernih greški na ulazu, to programer sam treba da ugradi u izvorni kod programa.

4.3.2.1. POLINOMI Uočimo sledeća dva polinoma:
Pn(x) = anxn + an-1xn-1+ ... + a2x2 + a1x + ao Qm(x) = bmxm + bm-1xm-1+ ... + b2x2 + b1x + bo

Ulazni podaci su koeficijenti polinoma. Odrediti zbir, razliku i proizvod data dva polinoma.

START
in

Sabiranje/oduzimanje polinoma
0

n,m,j

n< m
1

Ulaz stepena polinoma
n→k

m→k

0→i

0 → ai 0 → bi
0

„Izjednačavanje” stepena polinoma „Zauzimanje mesta” Učitavanje polinoma P

i=k
1

i+1 → i

0→i
in

ai

i=n
1

0

i+1 → i

sledi nastavak

1

1 0→i
in

nastavak Učitavanje polinoma Q
0

bi

i=m
1

i+1 → i

j=1
1

0

1→s

−1 → s

Da li je sabiranje ili oduzimanje?

0→i

a i +s*b i → ci
0

Izvršavanje operacije
i+1 → i

i=k
1

0→i
ou t

ci
0

Ispisivanje izlaznih vrednosti
i+1 → i

i=k
1

STOP

Množenje polinoma

START
in

n,m 0 → i

Učitavanje stepena polinoma

in

ai

i=n
1

0

i+1 → i

0 → i

Učitavanje koeficijenata “Zauzimanje mesta” proizvoda

in

bi
0

i=m
1

i+1 → i

n+m → k

0 → i

0 → ci

sledi nastavak

i=k
1 A

0

i+1 → i

A

0→i

nastavak Izvršava množenje u okviru dva koncentrična ciklusa
0

0→j

a i *b j +ci +j → ci +j

j=m
1

j+1 → j

i=n
1

0

i+1 → i

0→i
out

ci
0

Ispisivanje rezultata
i+1 → i

i=k
1

STOP

MATRIXIN( a, n, m)
in

4.3.2.2. NIZOVI I MATRICE Skup koeficijenata polinoma takodje tretiramo kao nizove (posebno je važno da uočimo: početni indeks je 0 a ne 1. U slučaju „običnih” nizova po pravilu koristimo početni index 1 a završni n, dok kod matrica koristimo opseg od 1 do n, odnosno od 1 do m

n,m 1→i 1→j
in

ai j

j=m
1

0

j+1→j

i+1→i

0

i=n

RET

POTPROGRAM za učitavanje elemenata matrice tipa n,m sa pojedinačnom kontrolom

MATRIXIN( a, n, m)
in

n,m i = 1,n j = 1,m
in

POTPROGRAM za učitavanje elemenata matrice tipa n,m orijentisan na programski jezik.
MATRIXOUT( a, n, m)
in

ai j

n,m i = 1,n j = 1,m
out

RET

POTPROGRAM za ispisivanje elemenata matrice tipa n,m orijentisan na programski jezik.

ai j

RET

START MATRIXIN(A,N,M)

MATRIXIN(B,N,M)

Učitavanje elemenata matrice AiB SABIRANJE elemenata matrica Dva koncetrična ciklusa

i = 1,N j = 1,M

Ai j +Bi j → Ci j

MATRIXOUT(C,N,M) STOP

Ispisivanje elemenata zbira – matrica C

START MATRIXIN(A,N,M)

MATRIXIN(B,M,K)

Učitavanje elemenata matrice AiB

i = 1,N j = 1,K 0 → Ci j p = 1,M

MNOŽENJE elemenata matrica Tri koncetrična ciklusa

Ai p * Bpj +Ci j → Ci j

Ispisivanje elemenata proizvoda – matrica C
MATRIXOUT(C,N,K) STOP

START
in

a,b,c
0

a ? c b

b<a
1

a→m b→a m→ b
0

4.3.2.3. UREDJENJE BROJEVNIH SKUPOVA I SREDNJA VREDNOST

c<b
1

Uredjenje tri broja po veličini

c→m b→c
0

m<a
1

m→b

a→b m→ a

ou t

a,b,c

a≤b≤c

STOP

a 1→i Ai → min i +1 → j

Uredjenje N brojeva u rastući redosled I

START
in

j>N N
0 0

1

b min → Ai 1→i

1→i
in

Aj < min
1
out

Ai
0

Aj → r i+1 → i min → Aj r → min i +1 → i j +1 → j
1

Ai

i=N
1

i +1 → i

0

i=N
1

a

STOP

i<N
0

b

START
in

a 1→i i→m i +1 → j

N

Uredjenje N brojeva u rastući redosled II

1→i
in

Ai
0

i=N
1

i+1 → i

j>N
0

1

Am → r
0

b 1→i

a

Aj < Am
1

Ai → Am r → Ai i +1 → i i +1 → i
1

j→m

out

Ai

j +1 → j

0

i=N
1

i<N
0

STOP

b

a

Uredjenje N brojeva u rastući redosled III

1→i 0 → sig i +1 → j

START
in

j>N
0 0

1

N

1→i
in

Aj < Ai
1

sig > 0
0

1

Ai
0

Aj → r Ai → Aj r → Ai
out

1→i

i=N
1

i+1 → i

Ai

a sig +1 → sig

i=N
1

0

i +1 → i

STOP
i +1 → i

START
in

n

START
0→E 0→E 0→D 0→D 1→i 0→n
in

Varijante za izračunanje srednje vrednosti i standardne devijacije

ai

in

a

a*a + D → D a+E→ E
0

ai + E → E n+1 → n a i *ai + D → D a=0 i=n
1 0

i+1 → i

1

E/n → E D/n + E2 → D

E/n → E D/n + E2 → D D1 /2 → D
out

D1/2 → D
ou t

E, D, n E, D

STOP

STOP

ARCTG( X )
in

4.3.2.4. TRIGONOMETRIJA I π

X,

ε

0 → atgx X→ Z 1→n

Učitavanje proizvoljnog broja X i ε

FUNKCIJA ili POTROGRAM

|Z|<ε
0

1

Izračunat ugao u radijanima: arctg(X)
out

atgx

atgx + Z → atgx n+2→n RET (-1)*Z*X2 → B B/n→Z

Povratak u glavni program RETURN

START
ARCTG(1/8) 24*atgx → A ARCTG(1/57) 8*atgx → B ARCTG(1/239) 4*atgx → C A+B+C → pi
out

GLAVNI PROGRAM za izračunanje π upotrebom potprograma arctg(X)

pi

π
Shanks & Wrench

STOP

Ulazni podaci: mera ugla u stepen/minut/ sekunda i tačnost računa 0 < do< 90 0 < m'< 60 0 < s''< 60 ε >0

SINDEG(d, m , s)

a

d, m, s,

ε
|Z|<ε

3.14159265...→ pi
out

d+(m+s/60)/60 → xdeg

sinx + Z → sinx n+2→n

sinx

(xdeg*pi)/180 → X n * (n-1) → D 0 → sinx (-1)*Z*X2 → B B/D→Z

RET

Konverzija na radijansku meru

X→ Z 1→n a

START
in

4.3.2.5. PRIMBROJEVI I MAGIČNI KVADRATI

N

1→j 2→i N→ m

ERATOSTENOVO SITO primbrojevi do N

0 → cj 0 → dj

1→Q 2 Q +1 → Q
1

3 Q*i<m
0

(nastavak)

1

1

Q*i=m
1

0

3

(nastavak)
dj = 0
0

Q→m i → dj 2 1 + cj → c j i+1→i j+1→j

0

m=1

d1 = 0
1

0

1→k i > N1 /2
ou t

0

d k, ck

1
o ut

N "prime" k+1→k k<j
0

ERATOSTENOVO SITO primbrojevi do N

STOP

START
in

X

A1 > X

1

A1≤ A2≤ A3≤ ... ≤ AN

0

AN < X
0

1

X <A 1 | A N < X

out

"error"

Da li pripada ulazni broj X datom skupu brojeva?
1

1→k

STOP
2k → k

k<N
0

k/2 → k k→L

(nastavak)

a

a

1

Ak < X
0

(nastavak)
1

Ak > X
0

1

1

L=1
0

L=1
0

L/2 → L k+L → k k+1 → k k-1 → k
X=A k 0

L/2 → L k-L → k
A k ≤ X < A k+1

k>N
1 A k -1 < X ≤ A k
o ut

Da li pripada ulazni broj X datom skupu brojeva?

L/2 → L k-L → k

k

STOP

Magični kvadrat sa neparnim brojem polja

1 k+1 k

2a k+1 k

Ovo je glavno pravilo!

2b k

3a 3b k k+1

?

k k+1 k+1

Ostala pravila za slučajeve prinudne primene

START
in

M 2*M+1 → N

Popunjavanje polja magičnog kvadrata sa neparnim brojem polja

i=1,N
1

j=1,N 1→j 0→Aij
1

j>N
0

Aij=0
0

k→1 1→i m+1→j k→Aij k +1 → k

1

j>N
0

i+2→i j-1→j N→ i

1

k > N2
0

i=1,N

i -1 → i j=1,N
out

j +1 → j Aij i=0
0 1

STOP

START
in

A šta je ovo? Da li je uvek konačno?

M M→ k 1→n k → cn 1→q max(cn )=?

q+1 → q

1

2*q < k
0

2*q = k
0

1

3*k+1 → k

q→k

n+1→n

0

k=1
1

Ako 1, stani!.

1→i

o ut

Ako je paran – polovi ga, ako je neparan – množi ga sa 3 i dodaj mu 1

ci

i+1→i

0

i<n

?( n < ∞ )?

STOP

START
in

Fibonacci N, M 1→i
N= 2 A 1 = A 2 = b1 = b2 = 1 M = 3,4,5,...

in

Ai , b i

i<N
0

1

i+1 → i

Uopšteni Fibonaccijev niz.

i<M
1

0

i+1 → i 0 → Ai
out

1→i

Ai

1→j Ai + b j * Ai -N+j → Ai

i<M
0

1

i+1 → i

STOP

1

j=N
0

j+1 → j

Kontrolna pitanja (1).
1.

Odredite pojam algoritma!

2. Koje su karakteristike ispravnih algoritama? 3. Šta znači konačnost algoritma? 4. Šta znači jednoznačnost algoritma? 5. Šta znači zahtev ulaza/izlaza kod algoritma? 6. Šta znači kriterijum efikasnosti algoritma? 7. Koje standardne simbole upotrebljavamo za grafičko predstavljanje algoritama?

Kontrolna pitanja (2).
8.

Koje su osnovne strukture algoritama?

9. Koje su karakteristike prostih linijskih struktura? 10. Koje su karakteristike razgranatih linijskih struktura? 11. Koje su karakteristike cikličkih struktura? 12. Koji glavni tipove izlaznog kriterijuma postoje? 13. Izvršite klasifikaciju cikličkih struktura po položaju izlaznog kriterijuma u odnosu na jezgro ciklusa. 14. Koje su ispravne organizacije cikličkih algoritama i koja je najčešća pogrešna? 15. Koje početne vrednosti je neophodno postaviti kod “sabiračkih“ ciklusa? 16. Koje početne vrednosti je neophodno postaviti kod ciklusa za izračunavanje proizvoda niza brojeva?

Kontrolna pitanja (3).
17. Kako rešiti pitanje deljivosti broja A sa brojem B (sa ostatkom) bez primene operacije deljenja? 18. Šta znači u algoritmu (odnosno u odgovarajućem programskom koraku) dodeljivanje f(a)→a, gde ista promenljiva se javlja na obe strane? 19. Pokažite jednostavni primer “beskonačnog” algoritma! 20. Da li Vam je poznato, do koje decimale su izračunali poznati proizvodjači hardvera na svojim “svemoćnim” mašinama broj π ? Porazmislite o pitanju: ipak, i kapacitet najmoćnijih mašina je konačan! Ako bi smo imali računar sa “beskonačnim kapacitetom”, kabo bi izračunali broj π do proizvoljno velikog broja decimala tačnosti? Sačinite algoritam!

4.4. BOOLE-OVE OPERACIJE
Radi proučavanja BOOLE-ovih funkcija odabraćemo područje matematičke logike, kao modela BOOLE-ove algebre. Elementi skupa proučavanja su iskazi. Znak istinite logičke konstante je 1, a neistinite je 0. Operaciju disjunkcije u daljem ćemo pominjati kao logičko sabiranje, a i znak će biti: » + «. Konjunkcija je logičko množenje i slično množenju brojeva, obeležavamo ga sa: » ⋅ « ali samo po potrebi – u većini slučajeva prosto taj znak izostavljamo. Znak negacije je gornja zapeta, odnosno “apostrof“: » ’ «. Iz praktičnih razloga nabrajamo aksiome BOOLE-algebre sa sada dogovorenim simbolima:

Aksiomi BOOLE algebre
I. II. III. IV. V. VI. VII. VIII. IX. x + y ∈ L, x + x = x, x + y =y + x, (x + y) + z = x + ( y + z), x + (x ⋅ y) = x, x ⋅(y + z ) = (x ⋅ y) + (x ⋅ z), x + 1 = 1, x ⋅ 0 = 0, 0 ≠1. x ⋅ y ∈ L, x’, y’, z’ ∈ L; x ⋅ x = x; x ⋅ y = y ⋅ x; (x ⋅ y) ⋅ z = x ⋅( y ⋅ z); x ⋅ (x + y ) = x; x + (y ⋅ z ) = (x + y) ⋅ (x + z); x ⋅1 = x; x + 0 = x;

BOOLE-ove funkcije
Broj preslikavanja oblika B2 → B je konačan: skup sa 4 elementa možemo preskikati na (u) skup sa 2 elementa na svega 16 različita načina ( B = {0,1} ):
1 2 3 4 5 6 7 16 15 14 13 12 11 10 8 9 9 8 10 11 12 13 14 15 16 7 6 5 4 3 2 1

p q
0 0 1 1 0 1 0 1

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

Očevidno, izlišno je proučavati sve kolone, jer su kolone 16 – 1 negacije odgovarajućih kolona 1 – 16. Uočavamo sledeće: 2. kolona je poznata operacija konjunkcije – logičko množenje, 8. kolona je logičko sabiranje (disjunkcija). 1. kolona je konstantno preslikavanje na 0, i zato nije interesantna. 4 i 6 kolona takodje nije „uzbudljiva” jer nisu prave operacije sa dve promenljive: zavise samo od jedne ulazne vrednosti (samo od p ili samo od q). Lako se dokazuje tvrdjenje, da sve ostale operacije možemo izraziti upotrebom logičkog sabiranja, logičkog množenja i sa jednom operacijom jedne promenljive: negacijom Ispravnije rečeno: po toj teoremi je dovoljna samo jedna operacija sa dve promenljive i negacija za izražavanje svih ostalih operacija sa dve promenljive. Medjutim takva redukcija dovodi do preterane dužine i prostijih logičkih izrazail, pa zato zadržimo se na primeni navedene dve operacije sa dve promenljive i negacije.

4.4.1. BOOLE-ovi izrazi BOOLE-ovi izrazi su: a) b) c) BOOLE-ove konstante 0 i 1, i BOOLE-promenljive: a, b, c,…; Ako su A i B BOOLE-ovi izrazi, tada su BOOLE-ovi izrazi i A+B, A⋅B i A’; BOOLE-ovi izrazi se dobijaju samo na način opisan u tački a. i b.

Elementarni proizvod (konjunkcija) je proizvod konačnog broja BOOLE-ovih promenljivih u afirmativnoj ili negiranoj formi. Elementarna konjunkcija je, naprimer p’⋅ q ⋅ r’⋅ s ⋅ t’, ili ab’c’d. U prvom izrazu smo upotrebili znak operacije, a u drugom smo ga izostavili.

Elementarni zbir (disjunkcija) je zbir konačnog broja BOOLE-ovih promenljivih u afirmativnoj ili negiranoj formi. Elementarna disjunkcija je, naprimer p’ + q + r’ + s + t’, ili a + b’ + c’ + d.

BOOLE-ov izraz je disjunktivna normalna forma, ako i samo je sačinjen od zbira (disjunkcija je) konačnog broja elementarnih proizvoda (konjunkcija), pri čemu sabirci nisu medjusobno implikante. Skraćena oznaka "disjunktivne normalne forme" je DNF. Primeri DNF: a + bc + a’c, pq + p’q’,

x y z + x’ + y’ z’

m Disjunktivna normalna forma je perfektna (savršena)
disjunktivna normalna forma dužine n (PDNF), ako svaki sabirak sadrži svaku od n promenljivih (u afirmativnom ili negiranom obliku). Nekoliko PDNF: sa 3 promenljive: a’b’c’ + a’bc + abc’, sa 4 promenljive: p’qr’s + pq’r’s + p’q’r’s + p’qrs + pqrs Članove PDNF nazivamo i mintermi.

BOOLE-ov izraz je konjunktivna normalna forma, ako i samo ako je proizvod (konjunkcija) konačnog broja elementarnih zbireva (disjunkcija), pri čemu činioci nisu medjusobno implikante. Skraćenica za "konjunktivne normalne forme" je KNF. Nekoliko KNF: a’(b’+c’)( a+ c’) ,

(p+q+r)( p’+q’), (x + y + z) x’ ( y’ + z.’)
Konjunktivna normalna formara je perfektna (savršena) konjuntivna normalna forma dužine n (PKNF) ako i samo ako svaki činilac sadrži kao sabirke svaku od n promenljivih (u afirmativnom ili negiranom obliku). Nekoliko KDNF: sa 3 promenljive: (a’+b’+c’)(a’+b+c)(a+b+c’), 4promenljive:

(p’+q+r’+s)(p+q’+r’+s)(p’+q’+r’+s)(p’+q+r+s)(p+q+r+s)
Činioce PKNF nazivamo maxtermi.

4.4.1.1. Savršene normalne forme BOOLE-ovih izraza BOOLE-ova funkcija je svako preslikavanje tipa Bn → B, gde je B ={1, 0} i n ∈ N. Očevidno, svaka od tih funkcija mora biti zadata na neki način. Neka je način zadavanja tablički. BOOLE-ova funkcija sa n promenljivih ima 2n različite kombinacije vrednosti ulaznih argumenata (od 2 elemenata moguće je sačiniti 2n varijacija n-te klase sa ponavljanjem). Ove varijacije možemo da nabrojimo na različite načine, ali radi obezbedjenja iscrpljivanja svih mogućnosti odaberimo rastući redosled binarnih vrednosti od (0, 0, 0, … , 0) do (1, 1, 1, … , 1).

Data je tabela BOOLE-ove funkcije f(x1, x2, x3, …, xn) :

x1
0 0 ... 1 1

x2
0 0 ... 1 1

x3
0 0 ... 1 1 ... ... ... ... ...

xn-2
0 0 ... 1 1

xn-1
0 0 ... 1 1

xn
0 1 ... 0 1

f(x1, x2, x3, …, xn) f(0,0,0,…,0,0,0) f(0,0,0,…,0,0,1) ... f(1,1,1,…,1,1,0) f(1,1,1,…,1,1,1)

Zadatak je: sačiniti BOOLE-ov izraz čije se vrednosti poklapaju sa vrednostima date funkcije. U formiranju tog izraza važnu ulogu imaju sledeće činjenice i oznake: a1 = a i ao = a’ Bez dokaza navodimo teoremu po kojoj se formiraju PDNF odnosno PKNF za BOOLE-ove funkcije zadate tabličkim načinom. Svaka tablički zadata BOOLE-ova funkcija f(x1, x2, x3,…, xn) moguće je zapisati na sledeći način: PDNF: PKNF:
a a a ...∑f (a1, a2,...,an ) ⋅ x11 ⋅ x22 ⋅...⋅ xnn f(x1, x2, x3,…, xn) = ∑∑ a1 a2 an

f(x1, x2, x3,…, xn) =. ∏∏ ∏( f (a , a ,...,a ) + x
...
1 2 n a1 a2 an

′ a1 1

a a′ + x2 2 + ... + xn n

)

Jednostavni primer za BOOLE-ov izraz sa 3 promenljive: Tabela vrednosti „nepoznatog” izraza i formiranje PDNF:
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 1 0 1 0 0 1

f(a,b,c) = = f (0,0,0) ⋅ ao ⋅ bo ⋅ co + f (0,0,1) ⋅ ao ⋅ bo ⋅ c1 + + f (0,1,0) ⋅ ao ⋅ b1 ⋅ co + f (0,1,1) ⋅ ao ⋅ b1 ⋅ c1 + + f (1,0,0) ⋅ a1 ⋅ bo ⋅ co + f (1,0,1) ⋅ a1 ⋅ bo ⋅ c1 + + f (1,1,0) ⋅ a1 ⋅ b1 ⋅ co + f (1,1,1) ⋅ a1 ⋅ b1 ⋅ c1 = = 0 ⋅ a’ ⋅ b’ ⋅ c’ + 1 ⋅ a’ ⋅ b’ ⋅ c + 1 ⋅ a’ ⋅ b ⋅ c’ + + 0 ⋅ a’ ⋅ b ⋅ c + 1 ⋅ a ⋅ b’ ⋅ c’ + 0 ⋅ a’⋅ b’ ⋅ c + + 0 ⋅ a ⋅ b ⋅ c’ + 1 ⋅ a ⋅ b ⋅ c = = a’ ⋅ b’ ⋅ c + a’ ⋅ b ⋅ c’ + a ⋅ b’ ⋅ c’ + a ⋅ b ⋅ c.

Prvi proizvod u PDNF odredjuje se na osnovu pridruživanja (0,0,0)→0 na sledeći način: f (0,0,0) ⋅ao⋅bo⋅co , drugi proizvod je na osnovu (0,0,1)→1 ima sledeći oblik: f (0,0,1)⋅ao⋅bo⋅c1 , itd. Na kraju ti proizvodi se saberu.

PKNF iste funkcije formira se na sledeći način:
Svakoj kombinaciji ulaznih vrednosti odgovara jedan elementarni zbir. Pridruživanje (0, 0, 0) → 0 odredjuje zbir (f (0,0,0)+a1+b1+c1), pridruživanju (0,0,1)→1 odgovara zbir (f (0,0,1)+a1+b1+co ), itd. Na kraju ove zbirove medjusobno pomnožimo.

f(a,b,c) = = (f (0,0,0) + a1 + b1 + c1) ⋅ (f (0,0,1) + a1 + b1 + co ) ⋅ (f (0,1,0) + a1 + bo + c1) ⋅ ⋅ (f (0,1,1) + a1 + bo + co ) ⋅ (f (1,0,0) + ao + b1 + c1 ) ⋅ (f (1,0,1) + ao + b1 + co ) ⋅ ⋅ (f (1,1,0) + ao + bo + c1 ) ⋅ (f (1,1,1) + ao + bo + co ) = = (0 + a + b + c) ⋅ (1 + a + b + c’ ) ⋅ (1 + a + b’ + c) ⋅ (0 + a + b’ + c’ )⋅ ⋅(1 + a’ + b + c) ⋅ (0 + a’ + b + c’) ⋅(0 + a’ + b’ + c) ⋅ (1 + a’ + b’ + c’)= = (a + b + c)⋅(a + b’ + c’)⋅(a’ + b + c’)⋅(a’ + b’ + c). Zaključak: U PDNF su prisutni samo oni proizvodi kao članovi (mintermi), koji odgovaraju uslovu f(a,b,c) = 1. U PKNF su prisutni samo oni zbirovi kao činioci (maxtermi), koji odgovaraju uslovu f(a,b,c) = 0.

4.4.1.2. Minimalne forme BOOLE-ovih funkcija
Pojednostavljivanje BOOLE-ove funkcije je postupak čiji koraci svode izraz funkcije na jednostavniji izraz, koji ima ekvivalentnu logičku vrednost. Nakon konačnog broja takvih koraka više nije moguće stvoriti još jednostavniji izraz: ne smanjuje se broj disjunktivnih i konjunktivnih komponenti niti se smanjuje broj promenljivih u tim komponentama. Stigli smo do minimalne forme funkcije. Postupak se ne može smatrati sistematskim, jer ga sačinjavaju neki put i intuitivni koraci. često se dešava i to, da funkcija ima više ekvivalentnih minimalnih formi. Iskustveni metodi će pokazati i način iznalaženja tih višeznačnih minimalnih formi. Iz praktičnih razloga se zadržimo na minimalizaciji PDNF BOOLE-ovih funkcija. Algebarska minimalizacija (sada to nije predmet razmatranja) koristi “prošireni” sistem aksioma. Proširenje čine sledeća tri para aksioma:

X. XI. XII.

p + p’ = 1 p + p’ ⋅ q = p + q (p + q)’ = p’ ⋅ q’

i i i

p ⋅ p’ = 0 . p ⋅ (p’ + q) = p ⋅ q. (p ⋅ q)’ = p’ + q’.

Tabelu BOOLE-ove funkcije uvek popunjavamo u rastućem redosledu binarne vrednosti kombinacija ulaznih promenljivih: od (0, 0, 0, … , 0) → f(0, 0, 0, …, 0) do (1, 1, 1, … , 1) → f(1, 1, 1, …, 1). Smatramo li te kombinacije binarnim brojevima, tada kombinaciji (0, 0, 0, … , 0) odgovara 0 u decimalnom brojnom sistemu, a kombinaciji (1, 1, 1, … , 1) odgovara decimalno 2n–1. Za kondenzovani način zapisivanja PDNF date funkcije koristimo takozvanu QUINE-ovu notaciju. Primer:

f(x,y,z,v) = = ∑(0, 1, 3, 7, 10, 13, 15).
znači BOOLE-ovu funkciju koja ima vrednost 1 za one kombinacije ulaznih promenljivih čija decimalna konverzija ima vrednost 0, 1, 3, 7, 10, 13 i 15, tojest:

f(x,y,z,v) = ∑(0, 1, 3, 7, 10, 13, 15).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

p q r s f

0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

1 0 0 1 0

1 0 1 0 1

1 0 1 1 0

1 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 1

PDNF funkcije date ovom tabelom je:

f(x,y,z,v) = x’ y’ z’ v’ + x’ y’ z’ v + x’ y’ z v + x’ y z v + + x y’ z v’ + x y z’ v + x y z v .

4.4.1.3. Minimizacija BOOLE-ovih izraza metodom QUINE-a
Minimizaciju perfeknih (savršenih) disjunktivnih normalnih formi funkcija metodom QUINE-a proučavamo na sledećem primeru. Odrediti minimalnu formu funkcije:

f(x.y,z,v) = ∑(0, 1, 3, 7, 10, 13, 15) = = x’ y’ z’ v’ + x’ y’ z’ v + x’ y’ z v + x’ y z v + x y’ z v’ + + x y z’ v + x y z v .
Sada ćemo ispuniti takozvanu “prvu tabelu” u koju unosimo konjukcije prisutne u PDNF:

1. tabela

i
0 1 3 7 10 13 15

Konjunktivni član

parovi

Uporedimo svaku konjunkciju sa svakom drugom, i u koloni “parovi” sa obeležimo parove koji razlikuju se isključivo u stanju jedne jedine promenljive. Primećujemo, da kombinacija 10 ostala “sama”. Ispunimo sada drugu tabelu sa zajedničkim delovima pronadjenih parova!

x’ y’ z’ v’ x’ y’ z’ v x’ y’ z v x’ y z v x y’ z v’ x y z’ v xyzv

---

Očevidno, primenjuje se tautologija A B + A B ’ = A (B + B ’) = A.

2. tabela

U prvoj fazi ostala je jedna jedina prosta implikanta to je konjunkcija koja odgovara kombinaciji 10 x y’z v’.

i,j
0,1 1,3 3,7 7,15 13,15

Konjunktivni član

parovi -----------

x’ y’ z’ x’ y’ v x’ z v yzv xyv

U drugoj fazi je uparivanje proizvoda je neuspešno. Da li to znači da je svaka od njih “nezamenljiva prosta implikanta”? Svakako, to nije slučaj! QUINE-ova minimizacija to pitanje rešava u drugoj fazi, pomoću jedne druge tabele.

U slučaju uspešnog uparivanja parove bi ustrojili u treću tabelu, i samo nakon nemogućnosti daljeg nastavka bi prešli na drugu fazu.

Tabela druge faze:

0 1 3 x’y’z’v’ x’y’z’v x’y’zv x y’z v’ x’y’z’ * * x’y’v * * x’z v * yzv xyv -

7 x’yzv * * -

10 xy’zv’ * -

13 xyz’v’ *

15 xyzv * *

Implikante dobijaju po jednu vrstu. U prvu vrstu upisujemo implikantu iz 1. tabele (vrednost 10) a u ostale vrste upisujeme sve implikante iz 2. tabele. Obeležimo sada sa * poreklo implikante u odgovarajućoj koloni. U prvoj vrsti samo u koloni sa oznakom 10 stavljamo *, jer samo taj član sadrži tu implikantu. U vrsti stavljamo * u kolonu 0 i 1 (to se da pročitati iz tabele 2.), u trećoj vrsti * je u koloni 1 i 3 , itd.

Primećujemo, da neki mintermi imaju i više “naslednika” dok neki imaju samo jednog. Ti jedini naslednici su “nezamenljivi”. Ove implikante su elementarne ili proste implikante! Obeležimo ih sa . Sledimo li ovaj tok misli, zadržimo implikantu x’y’z’ koja zamenjuje članove 0 i 1. Odmah se uočava, da je treća implikanta (možda) suvišna. Nastavimo tako dalje! Implikante koje su “zamenljive” prepoznajemo tako, što u svakoj koloni potrebno je smestiti tačno jedan znak . U pogledu vrsta: ako u nekom smo morali upotrebiti jedanput, tada ga upotrebljavamo u svakoj koloni, gde je prisutna *. Implikante koje uopšte nisu dobile znak * jesu suvišne, jer originalni term je “zamenila” neka druga implikanta. Prema tome, možemo izostaviti članove x’y’v i y z v. Minimalna forma funkcije f koju smo zadali na početku primera je:

f = x y’z v’ + x’y’z’ + x’z v + x y v

4.4.1.4. Minimizacija BOOLE-ovih izraza KARNAUGH-ivim metodom
Metod KARNAUGH-a u suštini ima iste karakteristike kao metod QUINE-a: Korake, koji se zasnivaju na logičkim zakonima, obuhvata u tabele i na taj način ceo postupak čini preglednijim i “opipljivijim”. KARNAUGH-ov grafički postupak minimizacije je primenljiv na funkcije sa najviše 6 promenljivih, medjutim mi prikazujemo, i primenjujemo ga na funkcije sa najviše 4 promenljivih. Primenu na funkcije sa pet i šest promenljivih slušaoci mogu proučavati u zbirci zadataka [Perišić] iz predložene liste. Posmatramjmo sledeće tri tabele koje prikazuju mintermove sa dve, tri i četiri promenljive uvrštene u tabele po strogo odredjenim principima.

b b’

a ab ab’

a’ a’b a’b’

a c c’ abc abc’ b

a’ ab’c a’b’c a’bc ab’c’ a’b’c’ a’bc’ b’ b

Mintermi sa dve promenljive

Mintermi sa tri promenljive

a c abcd’ abcd abc’d abc’d’ b ab’cd’ ab’cd ab’c’d a’b’cd’ a’b’cd a’b’c’d

a’ a’bcd’ a’bcd a’bc’d d’ d d’

c’

ab’c’d’ a’b’c’d’ a’bc’d’ b’ b

Mintermi sa četiri promenljive

PDNF date funkcije (sa 2,3 ili 4 promenljive) tim tabelema se prikazuje na sledeći način: polje koje “pripada” prisutnom mintermu obeležimo znakom . Prikažimo sledeću funkciju upotrebom te tabele!

f(p,q,r,s) = p’q’r’s + p’q r’s + p’q r s’ + +p q’r’s’ + p q’r s + p q r’s’ + p q r’s.

p r

p’ s s’

r’ q q’ q

s

Izuzetno je važan pojam bazičnog četvorougla. Bazični četvorougao je skup takvih susednih polja, kod kojih svaki je obeležen sa znakom a zajedno čine formaciju jednog pravougaonika ili kvadrata. Bazični četvorouglovi su ili disjunktne oblasti, ili se delimično preklapaju. Ne smatraju se bazičnim četvorouglovima polja, koja zadovoljavaju zahteve za bazične četvorouglove, ali se celi nalaze unutar drugog bazičnog četvorougla. Bazični četvorouglovi mogu biti sledeće oblasti: a) jedno pojedinačno polje, b) dva susedna polja (horizontalno ili vertikalno), c) četiri susedna polja u nizu (horizontalno ili vertikalno), d) četiri susedna polja u okviru kvadrata 2×2, e) osam polja u pravougaoniku 4×2 (horizontalno ili vertikalno). f) šesnaest polja u kvadratu 4×4.

Za formiranje bazičnih četvorouglova moramo imati u vidu još jednu činjenicu: tabelu treba smatratu omotačem valjka, pa mogu biti susedna polja i kvadrati na levom i desnom rubu tabele, kao i na gornjem i na donjem rubu tabele. Nije teško uočiti, da kod susednih polja se uvek pokazuje razlika samo u stanju jedne promenljive. Prema tome na susedne mintermove važi zakon AB + AB’ = A . Ako su dva susedna minterma prisutna u PDNF date funkcije, tada se oni mogu zameniti jednom njihovom implikantom. Svi bazični četvorouglovi predstavljaju po jednu imlikantu, zajednički deo mintermova koji su prisutni u četvorouglu, izostavljajući promenljive, koje se nalaze u različitim stanjima. Cilj: pokriti svako obeleženo polje sa minimalnim brojem bazičnih četvorouglova. To znači dimenzije tih četvorouglova treba da su najveće u datim okolnostima. Konačno pokrivanje nije uvek jednoznačno, ali sve dobijene forme (koliko ih ima), jesu minimalne i ravnopravne.

1. PRIMER: Minimizirati KARNAUGH-ovim metodom funkciju

F(a,b,c,d) = ∑(0, 1, 2, 6, 8, 10, 11, 12) = = a’b’c’d ’+ a’b’c’d + a’b’c d ’ + a’b c d ’ + + a b’c’d ’ + a b’c d ’ + a b’ c d+ a b c’ d ’ a c a’ d d’ c’ b b’ b d

F (a,b,c,d) = a b’c + a’c d’ + a c’ d ’ + a’b’c’

2. PRIMER: Minimizirati KARNAUGH-ovim metodom funkciju

G(p,q,r,s) =∑(3,4,6,7,9,11,12,14,15) = = p’q’r s + p’q r’s’ + p’q r s’+ p’q r s + +p q’r’s + p q’r s + p q r’s’ + p q r s’ + p q r s p r p’ s s’ r’ q q’ q s

G(p,q,r,s) = p q’s + r s + q s’

4.4.2. GRAFIČKO PREDSTAVLJANJE OPERACIJA BOOLE-OVE ALGEBRE
Neki od standardizovanih znakova za predstavljanje operacija BOOLE-ove algebre prikazani su na sledećoj slici:

X X Y X Y X Y X Y

Y

"NOT" → negacija: Y = X '

Z

"OR" →disjunkcija: Z = X +Y

Z

"AND" →konjunkcija: Z = X ⋅ Y

Z

"NOR" →negirana disjunkcija: Z = (X +Y)'

Z

"NAND" →negirana konjunkcija: Z = X ⋅ Y

4.4.3. BOOLE-OVI IZRAZI I LOGIČKA KOLA
Prikažimo logičko kolo potpune PDNF i minimalizovane forme sledeće dve funkcije upotrebom simbola datih na prethodnoj strani: a)

H(a,b,c) = a’b’c’ +a’bc’ +a’bc +abc Hmin(a,b,c) = a’c’ + b c .
b)

F(p,q,r,s) = p’q’r’s’ + p’q r’s’ + p q’r’s’ + p q r’s’ + p q r s.

Fmin(p,q,r,s) = r’s’ + p q r s.

a

a)

b c

Hmin

H

p

b)

q r s

Fmin

F

Kontrolna pitanja:
1. Šta su logički iskazi? 2. Kako se formira disjunkcija dva iskaza? 3. Kako se formira konjunkcija dva iskaza? 4. Šta je negacija jednog iskaza? 5. Šta podrazumevamo pod BOOLE-ovim izrazom? 6. U pogledu kombinatorike, koliko postoji BOOLE-ovih funkcija sa dve promenljive? 7. Koje BOOLE-ove funkcije sa dve promenljive se nalaze u opštoj upotrebi? 8. Navedite aksiome BOOLE-ove algebre. 9. Šta se podrazumeva pod pojmom disjunktivne normalne forme BOOLE-ove funkcije sa više promenljivih?

Kontrolna pitanja (2):
10. Šta se podrazumeva pod pojmom konjunktivne normalne forme BOOLE-ove funkcije sa više promenljivih? 11. Koji BOOLE-ov izraz je perfektna (savršena) disjunktivna normalna forma? 12. Koji BOOLE-ov izraz je perfektna (savršena) konjunktivna normalna forma? 13. Koji se osnovni principi primenjuju prilikom minimizacije BOOLE-ovih izraza? 14. Navedite Vama poznate postupke minimizacije! 15. Šta znači princip minimalnog pokrivanja u primeni Karnaughovog metoda? 16. Koji su osnovni simboli za predstavljanje logičkih operacija?

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->