Programiranje
Marina Štrbac
Što je program?
1
• program je niz naredbi koje se izvode točno određenim
redoslijedom s točno određenim ciljem
 naredba je temeljni dio programa
• programe izrađuju programeri koristeći jedan od ponuđenih
programskih jezika (C++, C, Java, Python itd.)
 stvaraju naredbe za aktivnosti računala koje se pokreću na temelju
korisnikovih akcija (pritiska miša, tipkovnice ili ekrana)
• korisnik komunicira s računalom s pomoću programa
Vrste programa
2
• sistemski programi
 programi koji omogućuju i upravljaju radom računala i aplikacijskih
programa
 operativni sustavi (Windows, Linux itd.), pokretački programi (engl.
driveri)
• aplikacijski programi
 programi koji se dodatno instaliraju na računalo kako bi proširili
funkcionalnost računala
 programi za obradu teksta, programi za izradu prezentacija, mrežni
preglednici, igre itd.
Računalni jezik
3
• jezici koji se koriste u komunikaciji s računalima
• tipovi računalnih jezika:
 programski jezici (Python, C#, C++, Pascal, Java itd.) – koriste se za
izradu računalnih desktop programa i mobilnih aplikacija
 skriptnih jezici (JavaScript, JScript, ActionScript) – koriste se za
izradu interaktivnog sadržaja na internetu (mrežne igre, interaktivne
karte itd.)
 upitni jezici (SQL) – koriste se za komunikaciju s bazom podataka
 jezici za označavanje (HTML, XML) – jezici koji se koriste za
označavanje različitih dijelova ljudskog teksta koje onda računalo s
obzirom na oznaku obradi po zadanim uputama
Programski jezici
4
I.
generacija
• skup ključnih riječ i pravila koje računalo razumije
• generacije programskih jezika:
• strojni jezici
• koriste se samo binarni sustav za komunikaciju (0 i 1)
II.
generacija
• asembler jezici
• numerički kodovi postaju zamijeni riječima (npr. ADD za zbrajanje, MUL za množenje)
• prebacuju se u binarne brojeve, tj. kompajliraju
III.
generacija
•viši programski jezici (dorađena verzija program druge generacije)
•nezavisni su od računala na kojem rade (kod se može prenosit s jednog računala na drugo za rad)
•C#, C++, Python, Ruby, C, Pascal, LOGO, BASIC
IV.
generacija
• npr. upitni jezici za baze podataka
• ne moraju ih nužno koristiti programeri jer su mnogo jednostavniji za rad (jednom naredbom može se dohvatiti ogromna
količina podataka)
niži programski
jezici
5
Program koji zbraja dva broja
6
(c = a + b)
strojni jezik
00100100000
10001001001
01000100100
01000100001
0011
asembler
jezik
LOAD a
ADD b
STORE c
JAVA
c = a+b
Jezični prevoditelji
• interpreteri
 izravno prevode i izvode svaku naredbu programa (red po red) pisanog
u višem programskom jeziku (koriste ih Python i Ruby)
• kompajleri
 prevode programske jezike više generacije (npr. treće) u izvršni kod
(binarni); tijekom prijevoda stvaraju datoteku za pokretanje programa
(.exe) te knjižnice (engl. libraries) gdje je pohranjen dodatan kod za
izvršavanje programa (koriste ih C i C++)
7
kompajler
.exe
nastajanje računalnog programa s pomoću kompiliranja
Primjena popularnih računalnih jezika
8
• izrada mobilnih aplikacija
 Java (Android), Swift (iOS), C++, C# (Windows phone)
• izrada desktop programa
 C# (Windows), Java, Python (Linux), Swift i C (OS X)
• izrada i oblikovanje mrežnih stranica
 HTML, CSS, JavaScript, jQuery
• izrada mrežnih aplikacija
 Java, PHP, Ruby, Python, C#, JavaScript
• rad s bazama podataka:
 SQL
• pohrana i prijenos strukturiranih podataka između računalnih sustava
 XML, JSON
C
9
• C je kompilirani (sažeti), proceduralni jezik razvijen 1972. Iako
je C relativno star jezik, još uvijek se naširoko koristi u
sistemskom programiranju, pisanju drugih programskih jezika i
u ugrađenim sustavima.
• omogućuje i uključivanje naredbe pisane u asembleru, zbog
čega je zajedno s mogućnošću direktnog pristupa pojedinim
bitovima, bajtovima ili cijelim blokovima memorije, pogodan
za pisanje sistemskog softvera
C#
10
• C# je objektno orijentirani programski jezik koji je razvio
Microsoft. Sličan je programskim jezicima Java i C++.
Popularan alat za izradu videoigra Unity koristi se C#
kao programskim jezikom za stvaranje logike igara.
• dosta se koristi u Microsoft Visual Studio alatu za izradu
aplikacija
C++
11
• C++ je programski jezik opće namjene i srednje razine s
podrškom za objektno orijentirano programiranje.
• Unatoč svojim godinama, C++ se koristi u širokom spektru
aplikacija, od igara do uredskih alata.
Java
12
• Java je objektno orijentirani programski jezik.
• Velika je prednost Jave u odnosu na većinu programskih jezika
to što se programi pisani u Javi mogu izvoditi bez preinaka
na svim operativnim sustavima za koje postoji JVM (Java
Virtual Machine), dok je klasične programe pisane
primjerice u C-u potrebno prilagođavati platformi(operativnom
sustavu) na kojoj se izvode.
Swift
13
• programski jezik koji je zamijenio objective-C kod razvoj
aplikacija za Apple uređaje
• ima mogućnost prikaza rezultata programiranja u stvarno
vrijeme
Ruby
14
• Ruby je višeplatformski jezik opće namjene i otvorenog koda.
• Popularne primjene jezika uključuju sistemsku administraciju i
izradu internetskih aplikacija, ali od 2006. programeri polako
nalaze i neke netipične primjene kao stvaranje elektroničke
glazbe, programiranje hardvera i stvaranje računalnih igara.
Python
15
• Python je programski jezik opće namjene, interpretiran i visoke
razine koji je stvorio Guido van Rossum 1990. godine.
• Zbog jednostavne sintakse smatra se jednim od najlakših
programskih jezika. Može se koristiti za različite namjene poput
izrade mrežnih aplikacija i obrade podataka.
• Poznate društvene mreže Pinterest i Instagram koriste se
Pythonom u pozadini za obavljanje određenih funkcija.
HTML5
16
• HTML je prezentacijski jezik za izradu mrežnih (engl. web)
stranica.
• HTML je jednostavan za uporabu i lako se uči, što je jedan od
razloga njegove opće prihvaćenosti i popularnosti.
CSS3
17
• CSS je stilski jezik koji se korsti za grafičko oblikovanje HTML
elemenata. Time se mnogo korsti u grafičkom dizajniranju
stranica.
JavaScript
• JavaScript je skriptni programski jezik koji se izvršava na
mrežnom pregledniku (engl web browser).
• Zbog lakšeg korištenja napravljen je da bude sličan Javi, ali nije
objektno orijentiran kao Java
18
jQuery
19
• jQuery je skriptna knjižnica koja pruža bržu i lakšu gradnju
mrežnih stranica pisanih u jeziku JavaScript. S jednom
linijom jQuery koda možemo postići isto što i s 10 linija
JavaScript koda.
JavaScript JQuery
Dohvaćanje elementa mrežne stranice i njegovo spremanje u varijablu.
var id = document.getElementById("id") var id = $("#id")
Definiranje funkcije koja se izvršava prilikom klika na element.
id.addEventListener('click',function(){alert("Hello"); id.click(function(){ alert("Hello"); });
Izmjena CSS svojstva elementa.
var css = { "font-size": "12px", "left": "200px", "top": "100px"
}; for(var svojstvo in css){id.style[svojstvo] = css[svojstvo];}
id.css({fontsize: '12px', left: '200px', top: '100px'});
PHP
20
• PHP je programski jezik namijenjen programiranju dinamičnih
mrežnih stranica. PHP se ističe širokom podrškom raznih
baza podataka i internetskih protokola te raspoloživosti brojnih
programerskih knjižnica.
SQL
21
• SQL je najpopularniji računalni jezik za izradu, traženje,
ažuriranje i brisanje podataka iz računalnih baza.
XML (EXtensible Markup Language)
• jezik za strukturirano označavanje podataka
• jezik koji je čitljiv ljudima i računalima
• koristi se za pohranu i strukturu podataka koji se mogu prenositi među
sustavima
<?xml version="1.0"?>
<kviz>
<pitanje_odg val="pit1">
<pitanje>
Koji se skriptni jezik koristi za izradu interaktivnog sadržaja na mrežnoj stranici?
</pitanje>
<odgovor val="1">
JavaScript
</odgovor>
<odgovor val ="2">
JAVA
</odgovor>
</ pitanje_odg >
</kviz >
22
Algoritam
23
• algoritam je precizna uputa kako obaviti neku radnju ili opisati
rješenje određenog problema
• slijed dobro definiranih naredbi za ostvarenje zadatka
• u programiranju algoritam je slijed radnji ili postupaka (vezanih
za pisanje koda) koji dovode do rješenja odeđenog
programerskog problema
Algoritam
• kod algoritma mora jasno biti definiran početni objekt nad kojim
se obavljaju operacije
 npr. dva višeznamenkasta prirodna broja (11, 13)
• algoritam mora biti sastavljen od konačnog broja koraka koji
vode do završnog objekta
 npr. zbroji prve dvije višeznamenkaste brojke (11 + 13)
• kod algoritma pojavljuju se završni objekti (rezultat koji bi trebali
dobiti algoritmom)
 npr. suma brojeva (24)
24
Algoritmi mogu biti:
25
• specijalizirani
 mogu se primijeniti samo na pojedine početne objekte
• općeniti
 dozvoljavaju različite vrijednosti početnih objekata s time da se kod
takvih algoritama određuje klasa ulaznih objekata koji su dozvoljeni
Algoritam
• algoritme je moguće prikazati dijagramom tijeka ili
pseudokodom
26
dijagram tijeka pseudokod
Dijagram toka
• grafički prikazuju algoritam
• olakšavaju kasniju izradu programa
 pogodni su za analizu problema i traženje povoljnih rješenja
- početak, kraj ili prekid programa
27
- ulaz podataka
- izlaz podataka
- priključne točke za povezivanje
raznih dijelova programa
- naredbe koje se obrađuju
- grananje ili mjesto odluke
Primjeri dijagrama
28
Početak
Kraj
Upiši
a, b
z = a + b
Početak
Upiši
a, b
a = b
Kraj
NE
a < b
DA
Algoritam za ispis zbroja dvaju brojeva Algoritam za ispis manjeg od dvaju upisanih brojeva
29
Pseudokod
30
• zapis rješenja sličan klasičnom programu, ali nije vezan uz
programski jezik
 koristi ključne riječi izdvojene iz govornog jezika i strukturu računalnog
programa
• primjer psudokoda za ispis najmanjeg od triju učitanih brojeva
početak
učitaj (a, b, c)
min:= a;
ako je b < c
onda
ako
je b <
a
onda
min:=
b;
inače
Pseudokod - sintaksa
31
Operatori
32
• operator je znak ili riječ koja određuje operaciju
• osnovni logički operatori su:
• relacijski operatori:
• aritmetički operatori
Osnovni algoritamski postupci
33
• slijed
 naredbe uvijek slijede jedna iza druge
• grananje
 programska struktura koja omogućuje različiti tijek odvijanja programa ovisno
o rezultati postavljenog uvjeta
• ponavljanje (petlja)
 ponavlja se određeni niz naredbi sve dok se ne zadovolji određeni uvjet
(ponekad znamo koliko puta se postupak treba ponoviti, a ponekad broj
ponavljanja ovisi o rezultatima izvršenog niza naredbi koji se ponavlja)
a < 7
DA NE
Postupak izrade programa
34
Analiza problema
Opis ulaznih i
izlaznih podataka
Određivanje
algoritma
Crtanje
dijagrama tijeka
Pisanje programa u
nekom od programskih
jezika
Prevođenje programa i
ispravljanje formalnih
pogrešaka
Izvršavanje i testiranje
programa te ispravljanje
logičkih grešaka
korištenje
programa
održavanje
programa
Konceptualni dio izrade Tehnički dio izrade
Varijable
35
• podatak pohranjen u računalu kojem pridodajemo određenu
vrijednost
• nazive varijabli sami određujemo te možemo manipulirati njihovim
vrijednostima
• vrste vrijednosti:
 cjelobrojni brojevi (engl. integer)
 decimalni brojevi (engl. float ili double) (isključivo se odvajaju točkom)
 niz znakova (engl. string)
- pišu se unutar dvostukih ("primjer") ili jednostukih ('primjer') navodnika
 liste
 rječnici
 itd.
Varijable
36
• nazivi varijabli moraju biti napisani sa znakovima iz ASCII
koda (nema č, ć, đ, ž, š)
 u primjeru ispod zelenom bojom su prikazani nazivi varijabli, a crvenom
njihove vrijednosti
• varijable u sebi mogu sadržavati vrijednosti drugih varijabli
 npr.
- ime = ‘Josip’
- prezime = ‘Mihaljević’
- dob = 84
- osoba = ime + prezime + dob (spremljena je vrijednost sve tri varijable u jednu
varijablu)
• razlikuju se varijable napisane velikim i malim slovom
 ime nije isto kao i IME (to su dvije različite varijable)
Operatori
37
• simboli koji predstavljaju računske operacije
 +
 -
 *
 /
 ** (potenciranje)
 % (ostatak od dijeljenja)
• osim za računanja brojeva operatori + i * mogu se koristiti za
spajanje niza znakova
 print ‘tekst1’+ ‘ tekst2’ (tekst1tekst2)
 print ‘tri_puta’*3 (tri_putatri_putatri_puta)
Logički izrazi
38
• izraz koji može biti točan ili netočan (true ili false; 1 ili 0)
• npr.
 5 == 5 (true)
 5 < 2 (false)
 5 > 2 (true)
Logički operatori
39
• postoje tri logička operatora:
 and
 or
 not
• sjetite se Boolove algebre:
 5 < 2 and 3 > 2 (false) => 0 ^ 1
 5 > 2 and 3 > 2 (true) => 1 ^ 1
 5 < 2 or 3 > 2 (true) => 0 v 1
 5 < 2 or 3 > 2 and 4 < 1 (false) => 0 v 1 ^ 0
Funkcija
40
• iskaza koji obavlja izračune
• uzima argument i vrača izračun
• postoje ugrađene funkcije (npr. len, type, int) i funkcije koje
korisnik sam definira(npr. stvorimo funkciju koja zbraja
dva broja).
• varijable definirane unutar funkcije nazivaju se lokalnim
varijablama
 varijablama se može pristupiti samo unutar funkcije
If - else uvjet
41
• koristi se za grananje koda koji se treba izvršiti
 provjerava vrijednost ulaznog podatka te na temelju toga izvršava
određeni kod
• nalazi se u svim programskim jezicima
• npr.
if (broj > 5):
print ‘broj je veći od 5’
elif (broj == 5):
print ‘broj je jednak 5’
else:
print ‘broj je manji
od 5’
Iteracija
• ponavljanje radnje kroz određeni skup podataka onoliko puta
koliko je zadano (izvršavaju određen dio kod onoliko puta
koliko je zadao programer)
 koristi se za pregled i obradu velikih skupova podataka
• for i while petlja najčešće se koriste za iteraciju
42

Programiranje+(teorija) .pptx

  • 1.
  • 2.
    Što je program? 1 •program je niz naredbi koje se izvode točno određenim redoslijedom s točno određenim ciljem  naredba je temeljni dio programa • programe izrađuju programeri koristeći jedan od ponuđenih programskih jezika (C++, C, Java, Python itd.)  stvaraju naredbe za aktivnosti računala koje se pokreću na temelju korisnikovih akcija (pritiska miša, tipkovnice ili ekrana) • korisnik komunicira s računalom s pomoću programa
  • 3.
    Vrste programa 2 • sistemskiprogrami  programi koji omogućuju i upravljaju radom računala i aplikacijskih programa  operativni sustavi (Windows, Linux itd.), pokretački programi (engl. driveri) • aplikacijski programi  programi koji se dodatno instaliraju na računalo kako bi proširili funkcionalnost računala  programi za obradu teksta, programi za izradu prezentacija, mrežni preglednici, igre itd.
  • 4.
    Računalni jezik 3 • jezicikoji se koriste u komunikaciji s računalima • tipovi računalnih jezika:  programski jezici (Python, C#, C++, Pascal, Java itd.) – koriste se za izradu računalnih desktop programa i mobilnih aplikacija  skriptnih jezici (JavaScript, JScript, ActionScript) – koriste se za izradu interaktivnog sadržaja na internetu (mrežne igre, interaktivne karte itd.)  upitni jezici (SQL) – koriste se za komunikaciju s bazom podataka  jezici za označavanje (HTML, XML) – jezici koji se koriste za označavanje različitih dijelova ljudskog teksta koje onda računalo s obzirom na oznaku obradi po zadanim uputama
  • 5.
    Programski jezici 4 I. generacija • skupključnih riječ i pravila koje računalo razumije • generacije programskih jezika: • strojni jezici • koriste se samo binarni sustav za komunikaciju (0 i 1) II. generacija • asembler jezici • numerički kodovi postaju zamijeni riječima (npr. ADD za zbrajanje, MUL za množenje) • prebacuju se u binarne brojeve, tj. kompajliraju III. generacija •viši programski jezici (dorađena verzija program druge generacije) •nezavisni su od računala na kojem rade (kod se može prenosit s jednog računala na drugo za rad) •C#, C++, Python, Ruby, C, Pascal, LOGO, BASIC IV. generacija • npr. upitni jezici za baze podataka • ne moraju ih nužno koristiti programeri jer su mnogo jednostavniji za rad (jednom naredbom može se dohvatiti ogromna količina podataka) niži programski jezici
  • 6.
  • 7.
    Program koji zbrajadva broja 6 (c = a + b) strojni jezik 00100100000 10001001001 01000100100 01000100001 0011 asembler jezik LOAD a ADD b STORE c JAVA c = a+b
  • 8.
    Jezični prevoditelji • interpreteri izravno prevode i izvode svaku naredbu programa (red po red) pisanog u višem programskom jeziku (koriste ih Python i Ruby) • kompajleri  prevode programske jezike više generacije (npr. treće) u izvršni kod (binarni); tijekom prijevoda stvaraju datoteku za pokretanje programa (.exe) te knjižnice (engl. libraries) gdje je pohranjen dodatan kod za izvršavanje programa (koriste ih C i C++) 7 kompajler .exe nastajanje računalnog programa s pomoću kompiliranja
  • 9.
    Primjena popularnih računalnihjezika 8 • izrada mobilnih aplikacija  Java (Android), Swift (iOS), C++, C# (Windows phone) • izrada desktop programa  C# (Windows), Java, Python (Linux), Swift i C (OS X) • izrada i oblikovanje mrežnih stranica  HTML, CSS, JavaScript, jQuery • izrada mrežnih aplikacija  Java, PHP, Ruby, Python, C#, JavaScript • rad s bazama podataka:  SQL • pohrana i prijenos strukturiranih podataka između računalnih sustava  XML, JSON
  • 10.
    C 9 • C jekompilirani (sažeti), proceduralni jezik razvijen 1972. Iako je C relativno star jezik, još uvijek se naširoko koristi u sistemskom programiranju, pisanju drugih programskih jezika i u ugrađenim sustavima. • omogućuje i uključivanje naredbe pisane u asembleru, zbog čega je zajedno s mogućnošću direktnog pristupa pojedinim bitovima, bajtovima ili cijelim blokovima memorije, pogodan za pisanje sistemskog softvera
  • 11.
    C# 10 • C# jeobjektno orijentirani programski jezik koji je razvio Microsoft. Sličan je programskim jezicima Java i C++. Popularan alat za izradu videoigra Unity koristi se C# kao programskim jezikom za stvaranje logike igara. • dosta se koristi u Microsoft Visual Studio alatu za izradu aplikacija
  • 12.
    C++ 11 • C++ jeprogramski jezik opće namjene i srednje razine s podrškom za objektno orijentirano programiranje. • Unatoč svojim godinama, C++ se koristi u širokom spektru aplikacija, od igara do uredskih alata.
  • 13.
    Java 12 • Java jeobjektno orijentirani programski jezik. • Velika je prednost Jave u odnosu na većinu programskih jezika to što se programi pisani u Javi mogu izvoditi bez preinaka na svim operativnim sustavima za koje postoji JVM (Java Virtual Machine), dok je klasične programe pisane primjerice u C-u potrebno prilagođavati platformi(operativnom sustavu) na kojoj se izvode.
  • 14.
    Swift 13 • programski jezikkoji je zamijenio objective-C kod razvoj aplikacija za Apple uređaje • ima mogućnost prikaza rezultata programiranja u stvarno vrijeme
  • 15.
    Ruby 14 • Ruby jevišeplatformski jezik opće namjene i otvorenog koda. • Popularne primjene jezika uključuju sistemsku administraciju i izradu internetskih aplikacija, ali od 2006. programeri polako nalaze i neke netipične primjene kao stvaranje elektroničke glazbe, programiranje hardvera i stvaranje računalnih igara.
  • 16.
    Python 15 • Python jeprogramski jezik opće namjene, interpretiran i visoke razine koji je stvorio Guido van Rossum 1990. godine. • Zbog jednostavne sintakse smatra se jednim od najlakših programskih jezika. Može se koristiti za različite namjene poput izrade mrežnih aplikacija i obrade podataka. • Poznate društvene mreže Pinterest i Instagram koriste se Pythonom u pozadini za obavljanje određenih funkcija.
  • 17.
    HTML5 16 • HTML jeprezentacijski jezik za izradu mrežnih (engl. web) stranica. • HTML je jednostavan za uporabu i lako se uči, što je jedan od razloga njegove opće prihvaćenosti i popularnosti.
  • 18.
    CSS3 17 • CSS jestilski jezik koji se korsti za grafičko oblikovanje HTML elemenata. Time se mnogo korsti u grafičkom dizajniranju stranica.
  • 19.
    JavaScript • JavaScript jeskriptni programski jezik koji se izvršava na mrežnom pregledniku (engl web browser). • Zbog lakšeg korištenja napravljen je da bude sličan Javi, ali nije objektno orijentiran kao Java 18
  • 20.
    jQuery 19 • jQuery jeskriptna knjižnica koja pruža bržu i lakšu gradnju mrežnih stranica pisanih u jeziku JavaScript. S jednom linijom jQuery koda možemo postići isto što i s 10 linija JavaScript koda. JavaScript JQuery Dohvaćanje elementa mrežne stranice i njegovo spremanje u varijablu. var id = document.getElementById("id") var id = $("#id") Definiranje funkcije koja se izvršava prilikom klika na element. id.addEventListener('click',function(){alert("Hello"); id.click(function(){ alert("Hello"); }); Izmjena CSS svojstva elementa. var css = { "font-size": "12px", "left": "200px", "top": "100px" }; for(var svojstvo in css){id.style[svojstvo] = css[svojstvo];} id.css({fontsize: '12px', left: '200px', top: '100px'});
  • 21.
    PHP 20 • PHP jeprogramski jezik namijenjen programiranju dinamičnih mrežnih stranica. PHP se ističe širokom podrškom raznih baza podataka i internetskih protokola te raspoloživosti brojnih programerskih knjižnica.
  • 22.
    SQL 21 • SQL jenajpopularniji računalni jezik za izradu, traženje, ažuriranje i brisanje podataka iz računalnih baza.
  • 23.
    XML (EXtensible MarkupLanguage) • jezik za strukturirano označavanje podataka • jezik koji je čitljiv ljudima i računalima • koristi se za pohranu i strukturu podataka koji se mogu prenositi među sustavima <?xml version="1.0"?> <kviz> <pitanje_odg val="pit1"> <pitanje> Koji se skriptni jezik koristi za izradu interaktivnog sadržaja na mrežnoj stranici? </pitanje> <odgovor val="1"> JavaScript </odgovor> <odgovor val ="2"> JAVA </odgovor> </ pitanje_odg > </kviz > 22
  • 24.
    Algoritam 23 • algoritam jeprecizna uputa kako obaviti neku radnju ili opisati rješenje određenog problema • slijed dobro definiranih naredbi za ostvarenje zadatka • u programiranju algoritam je slijed radnji ili postupaka (vezanih za pisanje koda) koji dovode do rješenja odeđenog programerskog problema
  • 25.
    Algoritam • kod algoritmamora jasno biti definiran početni objekt nad kojim se obavljaju operacije  npr. dva višeznamenkasta prirodna broja (11, 13) • algoritam mora biti sastavljen od konačnog broja koraka koji vode do završnog objekta  npr. zbroji prve dvije višeznamenkaste brojke (11 + 13) • kod algoritma pojavljuju se završni objekti (rezultat koji bi trebali dobiti algoritmom)  npr. suma brojeva (24) 24
  • 26.
    Algoritmi mogu biti: 25 •specijalizirani  mogu se primijeniti samo na pojedine početne objekte • općeniti  dozvoljavaju različite vrijednosti početnih objekata s time da se kod takvih algoritama određuje klasa ulaznih objekata koji su dozvoljeni
  • 27.
    Algoritam • algoritme jemoguće prikazati dijagramom tijeka ili pseudokodom 26 dijagram tijeka pseudokod
  • 28.
    Dijagram toka • grafičkiprikazuju algoritam • olakšavaju kasniju izradu programa  pogodni su za analizu problema i traženje povoljnih rješenja - početak, kraj ili prekid programa 27 - ulaz podataka - izlaz podataka - priključne točke za povezivanje raznih dijelova programa - naredbe koje se obrađuju - grananje ili mjesto odluke
  • 29.
    Primjeri dijagrama 28 Početak Kraj Upiši a, b z= a + b Početak Upiši a, b a = b Kraj NE a < b DA Algoritam za ispis zbroja dvaju brojeva Algoritam za ispis manjeg od dvaju upisanih brojeva
  • 30.
  • 31.
    Pseudokod 30 • zapis rješenjasličan klasičnom programu, ali nije vezan uz programski jezik  koristi ključne riječi izdvojene iz govornog jezika i strukturu računalnog programa • primjer psudokoda za ispis najmanjeg od triju učitanih brojeva početak učitaj (a, b, c) min:= a; ako je b < c onda ako je b < a onda min:= b; inače
  • 32.
  • 33.
    Operatori 32 • operator jeznak ili riječ koja određuje operaciju • osnovni logički operatori su: • relacijski operatori: • aritmetički operatori
  • 34.
    Osnovni algoritamski postupci 33 •slijed  naredbe uvijek slijede jedna iza druge • grananje  programska struktura koja omogućuje različiti tijek odvijanja programa ovisno o rezultati postavljenog uvjeta • ponavljanje (petlja)  ponavlja se određeni niz naredbi sve dok se ne zadovolji određeni uvjet (ponekad znamo koliko puta se postupak treba ponoviti, a ponekad broj ponavljanja ovisi o rezultatima izvršenog niza naredbi koji se ponavlja) a < 7 DA NE
  • 35.
    Postupak izrade programa 34 Analizaproblema Opis ulaznih i izlaznih podataka Određivanje algoritma Crtanje dijagrama tijeka Pisanje programa u nekom od programskih jezika Prevođenje programa i ispravljanje formalnih pogrešaka Izvršavanje i testiranje programa te ispravljanje logičkih grešaka korištenje programa održavanje programa Konceptualni dio izrade Tehnički dio izrade
  • 36.
    Varijable 35 • podatak pohranjenu računalu kojem pridodajemo određenu vrijednost • nazive varijabli sami određujemo te možemo manipulirati njihovim vrijednostima • vrste vrijednosti:  cjelobrojni brojevi (engl. integer)  decimalni brojevi (engl. float ili double) (isključivo se odvajaju točkom)  niz znakova (engl. string) - pišu se unutar dvostukih ("primjer") ili jednostukih ('primjer') navodnika  liste  rječnici  itd.
  • 37.
    Varijable 36 • nazivi varijablimoraju biti napisani sa znakovima iz ASCII koda (nema č, ć, đ, ž, š)  u primjeru ispod zelenom bojom su prikazani nazivi varijabli, a crvenom njihove vrijednosti • varijable u sebi mogu sadržavati vrijednosti drugih varijabli  npr. - ime = ‘Josip’ - prezime = ‘Mihaljević’ - dob = 84 - osoba = ime + prezime + dob (spremljena je vrijednost sve tri varijable u jednu varijablu) • razlikuju se varijable napisane velikim i malim slovom  ime nije isto kao i IME (to su dvije različite varijable)
  • 38.
    Operatori 37 • simboli kojipredstavljaju računske operacije  +  -  *  /  ** (potenciranje)  % (ostatak od dijeljenja) • osim za računanja brojeva operatori + i * mogu se koristiti za spajanje niza znakova  print ‘tekst1’+ ‘ tekst2’ (tekst1tekst2)  print ‘tri_puta’*3 (tri_putatri_putatri_puta)
  • 39.
    Logički izrazi 38 • izrazkoji može biti točan ili netočan (true ili false; 1 ili 0) • npr.  5 == 5 (true)  5 < 2 (false)  5 > 2 (true)
  • 40.
    Logički operatori 39 • postojetri logička operatora:  and  or  not • sjetite se Boolove algebre:  5 < 2 and 3 > 2 (false) => 0 ^ 1  5 > 2 and 3 > 2 (true) => 1 ^ 1  5 < 2 or 3 > 2 (true) => 0 v 1  5 < 2 or 3 > 2 and 4 < 1 (false) => 0 v 1 ^ 0
  • 41.
    Funkcija 40 • iskaza kojiobavlja izračune • uzima argument i vrača izračun • postoje ugrađene funkcije (npr. len, type, int) i funkcije koje korisnik sam definira(npr. stvorimo funkciju koja zbraja dva broja). • varijable definirane unutar funkcije nazivaju se lokalnim varijablama  varijablama se može pristupiti samo unutar funkcije
  • 42.
    If - elseuvjet 41 • koristi se za grananje koda koji se treba izvršiti  provjerava vrijednost ulaznog podatka te na temelju toga izvršava određeni kod • nalazi se u svim programskim jezicima • npr. if (broj > 5): print ‘broj je veći od 5’ elif (broj == 5): print ‘broj je jednak 5’ else: print ‘broj je manji od 5’
  • 43.
    Iteracija • ponavljanje radnjekroz određeni skup podataka onoliko puta koliko je zadano (izvršavaju određen dio kod onoliko puta koliko je zadao programer)  koristi se za pregled i obradu velikih skupova podataka • for i while petlja najčešće se koriste za iteraciju 42