Naredna: Pseudokod programa Gore: Faktorijel Prethodna: Faktorijel   Sadržaj


Specifikacija

Prva ideja za rešenje ovog programa je korišćenje naredbe

y = faktorijel(x)

pri čemu se pretpostavlja da je faktorijel() neka već raspoloživa funkcija koja se ponaša kao crna kutija i izračunava traženu vrednost. Čak i ako je takva funkcija raspoloživa, mi nismo nužno sigurni u njenu ispravnost. Ispravnost našeg šireg programa zavisiće od ispravnosti te funkcija čije ponašanje nam možda nije u potpunosti poznato. Šta, na primer, vraća ta funkcija za x=-5? Da bismo mogli da koristimo takvu funkciju, neophodno je da znamo da je ona ispravno napisana, tj. da znamo da li se ona uvek zaustavlja, za koje ulazne vrednosti je definisana i da li za svaku od njih vraća tačan rezultat.

Ukoliko takva funkcija nije raspoloživa, neophodno ju je implementirati i dokazati njenu ispravnost. Ono što je na samom početku neophodno uraditi je da se jasno definiše kakve se vrednosti ulazne promenljive mogu očekivati i šta je to što se očekuje na izlazu, tj. šta je to što želimo da program izračuna. Dakle, neophodno je da jasno definišemo preduslov i pauslov programa, tj. da formulišemo specifikaciju.

Kako faktorijel ima smisla računati samo za nenegativne cele brojeve, preduslov programa je {x ≥ 0}. Na izlazu očekujemo rezultat izračunavanja faktorijela, pa je pauslov {y = faktorijel(x)}. Dakle, specifikaciju našeg programa možemo zapisati na sledeći način:

{x ≥ 0} --> {y = faktorijel(x)}

Sledeći korak je projektovanje i realizacija rešenja, tj. konstruisanje algoritma koji rešava ovaj problem.




Naredna: Pseudokod programa Gore: Faktorijel Prethodna: Faktorijel   Sadržaj