Transcript ALGORITMI
IX razred Prof.ValentinaTodorović ALGORITMI ALGORITAM 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. IX razred Prof.ValentinaTodorović ALGORITMI Šta je algoritam? Algoritam je u opštem slučaju 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. Sa računarskog stanovišta ova definicija nije dovoljna pa se mora dopuniti sa sa još nekim uslovima koje algoritam mora da zadovolji. To su: - definisanost, - konačnost i - rezultat. IX razred Prof.ValentinaTodorović ALGORITMI 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. IX razred Prof.ValentinaTodorović ALGORITMI U vezi sa primenom računara treba napomenuti da vreme rada računara potrebno za završetak algoritma treba biti razumno kratko. 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. Pojam algoritma ne mora biti vezan za primenu računara. Algoritmi se koriste u svakodnevnom životu za izvršavanje različitih aktivnosti (na pr. kuvarski recepti). IX razred Prof.ValentinaTodorović ALGORITMI Postoje različite mogućnosti za predstavljanje algoritma, ali se on najčešće pretstavlja 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. Najčešće korišćeni simboli su prikazani na sledećem slajdu. IX razred Prof.ValentinaTodorović ALGORITMI početak, kraj i prekid programa ulaz podataka izlaz podataka naredba (operacija) grananje (odluka) – uvijek ima jedan "ulaz", a dva "izlaza" linije toka programa IX razred Prof.ValentinaTodorović ALGORITMI ALGORITMI – 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, - razgranata i - ciklička. IX razred Prof.ValentinaTodorović POČETAK Linijska struktura Algoritamski koraci se izvršavaju jedan za drugim redosledom kojim su napisani. Primer Algoritam za zamenu točka na automobilu. 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 IX razred Prof.ValentinaTodorović Razgranata struktura Struktura algoritma u kojoj tok operacija zavisi od ispunjenosti nekih uslova zove se razgranata struktura. POČETAK 1.Stani ispred kolovoza 2. Pogledaj semafor NE Zeleno svetlo 3.Čekaj zeleno svetlo 4. Pređi ulicu Primer Algoritam za prelazak ulice sa semaforom. IX razred Prof.ValentinaTodorović KRAJ DA 3. Pređi ulicu Ciklička 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 Ako broj ponavljanja nije poznat unapred, nego zavisi od ispunjenosti nekog uslova struktura je promenljiva (uslovni ciklus). Primer - algoritam za prelazak ulice bez semafora. IX razred Prof.ValentinaTodorović IX razred Prof.ValentinaTodorović Složene algoritamske strukture Složene algoritamske strukture sastoje se od proizvoljnog broja, proizvoljnih kombinacija osnovnih algoritamskih struktura. IX razred Prof.ValentinaTodorović IX razred Prof.ValentinaTodorović