Teorema del programa estructurat

De Viquipèdia
Dreceres ràpides: navegació, cerca

El teorema del programa estructurat és un resultat de la teoria de llenguatges de programació. Aquest teorema estableix que tota funció computable pot ser implementada per un llenguatge de programació que combini subrutines de només 3 tipus. Aquestes 3 formes també anomenades estructures de control són:

  • Executar una subrutina i després una altra (estructures de seqüència)
  • Executar una subrutina seleccionada d'entre 2 rutines possibles depenent d'un valor boolea (estructures de selecció com IF-THEN-ELSE)
  • Executar una subrutina durant el temps que una variable booleana sigui certa (estructures d'iteració, cicle o bucle)

Aquest teorema demostra que la instrucció GOTO no és estrictament necessària i que per a tot programa existeix un programa equivalent que no utilitza aquesta instrucció.

El experts en computació acrediten aquest teorema a un article escrit per Corrado Böhm i Giuseppe Jacopini. Tot i això, David Harel va rastrejar els orígens d'aquest teorema fins a arribar a la descripció de 1946 de l'arquitectura de Von Neumann i el teorema formal de Kleene.

Enllaços externs[modifica | modifica el codi]

  • Ashcroft, Edward. «The translation of go to programs to 'while' programs». Proceedings of IFIP Congress, 1971.
  • Bohm, Corrado. «Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules». Communications of the ACM, vol. 9, 5, May 1966.
  • Harel, David. «On Folk Theorems». Communications of the ACM, vol. 23, 1980.
  • Dijkstra, Edsger. «Go To Statement Considered Harmful». Communications of the ACM, vol. 3 http://www.acm.org/classics/oct95/, 1968.

Vegeu també[modifica | modifica el codi]