GOTO

Disambiguazione – Se stai cercando altri significati, vedi Goto.
(EN)

«Code that relies on goto statements is generally harder to understand and to maintain than code without gotos. Although we are not dogmatic about the matter, it does seem that goto statements should be used rarely, if at all.»

(IT)

«Il codice che utilizza istruzioni goto è generalmente più difficile da capire e da gestire rispetto al codice senza goto. Anche se non siamo dogmatici riguardo alla questione, risulta che gli statement goto debbano essere usati raramente, se non per niente.»

In informatica, GO TO o GOTO (lett. "vai a") è un'istruzione di controllo di flusso di esecuzione. Essa è prevista in vari linguaggi di programmazione e consente di effettuare salti incondizionati da un punto all'altro del codice. In passato veniva spesso impiegata, tuttavia il suo utilizzo risultava spesso improprio, rendendo illeggibile o di difficile comprensione un algoritmo o una procedura e dando vita a quelli che in gergo vengono chiamati spaghetti code.

Descrizione

Questa istruzione è presente in Fortran, ALGOL, COBOL, SNOBOL, BASIC, Lisp, C, C++, Pascal, Perl, PHP (dalla versione 5.3) e molti altri meno noti. In Assembly, ed in generale nei linguaggi a basso livello, è un'istruzione fondamentale per controllare il flusso delle istruzioni (ed adattarsi ai linguaggi di programmazione che non ne fanno volutamente uso).

Negli assembly essa corrisponde ad un'istruzione di salto e può essere chiamata con nomi diversi: BRA (da "branch"), JP, JMP o JUMP con tutte le loro varianti condizionali (zero, nonzero, carry, ecc.)

Era molto in voga nei linguaggi (ormai obsoleti) legati al numero di riga, come il BASIC. La sintassi era:

GOTO numero di riga

Altri linguaggi senza numeri di riga, come il C o il PHP, utilizzano delle etichette che identificano l'indirizzo di codice a cui si vuole saltare.

Nei linguaggi ad alto livello può essere usata per uscire rapidamente da cicli profondamente nidificati. Ai giorni nostri l'uso di questa istruzione in tali linguaggi è generalmente considerato indice di cattiva programmazione (il cosiddetto "spaghetti code") perché viola le basi della programmazione strutturata.

Come dimostrato dal teorema di Böhm-Jacopini, un'attenta scrittura del codice può evitare di ricorrere a istruzioni GOTO, anche se è a volte necessario introdurre variabili aggiuntive o un ulteriore costrutto logico. L'assenza di GOTO rende comunque il codice più facile da analizzare.

Tuttavia, in linguaggi che non prevedano le eccezioni oppure nella scrittura di sistemi operativi, i salti incondizionati nel codice possono essere una valida scelta nel caso di rollback di operazioni o deallocazione di risorse allocate attraverso passi successivi, quando in uno di tali passi si verifichi una condizione di errore. Il codice sorgente del kernel Linux è ricco di GOTO, spesso finalizzati a tale scopo.

Esempi

I seguenti esempi stampano tutti a schermo 10 righe numerate progressivamente

Linguaggio BASIC

Esempio di utilizzo dell'istruzione goto

 10 LET i = 1
 20 PRINT i
 30 LET i = i + 1
 40 IF i < 10 THEN GOTO 20

Esempio di programmazione strutturata senza goto

 10 LET i = 1
 20 DO
 30 PRINT i
 40 LET i = i + 1
 50 LOOP WHILE i < 10

Linguaggio C/C++

Esempio di utilizzo dell'istruzione goto

 int i = 1;
 etichetta:
 printf("riga %d\n", i++);
 if (i < 10) goto etichetta;

Esempio di programmazione strutturata senza goto

 int i = 1;
 do {
    printf("riga %d\n", i++);
 } while (i < 10);

oppure

for(int i = 0; i < 10; i++)
    printf("riga %d\n", i);

Voci correlate

  • COMEFROM Una struttura di controllo che si propone di essere più oscura del GOTO[senza fonte]

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

Read other articles:

Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Jalan Tol Demak–Tuban – berita · surat kabar · buku · cendekiawan · JSTOR Jalan Tol Demak-TubanInformasi ruteDikelola oleh PT. Hanjaya Mandala Sampoerna TbkPanjang:176.99 km (109,98 mi)Berdiri:2024; 11 bula...

 

 

