Uvod u programiranje Uvod u programiranje Programiranje 1 Programiranje 1 Poglavlje 1 Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET Uvod u računala, Microsoft.NET i VB.NET (Dio Dio 1 od 2 od 2): ): Računalni programi i programski jezici Računalni programi i programski jezici 1 Originalne Originalne Originalne Originalne Originalne Originalne Originalne Originalne slideove slideove slideove slideove slideove slideove slideove slideove izradio: izradio: izradio: izradio: izradio: izradio: izradio: izradio: Teo Teo Teo Teo Teo Teo Teo Teo Žuljević Žuljević Žuljević Žuljević Žuljević Žuljević Žuljević Žuljević, , , , , , , , dipl dipl dipl dipl dipl dipl dipl dipl. ing. . ing. . ing. . ing. . ing. . ing. . ing. . ing. teo.zuljevic [email protected]fesb.hr Računalni programi i programski jezici Računalni programi i programski jezici dr dr dr dr dr dr dr dr. . . . . . . . sc sc sc sc sc sc sc sc. Josip Musić . Josip Musić . Josip Musić . Josip Musić . Josip Musić . Josip Musić . Josip Musić . Josip Musić jmusic [email protected]fesb.hr
74
Embed
Uvod u programiranje Programiranje 1 - racunarstvo550.xyz. semestar/Programiranje 1/Predavanja... · Cjeloviti ispit Studenti koji nisu položili kolokvije pristupaju cjelovitom ispitu
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Uvod u programiranjeUvod u programiranjeProgramiranje 1Programiranje 1
Poglavlje 1Poglavlje 1
Uvod u računala, Microsoft.NET i VB.NETUvod u računala, Microsoft.NET i VB.NET ((DioDio 11 od 2od 2):):
Računalni programi i programski jeziciRačunalni programi i programski jezici
Računalni programi i programski jeziciRačunalni programi i programski jezici
drdrdrdrdrdrdrdr. . . . . . . . scscscscscscscsc. Josip Musić. Josip Musić. Josip Musić. Josip Musić. Josip Musić. Josip Musić. Josip Musić. Josip Musićjmusicjmusic@@fesb.hrfesb.hr
Pravila igrePravila igre
Obavezna predavanja i vježbe
Uvjeti za pristupanje završnom ispitu: >70% prisutnosti na predavanjima>70% prisutnosti na predavanjima>70% prisutnosti na predavanjima>70% prisutnosti na predavanjima
100% odrađenost vježbi (moguća 1 nadoknada100% odrađenost vježbi (moguća 1 nadoknada100% odrađenost vježbi (moguća 1 nadoknada100% odrađenost vježbi (moguća 1 nadoknada ukolikoukolikoukolikoukoliko je je je je gornjigornjigornjigornji uvijetuvijetuvijetuvijet ispunjenispunjenispunjenispunjen) ) ) )
Kolokviji - ispiti tijekom predavanja kojima se može
2
Kolokviji - ispiti tijekom predavanja kojima se može osloboditi dijela ili cijelog ispita
nisu obavezni, ali ih toplo preporučujem
Više o kolokvijima malo kasnije …
IspitiIspitni rokovi i uvjeti prema Statutu FESB-a (dostupni na stranicama e-Learning portala pod Glavnim izbornikom)
Fond sati i sadržajFond sati i sadržajFond sati tjedno
4 sata predavanja (ponedjeljkom B401 – 14:15-18:00)
2 sata auditornih (četvrtkom A242 – 18:15-20:00h) i 3 sata laboratorijskih vježbi (Uto 17:45-20:00, Sub 8:00-12:30)
svi materijali (ne samo za laboratorijske vježbe) su svi materijali (ne samo za laboratorijske vježbe) su dostupni putem FESBdostupni putem FESB--ovog eovog e--leraningleraning portalaportala
upis u grupe putem ankete na eupis u grupe putem ankete na e--learninglearning portalaportala
Ponavljači: mogu a ne moraju ponovno pohađati Ponavljači: mogu a ne moraju ponovno pohađati laboratorijske vježbe (odluka je obavezujuća)laboratorijske vježbe (odluka je obavezujuća)
7
laboratorijske vježbe (odluka je obavezujuća)laboratorijske vježbe (odluka je obavezujuća)
laboratorijske vježbe vodlaboratorijske vježbe vodii kolege Davor Rakočević kolege Davor Rakočević magmag. ing. . ing.
položen laboratorij je uvjet za upis ocjene odnosno položen laboratorij je uvjet za upis ocjene odnosno polaganje kolegijapolaganje kolegija
nešto više i enešto više i e--learninglearning portalu malo kasnije….portalu malo kasnije….
Auditorne vježbe Auditorne vježbe
zamišljeni kao nadopuna/priprema laboratorijskih zamišljeni kao nadopuna/priprema laboratorijskih vježbivježbi
nema gotovih materijala već se prilagođava vašim nema gotovih materijala već se prilagođava vašim željama i napredovanjuželjama i napredovanju
nema grupanema grupa
8
nema grupanema grupa
obavezno obavezno prisustvoprisustvo u iznosu od 70%u iznosu od 70%
Ponavljači: mogu a ne moraju ponovno pohađati Ponavljači: mogu a ne moraju ponovno pohađati auditorne vježbe (trebaju se javiti nastavniku s auditorne vježbe (trebaju se javiti nastavniku s odlukom)odlukom)
auditorne vježbe vodauditorne vježbe vodii kolege Andrija kolege Andrija SommerSommer magmag. . ing. ing.
KolokvijiKolokviji
svi kolokviji tijekom semestraprvi kolokvij nakon 7 tjedna nastave(17.11.-29.11.2014.)
drugi kolokvij nakon 13 tjedna nastave (26.01.-06.02.2015).
Uvjet za pozitivnu ocjenu je pozitivna ocjena iz
9
Uvjet za pozitivnu ocjenu je pozitivna ocjena iz laboratorijskih vježbi, te min. 45% bodova na svakom od međuispita.
VAŽNA NAPOMENA:VAŽNA NAPOMENA:VAŽNA NAPOMENA:VAŽNA NAPOMENA:
položeni kolokviji vrijede samo za prva dva ispitna položeni kolokviji vrijede samo za prva dva ispitna položeni kolokviji vrijede samo za prva dva ispitna položeni kolokviji vrijede samo za prva dva ispitna roka (tj. ne vrijede za popravni ispitni rok u rujnu).roka (tj. ne vrijede za popravni ispitni rok u rujnu).roka (tj. ne vrijede za popravni ispitni rok u rujnu).roka (tj. ne vrijede za popravni ispitni rok u rujnu).
Konačna ocjenaKonačna ocjena
Ocjena na završnom ispitu (u postocima) formira se na Ocjena na završnom ispitu (u postocima) formira se na temelju temelju relativnogrelativnog nanačina ocjenjivanja (čina ocjenjivanja (GaussovaGaussovakrivulja)krivulja)
• Ocjena se formira prema Pravilniku o studijima i sustavustudiranja, Članak 21.:
10
studiranja, Članak 21.:
• 15% najboljih dobiva ocjenu 5(izvrstan),35% sljedećih ocjenu 4(vrlo dobar),35% sljedećih ocjenu 3(dobar),i posljednjih 15% ocjenu 2(dovoljan).
•• Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog Ocjena se formira tek na kraju zimskog
roka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjenaroka kada bude poznata distribucija ocjena
•• Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun Nužno ispuniti minimalne uvijete da bi se ušlo u izračun distribucijedistribucijedistribucijedistribucijedistribucijedistribucijedistribucijedistribucije
Završni ispitZavršni ispit
Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na Polažu se dijelovi gradiva koji nisu položeni na međuispitimameđuispitimameđuispitimameđuispitimameđuispitimameđuispitimameđuispitimameđuispitima (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna (kolokvijima) i utvrđuje se konačna ocjena ocjena ocjena ocjena ocjena ocjena ocjena ocjena
Za predmet zimskog semestra završni ispiti se Za predmet zimskog semestra završni ispiti se održavaju u dva ispitna termina zimskog ispitnog održavaju u dva ispitna termina zimskog ispitnog roka.roka.
11
održavaju u dva ispitna termina zimskog ispitnog održavaju u dva ispitna termina zimskog ispitnog roka.roka.
Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu Završni ispit je obavezan za sve studente koji nisu položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)položili oba kolokvija (međuispita)
Cjeloviti ispitCjeloviti ispit
Studenti koji nisu položili kolokvije pristupaju Studenti koji nisu položili kolokvije pristupaju cjelovitom ispitucjelovitom ispitu
Završni ispit se sastoji od: 10 (i više) pitanja + Završni ispit se sastoji od: 10 (i više) pitanja + zadatak na računalu (zadatak na računalu (UVJETUVJET: 50 % odgovora na : 50 % odgovora na pitanja i uspješno riješen zadatak na računalu)pitanja i uspješno riješen zadatak na računalu)
12
Studenti koji nisu uspješno položili završni ispit Studenti koji nisu uspješno položili završni ispit mogu ga polagati na mogu ga polagati na popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan)popravnom ispitu (rujan). .
u rujnu u rujnu SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK SAMO JEDAN ROK ((maxmax. ocjena dovoljan . ocjena dovoljan (2)) (2)) –– relativno ocjenjivanjerelativno ocjenjivanje
Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj Ako predmet nije položen u tekućoj akademskoj godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.godini mora se ponovo upisati.
LiteraturaLiteratura
Sasvim dovoljno (ne i obavezno!)Sasvim dovoljno (ne i obavezno!)T.Žuljević: “Uvod u programiranje T.Žuljević: “Uvod u programiranje –– VB.NET”, Sveučilište VB.NET”, Sveučilište u Splitu, Split 2007.u Splitu, Split 2007.
H. M. Deitel, P. J. Deitel, and T. R. Nieto: “ Visual H. M. Deitel, P. J. Deitel, and T. R. Nieto: “ Visual Basic.NET How to Program” , Prentice Hall, 2002.Basic.NET How to Program” , Prentice Hall, 2002.
22222222 Računalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jeziciRačunalni programi i programski jezici
11 Pregled .NET platformePregled .NET platforme
20
11 Pregled .NET platformePregled .NET platforme
11 VisualVisual Studio Studio .NET.NET IDE IDE (demo)(demo)
PregledPregledŠŠto je računalo?to je računalo?
arhitektura računala (memorija, I/O, CPU ...)arhitektura računala (memorija, I/O, CPU ...)
bitovi i bajtovibitovi i bajtovi
Računalni programi i programski jeziciRačunalni programi i programski jezici
Što je računalni program?Što je računalni program?
Programski jeziciProgramski jezicistrojni jezicistrojni jezici
asemblerski jeziciasemblerski jezici
21
asemblerski jeziciasemblerski jezici
jezici visoke razinejezici visoke razine
razvoj programskih jezikarazvoj programskih jezika
Povijest Visual BasiPovijest Visual Basicc--aa
Visual Basic Visual Basic dotdot NETNET
Programski pristupiProgramski pristupi
NestrukturiranoNestrukturirano
ProceduralnoProceduralno
ModularnoModularno
Objektno usmjerenoObjektno usmjereno
Pogonjeno događajimaPogonjeno događajima
Što je računalo?Što je računalo?
Moderna računala su elektronički uređaji koji koriste Moderna računala su elektronički uređaji koji koriste električne signale i krugove za predstavljanje, obradu i električne signale i krugove za predstavljanje, obradu i pomicanje podataka.pomicanje podataka.
Obavlja izračunavanja i donosi odluke milijardu puta brže od čovjeka.Obavlja izračunavanja i donosi odluke milijardu puta brže od čovjeka.
SRAM (SRAM (StaticStatic RAM), DRAM (RAM), DRAM (DynamicDynamic RAM) RAM) –– svaka arhitektura ima svaka arhitektura ima svoje prednosti i nedostatkesvoje prednosti i nedostatke
UpisnoUpisno--ispisna memorija za pohranu ispisna memorija za pohranu instrukcija i podataka.instrukcija i podataka.
Brzi pristup, relativno mali kapacitetBrzi pristup, relativno mali kapacitetkapacitet pohrane se mjeri u GB kapacitet pohrane se mjeri u GB ((gigabytesgigabytes))
prosječan današnji PC ima 2prosječan današnji PC ima 2--4 GB RAM4 GB RAM--aa
Informacije se privremeno pohranjuju u Informacije se privremeno pohranjuju u
25
Informacije se privremeno pohranjuju u Informacije se privremeno pohranjuju u RAM nakon čega su dostupne za obradu.RAM nakon čega su dostupne za obradu.
kada se isključi napon, svi podaci pohranjeni kada se isključi napon, svi podaci pohranjeni u RAM su trenutno i trajno izgubljeniu RAM su trenutno i trajno izgubljeni
sadržaj RAMsadržaj RAM--a mora biti ponovno učitan pri a mora biti ponovno učitan pri svakom pokretanju računalasvakom pokretanju računala
Što ako nema dovoljno RAMŠto ako nema dovoljno RAM--a?a?Virtualna memorija Virtualna memorija –– prostor tvrdog diska kao prostor tvrdog diska kao proširenje RAMproširenje RAM--a.a.
koristi raspoloživi prostor tvrdog diska koristi raspoloživi prostor tvrdog diska
nije brza kao RAMnije brza kao RAM
Omogućuje računalima bez dovoljno radne memorije da Omogućuje računalima bez dovoljno radne memorije da izvode velike programe.izvode velike programe.
Poput RAMPoput RAM--a, postaje nedostupna a, postaje nedostupna isklopomisklopom napajanja.napajanja.
26
Poput RAMPoput RAM--a, postaje nedostupna a, postaje nedostupna isklopomisklopom napajanja.napajanja.
Sadrži instrukcije napisane od proizvođača i Sadrži instrukcije napisane od proizvođača i nedohvatljive korisniku koje se koriste za nedohvatljive korisniku koje se koriste za podizanje sistema.podizanje sistema.
Sistemska memorijaSistemska memorija
BIOS BIOS –– sistemska podrška u PC sistemska podrška u PC (personal computer)(personal computer)
27
BIOS BIOS –– sistemska podrška u PC sistemska podrška u PC (personal computer)(personal computer)
Nadzire tok instrukcija i podataka kroz CPU.Nadzire tok instrukcija i podataka kroz CPU.
Interpretira naredbe programa i proizvodi električne Interpretira naredbe programa i proizvodi električne signale u drugim dijelovima sistema.signale u drugim dijelovima sistema.
Ne izvodi instrukcije već usmjerava ostale resurse Ne izvodi instrukcije već usmjerava ostale resurse sistema da izvedu operacije.sistema da izvedu operacije.
32
Ne izvodi instrukcije već usmjerava ostale resurse Ne izvodi instrukcije već usmjerava ostale resurse sistema da izvedu operacije.sistema da izvedu operacije.
Pribavlja instrukcije iz RAMPribavlja instrukcije iz RAM--a, prevodi ih pomoću a, prevodi ih pomoću dekodera, koristi registri za privremenu pohranu i dekodera, koristi registri za privremenu pohranu i komunicira sa RAMkomunicira sa RAM--om i ALU.om i ALU.
Komunicira s ostalim dijelovima CPUKomunicira s ostalim dijelovima CPU--a preko a preko sabirnica.sabirnica.
CPU i RAMCPU i RAM
33
Kako radi upravljačka jedinica?Kako radi upravljačka jedinica?1. Uzima
instrukciju
iz RAM-a i
spušta je u
registar
instrukcija.
2. RAM
adresa
instrukcije
se čuva u
pokazivaču
instrukcija.
34
3. Upravljačka
jedinica
interpretira
instrukcije u
registru
instrukcija.
4. Upravljačka
jedinica
ukazuje ALU da
izvede
operaciju.
Izvoñenje instrukcijaIzvoñenje instrukcija1. OS šalje instrukcije i
tvrdi disk, disketa, kompaktni disk (CDtvrdi disk, disketa, kompaktni disk (CD--ROM), optički pogon, ROM), optički pogon, digitalni videodisk (DVD), zip pogon ...digitalni videodisk (DVD), zip pogon ...
Koristi se za spremanje programa i podataka kada se Koristi se za spremanje programa i podataka kada se oni ne obrađuju.oni ne obrađuju.
Podaci i programi će biti sačuvani nakon isključivanja Podaci i programi će biti sačuvani nakon isključivanja
36
Podaci i programi će biti sačuvani nakon isključivanja Podaci i programi će biti sačuvani nakon isključivanja napona.napona.
Memorija velikog kapaciteta Memorija velikog kapaciteta (mass storage memory)(mass storage memory)
Sporiji pristup podacima (u odnosu na RAM)Sporiji pristup podacima (u odnosu na RAM)
Nije direktno povezan sa procesoromNije direktno povezan sa procesorom
Jeftiniji MB diska od MB RAMJeftiniji MB diska od MB RAM--aa
Usporedba cijene i brzineUsporedba cijene i brzine
37
I/O jedinicaI/O jedinica
Ulazna jedinica Ulazna jedinica -- prihvatna sekcija računala.prihvatna sekcija računala.Informacije dostavlja drugim jedinicama računala radi Informacije dostavlja drugim jedinicama računala radi obrade.obrade.
tipkovnica, miš, kuglica za praćenje, palica za igru, svjetlosna olovkatipkovnica, miš, kuglica za praćenje, palica za igru, svjetlosna olovka
Izlazna jedinica Izlazna jedinica –– otpremna sekcija računala.otpremna sekcija računala.Informacije obrađene u CPU dostavlja izlaznim uređajima.Informacije obrađene u CPU dostavlja izlaznim uređajima.
zaslon, printer, ploterzaslon, printer, ploter
zvučnicizvučnici
modemmodem
......
Bitovi i bajtoviBitovi i bajtoviRačunala rade s binarnim vrijednostimaRačunala rade s binarnim vrijednostima
Binarna vrijednost Binarna vrijednost –– skup bitova: bit 0 ili 1skup bitova: bit 0 ili 11001 je 41001 je 4--bitna vrijednostbitna vrijednost
11100010 je 811100010 je 8--bitna vrijednostbitna vrijednost
Bit Bit –– najmanja jedinica informacije u računalunajmanja jedinica informacije u računalupredstavlja jedan el. krugpredstavlja jedan el. krug
39
predstavlja jedan el. krugpredstavlja jedan el. krug
Bajt Bajt (byte)(byte) ili oktet ili oktet –– skup od 8 bitovaskup od 8 bitovaosnovna riječ digitalnih računalaosnovna riječ digitalnih računala
Računala predstavljaju Računala predstavljaju brojčane podatke sa binarnim brojevnim sustavom (baza brojčane podatke sa binarnim brojevnim sustavom (baza 2) korištenjem znamenki 0 i 12) korištenjem znamenki 0 i 1
znakove sa UNICODE, ASCII, ... kodovimaznakove sa UNICODE, ASCII, ... kodovima
SI prefiksiSI prefiksiNekada su se koristili (ili se još koriste) SI prefiksi poput Nekada su se koristili (ili se još koriste) SI prefiksi poput kilokilo (K)(K),, megamega (M) (M) iliili gigagiga (G)(G). Budući je 2. Budući je 21010 = 1024, K je za binarne vrijednosti imao značenje = 1024, K je za binarne vrijednosti imao značenje 1024, umjesto 1000 (101024, umjesto 1000 (1033) kao što je uobičajeno za SI standard. ) kao što je uobičajeno za SI standard.
Sljedeća tablica sadrži pojmove koji su se pridruživali binarnim Sljedeća tablica sadrži pojmove koji su se pridruživali binarnim vrijednostima. Svaki sljedeći prefiks je umnožen sa 1024 (2vrijednostima. Svaki sljedeći prefiks je umnožen sa 1024 (21010). ).
Jedinica Kapacitet
40
Jedinica Kapacitet
kilo (K) 210=1024 bajtova
mega (M) 220= 1.048.576 bajtova
giga (G) 230= 1.073.741.824
tera (T) 240= 1.099.511.627.776
peta (P) 250 = 1.125.899.906.842.624
exa (E) 260= 1.152.921.504.606.846.976
IEEE 1541IEEE 1541IEC IEC ((International Electrotechnical CommissionInternational Electrotechnical Commission) 1998. usvaja binarne prefikse ) 1998. usvaja binarne prefikse kibikibi, , mebimebi, , gibigibi, , tebitebi, , pebipebi, , expiexpi za predstavljanje umnoženih binarnih veličina. za predstavljanje umnoženih binarnih veličina. Kasnije dodani Kasnije dodani zebizebi ii yobiyobi..
1998. 1998. BIPMBIPM ((International Bureau of Weights and MeasuresInternational Bureau of Weights and Measures) koja održava SI ) koja održava SI standard je objavila da se SI prefiksi odnose na potencije po bazi 10 i da se ne bi standard je objavila da se SI prefiksi odnose na potencije po bazi 10 i da se ne bi trebali koristiti za označavanje binarnih umnožavanja. Prema preporuci, 1 trebali koristiti za označavanje binarnih umnožavanja. Prema preporuci, 1 kilobit je sada 1000 a ne više 1024 bita.kilobit je sada 1000 a ne više 1024 bita.
2005. je objavljen 2005. je objavljen IEEE 1541IEEE 1541 standard (standard (Institute of Electrical and Electronics Institute of Electrical and Electronics EngineersEngineers) koji donosi prefikse za binarne vrijednosti prema tablici.) koji donosi prefikse za binarne vrijednosti prema tablici.
41
Jedinica Kapacitet
Bit (b) Binarna znamenka 0 ili 1
Bajt (B) 8 bitova
Kibi (Ki) 210=1024 B
Mebi (Mi) 220= 1.048.576 B
Gibi (Gi) 230= 1.073.741.824 B
Tebi (Ti) 240= 1.099.511.627.776 B
Bitovi i bajtovi Bitovi i bajtovi (nastavak)(nastavak)
Svaki bajt se locira preko adreseSvaki bajt se locira preko adrese64 MB (MiB) RAM64 MB (MiB) RAM--aa
1001001167.108.863
Memorijska
adresa
Memorijski
sadržaj
42RAM se sastoji od binarnih dijelova veličine bajtaRAM se sastoji od binarnih dijelova veličine bajta
10110001
9
9
9
00010001
10110101
67.108.862
0
1
3
3
3
Bitovi i bajtovi Bitovi i bajtovi (brojevni sustavi)(brojevni sustavi)
• pozicijski brojevni sustavi:• heksadecimalni (baza broj 16),• dekadski (baza broj 10),• oktalni (baza broj 8),• binarni (baza broj 2).
• prikaz broja 1239 u svim pjedinim pozicijskim brojevnim sustavima
Bitovi i bajtovi Bitovi i bajtovi (brojevni sustavi (brojevni sustavi -- pretvorba)pretvorba)
Dekadski � Binarni (broj se dijeli s bayom 2 i bilježi se ostatak koji je 0 i 1; dijeljenje završava s kvocijentom 0)
53:2 = 26 ostatak 126:2 = 13 ostatak 013:2 = 6 ostatak 16:2 = 3 ostatak 03:2 = 1 ostatak 11:2 = 0 ostatak 1
1101011101011101011101012222
44
Hekcadecimalni � Binarni (broj se pretvara u binarni tako da se svaka znamenka heksadecimalnog broja zamjeni
odgovarajućim 4-bitnim ekvivalentom)
• više o ovoj temi će biti na auditornim vježbama
917E16 = 1001 0001 0111 1110 2
9999 1111 7777 E=14E=14E=14E=14
Bitovi i bajtovi Bitovi i bajtovi (osnove binarne aritmetike)(osnove binarne aritmetike)
Binarno zbrajanje sa i bez prijenosaBinarno zbrajanje sa i bez prijenosaBinarno zbrajanje sa i bez prijenosaBinarno zbrajanje sa i bez prijenosa
• prijenos se ostvaruje nakon 2 (tj. 1 +1 ) prijenos se ostvaruje nakon 2 (tj. 1 +1 ) prijenos se ostvaruje nakon 2 (tj. 1 +1 ) prijenos se ostvaruje nakon 2 (tj. 1 +1 ) –––– slično kao kod dekadskog slično kao kod dekadskog slično kao kod dekadskog slično kao kod dekadskog gdje se prijenos ostvaruje nakon 10gdje se prijenos ostvaruje nakon 10gdje se prijenos ostvaruje nakon 10gdje se prijenos ostvaruje nakon 10
• djelomičan umnožak se pomiče za jedno mjesto ulijevo pri svakom uzimanju djelomičan umnožak se pomiče za jedno mjesto ulijevo pri svakom uzimanju djelomičan umnožak se pomiče za jedno mjesto ulijevo pri svakom uzimanju djelomičan umnožak se pomiče za jedno mjesto ulijevo pri svakom uzimanju idućeg množitelja. idućeg množitelja. idućeg množitelja. idućeg množitelja. 5 x 10 = 50 � 101
1010---------------
000 101
000101
-----------------------110010 (50)
Računalni programi i Računalni programi i programski jeziciprogramski jezici
Računalni programiRačunalni programiŠto je računalni program?Što je računalni program?
Sistemski programiSistemski programioperativni sistemioperativni sistemi
pogonski programi za uređaje pogonski programi za uređaje (device driver)(device driver)
uslužni programiuslužni programi
46
uslužni programiuslužni programi
jezični prevoditeljijezični prevoditelji
Aplikativni programiAplikativni programi
Programski jeziciProgramski jezicistrojnistrojni
asemblerskiasemblerski
jezici visoke razinejezici visoke razine
razvoj programskih jezikarazvoj programskih jezika
Povijest Visual BasicaPovijest Visual Basica
VB.NETVB.NET
Što je računalni program?Što je računalni program?
Skup instrukcija koje određuju računalu način rješenja Skup instrukcija koje određuju računalu način rješenja problema.problema.
Skup instrukcija se naziva izvornim kodom Skup instrukcija se naziva izvornim kodom (source code)(source code)..
Sintaksu instrukcija određuje programski jezik.Sintaksu instrukcija određuje programski jezik.
Dvije široke grupe programa:Dvije široke grupe programa:sistemski programisistemski programi
aplikativni programiaplikativni programi
Sistemski programiSistemski programiPozadinski programi koji pomažu računalu upravljati Pozadinski programi koji pomažu računalu upravljati njegovim vlastitim resursima.njegovim vlastitim resursima.Određuju:Određuju:
gdje će programi biti pohranjenigdje će programi biti pohranjenikako se izvode instrukcijekako se izvode instrukcijegdje se snimaju datotekegdje se snimaju datotekekako se rukuje memorijomkako se rukuje memorijom......
48
......
Podjela sistemskih programaPodjela sistemskih programaOS (operativni sistem)OS (operativni sistem)pogonski programi za uređajepogonski programi za uređajeuslužni programiuslužni programijezični prevoditeljijezični prevoditelji
kompajlerikompajleriinterpreteriinterpreteri
Omogućavaju aplikacijskim programima interakciju sa Omogućavaju aplikacijskim programima interakciju sa računalnim sklopovljem.računalnim sklopovljem.
“Ljepenka” između sklopovlja i aplikacije.“Ljepenka” između sklopovlja i aplikacije.
Skup programa koji upravljaju bitnim sistemskim Skup programa koji upravljaju bitnim sistemskim resursima:resursima:
upravljanje memorijomupravljanje memorijom
upravljanje datotekamaupravljanje datotekama
I/O upravljanjeI/O upravljanje
motrenje aktivnosti sistemamotrenje aktivnosti sistema
OSOS
49
motrenje aktivnosti sistemamotrenje aktivnosti sistema
zaštita sistemazaštita sistema
……
Stotine operativnih sistemaStotine operativnih sistema
Specijalizirani programi koji rade sa OSSpecijalizirani programi koji rade sa OS--om kako bi om kako bi omogućili komunikaciju između perifernih ili omogućili komunikaciju između perifernih ili internih uređaja i ostatka fizičkog sistema.internih uređaja i ostatka fizičkog sistema.
Učitavaju se u memoriju prilikom svakog pokretanja Učitavaju se u memoriju prilikom svakog pokretanja računala.računala.
51
Prilikom dodavanja novog uređaja obično potrebno Prilikom dodavanja novog uređaja obično potrebno dodati pripadajući pogonski program uređaja dodati pripadajući pogonski program uređaja (driver).(driver).
Jezični prevoditeljiJezični prevoditelji
Prevode programske jezike u računalni (binarni) Prevode programske jezike u računalni (binarni) jezik.jezik.
Razlikuju se:Razlikuju se:kompajlerikompajleri
interpreteriinterpreteri
52
interpreteriinterpreteri
asembleriasembleri
Aplikativni programiAplikativni programi
Programska podrška koju krajnji korisnik koristi za Programska podrška koju krajnji korisnik koristi za obavljanje općenitog ili specifičnog zadatka.obavljanje općenitog ili specifičnog zadatka.
skuplje od upakiranih aplikacijaskuplje od upakiranih aplikacija
fleksibilnije fleksibilnije
Programski jeziciProgramski jezici
Sve aplikacije su nastale korištenjem nekog od programskih Sve aplikacije su nastale korištenjem nekog od programskih jezika.jezika.
Stotine programskih jezika danas u upotrebiStotine programskih jezika danas u upotrebisamo nekoliko u širokoj upotrebi (C,C++,C#,VB6,VB.NET,Java ...)samo nekoliko u širokoj upotrebi (C,C++,C#,VB6,VB.NET,Java ...)
Računalni programski jezici:Računalni programski jezici:strojni jezici (machine languages)strojni jezici (machine languages)
54
asemblerski jezici (assembly languages)asemblerski jezici (assembly languages)
jezici visoke razine (highjezici visoke razine (high--level languages)level languages)
………..
00000
01010
11110
01010
………..
…………....
c = a * a;
b = c + b;
…………….
Programski jezik
niske razine
(machine-level)
Programski jezik
visoke razine
Strojni jezikStrojni jezik
Prirodni jezik računala definiran Prirodni jezik računala definiran sklopovskim dizajnom.sklopovskim dizajnom.
jezik niske razinejezik niske razine
jedini direktno razumljiv računalujedini direktno razumljiv računalu
CPU je dizajniran za CPU je dizajniran za interpretiranje skupa binarnih interpretiranje skupa binarnih
primjer binarnog kodaprimjer binarnog koda
0100110011101001101010101000111000001111
55
interpretiranje skupa binarnih interpretiranje skupa binarnih naredbinaredbi
težak za razumijevanje težak za razumijevanje programeruprogrameru
Asemblerski jezikAsemblerski jezikkorak iznad strojnog jezikakorak iznad strojnog jezika
jezik niske razinejezik niske razine
umjesto 0 i 1 koriste se mnemoniciumjesto 0 i 1 koriste se mnemoniciza zbrajanje ADDza zbrajanje ADD
za pomicanje MOVza pomicanje MOV
za programera jednostavniji za pisanjeza programera jednostavniji za pisanje
56
za programera jednostavniji za pisanjeza programera jednostavniji za pisanjei dalje teški za razumijevanjei dalje teški za razumijevanje
nerazumljivi za CPUnerazumljivi za CPUassembler assembler –– program za prevođenjeprogram za prevođenje
primjer asemblerskog kodaprimjer asemblerskog koda
Računalo razumije jedino vlastiti strojni jezik (0 i 1)Računalo razumije jedino vlastiti strojni jezik (0 i 1)potreban prevoditelj (kompajler) radi prevođenja jezika visoke potreban prevoditelj (kompajler) radi prevođenja jezika visoke razine u strojni jezikrazine u strojni jezik
Prvi pristup: kompajliranje izvornog koda u izvršni kod Prvi pristup: kompajliranje izvornog koda u izvršni kod ili dinamičku biblioteku.ili dinamičku biblioteku.
58
………..
00000
01010
11110
01010
………..
…………....
c = a * a;
b = c + b;
…………….
Source code Target code
Compiler
Vrijeme prevođenja Vrijeme izvođenja
Program output
InterpreteriInterpreteri
…………....
Program input
Drugi pristup: svaka linija koda programa se “prevodi” Drugi pristup: svaka linija koda programa se “prevodi” (interpretira) u strojni jezik i neposredno izvodi.(interpretira) u strojni jezik i neposredno izvodi.
59
…………....
c = a * a
……………..
Source code
Program output
Interpreter
Vrijeme izvođenja
Abstract machine
Usporedba interpretera i kompajleraUsporedba interpretera i kompajlera
KompajlerKompajlerVrijeme prevođenja je odvojeno od vremena Vrijeme prevođenja je odvojeno od vremena izvođenjaizvođenja
Svaki prevedeni kod se može izvesti neograničen broj Svaki prevedeni kod se može izvesti neograničen broj puta.puta.
Nije moguće mijenjati program “Nije moguće mijenjati program “on the flyon the fly”.”.
60
Nije moguće mijenjati program “Nije moguće mijenjati program “on the flyon the fly”.”.
IInterpreternterpreterVrijeme prevođenja uključeno u vrijeme Vrijeme prevođenja uključeno u vrijeme izvođenjaizvođenja
Interpretira svaki izraz za vrijeme izvođenja.Interpretira svaki izraz za vrijeme izvođenja.
Moguće dinamički mijenjati ponašanje programa.Moguće dinamički mijenjati ponašanje programa.
Razvoj programskih jezikaRazvoj programskih jezika
C++C++
JavaJava
20002000--ee
8080--ee
9090--ee
61
5050--ee FortranFortran
CobolCobol
BASICBASIC
CC
PascalPascal
C++C++
6060--ee
7070--ee
8080--ee
Visual BasicVisual Basic
Microsoft Visual Basic Microsoft Visual Basic –– pojavio se 1991pojavio se 1991“Visual” “Visual” –– vizualni način stvaranja grafičkog korisničkog sučelja vizualni način stvaranja grafičkog korisničkog sučelja (GUI)(GUI)
samo jedan glavni programsamo jedan glavni program
globalni podaciglobalni podaci
glavni program
66
problem sa sekvencama istih naredbiproblem sa sekvencama istih naredbirješenje rješenje –– okrupnjavanje na jednom mjestuokrupnjavanje na jednom mjestu
Dijeljenje problema u manje blokove ili procedure koje Dijeljenje problema u manje blokove ili procedure koje komuniciraju međusobno jedna sa drugomkomuniciraju međusobno jedna sa drugom..
zajedničke sekvence programa grupirane na jedno mjestozajedničke sekvence programa grupirane na jedno mjesto
smanjen broj pogrešakasmanjen broj pogrešaka
67
glavni programpodaci
procedura1 procedura2procedura3
Problemi sa proceduralnim Problemi sa proceduralnim programiranjemprogramiranjem
Procedure imaju neograničen pristup globalnim podacima.Procedure imaju neograničen pristup globalnim podacima.
Velik broj potencijalnih veza između procedura i podatakaVelik broj potencijalnih veza između procedura i podatakasve je povezano sa svačimsve je povezano sa svačim
nema jasnih granicanema jasnih granica
otežano mijenjanje i održavanje programa
68
nemoguća ponovna iskoristivost procedura u drugim projektima
globalni podatak Y
Procedura A
lokalni podaci
Procedura B
lokalni podaci
Procedura C
lokalni podaci
globalni podatak X globalni podatak Z
Modularno programiranjeModularno programiranje
program podijeljen u manje dijeloveprogram podijeljen u manje dijelove
međusobna komunikacija preko procedurameđusobna komunikacija preko procedura
uključuje i kod i podatkeuključuje i kod i podatke
C++, Java, C#, VB.NETC++, Java, C#, VB.NET
70
objekt1podaci
objekt2podaci
objekt3podaci
objekt4podaci
Programiranje pogonjeno Programiranje pogonjeno dogañajimadogañajimaU proceduralnim programima, program kontrolira redoslijed U proceduralnim programima, program kontrolira redoslijed izvođenja izvođenja (programer)(programer)
U programima upravljanim događajima, izvođenje je određeno U programima upravljanim događajima, izvođenje je određeno nastalim događajima nastalim događajima (korisnik)(korisnik)
klik mišemklik mišem
pritisak tipke tipkovnicepritisak tipke tipkovnice
71
Klik na dugme
Unos teksta
Odabir iz izbornika
Klik na formu
Zatvaranje aplikacije
Pritisak kombinacije tipki ALT + T
pritisak tipke tipkovnicepritisak tipke tipkovnice