Déclarations de décision

La prise de décision est essentielle à la programmation informatique. Il y aura de nombreuses situations où vous aurez deux options ou plus et vous devrez sélectionner une option en fonction des conditions données. Par exemple, nous voulons imprimer une remarque sur un élève en fonction de ses notes sécurisées. Voici la situation -

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

Maintenant, la question est de savoir comment écrire un code de programmation pour gérer de telles situations. Presque tous les langages de programmation fournissent des instructions conditionnelles qui fonctionnent sur la base du diagramme de flux suivant -

Écrivons un programme C à l'aide de if conditional statements pour convertir la situation donnée ci-dessus en un code de programmation -

#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");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

Le programme ci-dessus utilise if conditional statements. Ici, le premierif statementvérifie si la condition donnée, c'est-à-dire la variable x, est supérieure à 95 ou non et si elle trouve que la condition est vraie, alors le corps conditionnel est entré pour exécuter les instructions données. Ici, nous n'avons qu'une seule instruction printf () pour imprimer une remarque sur l'étudiant.

De même, le second if statementtravaux. Enfin, le troisièmeif statement est exécuté, nous avons ici les deux conditions suivantes -

  • La première condition est x > 95

  • La deuxième condition est x < 30

L'ordinateur évalue à la fois les conditions données et ensuite, le résultat global est combiné à l'aide de l'opérateur binaire &&. Si le résultat final est vrai, alors l'instruction conditionnelle sera exécutée, sinon aucune instruction ne sera exécutée.

Ce tutoriel vous donnera une idée de base sur différentes formes de if statements et une introduction à switchinstructions disponibles en langage de programmation C. Différents langages de programmation fournissent différents types d'énoncés de prise de décision, mais le concept de base reste le même que celui expliqué dans ce didacticiel.

if ... instruction else

Un if l'instruction peut être suivie d'une instruction facultative elseinstruction, qui s'exécute lorsque l'expression booléenne est fausse. La syntaxe d'unif...else l'instruction en langage de programmation C est -

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 syntaxe ci-dessus peut être représentée sous la forme d'un organigramme comme indiqué ci-dessous -

Un if...elseLa déclaration est utile lorsque nous devons prendre une décision parmi deux options. Par exemple, si un élève obtient plus de points que 95, alors l'élève est brillant, sinon aucune situation de ce type ne peut être codée, comme suit -

#include <stdio.h>

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

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is not brilliant

instruction if ... elseif ... else

Un if l'instruction peut être suivie d'une instruction facultative else if...else instruction, qui est très utile pour tester diverses conditions.

Tout en utilisant if, else if, else déclarations, il y a quelques points à garder à l'esprit -

  • Un if peut avoir zéro ou un else's et ça doit venir après un else if.

  • Un if peut avoir zéro à plusieurs else…if's et ils doivent venir avant le else.

  • Une fois else…if réussit, aucun des autres else…if's ou else's sera testé.

La syntaxe d'un if...else if...else l'instruction en langage de programmation C est -

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 */
}

Maintenant avec l'aide de if...elseif...else déclaration, le tout premier programme peut être codé comme suit -

#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");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

La déclaration Switch

UNE switch déclaration est une alternative de if statementsqui permet à une variable d'être testée pour l'égalité par rapport à une liste de valeurs. Chaque valeur est appelée uncase, et la variable activée est vérifiée pour chaque cas de commutateur. Il a la syntaxe suivante -

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

le expression utilisé dans un switchL'instruction doit donner une valeur entière, qui sera comparée pour l'égalité avec différents cas donnés. Partout où une valeur d'expression correspond à une valeur de cas, le corps de ce cas sera exécuté et finalement, le commutateur sera terminé en utilisant unbreakdéclaration. Si aucune instruction break n'est fournie, l'ordinateur continue d'exécuter les autres instructions disponibles ci-dessous pour le cas correspondant. Si aucun des cas ne correspond, le corps de cas par défaut est exécuté.

La syntaxe ci-dessus peut être représentée sous la forme d'un organigramme comme indiqué ci-dessous -

Maintenant, considérons un autre exemple où nous voulons écrire le mot anglais équivalent pour un nombre donné. Ensuite, il peut être codé comme suit -

#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");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Two

Décisions en Java

Voici le programme équivalent écrit en Java qui prend également en charge if, if...else, if...elseif...else, et switch déclarations.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple C ci-dessus.

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");
      }
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

Décisions en Python

Voici le programme équivalent écrit en Python. Python fournitif, if...else, if...elif...else, et switchdéclarations. Ici, vous devez noter que Python n'utilise pas d'accolades pour le corps conditionnel, mais identifie simplement le corps du bloc en utilisant l'indentation des instructions.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie -

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"

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average
The end