Capsule : Notions de programmation - Instruction (en construction)

Introduction

Dans le cadre des modules 403 et 404, nous pratiquons la programmation « impérative » qui consiste à décrire la résolution d’un problème à l’aide d’une série d’ordre (impératif) que l’ordonnateur doit exécuter l’un après l’autre (en séquence). En termes plus techniques, on parle d’une séquence d’instructions. Dans ce paradigme, un programme est donc une séquence d’instruction.

Si un programme est décrit comme une séquence d’instructions, chaque instruction représente une étape de la tâche à accomplir. Si, pour l’une de ces étapes, le fait qu’elle soit ou non réalisée n’a aucun conséquence, alors cette étape ne sert à rien. En résumer, on peut dire qu’une instruction est une construction du langage qui fait quelque chose.

Dans le cadre de ce module, lorsque l’on parle d’une instruction, on peut faire référence à l’une des entité suivantes :

Affectation (assignment)

VariableName = Expression ;

Appel de procédure

ProcedureName ( Expression , ) ;

Structures de contrôle

Lors de l’exécution d’un programme, certaines instructions doivent être exécutées que si telle ou telle condition est remplie, d’autres doivent être exécutées un certain nombre de fois qui peut ou non être connu à l’avance. Le flux d’instructions à exécuter doit pouvoir être contrôlée par des conditions. Pour cela, un langage dispose d’instructions particulières appelées « structures de contrôle », sous-entendu, « structure de contrôle de flux d’instruction ».

Alternative (if-then-else)

L’alternative permet de choisir entre deux chemins possible en fonction de la valeur d’une expression booléen. Selon la spécification de Java, on doit avoir une seule et unique instruction pour le if et une seule et unique instruction pour le else. Afin d’éviter des erreurs difficiles à repérer, chacune des instructions de l’alternative doit être un bloc d’instuctions.

if ( BooleanExpression ) InstructionBlock else InstructionBlock

Sélection (switch)

swich ( Expression ) { case CompileTimeConstante : Instruction break; default: Instruction break; }

Boucle indéfine (while et do-while)

while ( BooleanExpression ) InstructionBlock
do InstructionBlock while ( BooleanExpression )

Boucle définie (for)

Lorsque le nombre d’itérations est connu avant d’entrer dans la boucle, il convient d’utiliser une boucle définie. En Java, il s’agit d’une boucle for.

Bien que la syntaxe générale de la boucle for soit très souple (héritage du langage C), dans le cadre des modules de programmation à l’EPAI, on ne l’utilisera que selon le modèle ci-dessous. L’incrément doit toujours apparaître explicitement à l’aide de l’opérateur d’affectation += et l’usage de l’opérateur ++ est proscrit.

for ( int VariableName = 0 ; VariableName < Epression ; VariableName += 1 ) InstructionBlock

Dans l’exemple ci-dessous montre une boucle qui permet de parcourir les éléments d’un tableau values. On utilise traditionnellement la lettres i comme variable de boucle. Lorsqu’il est nécessaire d’imbriquer plusieurs boucle, les lettres j et k peuvent être utilisées.

1
2
3
4
5
for (int i = 0; i < values.length; i += 1) {
    
    // Corps de la boucle

}

Bloc d’instructions

{ Instruction LocalVariableDeclaration }