> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Instructions

> Comprendre la syntaxe des instructions, y compris les séparateurs, les instructions composées, les instructions conditionnelles et les boucles d’itération.

<div id="separating-statements">
  ## Séparation des instructions
</div>

Les instructions sont séparées par « ; » (point-virgule).

<div id="compound-statements">
  ## Instructions composées
</div>

Une ou plusieurs instructions peuvent être placées entre accolades pour former une instruction composée. Les instructions composées sont couramment appelées « blocs » (à ne pas confondre avec les blocs FlexiLayout).

<div id="conditional-statements">
  ## Instructions conditionnelles
</div>

Dans toute section destinée à la saisie de code, vous pouvez utiliser des instructions conditionnelles if.

L’instruction if contrôle le branchement conditionnel. Le corps d’une instruction if s’exécute si l’expression a la valeur `true`. La syntaxe de l’instruction if existe sous deux formes.

**Syntaxe**

selection-statement:

```
if ( expression ) then statement
if ( expression ) then statement else statement
```

Dans les deux formes de l’instruction if, les expressions sont évaluées.

Dans la première forme de la syntaxe, si l’expression est `true`, l’instruction est exécutée. Si l’expression est `false`, l’instruction est ignorée. Dans la deuxième forme de la syntaxe, qui utilise `else`, la deuxième instruction est exécutée si l’expression est `false`.

<div id="iteration-statements">
  ## Instructions d’itération
</div>

Dans toute section destinée à la saisie de code, vous pouvez utiliser des instructions d’itération.

L’instruction for contrôle l’exécution des boucles. La boucle s’exécute tant que la valeur de l’expression est `true`.

**Syntaxe**

instruction d’itération :

```
for <var-name> from <from-expr> to <to-expr> [ step <step-expr>]
 <statement>
```

Le nom du compteur `<var-name>` est obligatoire. Ce nom doit être différent de ceux des variables déclarées ci-dessus. La portée du compteur est limitée au corps de la boucle. Il n’est pas permis de modifier la valeur du compteur ni de déclarer, dans la boucle, des variables portant le même nom que le compteur.

Les valeurs initiale `from-expr` et finale `to-expr` du compteur sont évaluées avant la première itération de la boucle. Elles sont ensuite traitées comme des constantes entières afin d’éviter les boucles infinies.

Le paramètre step est facultatif. Si sa valeur n’est pas spécifiée, step est considéré comme égal à 1. La valeur de step, ainsi que les valeurs initiale et finale du compteur, est évaluée une seule fois au début de la boucle. Selon le signe de step, la condition d’itération choisie est différente. Pour des valeurs positives de step, la condition suivante doit être satisfaite : `<var-name> ≤ <to-expr>` ; pour des valeurs négatives de step, la condition est la suivante : `<var-name> ≥ <to-expr>`. La valeur de step ne peut pas être nulle, sinon un message d’erreur s’affiche.

L’élément `<statement>` peut être une seule instruction ou un bloc (instruction composée) placé entre accolades.

Vous pouvez également utiliser les instructions suivantes à l’intérieur de la boucle :

* `break` - interrompt la boucle
* `continue` - passe à l’itération suivante de la boucle
