Declaraciones de decisión

La toma de decisiones es fundamental para la programación de computadoras. Habrá muchas situaciones en las que se le darán dos o más opciones y tendrá que seleccionar una opción en función de las condiciones dadas. Por ejemplo, queremos imprimir un comentario sobre un estudiante basado en sus calificaciones aseguradas. La siguiente es la situación:

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

Ahora, la pregunta es cómo escribir un código de programación para manejar tales situaciones. Casi todos los lenguajes de programación proporcionan declaraciones condicionales que funcionan según el siguiente diagrama de flujo:

Escribamos un programa en C con la ayuda de if conditional statements para convertir la situación dada arriba en un código de programación -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Student is average

El programa anterior utiliza if conditional statements. Aquí, el primeroif statementcomprueba si la condición dada, es decir, la variable x es mayor que 95 o no, y si encuentra que la condición es verdadera, se ingresa el cuerpo condicional para ejecutar las declaraciones dadas. Aquí solo tenemos una declaración printf () para imprimir un comentario sobre el estudiante.

Del mismo modo, el segundo if statementtrabajos. Finalmente, el terceroif statement se ejecuta, aquí tenemos las siguientes dos condiciones:

  • La primera condición es x > 95

  • La segunda condición es x < 30

La computadora evalúa ambas condiciones dadas y luego, el resultado general se combina con la ayuda del operador binario &&. Si el resultado final es verdadero, entonces se ejecutará la declaración condicional; de lo contrario, no se ejecutará ninguna declaración.

Este tutorial le dará una idea básica sobre varias formas de if statements y una introducción a switchdeclaraciones disponibles en lenguaje de programación C. Los diferentes lenguajes de programación proporcionan diferentes tipos de declaraciones para la toma de decisiones, pero el concepto básico sigue siendo el mismo que se explica en este tutorial.

declaración if ... else

Un if La declaración puede ir seguida de una elsedeclaración, que se ejecuta cuando la expresión booleana es falsa. La sintaxis de unif...else declaración en lenguaje de programación C es -

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

La sintaxis anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:

Un if...elseLa declaración es útil cuando tenemos que tomar una decisión entre dos opciones. Por ejemplo, si un estudiante obtiene más puntos de 95, entonces el estudiante es brillante; de ​​lo contrario, tal situación no se puede codificar de la siguiente manera:

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Student is not brilliant

if ... elseif ... declaración else

Un if La declaración puede ir seguida de una else if...else declaración, que es muy útil para probar varias condiciones.

Durante el uso if, else if, else declaraciones, hay algunos puntos a tener en cuenta:

  • Un if puede tener cero o uno else's y debe venir después de un else if.

  • Un if puede tener de cero a muchos else…if's y deben venir antes del else.

  • Una vez else…if tiene éxito, ninguno de los restantes else…if's o else's será probado.

La sintaxis de un if...else if...else declaración en lenguaje de programación C es -

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

Ahora con la ayuda de if...elseif...else declaración, el primer programa se puede codificar de la siguiente manera:

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Student is average

La declaración de cambio

UNA switch declaración es una alternativa de if statementsque permite probar la igualdad de una variable con una lista de valores. Cada valor se llamacase, y la variable que se enciende se verifica para cada caso de interruptor. Tiene la siguiente sintaxis:

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

los expression usado en un switchLa declaración debe dar un valor entero, que se comparará por igualdad con diferentes casos dados. Siempre que un valor de expresión coincida con un valor de caso, se ejecutará el cuerpo de ese caso y, finalmente, el cambio se terminará mediante unbreakdeclaración. Si no se proporcionan declaraciones de interrupción, la computadora continúa ejecutando otras declaraciones disponibles a continuación para el caso emparejado. Si ninguno de los casos coincide, se ejecuta el cuerpo del caso predeterminado.

La sintaxis anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:

Ahora, consideremos otro ejemplo en el que queremos escribir la palabra inglesa equivalente para un número dado. Luego, se puede codificar de la siguiente manera:

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Two

Decisiones en Java

A continuación se muestra el programa equivalente escrito en Java que también admite if, if...else, if...elseif...elsey switch declaraciones.

Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo de C anterior.

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Student is average

Decisiones en Python

A continuación se muestra el programa equivalente escrito en Python. Python proporcionaif, if...else, if...elif...elsey switchdeclaraciones. Aquí, debe tener en cuenta que Python no utiliza llaves para el cuerpo condicional, sino que simplemente identifica el cuerpo del bloque usando sangría de las declaraciones.

Puede intentar ejecutar el siguiente programa para ver el resultado:

x = 45

if x > 95:
   print "Student is brilliant"
elif x < 30:
   print "Student is poor"
elif x < 95 and x > 30:
   print "Student is average"

print "The end"

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Student is average
The end