La declaración Goto en un sentido general de programación es un comando que lleva el código a la línea especificada o al bloque de código que se le proporcionó. Esto es útil cuando se necesita saltar de una sección de programación a otra sin el uso de funciones y sin crear un cambio anormal.
Desafortunadamente, R no admite goto, pero su algoritmo se puede convertir fácilmente para representar su aplicación. Al usar los siguientes métodos, esto se puede llevar a cabo de manera más fluida:
- Uso de if y else
- Uso de pausa, siguiente y retorno
diagrama de flujo
- Ir a encontrado
- Saltar al número de línea especificado/nombre del bloque de código
- Ejecutar código
Ejemplo 1: Programa para verificar números pares e impares
a <- 4 if ((a %% 2) == 0) { print("even") } else { print("odd") }
Producción:
[1] "even"
Explicación:
- Con ir a :
- Dos bloques llamados PAR y IMPAR
- Evaluar para un
- si es par, ir al bloque llamado EVEN
- si es impar, vaya al bloque llamado IMPAR
- Sin ir a :
- Evaluar para un
- si es par, ejecute la declaración dentro del bloque if
- si es impar, ejecute la declaración dentro del bloque else
Ejemplo 2: Programa para buscar números primos
a <- 16 b <- a/2 flag <- 0 i <- 2 repeat { if ((a %% i)== 0) { flag <- 1 break } } if (flag == 1) { print("composite") } else { print("prime") }
Producción:
[1] "composite"
Explicación:
- Con ir a :
- Esto no requiere la declaración flag y if para verificar la bandera.
- Evaluar para un
- Si se encuentra un factor, lleve el control al número de línea que tiene la declaración de impresión: imprimir («compuesto»).
- Si no, llévelo al número de línea que tiene declaración: imprima («principal»)
- Sin ir a :
- Evaluar para un
- Si se encuentra el factor, cambie la bandera
- cuando el bucle está completo marcar la bandera
- Imprimir en consecuencia
Nota: Dado que R no tiene el concepto de instrucción goto, los ejemplos anteriores se realizaron utilizando declaraciones if-else y break simples.
Publicación traducida automáticamente
Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA