Boehm-Jacopiniho věta

Boehm - Jacopiniho  teorém  je ustanovení strukturovaného programování , podle kterého lze jakýkoli spustitelný algoritmus převést do strukturované formy, tedy do takové podoby, kdy je průběh jeho provádění určen pouze pomocí tří řídicích struktur: sekvenční ( anglicky  sequence ), větvení (anglický výběr ) a opakování nebo cykly (anglická iterace).

1. V sekvenční struktuře jsou instrukce prováděny v pořadí, v jakém jsou zapsány v programu , tj. jedna po druhé.

Podprogram 1 /* sekvenční provádění instrukcí 1, 2 ..N…...*/ Instrukce 1;
Pokyn 2;
...
Pokyn N;
Konec podprogramu 1.

2. Ve struktuře větvení závisí posloupnost provádění instrukcí na dané, nejčastěji logické proměnné , podmínce.

Podprogram 2 /* větve - Vyberte instrukci podle podmínky */
Pokud je podmínka 1 , pak Instrukce 1; /* vykoná se, pokud je podmínka 1 pravdivá */
Pokud podmínka 2 , pak instrukce 2; /* provede se, pokud je podmínka 2 pravdivá */
...
Else Instrukce N; /* provede se, pokud není splněna žádná z podmínek */ .
Konec podprogramu 2.

3 . V cyklech se příkazy opakují, dokud se nezmění některá podmínka, například hodnota booleovské proměnné.

Podprogram 3 /* Smyčka */
Při provádění podmínky N Instrukce N /* Smyčka se opakuje, dokud není splněna podmínka N */
Instrukce N + 1 /* Opustí smyčku, když je podmínka N porušena */
Konec podprogramu 3

Větu formulovali a dokázali italští matematici Corrado Böhm a Giuseppe Jacopini ve svém článku z roku 1966 [1] . Článek také popisuje způsoby převodu nestrukturovaných algoritmů na strukturované pomocí programovacího jazyka P′′ vytvořeného firmou Boehm jako příklad .

2 roky po zveřejnění věty publikoval Edsger Dijkstra v roce 1968 článek „Přejít na prohlášení považované za škodlivé“ [2] , ve kterém kritizoval použití operátoru GOTO a vyslovil se pro zlepšení stylu programového kódu prostřednictvím použití řídících struktur a odmítnutí dalších instrukcí, které řídí průběh algoritmu.

Boehm-Jacopiniho strukturální teorém nebyl začátkem strukturálního programování. Tato věta je vědeckým prohlášením, které použil Dijkstra k doložení své myšlenky používat v programech pouze řídicí struktury: sekvenční struktury, větve a smyčky a nic víc [3] .

Poznámky

  1. Bohm, Corrado; a Giuseppe Jacopini. Vývojové diagramy, Turingovy stroje a jazyky pouze se dvěma formačními pravidly  (anglicky)  // Communications of the ACM  : journal. - 1966. - Květen ( roč. 9 , č. 5 ). - str. 366-371 . - doi : 10.1145/355592.365646 . Archivováno z originálu 5. března 2016.
  2. Dijkstra, Edsger. Přejít na prohlášení považované za škodlivé  // Communications of the ACM  :  journal. - 1968. - Sv. 11 , č. 3 . - S. 147-148 . - doi : 10.1145/362929.362947 . Archivovaná kopie . Získáno 3. července 2007. Archivováno z originálu 3. července 2007.
  3. Avacheva T. G., Prutskov A. V. Moderní pohled na koncept strukturovaného programování  // Cloud of Science. - 2019. - T. 6 , č. 4 . Archivováno z originálu 7. listopadu 2019.