Upload
brunelleschi1993
View
252
Download
0
Embed Size (px)
Citation preview
7/23/2019 ORIP 1 Uvodno Predavanje
1/45
Osnove raunalstva i
programiranjeZrinka Vidovi-Tisani
7/23/2019 ORIP 1 Uvodno Predavanje
2/45
Gdje se sve nalazeraunala?
Nadziru proizvodnju i prijenosenergije, sustave distribuije vode,plina, TV programa!
Omoguavaju tele"onski i internetskipromet, ali i nadziru promet naestama, #eljeznikom i tramvajskim
prugama, sema"oriziranimraskri#jima, letove avionima,pomorski promet!$
%
7/23/2019 ORIP 1 Uvodno Predavanje
3/45
& automobilima se nalazi oko '(mikroproesora)
*+& *ngine +ontrol &nit nadzire rad motora .odul zranog jastuka /nstrument ploa
.odul klima ure0aja 123 modul .odul kontrole zano4enja
.odul kontrole prijenosa .odul distribuije snage na kotae !$$
5
7/23/2019 ORIP 1 Uvodno Predavanje
4/45
6uanski ure0aji
7ladnjai iledenie
od 899:,3ada su i
internetizirani
;
7/23/2019 ORIP 1 Uvodno Predavanje
5/45
7/23/2019 ORIP 1 Uvodno Predavanje
6/45
1 ne mo#emo izbjei ni)
=erilie rublja =erilie posu0a
&sisavai =ei za entralno grijanje! Televizori
!!$
>
7/23/2019 ORIP 1 Uvodno Predavanje
7/45
o4 uvijek nismo spomenuli)
3tolno raunalo Notebook
Tablet 3martp@one =@ablet
A
Zato nam
treba
7/23/2019 ORIP 1 Uvodno Predavanje
8/45
Baunalstvo
=oznavanje naina "unkioniranja raunala Bazumijevanje vrste i raspona problema
koje raunalom mo#emo rije4iti
3posobnost analize ti@ problema kako bi i@se prevelo u niz smisleni@ postupaka kojeraunalo mo#e izvr4iti da bi rije4ilo
problem =riprema odgovarajui@ podatakasvojstveni@ problemu
:
7/23/2019 ORIP 1 Uvodno Predavanje
9/45
Znanje
Ceklarativno znamo da je
/mperativno
znamo izraunati
Znanje ima ovjek, astroj ima sposobnost
provedbe naredbi9
2 1.41421=
2
7/23/2019 ORIP 1 Uvodno Predavanje
10/45
Dovjek koristi svoje znanjeda bi)
CeEnirao problem Odluio o nainu njegovog rje4avanja =odijelio rje4enje na niz manji@, laganiji@
koraka =reveo te korake u jezik razumljiv
raunalu
Bije4io problem pomou raunala =rovjerio rje4enje problema Omoguio da se tako mogu rije4iti slini
problemi 8(
7/23/2019 ORIP 1 Uvodno Predavanje
11/45
Osnovna gra0a raunala
88
Von Neumann (Princeton) graa Harvard graa
7/23/2019 ORIP 1 Uvodno Predavanje
12/45
Temeljne karaketristike za3tored =rogram +omputer
Baunalo je ope namjene sautomatskim izvo0enjem programa
/ma mogunost po@rane podatakaulazni@, me0urezultata i rezultata
3lijed instrukija je po@ranjen
.ogua je komunikaija s okolinomulazno-izlazne jedinie
8%
7/23/2019 ORIP 1 Uvodno Predavanje
13/45
=rogram
=rogram je niz instrukija namijenjenrje4avanju pojedinanog ili slo#enog
problema 3klapa se od niza mali@ jelina tzv$Primitivesakoje moraju imati toan redoslijed
.ora u potpunosti biti izvediv raunalom,stoga ima stroga pravila 6oristi podatke u digitalnom obliku
85
7/23/2019 ORIP 1 Uvodno Predavanje
14/45
1lgoritmi i kompjuterski nainrazmi4ljanja
8;
7/23/2019 ORIP 1 Uvodno Predavanje
15/45
6valitete algoritma
6oristi poetnu vrijednost Navodi redoslijed odre0eni@ naredbi za
izvr4enje =rovjerava tonost rje4enja 1ko ona nije dostignuta, ponavlja
pstupak 1ko je tonost dostignuta, zavr4ava
postupak
8'
7/23/2019 ORIP 1 Uvodno Predavanje
16/45
Od algoritma do programa
6ad postupke deEnirane algoritmomnapi4emo u obliku naredbi razumljivi@raunalu imamo programski kod$
=rogramski kod mora proi nekoliko "azaprovjere prije postizanja izvedbene verzije Fprograma koji rje4ava na4 problem naodre0enim podaima
& ovisnosti o problemu, algoritmu ipodaima biramo jezik naredbi programskijezik
8>
7/23/2019 ORIP 1 Uvodno Predavanje
17/45
=rogramski jezik
/zvodei slijed naredbi na proizvoljnomskupu podataka proizvest e rezultatizrauna$
Namijenjen komunikaiji s raunalom /ma rjenik, pravopis, gramatiku
sintaksu i semantiku
&i se kao i svaki drugi jezik &glavnom krute strukture Naje4e temeljeni na engleskom jeziku
8A
7/23/2019 ORIP 1 Uvodno Predavanje
18/45
ingvistika programskogjezika
=ravopis
3intaksa 3emantika ) statika
dinamika
8:
7/23/2019 ORIP 1 Uvodno Predavanje
19/45
Bjenik i pravopis programskogjezika
3vaki programski jezik koristi odre0en"ond rijei s tono odre0enimznaenjem$ To su rijei jednostavnog
engleskog jezika ija pojava uprogramskom kodu pokree izvr4enjeprimitives-a.
1ko rijei nisu pravopisno tone nisuniti prepoznate, 4to znai da se neizvr4avaju
89
7/23/2019 ORIP 1 Uvodno Predavanje
20/45
3intaksa programskog jezika
=rogramski su jezii opremljeniosiroma4enom gramatikom F sintaksom- koja se bavi redoslijedom rijei u
programskoj reenii$ =rogramska reenia je naje4e jedan
redak programskog koda
& reenii moraju postojati sviunaprijed zadani elementi$ & protivnomimamo gre4ku sintakse- 3HntaI error
%(
7/23/2019 ORIP 1 Uvodno Predavanje
21/45
3emantika programskogjezika
3vaki niz naredbi programskog kodamora imati znaenje, logian i toanredoslijed reenia namijenjeni@
izvr4enju programskog zadatka$ Zbirnoto zovemo semantika tonost$
Naredbe programskog koda koje su
pro4le provjeru sintaktike tonostiprovjeravaju se na semantiku tonost$
%8
7/23/2019 ORIP 1 Uvodno Predavanje
22/45
=aziteJ
3emantika i sintaktika tonost odnosese na programski kod, a ne na tonostkori4tenog algoritma$
=rogram mo#e biti sintaktiki isemantiki toan, dakle ispravnokomuniira s raunalom i navodi ga na
postupke ispravnim redoslijedom, a dasam rezultat nije zadovoljavajui jer jedo4lo do gre4ke u postavljanju algoritma$
%%
7/23/2019 ORIP 1 Uvodno Predavanje
23/45
o4 korak do programskogjezika
Nakon odabira jezika i pismaprogramskog jezika, postavljanja
rjenika, sintakse i utvr0ivanjasemantike, naredbe na4e tvorevinenamijenjene obradi podataka moraju
proi jo4 jednu, izuzetno va#nu stepeniuna putu prema programskom jeziku
%5
7/23/2019 ORIP 1 Uvodno Predavanje
24/45
Turingova potpunost
=ravila za rad s podaima su Turingpotpuna pa se zovu programski jezik akkomogu simulirati jednostavan Turingov stroj$
1lan Turing 898%$-89';$)3ve naredbe programskog jezika mogu seizvesti pomou > osnovni@ naredbi u koje
se prevode) Z*BO /K /N+B*.*NT GOTO
C*+B*.*NT 71TL3TO= %;
7/23/2019 ORIP 1 Uvodno Predavanje
25/45
Turingov stroj 895:$
jednostavan apstraktan ure0aj prilago0enda simulira logiku bilo kojeg raunalnogalgoritma
stroju se pomou niza simbola mo#e zadatinaredba za izvr4avanje bilo koje zadae
/stra#uje granie mogunosti izraunavanjaraunalnim algoritmima
%'
7/23/2019 ORIP 1 Uvodno Predavanje
26/45
=rogramski jezii
podjela
=o slo#enosti) 7/G7LOM level =o namjeni) opiLiljani
=o nainu provedbe)interpreteriLevaluatori
%>
7/23/2019 ORIP 1 Uvodno Predavanje
27/45
Ni#i programski jezii lo level
=ogodniji za raunalo, ali ljudima nespretnii mukotrpni
3trojni jezii 1ssembleri
%A
8B542408 83FA00 0!B800000000"383 FA020! B80#0000
mov ed$%&e'8*cm ed$% 0+a ,-mov ea$% 0ret
Programiran+e .a ogon /ardare1a% +ao i.u inarnom odu
7/23/2019 ORIP 1 Uvodno Predavanje
28/45
%:
Vii
rogram'i+e.ici
6a.iu+emo7ive (ativne)9gro:ene;.umreora+u 'e reve'tiu 'tro+ni od% a uinarni od?
7/23/2019 ORIP 1 Uvodno Predavanje
29/45
=ovijest programski@ jezika
KOBTB1N 89'; /3= 89':
+O2O 89'9 213/+, =L889>;
ogo 89>: =asal 89A(
+ 89A%+ 89:(=Ht@on, Visual2asi 8998
ava, ava3ript,Celp@i 899'
+P %((8
%9
7/23/2019 ORIP 1 Uvodno Predavanje
30/45
Opi i iljani programskijezii
Opi) sve probleme jednako jelakoLte4ko rije4iti, neovisni su o vrstiraunala i operativnom sustavu
2asi, =Ht@on, =erl, +, + +iljani) pisani za rje4avanje posebne
vrste problemaKOBTB1N, +O2O, 7askell "unkijski,
Visual 2asi graEka,+oQ dokazivanje teorema
5(
7/23/2019 ORIP 1 Uvodno Predavanje
31/45
=aradigme obrasiprogramiranja
3trojni i asemblerski jezii =roeduralni imperativni jezii +,
=asal, Kortran Objektno orijentirani+, ava, +P Kunkionalni jezii isp, 3@eme, .,
KP, 7askell ogiki orijentirani jezii =rolog Vizualno programiranje Visual +, Visuit
58
=rema elementima koji su primarni programeru kodpisanja programa
7/23/2019 ORIP 1 Uvodno Predavanje
32/45
6riteriji za vrednovanjeprogramski@ jezika
.atematika apstraktnostdirektan zapis algoritma programskim
jezikom
6ompjuterska apstraktnostdirektna kontrola raunala
Bazumljivost za korisnika
jednostavnost uenja i upotrebe5%
7/23/2019 ORIP 1 Uvodno Predavanje
33/45
=odjela po nainu provedbe
*valuatori)
55
Program'i od'adr:i 've ini+e
rograma
@+etni od ;.vrni (?e$e) od
Compile%rov+era 'inta'e
Link%rov+era 'emantie
/nterpreteri)io ii c+einarogram'ogoda
;.vrni od iorada
Prov+era 'inta'e i
'emantie
7/23/2019 ORIP 1 Uvodno Predavanje
34/45
Vrednovanje programa
- testiranje programa-
=rogram vrijedi onoliko koliko su toni i
preizni rezultati obrade podataka =ravu evaluaiju mo#e provesti samo
ovjek-korisnik na pravom skupu
podataka =ostupak mo#e trajati godinama pa i
desetljeima
5;
7/23/2019 ORIP 1 Uvodno Predavanje
35/45
=odai
& raunalstvu)digitalizirane in"ormaije u
tekstualnom, slikovnom, audio ivideo obliku
& programiranju)varijable, konstante i instrukije
5'
7/23/2019 ORIP 1 Uvodno Predavanje
36/45
KOBTB1N
"ree donload)
@ttp)LL"ore$leps@$om
7/23/2019 ORIP 1 Uvodno Predavanje
37/45
KOBTB1N
*ngleski al"abet od %> znakova$Bijei jednostavnog engleskog jezika$
Nisu dozvoljeni dijakritiki znakovi, aspeijalni simboli imaju posebnu svr@u=ostoje tzv$ rezervirane rijei)
=BOGB1., 3&2=BOGB1., C/.*N3/ON,B*1, /NT*G*B, CO, /K, *NC, *NC/K,+ONT/N&*, B*T&BN, K&N+T/ON!
5A
7/23/2019 ORIP 1 Uvodno Predavanje
38/45
KOBTB1N
V1B/12* i 6ON3T1NT*
Opa podjela)
N&.*B/D6*OG/D6* F posebno se najavljuju
deklariraju3TB/NGOV/ F KOBTB1N nije namijenjen radus njima, ali i@ tolerira i prepoznaje
5:
7/23/2019 ORIP 1 Uvodno Predavanje
39/45
KOBTB1N
N&.*B/D6* V1B/12* i 6ON3T1NT*
Bazlikuju se po tipu)jelobrojne,realne,
realne dvostruke tonosti,kompleksnekompleksne dvostruke tonosti
59
7/23/2019 ORIP 1 Uvodno Predavanje
40/45
Tip numerike varijable
Ope pravilo impliitna deklaraija tipa)=oetno slovo /.*N1 varijable automatskiodre0uje tip)
B*1) slova 1-7 te O-Z karakterizira i@ de$toka/NT*G*B) slova /, , 6, , ., N
3vi ostali tipovi, neovisno o imenu, morajuse deklarirati
;(
7/23/2019 ORIP 1 Uvodno Predavanje
41/45
Odabir imena
6orisno je imena varijabli odabiratilogiki i asoijativno
&vodei novu varijablu postavimo/N/& 6O.*NT1B1 sa detaljnim opisom
1ko u imenu ne4to nije dozvoljeno,editor ili ompiler e se pobuniti
;8
7/23/2019 ORIP 1 Uvodno Predavanje
42/45
Naredbe pridru#ivanja133/GN*.*NT
/.*RV1B/12* S 31CB1
Npr$ U8S8:$inkrementS-%povrsinaSabL%$korakSm-nL%
;%
B*CO3/*C /ZVB
7/23/2019 ORIP 1 Uvodno Predavanje
43/45
B*CO3/*C /ZVB
7/23/2019 ORIP 1 Uvodno Predavanje
44/45
H;C6A6H;A 6AD9NE;H@PC6A";A
#? ;.ra.i u .agradama
2? Funci+e% otenci+e3? >no:en+e% di+e+en+e4?
7/23/2019 ORIP 1 Uvodno Predavanje
45/45
dvije varijable- neovisno o
programskom jeziku1S 2S=omona T*.=)1S 2S T*.=S1S 2S T*.=S
1S 2S T*.=ST*.= je sada suvi4an)1S 2S