19
Računari i programiranje Pitanja i odgovori 1. Definicija i sastavni dijelovi računarskog sistema INFORMATIKA (information technology) – nauka koja izučava strukturu, obradu i prenos informacija. RAČUNARSTVO (computer science) nauka koja se bavi računarskim hardverom i softverom te teorijom računanja. RAČUNAR (računarski sistem) je elektronski sistem koji obrađuje ulazne podatke ili informacije (INPUT) i proizvodi iz njih nove ili izlazne podatke (OUTPUT) prema prethodno definisanoj proceduri - programu. PROGRAM: Skup naredbi (instrukcija) računaru napisan u nekom od programskih jezika za rješavanje određenog problema. Program definiše koje se operacije, kojim redoslijedom i nad kojim podacima obavljaju. Za vrijeme izvršavanja mora biti unesen u radnu (RAM) memoriju računara. Instrukcije mogu biti unesene u hardveru ili softveru. OS - Kolekcija programa koji omogućavaju rad, komunikaciju i upravljanje hardverskim komponentama, fajlovima i korisničkim aplikacijama. Operativni sistem osigurava sredstva za pravilno korištenje komponenti računarskog sistema (hardver i softver).Obezbjeđuje „user interface“ za korisničke programe. Najpoznatiji operativni sistemi su Microsoft Windows , Linux i Mac OS .

Faruk-pitanja i Odgovori 1 Parcijala Rip

Embed Size (px)

Citation preview

Page 1: Faruk-pitanja i Odgovori 1 Parcijala Rip

Računari i programiranje

Pitanja i odgovori

1. Definicija i sastavni dijelovi računarskog sistema

INFORMATIKA (information technology) – nauka koja izučava strukturu, obradu i prenos informacija. RAČUNARSTVO (computer science) nauka koja se bavi računarskim hardverom i softverom te teorijom računanja. RAČUNAR (računarski sistem) je elektronski sistem koji obrađuje ulazne podatke ili informacije (INPUT) i proizvodi iz njih nove ili izlazne podatke (OUTPUT) prema prethodno definisanoj proceduri - programu.PROGRAM: Skup naredbi (instrukcija) računaru napisan u nekom od programskih jezika za rješavanje određenog problema. Program definiše koje se operacije, kojim redoslijedom i nad kojim podacima obavljaju. Za vrijeme izvršavanja mora biti unesen u radnu (RAM) memoriju računara. Instrukcije mogu biti unesene u hardveru ili softveru.OS - Kolekcija programa koji omogućavaju rad, komunikaciju i upravljanje hardverskim komponentama, fajlovima i korisničkim aplikacijama. Operativni sistem osigurava sredstva za pravilno korištenje komponenti računarskog sistema (hardver i softver).Obezbjeđuje „user interface“ za korisničke programe. Najpoznatiji operativni sistemi su Microsoft Windows, Linux i Mac OS.

2. Hijerarhija računarskog sistema, nivoi Organizacija računarskog sistema: hijerarhijski niz podsistema koji imaju svoju strukturu i komponente.

- Nivoski koncept (računar - struktura sa više nivoa)

- Funkcionalni koncept (računar – sistem sa tri podsistema prema funkcijama)

- Kombinovani koncept

NIVOSKI koncept =računar (današnji, V generacija) je organizacija koja ima 6 nivoa hijerarhije

6- Aplikacioni nivo (korisnička aplikacija = program za konkretan problem, crtanje, obrada teksta...)

Page 2: Faruk-pitanja i Odgovori 1 Parcijala Rip

