15
ALGORITMI I ALGORITAMSKE STRUKTURE

ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI I

ALGORITAMSKE

STRUKTURE

Page 2: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ŠTA JE RAČUNARSKI SISTEM?

Računar je elektronska mašina koja obrađuje ulazne podatke

ili informacije (INPUT) i proizvodi iz njih nove podatke ili

izlazne informacije (OUTPUT).

Računar obrađuje podatke na osnovu programa koji je napisan

za određenu primenu. Program predstavlja skup instrukcija za

rešavanje određenog problema.

Program po kome računar radi mora za vreme izvršavanja da

bude u memoriji računara.

Proces pisanja instrukcija za računar naziva se programiranje.

Page 3: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI

Persijski matematičar Al-Khowarizmi (Abu Ja'far Mohammed Ibn Musa al Khowarizmi ) u udžbeniku matematike (oko 825. godine n.e.) prikazao je rešenja nekih aritmetičkih problema u

obliku uputstava koja su se sastojala od tačno određenih

osnovnih koraka.

Ovakva uputstva su kasnije nazvana algoritmima.

Razvojem računara algoritmi su postali samostalno i važno

područje računarskih nauka.

Page 4: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI – POJAM

Algoritam je konačni redosled operatora, elementarnih obrada i

pravila o njihovoj primeni u cilju dobijanja rešenja nekog problema.

Izvođenje svakog operatora predstavlja jedan algoritamski korak.

Uslovi koji algoritmi moraju ispunjavati su:

- definisanost,

- konačnost i

- rezultat.

Page 5: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI - USLOVI

Definisanost. Svaka operacija ili pravilo mora imati definisano i

samo jedno značenje, tj. rezultat svake operacije mora biti jasno

definisan.

Konačnost. Svaki korak mora biti takav da bi ga, bar u prinicipu,

mogao izvesti čovek koristeći olovku i papir za konačno vreme.

Postoje jednostavni i jednoznačni postupci koji nisu algoritmi jer

su beskonačni sa stanovišta broja koraka potrebnog za dobijanje

rezultata. Algoritmi se moraju zaustaviti posle izvršenog

konačnog broja koraka i u konačnom vremenu.

Rezultat. Po završetku algoritma mora da postoji mogućnost da

se ustanovi rezultat njegovog rada, odnosno da li je algoritam

postigao svoj cilj ili nije – da li daje tačne rezultate.

Page 6: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI – NAČINI

PREDSTAVLJANJA

Postoje različite mogućnosti za predstavljanje algoritma, ali se oni u

programiranju najčešće pretstavljaju grafički pod imenom

DIJAGRAM TOKA programa (flowchart).

U ovom dijagramu pojedine akcije predstavljene su tačno

određenim grafičkim simbolima čime se osigurava jednostavnost,

preglednost i jednoznačnost zapisa algoritma.

Page 7: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ALGORITMI - SIMBOLI

Grafički simbol Značenje

Ulaz-Izlaz / Start-Stop

Unošenje podataka

Izdavanje podataka

Obrada podataka

Odluka / Uslov

Povezivanje algoritamskih koraka

Page 8: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

STRUKTURA ALGORITMA

Pod strukturom algoritma podrazumeva se redosled izvršavanja

pojedinih vrsta algoritamskih koraka u algoritmu.

Sa stanovišta ovog redosleda postoje tri osnovne algoritamske

strukture:

- linijska struktura - sekvencija,

- razgranata struktura - selekcija i

- ciklička - iteracija.

Page 9: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

Algoritamski koraci se

izvršavaju jedan za drugim

uvek istim redosledom

kojim su napisani.

Primer

Algoritam za zamenu točka na

automobilu.

POČETAK

KRAJ

1. Pripremi dizalicu

2. Pripremi rezervni točak

3. Olabavi šrafove na točku

4. Podigni auto

5. Odvrni šrafove na točku

6. Skini točak

7. Stavi rezervni točak

8 . Zavrni šrafove na točku

9. Spusti auto

10. Zategni šrafove

11. Spremi dizalicu

12. Spremi rezervni točak

LINIJSKA

STRUKTURA

Page 10: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

RAZGRANATA

STRUKTURA

Struktura algoritma u

kojoj tok operacija zavisi

od ispunjenosti nekih

uslova zove se

razgranata struktura.

Primer

Algoritam za prelazak

ulice sa semaforom.

POČETAK

KRAJ

1. Stani ispred kolovoza

2. Pogledaj semafor

Zeleno

svetlo

DANE

3. Pređi ulicu3. Čekaj zeleno svetlo

4. Pređi ulicu

Page 11: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

CIKLIČNA

STRUKTURA

Algoritam kod kog se određeni

broj algoritamskih koraka

ponavlja više puta ima cikličku

strukturu.

Ako je broj ponavljanja dela

algoritma poznat unapred

struktura je konstantna

(BROJAČKI CIKLUS).

Primer - algoritam za punjenje

deset boca vodom

2. Uzmi praznu bocu

3. Napuni je vodom

4. Zatvori bocu

5. Odloži punu bocu

KRAJ

6. Zatvori vodu

POČETAK

1. Otvori vodu

Ponovi

10 puta

Konstantna ciklička struktura

Page 12: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

CIKLIČNA

STRUKTURA

Ako broj ponavljanja nije

poznat unapred, nego zavisi od

ispunjenosti nekog uslova

struktura je promenljiva

(USLOVNI CIKLUS).

Primer - algoritam za prelazak

ulice bez semafora.

Uslovna ciklička struktura

Nema vozila

4. Pređi ulicu3. Sačekaj malo

KRAJ

POČETAK

1. Stani ispred kolovoza

DANE

2. Pogledaj levo i desno

Page 13: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

Složene algoritamske strukture

sastoje se od proizvoljnog broja,

proizvoljnih kombinacija

osnovnih algoritamskih

struktura.

SLOŽENE

STRUKTURE

Page 14: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

ZAKLJUČAK

ALGORITAM JE KONAČNI REDOSLED OPERATORA,

ELEMENTARNIH OBRADA I PRAVILA O NJIHOVOJ PRIMENI

U CILJU DOBIJANJA REŠENJA NEKOG PROBLEMA.

Pojam algoritma ne mora biti vezan za

primenu računara. Algoritmi se koriste u

svakodnevnom životu za izvršavanje

različitih aktivnosti (npr kuvarski recepti).

Postoje različite mogućnosti za

predstavljanje algoritma, ali se on najčešće

pretstavlja grafički pod imenom dijagram

toka programa (flowchart).

Page 15: ALGORITMI I ALGORITAMSKE STRUKTURE · 1. Pripremi dizalicu 2. Pripremi rezervni točak 3. Olabavi šrafovena točku 4. Podigni auto 5. Odvrni šrafovena točku 6. Skini točak 7

OSNOVNE ALGORITAMSKE STRUKTURE

Linijska (sekvencija)

Karakteristika linijske strukture je da se svi elementi izvršavaju samo

jednom i koraci se odvijaju u nizu jedan za drugim bez ponavljanja ili

"skretanja"

Razgranata (selekcija)

Razgranata struktura će se pojaviti kod algoritma koji ima blok odlučivanja, pri čemu se vrši testiranje određenog uslova prema rezultatu. Algoritam se grana i nastavlja tok jednom od grana- opcija.

Ciklična (iteracija)

Ciklični algoritam će se pojaviti kada isti niz naredbi treba ponoviti više puta. Postoji više varijanti ove srukture a dve osnovne podele su:

KONSTANTNE - Broj iteracija (ponavljanja) je unapred poznat (npr petlja FOR)

PROMENLJIVE - Iteracija se vrši dok se ne zadovolji određen uslov (npr petlje tipa WHILE..DO).