Gâteau moelleux au citron
Terrine verte
Livre de Cuisine/Desserts/Brioche
Programmation/Contrôles
Généralement, le code source d'un programme décrit l'exécution en une suite d'instructions. Par défaut, ces instructions sont exécutées dans l'ordre séquentiel, suivant l'ordre d'écriture du code source (de gauche à droite, de haut en bas).
Exemple :
 A ← 3
 B ← A + 1
L'ordre d'exécution est alors le suivant :
Il peut être nécessaire de changer cet ordre pour diverses raisons :
Le changement d'ordre d'exécution est effectué par les instructions de contrôle d'exécution.
Regroupement d'instructions.
Les sections qui suivent parle d'une instruction, mais il est possible d'utiliser plusieurs instructions en les regroupant dans un bloc. Ce bloc est alors utilisable là où le terme « une instruction » est employé.
Un bloc est délimité par des caractères spéciaux ou des mots réservés du langage.
Beaucoup de langages de programmation utilisent les accolades pour délimiter un bloc (C, C++, Java, C#, Javascript, PHP, ...) :
 "instruction1"
 "instruction2"
D'autres utilisent des mots réservés :
En Pascal, Delphi et Ada :
 BEGIN
 "instruction1"
 "instruction2"
 END;
En Visual Basic, les mots utilisés dépendent de l'instruction :
 If ...
 "instruction1"
 "instruction2"
 EndIf
 For ...
 "instruction1"
 "instruction2"
 Next
Instruction conditionnelle.
Une instruction conditionnelle n'est exécutée que si une condition est vraie. Elle peut être conditionnée par l'existence d'un fichier, la valeur d'une variable ou expression, l'absence d'erreur retournée par une fonction, ...
Beaucoup de langage de programmation possède une instruction codice_3 (mot anglais signifiant si) pour tester une condition. La syntaxe générale est la suivante :
 SI condition ALORS
 instruction_si_condition_vraie
 FINSI
Une autre syntaxe autorise également l'exécution d'une instruction quand la condition est fausse.
 SI condition ALORS
 instruction_si_condition_vraie
 SINON
 instruction_si_condition_fausse
 FINSI
Chacun des mots est à remplacer par celui utilisé par le langage, utilisant souvent leur équivalent anglais (SI → IF, ALORS → THEN, SINON → ELSE, FINSI → ENDIF). Le mot ALORS peut être absent dans certains langages, car implicite.
En Pascal, Delphi :
 IF "condition" THEN
 "instruction_si_condition_vraie"
 ELSE
 "instruction_si_condition_fausse"
En Visual Basic :
 If "condition" Then
 "instruction_si_condition_vraie"
 Else
 "instruction_si_condition_fausse"
 EndIf
Boucle.
Une boucle permet de répéter une instruction un nombre de fois déterminé ou non. La boucle générale exécute l'instruction à répéter tant qu'une condition est vraie. La condition peut être évaluée avant l'instruction ou après. Certains langages autorisent aussi une forme de boucle qui se termine quand une condition devient vraie.
Une itération est une exécution particulière de l'instruction dans une boucle.
Voir les sections ci-dessous qui détaillent les types de boucle.
Boucle conditionnelle.
La boucle conditionnelle exécute une instruction (ou bloc d'instructions) tant qu'une condition est vraie ou fausse.
Condition testée avant.
La boucle « tant que » exécute instruction tant qu'une condition est vraie, c'est-à-dire jusqu'à ce que la condition soit fausse.
Tant que la condition est vraie, une nouvelle itération a lieu.
Elle a en général la forme suivante :
 TANT_QUE "condition" FAIRE
 "instruction"
La condition est testée avant, ce qui signifie que l'instruction peut ne pas être exécutée si la condition est fausse initialement.
Exemple en Java :
while (a < b)
 a = a + 10;
Avec un bloc d'instruction :
while (a < b)
 a = a + 10;
 System.out.println("Nouvelle valeur de A = "+a);
Condition testée après.
La boucle peut avoir également cette forme :
 FAIRE "instruction"
 TANT_QUE "condition"
La condition est testée après, ce qui signifie que l'instruction est exécutée au moins une fois même si la condition est fausse initialement.
do
 a = a + 10;
while (a < b);
Répéter jusqu'à.
Une autre forme de la boucle répète une instruction jusqu'à ce que la condition soit vraie, c'est-à-dire tant que la condition est fausse.
Tant que la condition est fausse, une nouvelle itération a lieu.
La forme la plus courante est celle où la condition est testée après l'instruction :
 RÉPÉTER "instruction"
 JUSQU_À "condition"
Il existe aussi une forme où la condition est testée avant l'exécution de l'instruction :
 JUSQU_À "condition"
 RÉPÉTER "instruction"
Boucle d'itération d'un ensemble.
Ce type de boucle effectue une itération pour chacun des éléments d'un ensemble.
Une variable associée prend les différentes valeurs successives des éléments de l'ensemble.
Entiers.
On trouve cette forme dans les premiers langages de programmation (Fortran, Basic, Pascal).
Les langages de programmation plus récents utilisent en général une autre forme de la boucle.
Cet ensemble peut être celui des entiers en spécifiant les bornes minimales et maximales :
 POUR "variable" DE "min" À "max"
 FAIRE "instruction_qui_peut_utiliser_variable"
Le pas par défaut est de un, certains langages permettent de spécifier un autre pas :
 POUR "variable" DE "min" À "max" PAS_DE "pas"
 FAIRE "instruction_qui_peut_utiliser_variable"
Un pas de codice_4 permettant de parcourir en sens inverse.
D'autres langages supporte un sens automatique de parcours inversé quand la borne "min" est plus grande que "max".
Itération par condition explicite.
La plupart des langages supporte cette forme de boucle générale.
Elle est composée de trois parties contrôlant l'exécution en plus de l'instruction à exécuter :
 POUR "initialisation" TANT_QUE "condition" SUIVANT "incrémentation"
 FAIRE "instruction"
Exemple en Java :
for (int nombre = 1 ; nombre<=10 ; nombre++)
 System.out.println("Le carré de "+nombre+" est "+(nombre * nombre));
Ensemble générique.
D'autres langages (Python, C Sharp, Java) permettent de spécifier un ensemble générique (éléments d'un tableaux, d'une liste...).
 POUR "variable" DANS "ensemble_à_parcourir"
 FAIRE "instruction_qui_peut_utiliser_variable"
Exemple pour afficher tous les éléments d'un tableau en Java :
String[] mots = { "Une","phrase","comportant","plusieurs","mots" };
for (String mot : mots)
 System.out.println(mot);

Photographie/Personnalités/H
Photographie/Personnalités/H/Lucien Hervé