Regra de Sarrus: O determinante da matriz formada pelas três colunas da esquerda é a soma dos produtos ao longo das diagonais indicadas por linhas cheias menos a soma dos produtos ao longo das diagonais tracejadas A Regra de Sarrus ou esquema de Sarrus é um método ou esquema de memorização para calcular o determinante de uma matriz 3×3. O nome refere-se ao matemático francês Pierre Frederic Sarrus.[1] Considerando uma matriz 3x3 M = ( a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ) {\...

 

 

Про бідного гусара замовте словорос. О бедном гусаре замолвите слово Вид телефільмЖанр історичний,мелодрамаРежисер Ельдар РязановСценарист Григорій Горін і Рязанов Ельдар ОлександровичУ головних ролях Євген ЛеоновОлег БасилашвіліІрина МазуркевичСтаніслав Садал

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (مارس 2019) رون إريكسون معلومات شخصية الميلاد 20 أبريل 1933  بيوريا، إلينوي  تاريخ الوفاة 8 أكتوبر 2023 (90 سنة) [1][2]  الإقامة ميسولا، مونتانا  مواطنة الولايات ا

 

 

Максименко Віталій Григорович Народився 18 квітня 1918(1918-04-18)Глобинський район, УкраїнаПомер 9 грудня 1991(1991-12-09) (73 роки)Львів, УкраїнаКраїна  УНР СРСРУкраїнаДіяльність кераміст, педагогAlma mater Львівський інститут прикладного та декоративного мистецтва (1953)Заклад Льві

 

 

Trouble in Paradise Miriam Hopkins y Herbert Marshall en una foto publicitaria de la película.Título Un ladrón en la alcobaFicha técnicaDirección Ernst LubitschProducción Ernst LubitschGuion Samson Raphaelson, Grover JonesMúsica W. Franke HarlingFotografía Victor MilnerVestuario Travis BantonProtagonistas Miriam HopkinsKay FrancisHerbert MarshallCharles RugglesEdward Everett Horton Ver todos los créditos (IMDb)Datos y cifrasPaís Estados UnidosAño 1932Género ComediaDuración 83 min...

Species of shorebird Sharp-tailed sandpiper Conservation status Vulnerable (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Aves Order: Charadriiformes Family: Scolopacidae Genus: Calidris Species: C. acuminata Binomial name Calidris acuminata(Horsfield, 1821) The sharp-tailed sandpiper (Calidris acuminata) is a small-medium migratory wader or shorebird, found mostly in Siberia during the summer breeding period (June to Augu...

 

 

You can help expand this article with text translated from the corresponding article in Italian. (June 2016) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Consider adding a topic to this template: there are al...

 

 

مايكل جاكسون هذه هيMichael Jackson's This Is It (بالإنجليزية) ملصق فيلم مايكل جاكسون: هذه هي.معلومات عامةالتصنيف video album (en) الصنف الفني فيلم وثائقي[2][3] — فيلم موسيقي — فيلم سيرة ذاتية تاريخ الصدور 28 أكتوبر، 2009مدة العرض 111 دقيقةاللغة الأصلية الإنجليزيةالبلد  الولايات المتحدة...

دفيئة زجاجية من الداخل بيت زجاجي بالقرب من الرمادي - العراق. الدفيئة[1][2] (في الشام) أو الصوبة (في مصر وليبيا) هي خيم مصنوعة من مواد شفافة منفذة لأشعة الشمس، وتكون أحياناً ذات هيكل معدني أو خشبي تزرع بداخلها النباتات في درجات حرارة ورطوبة يمكن تنظيمها، لتوفير مناخ دافئ

 

 

Panteleymon Sergeyevich RomanovLahir(1884-07-24)24 Juli 1884Tula OblastMeninggal8 April 1938(1938-04-08) (umur 53)Moscow Panteleimon Sergeyevich Romanov (bahasa Rusia: Пантелеймон Сергеевич Романов, 24 Juli 1884 - April 8, 1938) adalah seorang penulis asal Rusia / Soviet.[1] Romanov dilahirkan dalam sebuah keluarga bangsawan di desa Petrovskoe di tempat yang sekarang disebut Tula Oblast. Setelah menyelesaikan studi hukumnya di Moscow State University, i...

 

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (سبتمبر 2017) لينز كيسلر كيسلر في عام 2013 معلومات شخصية الاسم عند الميلاد (بالدنماركية: Lenina Christiansen)‏  الميلاد 31 مارس 1966(1966-03-31)كوبنهاغن، الدنمارك الجنسية مملكة الدنمارك&...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (سبتمبر 2018) مجلة الدلفين الصغيرمعلومات عامةتصدر كل شهربلد المنشأ  إيطالياأول نشر 1982مالقطع 21,5×27 سمالثمن 5 ريالات سعوديةشخصيات هامةرئيس التحرير محمد هيثم الخياطالتح...

 

 

Porträt von Karoline Goldhofer-Prützel Karoline Goldhofer-Prützel geborene Kissmer (* 12. Februar 1924 in Leverkusen[1]; † 13. Juli 2013 in Memmingen) war eine deutsche Unternehmerin. Inhaltsverzeichnis 1 Werdegang 2 Ehrungen 3 Weblinks 4 Einzelnachweise Werdegang Karoline Kissmer stammte aus dem Rheinland. 1953 heiratete sie den Unternehmer Alois Goldhofer (1922–1981), der 1946 in Amendingen (Schwaben) die Allgäuer Fahrzeugwerke Alois Goldhofer KG gegründet hatte. Sie stieg ...

 

 

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: List of Recorded Texas Historic Landmarks Anderson-Callahan – news · newspapers · books · scholar · JSTOR (April 2017) (Learn how and when to remove this template message) The following is an introductory partial list in a series of Recorded Texas Historic...

1964 novel by Fritz Leiber The Wanderer Cover of first edition (paperback)AuthorFritz LeiberCountryUnited StatesLanguageEnglishGenreScience fictionPublisherBallantine BooksPublication date1964Media typePrint (hardback & paperback)Pages318ISBN0-575-07112-5 (SF Masterworks series edition)OCLC313201279LC ClassPS3523.E4583 W3 2001 The Wanderer is a science fiction novel by American writer Fritz Leiber, published as a paperback original by Ballantine Books in 1964. It won the 1965 Hu...

 

 

Melody of EyesSampul edisi terbatasSingel oleh Boyfrienddari album Seventh MissionBahasaBahasa JepangSisi-BTo MoonDirilis27 Maret 2013 (2013-03-27)Direkam2013GenreJ-pop, Dance-popDurasi18:22LabelBeing GroupStarship EntertainmentPenciptaLa TerreProduserDaiko Nagato Melody of Eyes (Hitomi no Melody) adalah singel berbahasa Jepang ketiga dari boy band asal Korea Selatan Boyfriend. Album ini dirilis pada tanggal 27 Maret 2013 dalam 4 edisi yang berbeda.[1] Referensi ^ 3rdシングル...

 

 

Japanese actress Ayame Goriki剛力 彩芽Born (1992-08-27) 27 August 1992 (age 31)Hodogaya-ku, Yokohama, Kanagawa Prefecture, JapanOccupations Actress singer model TV personality Years active2002–presentAgentShortcutNotable workBiblia Koshodō no Jiken Techō as Shioriko ShinokawaHeight162 cm (5 ft 4 in)Websitewww.ayamegoriki.com Ayame Goriki (剛力 彩芽, Gōriki Ayame, born 27 August 1992) is a Japanese actress, singer and model. She was represented by the tale...

American singer This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Tony Orlando – news · newspapers · books · scholar · JSTOR (April 2022) (Learn how and when to remove this template message) Tony ...

 

 

AwardMedal of Merit of the Civil GuardTypeMilitary decorationAwarded forDistinguished servicePresented by Kingdom of BelgiumEligibilityMembers of the Belgian Civic guardClaspsNoneStatusAbolishedEstablished19 November 1830First awarded1830Last awarded1830Total5Total awarded posthumously0Total recipients5 The Medal of Merit of the Civil Guard (Dutch: medaille van verdienste van de burgerwacht, French: Médaille du mérite de la garde civique) is a decoration of Belgium. It was established on 18...

 

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!