Teorema Boehm - Jacopini este o prevedere de programare structurată , conform căreia orice algoritm executabil poate fi convertit într-o formă structurată, adică într-o astfel de formă atunci când cursul executării sale este determinat numai cu ajutorul a trei structuri de control: secvențial ( secvență engleză ), ramificare (selecție engleză) și repetiții sau cicluri (iterație în engleză).
1. Într - o structură secvențială , instrucțiunile sunt executate în ordinea în care sunt scrise în program , adică una după alta.
2. În structura de ramificare , succesiunea de execuție a instrucțiunilor depinde de o condiție dată, cel mai adesea o variabilă logică .
3 . În bucle , instrucțiunile sunt repetate până când unele condiții se schimbă, cum ar fi valoarea unei variabile booleene.
Teorema a fost formulată și demonstrată de matematicienii italieni Corrado Böhm și Giuseppe Jacopini în lucrarea lor din 1966 [1] . Articolul a descris, de asemenea, metode de conversie a algoritmilor nestructurați în cei structurați folosind limbajul de programare P′′ creat de Boehm ca exemplu .
La 2 ani de la publicarea teoremei, în 1968 Edsger Dijkstra a publicat un articol „Go To Statement Considered Harmful” [2] , în care critica utilizarea operatorului GOTO și se pronunța în favoarea îmbunătățirii stilului codului programului prin intermediul utilizarea structurilor de control și respingerea altor instrucțiuni, care controlează cursul algoritmului.
Teorema structurală Boehm-Jacopini nu a fost începutul programării structurale. Această teoremă este o declarație științifică folosită de Dijkstra pentru a-și fundamenta ideea de a folosi doar structuri de control în programe: structuri secvențiale, ramuri și bucle și nimic mai mult [3] .