Strukturirano programiranje

Из Википедије, слободне енциклопедије

Istorija[уреди]

Strukturirano programiranje nastalo je 70-ih godina, a njemu je prethodilo kompozitno programiranje. Činjenica da nije postojao softver, koji bi mogao iskoristiti novonastale velike mogućnosti hardvera dovela je do prve softverske krize. 1968. godine holandski informatičar Edsher Dajkstra (Edsger Wybe Dijkstra) napisao je članak "Goto Statement Considered Harmful" ("Goto naredba se smatra štetnom"), gde izlaže rezultate svog istraživanja, na osnovu kojih je zaključio da je broj grešaka u softveru proporcionalan broju upotreva "goto" naredbe. 1969. godine, konačno je stvoren programski jezik koji je omogućio pisanje programa bez upotrebe goto naredbe. To je bio Paskal, koji je stvorio Niklaus Virt. 1972. godine, pomenuti hemičar Dajkstra, kao i Hoare i Dahl su napisali knjigu "Strukturirano programiranje", u kojoj se nalaze i članci koji se bave rešavanjem problema bez upotrebe "goto" naredbe.

Danas, pod stukturiranim programiranjem podrazumevamo skup tehnika za razvijanje programskih modela koji koriste strogo definisane upravljačke strukture i strukture podataka.

Pravilni programi[уреди]

Ciljna klasa programa naziva se pravilni program. Pod ovim podrazumevamo program koji zadovoljava sledeća tri uslova:

  • ima tačno jednu ulaznu granu
  • ima jednu izlaznu granu
  • kroz svaki čvor prolazi se bar jednom od ulaza do izlaza

Funkcija prva dva uslova jeste da se ceo pravilni program može zameniti tačno jednim čvorom, a funkcija trećeg jeste da eliminiše mogućnost beskonačnih ciklusa izolovanih delova programa.

Strukturna teorema i programiranje bez goto[уреди]

Posebna baza strukturnih programa, koju čine sekvenca, iteracija tipa "while-do" i selekcija tipa "if-then-else" jeste baza pomoću koje se može izvesti svaki program i na osnovu koje možemo napraviti neke druge baze koje su nam potrebne.

1966. godine C. Boehm i G. Jacopini su izveli strukturnu teoremu koja pokazuje da se sveki pravilan program može ostvariti superpozicijom ove tri strukture (može se ostvariti bez upotrebe skokova), što je bilo ključno za rešavanje problema, koji su tražili uvođenje strukturiranih programa.

Literatura[уреди]