Teorema di Böhm-Jacopini

Il teorema di Böhm-Jacopini, enunciato nel 1966[1] dagli informatici Corrado Böhm e Giuseppe Jacopini, è un teorema di informatica teorica il quale afferma che qualunque algoritmo può essere implementato in fase di programmazione (in diagramma di flusso, pseudocodice o codice sorgente) utilizzando tre sole strutture dette strutture di controllo: la sequenza, la selezione e l'iterazione, da applicare in modo gerarchico alla composizione di istruzioni elementari (per esempio, istruzioni eseguibili con il modello di base della macchina di Turing).

Storia

Il lavoro che enuncia questo risultato venne svolto dai due autori presso l'Istituto per le applicazioni del calcolo, di cui erano entrambi ricercatori, nell'ambito di una collaborazione con l'International Computing Center dell'UNESCO, che aveva sede presso lo stesso istituto. Il ruolo dei due autori è specificato nell'introduzione dell'articolo.[2]

Strutture

Sequenza

La sequenza o blocco è la normale elencazione di istruzioni perché vengano eseguite una di seguito all'altra nell'ordine in cui sono state scritte dal programmatore.

Selezione (o condizionale)

La selezione è la scelta fra due percorsi da seguire alternativamente, che dipende da una condizione che può essere vera o falsa. Nei linguaggi di programmazione questa struttura viene definita di solito con l'uso di parole chiave come if ... then ... else. La condizione può essere una semplice variabile informatica booleana, cioè una variabile che può avere i soli valori "vero" e "falso". Nella pratica della programmazione vengono normalmente usati costrutti selettivi come if (a > 10) nei quali l'espressione tra parentesi è un'espressione booleana. Questo costrutto però si può considerare un'abbreviazione di una sequenza di assegnazioni preliminari conclusa da una selezione su una semplice variabile booleana. Nella pratica sono utilizzate anche selezioni a più di due vie, come quella implicita nell'operatore ?: del linguaggio C, lo storico IF a tre vie del Fortran 2 (istruzioni come: IF(numero)100,200,300) e i vari selettori a più vie come un'antica forma di GOTO del FORTRAN 2 e i costrutti come quello del C basato su switch e case. Anche tutti questi costrutti si possono ridurre senza difficoltà alla selezione dicotomica di base.

Ciclo (o iterazione)

Il ciclo, detto anche iterazione, è un blocco di istruzioni che vengono ripetutamente eseguite fino a che una certa condizione cambia di stato. Nella pratica si utilizzano diversi tipi di ciclo: quelli con la clausola sulla condizione in testa, quelli con la clausola in coda, quelli con la clausola in mezzo e quelli che prevedono lo scorrimento di una sequenza enumerativa (strettamente numerica o meno). Per l'implementazione si usano parole chiave come: while ... do. Anche tutti questi costrutti si possono ridurre ad un costrutto base.

Dimostrazione del teorema

La dimostrazione del teorema di Böhm e Jacopini procede per induzione strutturale del diagramma di flusso.[3] Avendo impiegato l'accoppiamento di pattern nei grafici, la dimostrazione di Böhm e Jacopini non fu molto utile come algoritmo di trasformazione dei programmi, ma aprì la porta a ricerche aggiuntive in questa direzione.[4]

Conseguenze

Questo teorema ha un interesse anche teorico, in quanto i linguaggi di programmazione tendono a dotarsi di più tipi di istruzioni di larga portata per evitare che i programmatori debbano occuparsi di istruzioni di portata molto minuta e quindi dispersive per quanto attiene alla padronanza delle finalità dell'algoritmo (esistono però linguaggi minimalisti, come Brainfuck, che si attengono alla lettera al teorema). Il suo valore va visto nella sua capacità di fornire indicazioni generali per le attività di progettazione di nuovi linguaggi e di strategie di programmazione. In effetti, esso ha contribuito alla critica dell'uso sconsiderato delle istruzioni go to e alla definizione delle linee guida della programmazione strutturata che si sono avuti intorno al 1970.

