La toma de decisiones se trata de decidir el orden de ejecución de las declaraciones en función de ciertas condiciones. En la toma de decisiones, el programador debe proporcionar alguna condición que sea evaluada por el programa, junto con ella también se proporcionan algunas declaraciones que se ejecutan si la condición es verdadera y, opcionalmente, otras declaraciones si la condición se evalúa como falsa.
La declaración de toma de decisiones en R es la siguiente:
- si declaración
- sentencia if-else
- if-else-if escalera
- instrucción if-else anidada
- declaración de cambio
si declaración
La palabra clave if le dice al compilador que se trata de una instrucción de control de decisiones y la condición que sigue a la palabra clave if siempre está encerrada entre paréntesis. Si la condición es VERDADERA, la declaración se ejecuta y si la condición es FALSA, la declaración no se ejecuta.
Sintaxis:
si (la condición es verdadera){
ejecutar esta declaración
}
Diagrama de flujo:
Ejemplo:
r
# R program to illustrate # if statement a <- 76 b <- 67 # TRUE condition if(a > b) { c <- a - b print("condition a > b is TRUE") print(paste("Difference between a, b is : ", c)) } # FALSE condition if(a < b) { c <- a - b print("condition a < b is TRUE") print(paste("Difference between a, b is : ", c)) }
Producción:
[1] "condition a > b is TRUE" [1] "Difference between a, b is : 9"
sentencia if-else
If-else , nos proporciona un bloque else opcional que se ejecuta si la condición para el bloque if es falsa. Si la condición proporcionada al bloque if es verdadera, entonces se ejecuta la declaración dentro del bloque if, de lo contrario, se ejecuta la declaración dentro del bloque else.
Sintaxis:
si (la condición es verdadera) {
ejecutar esta declaración
} más {
ejecutar esta declaración
}
Diagrama de flujo:
Ejemplo :
r
# R if-else statement Example a <- 67 b <- 76 # This example will execute else block if(a > b) { c <- a - b print("condition a > b is TRUE") print(paste("Difference between a, b is : ", c)) } else { c <- a - b print("condition a > b is FALSE") print(paste("Difference between a, b is : ", c)) }
Producción:
[1] "condition a > b is FALSE" [1] "Difference between a, b is : -9"
if-else-if escalera
Es similar a la declaración if-else, aquí la única diferencia es que una declaración if se adjunta a else. Si la condición provista para el bloque if es verdadera, entonces se ejecuta la declaración dentro del bloque if, de lo contrario, si se verifica la otra condición provista y si es verdadera, entonces se ejecuta la declaración dentro del bloque.
Sintaxis:
si (la condición 1 es verdadera) {
ejecutar esta declaración
} else if (la condición 2 es verdadera) {
ejecutar esta declaración
} más {
ejecutar esta declaración
}
Diagrama de flujo:
Ejemplo :
r
# R if-else-if ladder Example a <- 67 b <- 76 c <- 99 if(a > b && b > c) { print("condition a > b > c is TRUE") } else if(a < b && b > c) { print("condition a < b > c is TRUE") } else if(a < b && b < c) { print("condition a < b < c is TRUE") }
Producción:
[1] "condition a < b < c is TRUE"
Instrucción if-else anidada
Cuando tenemos un bloque if-else como declaración dentro de un bloque if u opcionalmente dentro de un bloque else, entonces se llama como declaración if else anidada. Cuando una condición if es verdadera, se valida la siguiente condición if secundaria y, si la condición es incorrecta, se ejecuta la instrucción else, esto sucede dentro de la condición if principal. Si la condición if principal es falsa, entonces el bloque else se ejecuta con también puede contener la declaración if else secundaria.
Sintaxis:
si (la condición principal es verdadera) {
si (la condición secundaria 1 es verdadera) {
ejecutar esta declaración
} más {
ejecutar esta declaración
}
} más {
si (la condición secundaria 2 es verdadera) {
ejecutar esta declaración
} más {
ejecutar esta declaración
}
}
Diagrama de flujo:
Ejemplo:
r
# R Nested if else statement Example a <- 10 b <- 11 if(a == 10) { if(b == 10) { print("a:10 b:10") } else { print("a:10 b:11") } } else { if(a == 11) { print("a:11 b:10") } else { print("a:11 b:11") } }
Producción:
[1] "a:10 b:11"
declaración de cambio
En esta función de cambio , la expresión se compara con la lista de casos. Si se encuentra una coincidencia, imprime el valor de ese caso. No hay ningún caso predeterminado disponible aquí. Si no coincide ningún caso, genera NULL como se muestra en el ejemplo.
Sintaxis:
switch (expresión, case1, case2, case3,…, case n )
Diagrama de flujo:
Ejemplo:
r
# R switch statement example # Expression in terms of the index value x <- switch( 2, # Expression "Geeks1", # case 1 "for", # case 2 "Geeks2" # case 3 ) print(x) # Expression in terms of the string value y <- switch( "GfG3", # Expression "GfG0"="Geeks1", # case 1 "GfG1"="for", # case 2 "GfG3"="Geeks2" # case 3 ) print(y) z <- switch( "GfG", # Expression "GfG0"="Geeks1", # case 1 "GfG1"="for", # case 2 "GfG3"="Geeks2" # case 3 ) print(z) print(z)
Producción:
[1] "for" [1] "Geeks2" NULL
Publicación traducida automáticamente
Artículo escrito por abhishekkharmale y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA