osobine · web view2018/10/30 · osobine dobrog algoritma dobro napisan algoritam mora poštovati...
TRANSCRIPT
Osobine dobrog algoritma
Dobro napisan algoritam mora poštovati sledeća pravila: diskretnost, determinisanost, efektivnost ili konačnost, rezultativnost, masovnost i optimalnost.
Diskretnost
Algoritam se sastoji od konačnog broja posebnih koraka (algoritamski koraci). Svaki korak može zahtevati obavljanje jedne ili više operacija. U zavisnosti od toga koje operacije računar može da obavi, uvode se ograničenja za tip operacija koje se u algoritmu mogu koristiti (najčešće sabiranje, oduzimanje, množenje, deljenje).
Determinisanost
Svaki algoritamski korak mora biti strogo definisan i potpuno jasan. Na primer, izrazi tipa: "izračunaj pet podeljeno sa nulom" ili "dodaj 6 ili 7 puta" nisu dozvoljeni. Posle izvršenja tekućeg algoritamskog koraka, mora biti jednoznačno definisano koji je sledeći korak.
Efektivnost ili konačnost
Sve operacije koje se javljaju u jednom algoritamskom koraku moraju se izvršiti za konačno ili razumno kratko vreme. Vreme izvršenja celog algoritma mora biti konačno, to jest razumno dugo.
Rezultativnost
Svaki algoritam mora posle konačnog broja koraka generisati rezultat. Algoritam može imati nula ili više ulaznih podataka i može generisti jedan ili više izlaznih rezultata.
Masovnost
Svaki algoritam definiše postupak za rešavanje klase problema, a ne pojedinačnog slučaja. Na primer, rešavanje sistema jednačina bilo kog reda, množenje matrica proizvoljnog reda, itd.
Optimalnost
Ključne osobine jednog algoritma, međusobno povezane, bile bi:
Vremenska kompleksnost - koliko brzo? Prostorna kompleksnost - koliko memorije? Kompleksnost koda - lakoća razumevanja i snalaženja u kodu?
Zadatak prikazan iznad, neće biti na usmenom!
Izračunati dijagonalu kvadrata:
Unose se tri broja: a, b i c. Otkriti i ispisati najmanji broj.
Nevaljali učenici su iščupali tastere “<” i “>” sa tastature. Potrebno je uporediti dva unijeta cijela pozitivna broja, A i B (dakle, da se napiše koji je veći, odnosno manji), bez upotrebe relacija “<”, “>”, “<=” i “>=”.
KAKO CIKLUS FUNKCIONIŠE?
MJESTO PROVJERE USLOVA