Istruzione Goto.

di Anonimizzato31893 il
9 risposte
Mi incuriosisce tanto questa istruzione Goto, in sostanza interrompe dei cicli.....
Mi risulta che Goto sia un alternativa al break, in quanto riesce a terminare solo l''iterazione più interna in un codice...

Mi risulta dal testo che è una istruzione che molti la evitano e ci sono delle alternative....., ma voi che programmate tanto, questa Goto, la trovate utile e la usate spesso?

9 Risposte

  • Sembra che a volte venga usata per riavviare i programmi.
  • Addirittura!
    Il testo mi parla di interruzione quando è impossibile intervenire con il break perchè termina solo l'operazione più interna!
  • Perchè hai letto solo un paragrafo su uno dei tanti usi del goto, non hai studiato il funzionamento del goto
  • oregon ha scritto:


    Perchè hai letto solo un paragrafo su uno dei tanti usi del goto, non hai studiato il funzionamento del goto

    Sicuramente nei paragrafi successivi incontrerò questa funzione...., nell'eventualità la studierò da altre fonti!
    Meglio fare passo per volta e non fare passi più lunghi......
  • Grazie Oregon!
    Quindi in questo codice:
     
     // goto.c
    #include <stdio.h>
    
    int main()
    {
        int i, j;
    
        for ( i = 0; i < 10; i++ )
        {
            printf_s( "Outer loop executing. i = %d\n", i );
            for ( j = 0; j < 3; j++ )
            {
                printf_s( " Inner loop executing. j = %d\n", j );
                if ( i == 5 )
                    goto stop;
            }
        }
    
        /* This message does not print: */
        printf_s( "Loop exited. i = %d\n", i );
    
        stop: printf_s( "Jumped to stop. i = %d\n", i );
    }
     


    Il goto, ha la funzione di bloccare solo quel ciclo for all'interno di quelle graffe, giusto?
  • In questo caso serve ad uscire dal ciclo.

    Per uscire da cicli annidati (molto annidati) può essere utile il goto, ma io comunque preferisco non usarlo.
  • Infatti, sto usando anche un altro testo alternativo e lo stesso mi dice che goto e' poco utilizzato!
  • Il "goto" e' usato per il paradigma di programmazione ""Spaghetti Oriented Programming"".

    https://it.wikipedia.org/wiki/Spaghetti_cod

    Poi' e' una questione di ""gusto personale"" se seguire uno dei prossimi ""paradigmi"":
    • Spaghetti alla carbonara
    • Spaghetti aglio e olio
    • Spaghetti alla carrettiera
    • Spaghetti all'amatriciana
    • Spaghetti alla puttanesca
    • Spaghetti alla siracusana
    • Spaghetti alle vongole
    • Spaghetti allo scoglio
    • Spaghetti all'arrabbiata
    • Spaghetti cacio e pepe
    • Spaghetti al pomodoro


    A parte le batture, esiste il seguente (vero) teorema: Teorema di Böhm-Jacopini

    https://it.wikipedia.org/wiki/Programmazione_strutturata
Devi accedere o registrarti per scrivere nel forum
9 risposte