# Variables

Nous utilisons le terme variable tel qu’il est utilisé en mathématiques et dans d’autres langages de programmation : une valeur nommée qui peut être modifiée (variée). Les variables peuvent être produites de différentes manières.

- Certains blocs comme **Compter avec** et **Pour chacun** utilisent une variable et définissent leurs valeurs. Un terme informatique traditionnel pour ces variables est une variable de boucle.
- Des fonctions définies par l’utilisateur (également appelées « procédures ») peuvent définir des entrées, générant ainsi des variables qui ne peuvent être utilisées que dans cette fonction. Ces variables sont traditionnellement appelées « paramètres » ou « arguments ».
- Les utilisateurs peuvent à tout moment modifier des variables avec le bloc **Définir**. Celles-ci sont traditionnellement appelées « variables globales ». Ils sont utilisables partout dans le code de ROBO Pro Coding.

#### Menu déroulant

Lorsque vous cliquez sur l’icône de menu déroulant (petit triangle) d’une variable, le menu suivant s’affiche :

[![Bild1_f.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/JMkbild1-f.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/JMkbild1-f.PNG)

Le menu propose les options suivantes.

- L’affichage des noms de toutes les variables existantes définies dans le programme.
- « Renommer la variable... », c’est-à-dire changer le nom de cette variable à chaque fois qu’elle apparaît dans le programme (la sélection de cette option ouvre une requête pour le nouveau nom)
- « Supprimer la variable ... », c’est-à-dire supprimer tous les blocs qui font référence à cette variable à l’endroit où elle apparaît dans le programme.

### Blocs

#### Définir

Le bloc **Définir** assigne une valeur à une variable et définit la variable si elle n’existe pas encore. Par exemple, la valeur de la variable **âge** est fixée à 12 :

[![Bild2_f.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/0FKbild2-f.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/0FKbild2-f.PNG)

#### Afficher

Le bloc **Afficher à partir de** renvoie la valeur stockée dans une variable sans la modifier :

[![Bild3.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/yAVbild3.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/yAVbild3.PNG)

Il est possible, mais ce n’est pas une bonne idée, d’écrire un programme dans lequel un bloc **Afficher à partir de** se produit sans un bloc Définir précédent correspondant.

#### Modifier

Le bloc **Modifier** ajoute un nombre à une variable.

[![Bild4_f.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/wwnbild4-f.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/wwnbild4-f.PNG)

Le bloc **Modifier** est une abréviation pour la structure suivante :

[![Bild5_f.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/tyYbild5-f.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/tyYbild5-f.PNG)

#### Exemple

Regardez l’exemple de code suivant :

[![Bild6_f.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/7eXbild6-f.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/7eXbild6-f.PNG)

La première série de blocs génère une variable appelée **Âge** et **définit**sa valeur initiale au nombre 12. La seconde série de blocs **appelle** la valeur 12 **à partir de**, y ajoute 1 et enregistre la somme (13) dans la variable. Sur la dernière ligne, le message suivant est édité : « Félicitations ! Vous avez 13 ans à présent ».