5- Nivo viših programskih jezika (programiranje, razvoj aplikacija, Fortran,C, Java,C#, C++, prevode (kompajliraju) programske instrukcije za nivo 3 i 4)4- Nivo asemblerskog jezika (prevođenje programskih instrukcija korisnika sa višeg na niži nivo, 1,2,3)3- Operativno-sistemski mašinski nivo (sistemski pozivi i instrukcije nižem nivou, upravljački prekidi)2- Konvencionalno-mašinski nivo (arhitektura CPU, organizacija i skup instrukcija za CPU i druge komponente)1- Nivo mikroarhitekture (složenija logička kola (ALU), dijelovi procesora, magistrala…)0 - Digitalno-logički nivo (hardver,pojedinačne elektroničke komponente, osnovna logička kola i/ili,ne, multiplekseri, polu-sabirači, sabirači, izvršava naredbe u mašinskom jeziku njemu nadređenog nivoa 1)

Prvi računari imali su samo dva nivoa (mašinski i digitalno-logički nivo).

3. Funkcionalna dekompozicija računarskog sistema, podsistemi

Računarski sistem se predstavlja kao sistem komponenti (modula) koje obavljaju specifične funkcije i svaka ima svoju strukturu tj. hijerarhiju. Tri glavna podsistema savremenog računarskog sistema su:

• Centralna procesorska jedinica (CPU – Central Processor Unit). Sastoji se od upravljačke jedinice, koja upravlja radom cjelokupnog računara (CU), magistrale podataka koja sadrži registre, aritmetičko-logičke jedinice (ALU) i druge funkcijske jedinice specijalizovane za pojedine tipove obrade podataka. CPU ima dvije osnovne f-je: vrši elementarne aritmetičke i logičke operacije na podacima i koordinira rad ostalih komponenti sistema. I pored velike složenosti, CPU obavlja samo ELEMENTARNE OPERACIJE (sabiranje ili premiještanje podataka sa jedne na drugu lokaciju). Snaga CPU potiče iz ogromne brzine tj. kratkog vremena obavljanja instrukcija. • Memorijski podsistem. Sačinjen je od specijalizovanih kola sa mogućnošću memorisanja informacije. U memoriji računara čuvaju se

Page 3: Faruk-pitanja i Odgovori 1 Parcijala Rip

program i podaci. Memorija je u stvari skup elementarnih memorijskih lokacija od kojih svaka sadrži 8/16/32/64 bita. Svakoj memorijskoj lokaciji pridružena je jedinstvena adresa.

HIJERARHIJA MEMORIJSKOG SISTEMA:1. Interni registri procesora2. Cash –memorija3. Radna (RAM) memorija4. Magnetna memorija5. Eksterna (optički disk ili magnetna traka, danas postoje eksterni hard diskovi i do 2TB)

• Ulazno-izlazni podsistem. Skup specijalizovanih kola koja služe za spregu CPU sa U/I uređajima, kao što su tastatura, miš, mrežna karta ili displej. Ovo su integrisana kola koja imaju svoju upravljačku jedinicu i magistralu podataka.CPU vidi U/I uređaj kao skup od nekoliko memorijskih lokacija (tzv. registara ili portova). Upisom/čitanjem u/iz ovih lokacija moguće je upravljati radom U/I uređaja.

4. Podjela računarskih sistema prema paralelnosti obrade

Podjela računarskih sistema prema paralelnosti u obradi podataka

(Flynn), prema toku instrukcija i prema toku podataka

SISD – Single Instruction- Single Data (klasični vN računari), 1:1 SIMD – Single Instruction stream-Multiple Data stream (vektorski ili

matrični procesori, specijalizovani za grafiku i numeričke proračune) 1:više MISD- Multiple Instruction Single Data, više:1 MIMD – Multiple Instruction Multiple Data(standardne multiprocesorske

mašine), više:višeZa korištenje multiprocesorskog okruženja potrebno je da je problem rješiv paralelnom procedurom te da softver (aplikacija i OS) podržavaju paralelni rad

5. Brojni sistemi, definicija, osnovne vrste, transformacije iz jednog u drugi

Brojni sistemi predstavljaju način prikazivanja brojeva pomoću niza simbola koji se nazivaju cifre brojnog sistema.

Njime su definisana i pravila za osnovne operacije (aritmetika) nad brojevima.

Page 4: Faruk-pitanja i Odgovori 1 Parcijala Rip

Osnovne vrste brojnih sistema:

Nepozicioni brojni sistem : Jedna cifra ima uvijek istu vrijednost bez obzira na poziciju u zapisu.(Npr. Rimski brojni sistem: I, V, X, L, C, D, M)

Pozicioni brojni sistem: Vrijednost cifre zavisi od njene pozicije u broju.

U računarstvu se široko primjenjuju slijedeća 4 brojna sistema:

DECIMALNI (DEC) BINARNI (BIN) OKTALNI (OCT) HEKSADECIMALNI (HEX)

Prvi računar je razvijen na bazi decimalne aritmetike.

Binarni brojni sistem:

Jednostavni za elektroničku implementaciju U širokoj primjeni od 1949, von Neumann

Pravila binarne aritmetike su ista kao i kod decimalnog sistema.

6. Postupak rješavanja problema primjenom računara

Formulacija problema, Analiza problema, Izbor metoda za rešavanje, algoritam Razvoj programa – pisanje izvornog koda, Kompajliranje izvornog koda Ispitivanje korektnosti programa-testiranje, Izrada dokumentacije, Održavanje i nadogradnja programa

7. Programski jezici, osnovna podjela

PROGRAMSKI JEZICI:

Page 5: Faruk-pitanja i Odgovori 1 Parcijala Rip

Program: Skup naredbi (instrukcija) računaru napisan u nekom od programskih jezika za rješavanje određenog problema. Program definiše koje se operacije, kojim redoslijedom i nad kojim podacima obavljaju.

Svaki programski jezik se sastoji od:

Skupa dozvoljenih znakova (simbola), Ključnih riječi (key words) Sintakse (pravila gramatike), Semantike (značenja naredbe).

Osnovna podjela (prema nivou):

1. Mašinski jezik (binarni) – direktno razumljiv hardverskim komponentama, niz 0/1, najniži nivo

2. Asemblerski jezik – simbolički jezik zavisan od arhitekture sistema, skraceni (simbolički) zapis

3. Viši programski jezik: lako razumljiv programeru, nerazumljiv mašini

8. Algoritam, definicija, načini prikaza

Algoritam: konačni redoslijed operatora, elementarnih obrada i pravila o njihovoj primjeni u cilju dobijanja rješenja nekog problema. Izvođenje svakog operatora predstavlja jedan algoritamski korak.(Uputstvo za rješavanje problema koje se sastoji samo od elementarnih koraka). Uslovi koje algoritam mora zadovoljiti:- definisanost (jednoznačnost, nedvosmislenost),- konačnost i - rezultat.Definisanost: Svaka operacija ili pravilo mora imati definisano i samo jedno značenje, tj. rezultat svake operacije mora biti jednoznačan, nedvosmislen.Konačnost: Svaki korak mora biti takav da bi ga mogao izvesti čovjek, koristeći elementarne postupke, za konačno vrijeme. Algoritmi se moraju zaustaviti poslije izvršenog konačnog broja koraka i u konačnom vremenu.Rezultat: Po završetku algoritma mora postojati mogućnost da se ustanovi

rezultat njegovog rada, odnosno da li je algoritam postigao cilj ili nije.

Page 6: Faruk-pitanja i Odgovori 1 Parcijala Rip

Postoje različite mogućnosti za predstavljanje algoritma, ali najčešće se predstavlja grafički pod imenom dijagram toka programa (flowchart).

Pojedine elementarne akcije prikazane su određenim grafičkim simbolima čime se osigurava jednostavnost, preglednost i jednoznačnost zapisa algoritma. Nacin grafickog prikaza je sljedeci:

9. Algoritam, osnovne strukture, skice

Struktura algoritma: redoslijed izvršavanja pojedinih algoritamskih koraka u algoritmu. tri osnovne algoritamske strukture:

linijska, razgranata i ciklička.

Linijska struktura:Algoritamski koraci se izvršavaju jedan za drugim redoslijedom kojim su napisani.Primjer: Algoritam za zamjenu točka na automobilu

POČETAK Izvadi rezervni točak Olabavi vijke na točku Uzmi dizalicu Podigni auto Odvrni vijke Skini točak Stavi rezervni točak Zavrni vijke Spusti auto

Zategni vijke Spremi dizalicu Spremi skinuti točak KRAJ

Page 7: Faruk-pitanja i Odgovori 1 Parcijala Rip

Razgranata strukturaStruktura algoritma u kojoj tok operacija zavisi od ispunjenosti nekih logičkih uslova

Ciklička struktura - petljeAlgoritamski koraci se ponavljaju više puta. Ako je broj ponavljanja dijela algoritma poznat unaprijed, struktura je konstantna - brojački ciklus, (do petlja)Ako broj ponavljanja nije poznat unaprijed, nego zavisi od ispunjenosti nekog logičkog uslova struktura je promjenljiva (uslovni ciklus). ( do while petlja)

Složene algoritamske strukture:

sastoje se od proizvoljnog broja proizvoljnih kombinacija osnovnih algoritamskih struktura.

Page 8: Faruk-pitanja i Odgovori 1 Parcijala Rip

10. Šta je i šta sadrži IDE ?

Svi programi zajedno čine IDE. Visual Studio u principu izvorni kod moze pisati u bilo kom programu za uređivanje teksta. Te programske cjeline poznatije su pod nazivom integralno razvojno okruženje(engl. IDE).

IDE sadrzi sljedece:*Editor teksta*Kontrola (provjera) sintakse (pravopisa)*Editor resursa (grafika)– upravlja resursima vezanim za program *Biblioteke funkcija*Compiler- čita program napisan u izvornom kodu, te ga prevodi u ciljani ( najčešće u mašinski ) jezik. *Testiranje i optimizacija- fortran IDE omugućava testiranje i optimiziranje koje kreira programer. *Debugger *Pakovanje i instalacija*Izrada HELP-a

11. Koji su koraci u stvaranju programa u Visual Fortran IDE ?

(pitanje moŽe glasit i koraci u stvaranju konzolnog programa u IDE)

Izbor tipa projekta Imenovanje projekta Dodavanje file-a za izvorni code (source code) Pisanje programa Kompilacija Otklanjanje grešaka Izvršenje (execution) Optimizacija Dokumentacija

12. Koje tipove projekata možemo razvijati u Visual Fortran IDE ?

Osnovni tipovi programskih projekata:

Konzolna aplikacija Statička biblioteka Dinamička biblioteka COM server-klijent Windows 32-64 aplikacija

Page 9: Faruk-pitanja i Odgovori 1 Parcijala Rip

13. Šta je deklaracija varijabli, implicitna, eksplicitna ?

DEKLARACIJA: davanje imena (identifikator) i određivanje tipa

INICIJALIZACIJA varijabli – dodjela početnih vrijednosti

REAL:: a=0.0, b=5.0, c=0.45 - deklarišemo varijable a, b i c kao realne i inicijaliziramo njihove vrijednosti

REAL , PARAMETER :: pi=3.141592653589793 , g=9,80665- dodjela parametra, ove vrijednosti se ne mijenjaju, ukoliko bi dodjelili neku drugu vrjednost istoimenoj varijabli kojoj smo dodjelili parametar kompajler bi nam javio grešku.

Implicitno deklarisanje (računar samostalno deklariše varijable): a-h, o-z: su implicitno REAL, i-n: su implicitno INTEGER

Eksplicitno deklarisanje - implicit none (programer deklarise svaku varijablu).

14. Čemu služi komentar ?

Komentar se obilježava znakom ''!'', ranije se koristio znak ''c'' i občno je tekst komentara zelene boje.

Unutar progrma u programskom jeziku FORTRAN dozvoljeni su komentari. Oni ne pretstavljaju naredbe, niti se prevode u mašinski kod a služe za opis programa, varijabli ili naradbi.Komentari programeru olakšavaju orjentaciju u programu, korisno je na samom početku programa napisati komenar koji govori šta radi taj program, jer prilikom otvaranja izvornog koda (od drugih lica, ili nas samih nakon dužeg vremena) imamo napomenu čemu služi taj program.

15. Osnovni tipovi podataka u fortranu, primjeri deklaracije !

U Fortranu postoji 6 suštinskih tipova podataka. Oni se mogu podijeliti u dvije kategorije: numeričke I nenumeričke. Numerički tipovi podataka su: Integer-cijeli brojevi (1,4,7,9…)Real-to su cijeli brojevi koji su u racunaru sastavljeni od dvije komponente npr. (0,1 – 1,0)Double precision-realne vrijednosti koje je sa dvostrukom preciznoscu izostavljeno, mnogo vise mjesta za decimalne nego u Real okruzenju

Page 10: Faruk-pitanja i Odgovori 1 Parcijala Rip

Complex-kompleksniNenumerički podaci su: Character(karakteri)-mogu biti slova, brojevi od 0-9, specijalni znakovi, prazno mjesto Logical (logičke) konstante- (T-true (tacno), F-false (netacno))

16. Šta je konverzija tipa ?

KONVERZIJA TIPA: cjelobrojna varijabla=cjelobrojni izraz ili

realna varijabla = realan izraz

17. Navedi primjer deklaracije i grafički prikaži „select case“ konstrukciju u fortranu.

Jednostavniji oblik rješanjavanja problema viseštruke alternative je metoda odabira slučaja (select case). Otvoreno je nekoliko alternativa ali se samo jedna moze izvršiti. Nakon ovog niza izvršenih instrukcija ide se na kraj strukture.

18. Osnovne prednosti Fortrana u odnosu na druge jezike višeg nivoa.

– jednostavnost, efikasnost, ugrađene funkcije, prilagodljiv format, rasprostranjenost, programske biblioteke, povezanost sa Matlab-om, ansys-om, paralelno programiranje, dokumentacija.

Osnovni nedostatci Fortrana. OO osobine, grafička podrška za windows OS

19. Objasni algoritam sortiranja „bubble sort“.

Select Case (x)

Case (1) Case (2) Case (3) Case (4)

End Select Case

Page 11: Faruk-pitanja i Odgovori 1 Parcijala Rip

Sortiranje pomoću mjehurića temelji se na ideji poređenja svakog elementa polja sa sledećim elementom. Ako elementi nisu u odgovarajućem poretku onda oni zamjene mjesta. Nakon završetka svih usporedbi vrijednosti dva nova polja prvo pronalaze član polja koji ima najveću vrijednost i on ide na posljednju poziciju polja tj postaje posljednji član polja. Proces se nastavlja sve dok svi elementi polja ne budu u odgovarajućem redoslijedu.

20. Objasni algoritam sortiranja umetanjem (insertation).

Sortiranje umetanjem- element niza upoređuje se sa svim ostalim elementima dok se ne pronađe sljedeći manji element. Na taj način element niza se smješta na svoju poziciju u sortiranom dijelu niza.

21. Objasni algoritam sortiranja „QUICK SORT“

Izabere se jedan proizvoljan element, i poređenjem sa ostalim elementima sortira ih tako da svi manji elementi niza budu ispred njega, a veći iza. I ponovljamo korak u manjim podskupovima sve dok nebudu elementi sortirani od najmanjeg do najvećeg elementa. Quick sort je najbrzi algoritam.Primjer:9,5,7,3,6,8,4 - 6 je vodeci clan, a ostali clanovi se razvrstavaju na vece i manje (izabrani clan time dobija svoju konacnu poziciju u nizu)...pa se dobije sljedeci izraz5,3,4, 6 9,7,8 niz se dalje sortira od manjeg ka vecem i dobije se 3,4,5,6,7,8,9.

22. Kompajler, asembler, mašinski jezik – definicije .

U procesu kompajliranja programa (predstavljenog kao proces prevođenja), izvorni program visokog nivoa je transformisan u assembly jezik i onda se assembly jezik prevodi u mašinski kod za ciljanu mašinu od strane asemblera. Ovi prevodi se odvijaju u compile vremenu i assembly vremenu. Rezultirajući objektni program može biti povezan sa drugim objektnim programima u link vremenu. Povezani program, obično pohranjen na disku, je unešen u glavnu memoriju u load vremenu, i izvršen od strane CPU-a u run vremenu.

Page 12: Faruk-pitanja i Odgovori 1 Parcijala Rip

25. Šta je iterativna programska struktura, navedi primjer?

Razlikujemo dvije vrste itereativnih struktura: obična DO petlja i Do WHILE petlja. (opiši i jednu i drugu)

26. Osnovni programski jezici višeg nivoa.

Fortran, Cobol, Algol, Pascal, Basic, SQL, Java, C++, Visual Basic, C#.

27. Osnovne harvedrske komponente ?

Matična ploča, procesor, chipset,radna memorija (RAM), hard disk, video – karta.

33. Objasni kada se koristi i kako se deklarise „do while“ struktura, prikazi skicu i fortranski kod

Fortran 90 ima „DO WHILE“ petlju sljedećeg oblika:DO WHILE (logički izraz) blok naredbiEND DO

DO WHILE petlja se izvodi sve dok je zadovoljen logički izraz u zagradi.Npr. DO WHILE (uslov); Naredba N ..... ; End DO.

34. Objasni i graficki prikazi „IF BLOCK“ konstrukciju, navedi prost primjer primjene

IF BLOK konstrukcija se sastoji od nekoliko blokova. Opšti oblik za konstrukciju je:

Page 13: Faruk-pitanja i Odgovori 1 Parcijala Rip

IF(test_uslov_1)THENBlok naredbi_1ELSEIF(test_uslov_2)THENBlok naredbi_2End IFEnd IF

Ili

IF(test_uslov_1)THENBlok naredbi_1ELSE IF(test_uslov_2)THENBlok naredbi_2End IF

Broj otvorenih blokova mora biti u saglasnosti sa zatvaranjem bloka, odnosno broj IF naredbi mora biti jednak broju End IF naredbi.

35. Kada se koriste petlje , koje vrste imamo u fortranu i pokaži primjer primjene istih

Petlje predstavljaju treći tip struktura programa. Ako se niz naredbi može izvršiti više puta tada se može reći da ove naredbe obrazuju petlju ili cikličnu strukturu. Takođe mora postojati bar jedna naredba koja omogučava izlaz iz ciklusa. Uslov pod kojim se

Page 14: Faruk-pitanja i Odgovori 1 Parcijala Rip

izlazi iz petlje naziva se izlazni kriterij petlje. Na osnovu izlaznog kriterija petlje se dijele na: 1.petlje s brojačem(DO petlje) 2.uslovne petlje (DO WHILE)DO petelju koristimo kada znamo broj ponavljanja nekih isntrukcija. DO WHILE petlja se izvodi sve dok je zadovoljen logički izraz u zagradi.Npr. DO WHILE (uslov); Naredba N ..... ; End DO.

36. Objasni najednostavniji algoritam za pronalaženje najvećeg člana datog brojčanog niza

Algoritam za pronalaženje največeg člana: ova metoda odnosi se na sortiranje niza podataka x sa n brojem elemenata u nerastući poredak. Prvo se nalazi največi element niza i 'dovodi' na prvo mjesto. Zatim se nalazi največi clan od preostalih i prvog i 'dovodi' na drugo mjesto zatim treći itd...

38. Objasni sta je potrebno (koji programski alati) za razvoj programske aplikacije

Program napisan u Fortranu se sastoji od jedne ili više programskih jedinica. Programske jedinice su: glavni program (main program) i programske procedure (function and subroutine), modul i block data.Glavni program (main)[PROGRAM ime][specifikacioni dijelovi][izvršni dijelovi][contains-dijelovi internog potprograma]END[PROGRAM ime]