No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Expresi贸n goto

11/13
Recursos

Aportes 18

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En el libro de Algoritmos a fondo con implementaciones en C y Java, escrito por el Ing. Pablo Augusto Sznajdleder.
Dice, la estructura 鈥渋r a鈥 o, en ingl茅s, 鈥済o to鈥 o 鈥済oto鈥. Esta estructura qued贸 descartada luego de que el
teorema de la programaci贸n estructurada demostrara que con una adecuada combinaci贸n
de las**_ tres estructuras de control **(secuenciales, selectivas e iterativas. Las que estudiamos en este curso) es posible resolver cualquier algoritmo sin tener que recurrir al **鈥済oto鈥漘** (o estructura 鈥渋r a鈥). Esta estructura se qued贸 en desuso porque trae grandes problemas de mantenibilidad.

Esta instrucci贸n goto seguramente sea algo heredado de otros lenguajes m谩s antiguos. El lenguaje **C ** que se basa en un paradigma de programaci贸n estructurada.
Es m谩s avanzado a la programaci贸n secuencial porque tiene funciones que rompe la continuidad, por la existencia de return, los bucles con el continue, y break. Elgoto` es algo que puede saltar a otro lugar del c贸digo que puede ser curioso鈥 no lo he probado pero que tal y si pongo la etiqueta dentro de un bucle y este no tiene inicializadas las condiciones鈥 En fin no quiero romperme la cabeza, solo le pido al compilador que ante semejante aberraci贸n chille, llore, berr茅e o te saque del programa de forma abrupta, a ser posible sin guardar el programa.

la instruccion goto te lleva a una linea especifica en el programa, pero usarlo se puede caer en malas practicas

En el minuto 5:20 me parecio haber escuchado que este era el super poder de goku.

Goto : El iniciador del llamado "C贸digo Spaguetti"
aquel c贸digo que necesitas a un genio para poder entenderlo.

por que me menosprecia a mi goto XD

Haciendo este ejercicio me da una idea del uso que le puedo dar.

#include <stdio.h>

int main(int argc, const char* argv[])
{
    int nAdvertencias = 0;

    restart:

        if(nAdvertencias == 3)
            goto errorHandler;

        int count=1000;

        for (size_t i = 0; i < count; i++)
        {
            for (size_t j = 0; j < count; j++)
            {
                for (size_t k = 0; k < count; k++)
                {
                    if (k>100)
                    {
                        printf("\nHas sobrepasado el numero de iteraciones permitidas\n");
                        nAdvertencias++;
                        printf("Advertencia: %d\n", nAdvertencias);
                        goto restart;
                    }
                }
            }
            printf("%d\n", i);
        }

        return 0;

    errorHandler: //todo el codigo para componer tu desastre
        printf("\nHas sobrepasado 3 veces el numero de iteraciones permitidas");

    return 0;
}

que diferencia hay entre try catch y goto?
los dos son para errores?

La instrucci贸n de salto goto se puede usar en un programa, para transferir incondicionalmente el control del mismo a la primera instrucci贸n despu茅s de una etiqueta, o dicho de otra forma, al ejecutar una instrucci贸n goto, el control del programa se transfiere (salta) a la primera instrucci贸n despu茅s de una etiqueta. Una etiqueta se define mediante su nombre (identificador) seguido del car谩cter dos puntos (馃槂.

Para reutilizar segemento de codigo no ser铆a mejor usar funciones.

Instrucci贸n altamente abusable.

Si intrucci贸n goto, se encuentra en desuso porque causa problemas de operavilidad y es una mala practica de los estudiantes.

yo las he usado en Assembler para microcontroladores PICS

goto
Es la comando que te lleva a una linea especifica en el programa, pero usarlo se puede caer en malas practicas

#include <stdio.h>

int main(int argc, char const *argv[])
{

    printf("Contando del 1 al 10:\n");

    int i = 1;

    contar:
    printf("%d\n", i);
    i++;
    if (i <= 10)
        goto contar;
    
    printf("Terminamos\n");

    return 0;
}

El go to est谩 presente en muchos c贸digos spaguetti.

Recuerdo en el lenguaje BASIC se usaba bastante con las condiciones