La toma de decisiones en la programación es similar a la toma de decisiones en la vida real. En programación, un determinado bloque de código debe ejecutarse cuando se cumple alguna condición. Un lenguaje de programación utiliza declaraciones de control para controlar el flujo de ejecución del programa en función de ciertas condiciones. Estos se utilizan para hacer que el flujo de ejecución avance y se bifurque en función de los cambios en el estado de un programa.
Declaraciones de toma de decisiones en Perl:
- Si
- si – más
- Anidado – Si
- si – escalera elsif
- A no ser que
- a menos que – de lo contrario
- A menos que – elsif
si declaración
La declaración if es la misma que en otros lenguajes de programación. Se utiliza para realizar tareas básicas basadas en condiciones. Se utiliza para decidir si una determinada instrucción o bloque de instrucciones se ejecutará o no, es decir, si una determinada condición es verdadera, entonces se ejecutará un bloque de instrucciones; de lo contrario, no se ejecutará.
Sintaxis:
if(condition) { # code to be executed }
Nota: si los corchetes {} no se usan con declaraciones if, entonces habrá un error de tiempo de compilación. Por lo tanto, debe usar los corchetes {} con la declaración if.
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate if statement $a = 10; # if condition to check # for even number if($a % 2 == 0 ) { printf "Even Number"; }
Producción :
Even Number
si – otra declaración
La declaración if evalúa el código si la condición es verdadera, pero qué pasa si la condición no es verdadera, aquí viene la declaración else. Le dice al código qué hacer cuando la condición if es falsa.
Sintaxis:
if(condition) { # code if condition is true } else { # code if condition is false }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # if - else statement $a = 21; # if condition to check # for even number if($a % 2 == 0 ) { printf "Even Number"; } else { printf "Odd Number\n"; }
Producción :
Odd Number
Anidado – declaración if
La declaración if dentro de una declaración if se conoce como if anidada. La declaración if en este caso es el destino de otra declaración if o else. Cuando más de una condición debe ser verdadera y una de ellas es la subcondición de la condición principal, se puede usar anidado si.
Sintaxis:
if (condition1) { # Executes when condition1 is true if (condition2) { # Executes when condition2 is true } }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # Nested if statement $a = 10; if($a % 2 ==0) { # Nested - if statement # Will only be executed # if above if statement # is true if($a % 5 == 0) { printf "Number is divisible by 2 and 5\n"; } }
Producción :
Number is divisible by 2 and 5
If – elsif – else declaración de escalera
Aquí, un usuario puede decidir entre múltiples opciones. Las declaraciones if se ejecutan de arriba hacia abajo. Tan pronto como una de las condiciones que controlan el if es verdadera, la declaración asociada con eso se ejecuta y el resto de la escalera se omite. Si ninguna de las condiciones es verdadera, entonces se ejecutará la instrucción else final.
Sintaxis:
if(condition1) { # code to be executed if condition1 is true } elsif(condition2) { # code to be executed if condition2 is true } elsif(condition3) { # code to be executed if condition3 is true } ... else { # code to be executed if all the conditions are false }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # if - elseif ladder statement $i = 20; if($i == 10) { printf "i is 10\n"; } elsif($i == 15) { printf "i is 15\n"; } elsif($i == 20) { printf "i is 20\n"; } else { printf "i is not present\n"; }
Producción :
i is 20
a menos que Declaración
En este caso, si la condición es falsa, las declaraciones se ejecutarán. El número 0, la string vacía «», el carácter ‘0’, la lista vacía() y undef son todos falsos en un contexto booleano y todos los demás valores son verdaderos.
Sintaxis:
unless(boolean_expression) { # will execute if the given condition is false }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # unless statement $a = 10; unless($a != 10) { # if condition is false then # print the following printf "a is not equal to 10\n"; }
Producción :
a is not equal to 10
A menos que declaración
A menos que la declaración pueda ir seguida de una declaración else opcional, que se ejecuta cuando la expresión booleana es verdadera.
Sintaxis:
unless(boolean_expression) { # execute if the given condition is false } else { # execute if the given condition is true }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # unless - else statement $a = 10; unless($a == 10) { # if condition is false then # print the following printf "a is not equal to 10\n"; } else { # if condition is true then # print the following printf "a is equal to 10\n"; }
Producción :
a is equal to 10
A menos que – declaración elsif
A menos que la declaración puede ir seguida de una declaración opcional elsif…else, que es muy útil para probar las diversas condiciones usando una declaración única a menos…elsif.
Puntos para recordar :
- Unless declaración puede tener de cero a muchos elsif y todo eso debe venir antes que el else.
- A menos que la declaración pueda tener cero o la de otra persona y debe ir después de cualquier elsif.
- Una vez que un elsif tiene éxito, no se probará ninguno de los restantes elsif o else.
Sintaxis:
unless(boolean_expression 1) { # Executes when the boolean expression 1 is false } elsif( boolean_expression 2) { # Executes when the boolean expression 2 is true } else { # Executes when the none of the above condition is met }
Diagrama de flujo:
Ejemplo :
Perl
# Perl program to illustrate # unless - elsif statement $a = 50; unless($a == 60) { # if condition is false printf "a is not equal to 60\n"; } elsif($a == 60) { # if condition is true printf "a is equal to 60\n"; } else { # if none of the condition matches printf "The value of a is $a\n"; }
a is not equal to 60
Producción :
a is not equal to 60