Note

  1. ^ C. Bohm, e G. Jacopini, Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules (PDF), in Communications of the ACM, vol. 9, n. 5, maggio 1966, pp. 366–371, DOI:10.1145/355592.365646. URL consultato il 5 agosto 2015.
  2. ^ In this paper, flow diagrams are introduced by the ostensive method; this is done to avoid definitions which certainly would not be of much use. In the first part (written by G. Jacopini), methods of normalization of diagrams are studied, which allow them to be decomposed into base diagrams of three types (first result) or of two types (second result). In the second part of the paper (by C. Böhm), some results of a previous paper are reported and the results of the first part of this paper are then used to prove that every Turing machine is reducible into, or in a determined sense is equivalent to, a program written in a language which admits as formation rules only composition and iteration.
  3. ^ David Harel, On Folk Theorems (PDF), in Communications of the ACM, vol. 23, n. 7, 1980, pp. 379–389, DOI:10.1145/358886.358892.
  4. ^ Z. Ammarguellat, A control-flow normalization algorithm and its complexity, in IEEE Transactions on Software Engineering, vol. 18, n. 3, 1992, pp. 237–251, DOI:10.1109/32.126773.

Collegamenti esterni

Read other articles:

Indian music composer duo Sachin–JigarBackground informationAlso known asSachin Sanghvi, Jigar SaraiyaBorn (1980-06-14) June 14, 1980 (age 43)OriginMumbai, IndiaGenresFilm soundtrack, Electronic, Pop, Rock, Hip Hop, JazzOccupation(s)Music director, singer, record producer, arranger, composer, entrepreneurInstrument(s)Vocals, Guitars, Piano, Keyboard, Bass guitar, Stomp, Percussions, Drums, Vibraphone, Flute, Electronic music Clarinet, Oboe, English Horn, Ukulele, Backpacker, Tumbi, Whistl…

