1 ALGORITMI (2) Pojam algoritma Dijagram toka (Blok dijagram) Osnovne strukture algoritma Primjeri mr.sc.M.Čičak Opis zadatka i postupka rješavanja ŠTO? NAD ČIM? - opis zadatka, polaznih podataka, željenih rezultata i njihovih međusobnih zakonitosti, relacija KAKO? - opis postupka rješavanja - redoslijed primjene zakonitosti, relacija na podacima da bi se dobio željeni rezultat Simboli koji se najćešće upotrebljavaju za dijagram toka: OSNOVNE ALGORITAMSKE STRUKTURE (POSTUPCI) LINIJSKA – slijed, sekvenca RAZGRANATA – g rananje, selekcija CIKLIČNA - ponavljanje, iteracija (petlja) Linijska struktura - slijed, sekvenca naredbe slijede jedna iza druge A 1 A 2 A 3 A n • sekvenca predstavlja niz naredbi pridruživanja (dodjeljivanja) (:=) Varijabli pridružujemo (:=)vrijednost a:=b n:=n+1 RAZGRANATA struktura - grananje, selekcija Omogućuje različiti tok odvijanja programa ovisno o rezultatu postavljenog uvjeta. uvjeti logički
5
Embed
Opis zadatka i postupka rješavanja Dijagram toka …mcicak/PRUPIP/2T.pdf1 ALGORITMI (2) Pojam algoritma Dijagram toka (Blok dijagram) Osnovne strukture algoritma Primjeri mr.sc.M.Čičak
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
1
ALGORITMI (2) Pojam algoritma
Dijagram toka (Blok dijagram)
Osnovne strukture algoritma
Primjeri
mr.sc.M.Čičak
Opis zadatka i postupka rješavanja
ŠTO? NAD ČIM?- opis zadatka, polaznih podataka, željenih rezultata i
njihovih međusobnih zakonitosti, relacija
KAKO?- opis postupka rješavanja
- redoslijed primjene zakonitosti, relacija na podacima da bi se dobio željeni rezultat
Simboli koji se najćešće upotrebljavaju za dijagram toka:
OSNOVNE ALGORITAMSKE STRUKTURE (POSTUPCI)
LINIJSKA – slijed, sekvenca
RAZGRANATA – grananje, selekcija
CIKLIČNA - ponavljanje, iteracija
(petlja)
Linijska struktura - slijed, sekvenca
naredbe slijede jedna iza druge
A1
A2
A3
An
• sekvenca predstavlja niz naredbi pridruživanja (dodjeljivanja) (:=)
Varijabli pridružujemo (:=)vrijednosta:=bn:=n+1
RAZGRANATA struktura - grananje, selekcija
Omogućuje različiti tok odvijanja programa ovisno o rezultatu
postavljenog uvjeta.
uvjeti logički
2
Naredba switch-case (C++)
omogućava višestruko grananje koje
ovisi o vrijednosti postavljenog
uvjeta.
uvjet je cjelobrojni izraz
ili cjelobrojna varijabla
O:= ?
12345
Algoritam za odluku o oblačenju ovisno o vremenskim uvjetima
Dijagram toka Pseudo kod
Kod PYTHON
Nacrtati dijagram toka algoritama kojim se određuje veći od dva zadata broja korištenjem formule
bab
baaba
,
,},max{
a>b
max:=a max:=b
da ne
max<b
max:=b
da
max:=a
Primjer
pocpoc
krajkraj
a,b
a,b
max
Pronaći maksimum od tri zadana broja a, b i c
}},,max{max{},,max{ cbacba
poc
a>bda ne
a>c b>c
max:=a max:=c max:=b max:=c
da nene
kraj
max
a,b,c
Primjer
Kreirati dijagram toka koji izračunava zbroj prvih - n brojeva
poč.
n
Z:=0
B:=0
Z := Z+B
B := B+1
B=nNE
Z
kraj
Ciklična struktura - ponavljanje (petlja)
uvjet
tijelo petlje
da
netijelo petlje
uvjetne
da
Za svaki i:=k1 do k2 s korakom k3
tijelo petlje
Sve dok-činiti
While do
Ponavljaj-sve dok
Repeat - until
brojač petlje
broj prolaza 13
12
k
kkn
definiranje uvjeta
Omogćuje ponavljanje algoritamskih koraka više puta.
i:=k1,k2,k3
forDO
3
Paralelne
petlje
petlje koje
se sijeku
Pravila Dozvoljene su paralelne (ugnježdene) petlje.
Nisu dozvoljene petlje koje se sjeku!
- Zbroj prvih n brojeva
poč.
n
Z:=0
B:=0
Z := Z+B
B := B+1
B=nNE
Z
kraj
Z := 0
Z := Z + i
i := 1, n
kraj
start
n
Z
- grananje - petlja, ponavljanje
Početak
Kraj
Faktorijel
N
I:=1,N
Faktorijel := Faktorijel * I
Faktorijel :=1
Početna vrijednost
Kreirati dijagram toka koji učitava cijeli broj N i izračunava N!
1. POČETAK 2. Pročitaj / Učitaj vrijednost n. 3. Podijeli n sa 2 i zapamti ostatak u ost. 4. Ako je ost 0 idi na stavku 7. 5. Ispiši „n je neparan broj“. 6. Idi na stavku 8. 7. Ispiši „n je paran broj“. 8. KRAJ
Napisati i nacrtati algoritam koji provjerava da li je učitani broj paran broj ? (tekstualno i grafički )
Primjer:
Nacrtati dijagram toka
Napisati i nacrtati algoritam koji provjerava da li je učitani broj paran broj ? (tekstualno i grafički )
Kotao ima radnu temperaturu u intervalu [50°C- 80°C]. Napisati algoritam koji provjerava da li je s tipkovnice zadana vrijednost temperature kotla u dopuštenomintervalu i ispisuje odgovarajuću poruku.
#include <stdio.h>#define donja 50.0#define gornja 80.0int main(){float t;printf("\n Unesite temperaturu kotla: ");scanf("%f",&t);if (t < donja) {printf("Temperatura je pala ispod dopustene!\n");} else if (t > gornja) {printf("Temperatura je porasla iznad dopustene!\n");} else {printf("Temperatura kotla OK\n");}return 0;}