Résumé
En programmation informatique, switch (« aiguillage » en anglais), parfois aussi select (comme en VB) ou inspect ou case of (Pascal, Modula 2) ou Match (Rust et Python) est une instruction qui permet d'effectuer un branchement à partir de la valeur d'une variable. Elle peut dans certains cas remplacer une série (souvent peu élégante) de if... else. On l'utilise lorsque les cas à gérer sont nombreux. Ce mécanisme est préfiguré dans les années 1960 par les branchements calculés. Switch évalue l'expression qui lui est donnée et aiguille le programme vers le cas correspondant à la valeur effective de cette expression. Les cas sont indiqués par l'instruction case. Ce genre de constructions a été introduit pour augmenter la lisibilité côté lecteur, par dualité, faciliter le traitement des articles ou structures à structure variée I.e. dépendant de la valeur d'un champ ; par exemple, un fichier "employés" établi pour calculer la paie contiendra, pour chaque personne, divers indicateurs statutaires (entrainant des variantes dans les autres renseignements nécessaires), dont dépendront les variantes correspondantes dans le mode de calcul. En C, les s'appuient sur une valeur entière ou de type énuméré. Les valeurs d'aiguillage doivent être des nombres entiers (attention, impossible d'utiliser une variable, même constante ; ces entiers peuvent cependant être cachés derrière des macros) ou des énumérateurs. Lorsque le programme est aiguillé, il entre dans le bloc du et n'en sort que lorsqu'un break est rencontré, ou au début du cas suivant. Si la valeur de l'expression donnée ne correspond à aucun des cas, le pointeur programme est aiguillé vers l'instruction qui doit apparaître après tous les case. Si le bloc n'en possède pas, il est sauté. En Pascal, l'instruction teste des conditions à valeurs booléennes, des entiers, des chaînes de caractères ou des énumérateurs. Au premier sélecteur amorcé, l'instruction correspondante (délimitée par un bloc ) est exécutée et le pointeur programme passe à l'instruction qui suit tout le bloc ; contrairement au du langage C, les différentes clauses sont donc mutuellement exclusives.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.