International Football Association BoardLogo Discipline Calcio Calcio a 5 Beach soccer Fondazione1886 GiurisdizioneMondiale Sede Zurigo Sito ufficialewww.theifab.com, www.theifab.com/fr/, www.theifab.com/de/ e www.theifab.com/es/ Modifica dati su Wikidata · Manuale L'International Football Association Board (IFAB) è un organo internazionale (un'associazione di diritto svizzero), istituito a Londra nel 1886, che è composto di soli otto membri, indipendente dalla FIFA (dal gennaio 201…

Dinatrium guanilat Nama Nama IUPAC dinatrium [(2R,3S,4R,5R)-5-(2-amino-6-okso-3H-purin-9-yl)-3,4-dihidroksi-2-tetrahidrofuranil]metil fosfat [1] Nama lain natrium 5'-guanilatdinatrium 5'-guanilat Penanda Nomor CAS 5550-12-9 Y Model 3D (JSmol) Gambar interaktif 3DMet {{{3DMet}}} Nomor EC PubChem CID 21712 Nomor RTECS {{{value}}} CompTox Dashboard (EPA) DTXSID9044245 SMILES C1=NC2=C(N1C3C(C(C(O3)COP(=O)([O-])[O-])O)O)NC(=NC2=O)N.[Na+].[Na+] Sifat Rumus kimia C10H12N5Na2O8P Massa molar…

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Babad Tanah Pacitan adalah karya sastra Jawa yang memuat sejarah kota Pacitan, Jawa bagian timur. Teks ini ditulis oleh Mas Sadriya Wiyana yang berisi[1] bahwa: Nama Pacitan berasal dari kata “Pace” atau buah mengkudu (bahasa Jawa: Bentis) ya…

List of flags associated with the Federated States of Micronesia This is a list of flags associated with the Federated States of Micronesia. National flags Flag Duration Use Description 1978–present Flag of the Federated States of Micronesia A flag in a 10:19 featuring four stars, arranged in a circle, on a blue field.[1][2][3][4] Flags of the States of Micronesia Flag Duration Use Description 1997–present Flag of Chuuk State 1981–present Flag of Kosrae 1992…

  هذه المقالة عن هولاند باتينت (نيويورك). لمعانٍ أخرى، طالع هولاند (توضيح). هولاند باتينت   الإحداثيات 43°14′31″N 75°15′25″W / 43.2419°N 75.2569°W / 43.2419; -75.2569  [1] تاريخ التأسيس 1797  تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة أونيدا  …

American diplomat (1920–1986) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Walter J. Stoessel Jr. – news · newspapers · books · scholar · JSTOR (September 2014) (Learn how and when to remove this template message) Walter John Stoessel Jr.7th United States Deputy Secretary of StateIn officeFebruary 11, …

Statue in Baltimore, Maryland, U.S. For the monument in Mount Vernon Square, see Washington Monument (Baltimore). George WashingtonWashington MonumentSculpture in 2017ArtistEdward Sheffield BartholomewYear1857 (1857)LocationBaltimore, Maryland, U.S.OwnerCity of Baltimore George Washington is a statue of the first president of the United States by the same name located in Baltimore, Maryland. Erected in 1857 in, the sculpture is located at the main entrance of Druid Hill Park.[1] His…

Malayan-Singaporean badminton player In this Malay name, there is no surname or family name. The name Marjan is a patronymic, and the person should be referred to by their given name, Ismail. Badminton playerIsmail MarjanIsmail Marjan in 1949Personal informationNickname(s)Pak Mail[1]Birth nameIsmail bin Haji MarjanCountrySingaporeBorn(1920-06-07)7 June 1920[1]British MalayaDied25 January 1991(1991-01-25) (aged 70)[2]SingaporeHandednessRight Medal record Men's ba…

Ronsecco commune di Italia Tempat Negara berdaulatItaliaRegion di ItaliaPiedmontProvinsi di ItaliaProvinsi Vercelli NegaraItalia Ibu kotaRonsecco PendudukTotal542  (2023 )GeografiLuas wilayah24,48 km² [convert: unit tak dikenal]Ketinggian145 m Berbatasan denganBianzè Desana Tricerro Trino Crova Lignana Tronzano Vercellese SejarahSanto pelindungLaurensius Informasi tambahanKode pos13036 Zona waktuUTC+1 UTC+2 Kode telepon0161 ID ISTAT002118 Kode kadaster ItaliaH549 Lain-lainSitus webLa…

Carnivore in Sahara Saharan striped polecat Conservation status Least Concern  (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Carnivora Family: Mustelidae Genus: Ictonyx Species: I. libycus Binomial name Ictonyx libycus(Hemprich & Ehrenberg, 1833) Saharan striped polecat range The Saharan striped polecat (Ictonyx libycus), also known as Saharan striped weasel and Libyan striped weasel, is a species of mamm…

Kereta api Gaya Baru Malam SelatanKereta api Gaya Baru Malam Selatan melaju meninggalkan Stasiun TambunInformasi umumJenis layananKereta api antarkotaStatusBeroperasiDaerah operasiDaerah Operasi VIII SurabayaPendahuluLimited Express (Limex) Gaja Baru (1964-1975)Mulai beroperasi17 Februari 1975; 49 tahun lalu (1975-02-17)Operator saat iniPT Kereta Api IndonesiaJumlah penumpang harian2.000 penumpang per hari (rata-rata)[butuh rujukan]Lintas pelayananStasiun awalSurabaya GubengJumlah p…

Artikel ini perlu diterjemahkan dari bahasa Inggris ke bahasa Indonesia. Artikel ini ditulis atau diterjemahkan secara buruk dari Wikipedia bahasa Inggris. Jika halaman ini ditujukan untuk komunitas bahasa Inggris, halaman itu harus dikontribusikan ke Wikipedia bahasa Inggris. Lihat daftar bahasa Wikipedia. Artikel yang tidak diterjemahkan dapat dihapus secara cepat sesuai kriteria A2. Jika Anda ingin memeriksa artikel ini, Anda boleh menggunakan mesin penerjemah. Namun ingat, mohon tidak menyal…

Pour les articles homonymes, voir Kepler. SN 1604 Le rémanent de supernova de SN 1604. Image NASADonnées d'observation (Époque J2000.0) Ascension droite 17h 30m 42s Déclinaison −21° 29′ 0″ Constellation Ophiuchus Localisation dans la constellation : Ophiuchus modifier SN 1604[1], également connue sous le nom de supernova de Kepler[1] ou d'étoile de Kepler[2], est une supernova survenue dans la Voie lactée, dans la constellation Ophiuchus, dont l'exp…

Powiat Płońsk Lambang Powiat Płońsk Lokasi Powiat Płońsk Informasi Negara Polandia Provinsi Mazowsze Ibu kota Płońsk Luas 1383,67 km² Penduduk 87 584 (30 Juni 2005) Kadar urbanisasi 30,59 % Kode internasional (+48) Pelat nomor kendaraan bermotor WPN Pembagian administratif Kota 2 Kota kecamatan: - Kelurahan 10 Politik (Status: ) Bupati (Starost) Kazimierz Dąbkowski Alamat ul. Płocka 39 09-100 Płońsk Situs web resmi [http:// ] Powiat Płońsk adalah sebuah powiat (semacam …

Cero pasquale. Nella liturgia della Chiesa cattolica il cero pasquale è un cero che viene acceso all'inizio della solenne Veglia pasquale, e simboleggia la luce di Cristo risorto che vince le tenebre della morte e del male. Indice 1 Il cero pasquale durante la Veglia pasquale 2 Il tempo pasquale 3 Altri utilizzi del cero pasquale 3.1 Nel battesimo 3.2 Nelle esequie 4 Riforma liturgica di Pio XII 5 Galleria d'immagini 6 Note 7 Voci correlate 8 Altri progetti 9 Collegamenti esterni Il cero pasqua…

Paus balinRentang fosil: Akhir eosen - sekarang Dari kiri atas searah jarum jam: Paus bungkuk, paus kelabu, paus sikat atlantik utara, dan paus tombak Klasifikasi ilmiah Domain: Eukaryota Kerajaan: Animalia Filum: Chordata Kelas: Mammalia Ordo: Artiodactyla Infraordo: Cetacea Parvordo: Mysticeti Subgrup Borealodon (punah) Coronodon (punah) Llanocetidae (punah) Mammalodontidae (punah) Kinetomenta Aetiocetidae (punah) Chaeomysticeti Eomysticetidae (punah) Pelocetidae (punah) Cetotheriidae Balaenop…

Cargo ship carrying slaves onboard from Africa to the Americas For other uses, see Slave ship (disambiguation). A plan of the British slave ship Brookes, showing how 454 slaves were accommodated on board after the Slave Trade Act 1788. This same ship had reportedly carried as many as 609 slaves and was 267 tons burden, making 2.3 slaves per ton.[1] Published by the Society for Effecting the Abolition of the Slave Trade Part of a series onSlavery Contemporary Child labour Child soldi…

2007 compilation album by MinaThe Best of Platinum CollectionCompilation album by MinaReleased15 October 2007 (2007-10-15)Recorded1968–1986GenrePoprock[1]Length74:55LanguageItalianLabelEMIMina chronology Todavía(2007) The Best of Platinum Collection(2007) Sulla tua bocca lo dirò(2009) The Best of Platinum Collection is a compilation album by Italian singer Mina, released on 15 October 2007 by EMI. The album features selected tracks from the compilations The Pla…

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Spot comics – news · newspapers · books · scholar · JSTOR (April 2023) (Learn how and when to remove this message) Comics character The SpotTextless cover of Super-Villain Team-Up: MODOK's 11 #3 (November 2007).Art by Marko Djurdjević.Publication informationPublisherMarvel ComicsFirst appearanceAs unnam…

Kembali kehalaman sebelumnya