Professional Documents
Culture Documents
Algoritmi
Algoritmi
Tjuringove maine
Postovi sistemi
Karkovljevi algoritmi
Rekurzivne funkcije
erov -raun
Kombinatorski raun
URK (beskonane registarske maine)
Matematiki
se
dokazuje da su sve ove
formalizacije
algoritama
meusobno
ekvivalentne,
odnosno svaki algoritam koji
se moe predstaviti pomou
jedne od ovih formalizacija,
moe
se
predstaviti
i
pomou bilo koje druge.
Svaki
predstavlja
algoritama,
koristiti
program:
programski jezik
neku formalizaciju
pa zato moemo
definiciju
pojma
OPISIVANJE ALGORITMA
*Zdravo svete!
#include <iostream.h>
int main ()
{
cout << "Zdravo svete!\n";
return 0;
}
Pod
algoritamskom
(programskom)
strukturom
podrazumevamo vie koraka (komandi programskog jezika)
koji ine jednu celinu. Postoje tri elementarne algoritamske
strukture:
Linijska
Razgranata
Ciklina
LINIJSKA STRUKTURA
LINIJSKA STRUKTURA
Linijska algoritamska struktura ima tano jednu ulaznu
taku, tano jednu izlaznu taku i takav tok da se svaki njen
korak bezuslovno izvrava tano jednom. Predstaviemo pseudo
jezikom i dijagramom toka elementarnu linijsku strukturu koju ini
niz od dva koraka:
proces 1;
proces 2;
LINIJSKA STRUKTURA
primer:
Pocetak
Otvoriti
friider
Staviti mleko
u friider
Zatvoriti
friider
Kraj
RAZGRANATA STRUKTURA
Algoritamska struktura koja obezbeuje izvoenje dva
razliita postupka pri emu izbor zavisi od nekog uslova naziva
se uslovnim grananjem ili razgranatom algoritamskom
strukturom.
RAZGRANATA STRUKTURA
Uslovno grananje ima tano jednu ulaznu taku, tano
jednu izlaznu taku i takav tok da se svaki njen korak izvrava
najvie jednom, pri emu e svaki korak biti izvren pod nekim
odgovarajuim uslovom (ne postoji korak koji se ni pod kojim
uslovima nee izvriti).
Da
proces 1
uslov
Ne
proces 2
RAZGRANATA STRUKTURA
Poseban sluaj uslovnog grananja je viestruko grananje.
Viestruko grananje moemo predstaviti kao vie dvostrukih
uslovnih grananja, a u sluaju kada se odluuje na osnovu
vrednosti samo jednog izraza tada moemo koristiti i poseban
zapis:
Uslov
vrednost 1
Proces 1
vrednost 2
Proces 2
...
...
...
vrednost n
Proces n
ostalo
Proces n+1
RAZGRANATA STRUKTURA
Poetak
Uneti X
X=1
1) Uneti X;
Da
dan =
'ponedeljak'
Da
dan = 'utorak'
Da
dan = 'sreda'
Da
dan = 'etvrtak'
Da
dan = 'petak'
Da
dan = 'subota'
Ne
X=2
Ne
X=3
Ne
X=4
Ne
X=5
Ne
X=6
Ne
dan = 'nedelja'
Ispisati
dan
Kraj
9) Ispisati dan.
CIKLINA STRUKTURA
Ponavljanjem,
ili
ciklinom
algoritamskom
strukturom nazivamo strukturu
koja obezbeuje ponavljanje
nekih koraka algoritma.
CIKLINA STRUKTURA
CIKLINA STRUKTURA
Predstaviemo dok strukturu pseudo jezikom i na dva
naina dijagramom toka:
1.dok je ispunjen uslov ponavljati: 2
2.proces;
uslov
proces
Da
Da
uslov
Ne
proces
Ne
CIKLINA STRUKTURA
Poetak
Zbir = 0
Uneti Broj
1) Postaviti Zbir=0;
2) Uneti Broj;
3) Dok je Broj>=0 ponavljati 4-5
5) Uneti Broj;
Uneti Broj
4) Zbir=Zbir+Broj;
Zbir=Zbir+Broj
Da
Broj >= 0
Ne
Ispisati
Zbir
6) Ispisati Zbir;
Kraj
CIKLINA STRUKTURA
Formirati algoritam za izraunavanje proizvoda dva prirodna broja:
Poetak
Uneti M,N
Proizvod = 0
1) Uneti M i N;
2) Postaviti Proizvod=0;
3) Ponavljati:4-5 do: N=0
Proizvod = Proizvod + M
N= N- 1
Ne
4) Proizvod = Proizvod + M;
5) N = N-1;
N=0
Da
Ispisati
Proizvod
6) Ispisati Proizvod;
Kraj
CIKLINA STRUKTURA
Brojaka
struktura
obezbeuje
ponavljanje
nekog procesa zadati broj
puta. Ulazna taka je
poetak brojanja, izlazna
taka je kraj brojanja.
Brojaka
struktura
predstavlja
skraivanje
zapisa "dok" strukture:
brojac:=p
za brojac:=p..k (s)
brojac:=brojac+s
proces
proces
Da
brojac<=k
Ne
CIKLINA STRUKTURA
1.
2.
3.
4.
kraj
brojac:=p
za brojac:=p..k (s)
brojac:=brojac+s
proces
proces
Da
brojac<=k
Ne
CIKLINA STRUKTURA
u obliku:
za brojac:=p..k (s)
brojac:=brojac+s
proces
proces
Da
brojac<=k
Ne
CIKLINA STRUKTURA
primer
Uneti N
1) Uneti N;
Suma = 0
2) Postaviti Suma=0;
za A:=1..N
3) Za A:=1 do N ponavljati:4
Suma := Suma + A
Ispisati
Suma
Kraj
4) Suma:=Suma+A;
6) Ispisati Suma;
FORMIRANJE ALGORITMA
FORMIRANJE ALGORITMA