Download presentation
Presentation is loading. Please wait.
Published byмиланка ковачевић Modified over 5 years ago
1
Programiranje1 ALGORITMI 1
2
Programiranje2Algoritam Precizno opisan način rješenja nekog problema Jednoznačno određuje što treba napraviti Kao ishod algoritma pojavi se rezultat. Konačni broj koraka; svaki korak opisan instrukcijom
3
Programiranje3 Algoritam se grafički predočava dijagramom toka. U tom prikazu svaki algoritamski korak je iskazan odgovarajućim grafičkim simbolom. Algoritam se tekstualno prikazuje pseudokodom.
4
Programiranje4 Algoritam Kuhanje kave AlgoritamAlgoritam kuhanje kavekuhanje kave pečenje palačinkipečenje palačinki zbroj dva broja (linijska struktura)zbroj dva broja (linijska struktura) uspoređivanje dva broja (razgranata struktura)uspoređivanje dva broja (razgranata struktura) brojač (ciklička struktura)brojač (ciklička struktura) zadacizadaci
5
Programiranje5 Algoritam Kuhanje kave Ulazni objekti: mljevena kava, šećer, voda Izlazni objekti (rezultati):skuhana kava Proces kuhanja kave : 1.ulij vodu u posudu 2.zagrij posudu 3.čekaj sve dok voda ne počne ključati 4.stavi mljevenu kavu u posudu s vodom i promiješaj 5.skini posudu sa kavom 6.stavi šećer u posudu i promiješaj
6
Programiranje6 Algoritam Pečenje palačinki Ulazni objekti: ulje, smjesa Izlazni objekti (rezultati):palačinke Proces pečenja palačinki: 1.pripremi smjesu 2.ulij ulje u tavu 3.zagrij tavu 4.dok ima smjese ponavljaj a.ako je tava suha dolij malo ulja b.ulij pravu količinu smjese u tavu c.čekaj dok se donja strana ispeče d.okreni palačinku e.čekaj dok se gornja strana ispeče f.premjesti palačinku na tanjur
7
Programiranje7Algoritam Instrukcije moraju biti izvedive i jednoznačne Primjeri za nedopuštene instrukcije: izračunaj 5/0 uvećaj x za 6 ili 7 Učinkovitost: U konačnom vremenu može se dobiti rezultat koristeći olovku i papir. Primjeri: Zbrajanje cijelih brojeva je učinkovito Dijeljenje realnih brojeva nije jer se može pojaviti broj s beskonačno mnogo znamenki, npr. 10/3 = 3.3333333... Algoritam postaje učinkovit tek ako se broj znamenki unaprijed ograniči
8
Programiranje8Algoritam Algoritam je uporabljiv ako se dobije rezultat u konačnom vremenu Vrijeme izvođenja mora biti "razumno" Primjer: Algoritam koji bi izabirao potez igrača šaha tako da ispita sve moguće posljedice poteza, zahtijevao bi milijarde godina na najbržem zamislivom računalu. Zašto? 20 mogućih prvih poteza bijelog 20 mogućih prvih poteza crnog > 20 mogućih drugih poteza bijelog > 20 mogućih drugih poteza crnog itd... Za 10 poteza svakog igrača, barem 2020 kombinacija ~ 1026 Kad bi se 1 kombinacija analizirala 1 µs, to je 3170979198376 godina!
9
Programiranje9 Algoritam Linijska struktura Svaki algoritamski korak tijekom rješavanja zadatka izvršava se samo jedan put. U ovom slučaju algoritamska shema se sastoji od algoritamskih koraka ulaza, obrade i izlaza.
10
Programiranje10 Algoritam Linijska struktura Zbrajanje dva broja Ulazni objekti: prvi broj, drugi broj Izlazni objekti (rezultati):zbroj Algoritam (linijska struktura): 1.unesi prvi broj 2.unesi drugi broj 3.zbroj je jednaka zbroju prvog i drugog broja 4.ispiši zbroj ZADATAK 1
11
Programiranje11 Algoritam Razgranata struktura Svaki algoritamski korak izvršava se najviše jedan put tijekom rješavanja zadatka. Međutim, u ovakvoj strukturi moguće su i situacije da se neki algoritamski koraci tijekom rješavanja zadatka ne izvrše. U razgranatoj algoritamskoj shemi uvijek postoji jedan algoritamski korak koji omogućava grananje algoritma. Ovaj se algoritamski korak naziva uvjetnim – korakom odluke. Postavlja se pitanje da li je neki uvjet ispunjen ili nije. U tom smislu ispunjenje uvjeta generira daljnji tijek rješavanja. Odluka je uvijek popraćena s odgovorima "DA" alternativno "NE".
12
Programiranje12 Jednostrana selekcija Pseudokôd ako je logički_izraz tada naredbe logički_izraz niz naredbi N D
13
Programiranje13 Pseudokôd ako je logički_izraz tada niz_naredbi_1 inače niz_naredbi_2 niz naredbi_1 niz naredbi_2 Dvostrana selekcija logički_izraz ND
14
Programiranje14 Algoritam Razgranata struktura Uspoređivanje dva broja Ulazni objekti: prvi broj, drugi broj Izlazni objekti (rezultati):manji_broj Algoritam (razgranata struktura): 1.unesi prvi broj 2.unesi drugi broj 3.ako je prvi broj manji od drugog broja onda manji broj je jednak prvom broju 4.inače manji broj je jednak drugom broju 5.ispiši manji broj ZADATAK 2
15
Programiranje15Primjer Sastaviti algoritamsku shemu za izračunavanje vrijednosti y koji se ravna po relacijama:
16
Programiranje16
17
Programiranje17Primjer Sastaviti algoritamsku shemu za izračunavanje vrijednosti y koji se ravna po relacijama :
18
Programiranje18
19
Programiranje19 Algoritam Ciklička struktura Niz algoritamskih koraka u kojem se jedan ili više algoritamskih koraka može izvršiti više od jedanput, pri jednom izvršavanju algoritma zadatka, tvori cikličku algoritamsku shemu.
20
Programiranje20 Petlja s ispitivanjem uvjeta ponavljanja na početku Pseudokod dok je (logički_izraz) niz_naredbi logički_izraz niz_naredbi D N
21
Programiranje21 Petlja s ispitivanjem uvjeta ponavljanja na kraju ponavljaj niz_naredbi dok ne bude (logički_izraz) logički_izraz niz_naredbi D N
22
Programiranje22 Petlja s poznatim brojem ponavljanja Pseudokod za i = poc do kraj (korak k) niz_naredbi i = poc, kraj, korak niz_ naredbi
23
Programiranje23 Algoritam Ciklička struktura Ispis svih brojeva do zadane granice: Ulazni objekti: granica Izlazni objekti (rezultati):brojač Algoritam (ciklička struktura): 1.unesi granicu 2.brojač postavi na 0 3.ponavljaj dok je brojač manji od granice 1.brojač povećaj za jedan 2.ispiši brojač ZADATAK 3
24
Programiranje24 Izračunavanje N faktorijela 1. način Rješenje s petljom u kojoj se uvjet ispituje na početku učitaj n fakt=1 i=1 dok je i <= n fakt = fakt*i i = i+1 ispiši n,fakt
25
Programiranje25 Izračunavanje N faktorijela 2. način Rješenje s petljom u kojoj se uvjet ispituje na kraju: ucitaj n fakt = 1 i = 1 ponavljaj fakt = fakt * i i = i+1 dok je i <= n ispisi n,fakt
26
Programiranje26 Izračunavanje N faktorijela 3. način Rješenje s petljom s poznatim brojem ponavljanja: učitaj n fakt = 1 za i = 1 do n fakt = fakt * i ispiši n,fakt
27
Programiranje27 Algoritam Zadaci 1.Napravi algoritam za zbrajanje, oduzimanje i množenje dva broja (linijska struktura algoritma) nazad nazad 2.Promjeni prethodni algoritam tako da dodaš dijeljenje i kod dijeljenja provjeriš da li se dijeli s nulom (razgranata struktura algoritma) nazad nazad 3.Napravi algoritam koji će čekati na unos broja i kad se unese broj veći od 10 ispisati njegov kvadrat (ciklička struktura algoritma)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.