# Algorithmique/Variables
## Que sont les variables
### Définition

Base de la programmation, les variables permettent d'associer un nom à une valeur, celle-ci pouvant évoluer au cours du programme (d'où le nom de variable).
Dit autrement :
Une variable est l'association d'une étiquette et d'une boîte pouvant contenir une donnée.
* Malgré son nom, le contenu d'une variable n’est pas variable à un moment précis du programme. Il a toujours soit aucune valeur, soit une valeur précise.

### Étiquette / Nom

L'étiquette, ou nom de la variable, est principalement écrite sous la forme d'une chaîne de caractères constituée de lettres, de chiffres et du caractère _.
Plusieurs façon d'écrire le nom de la variable sont possibles en algorithmique mais les plus courants sont :
* MaVariable
* maVariable
Le nom de la variable doit être le plus représentatif possible du contenu de celle-ci pour faciliter la lecture de l'algorithme. En revanche, il ne doit pas non plus être trop long pour ne pas nuire à la lisibilité de l'ensemble.
Je veux mémoriser l'âge d'une personne dans une variable, j’ai le choix de l'appeler :
* a
* âge
* age
* ageDeLaPersonneDontJeSuisEntrainDeParler
Le premier cas est trop court, si je n'ai pas lu la description plus haut, je suis totalement perdu. Le deuxième cas ne convient pas non plus car on évitera tout caractère accentué dans les noms de variable. Le dernier cas est certes très précis, mais tellement long qu’il en devient illisible.
Bref, le troisième cas semble le plus approprié, mais souvenez vous qu’il n'y a pas de règles figées et que c’est laissé à l'appréciation du rédacteur de l'algorithme.

### Contenu / Valeur

Une variable peut contenir différents types de données et de tailles différentes.
Contrairement à la programmation, l'algorithmique ne gère pas le problème de l'allocation de mémoire ou la destruction des objets. Une variable sera par exemple de type Numérique pouvant représenter une fois transposée dans le langage de programmation souhaité aussi bien un entier, qu'un réel, un double ...
Les types de contenu des variables les plus courants sont :
* Booléen, représentant une valeur logique binaire oui ou non, ouvert ou fermé, vrai ou faux
* Numérique, représentant un nombre quelconque
* Caractère, représentant un caractère seul
* Chaîne de caractères, représentant un texte de zéro, un ou plusieurs caractères
De plus, le type de contenu peut être une structure d'objet personnalisée (par exemple un type Personne comprenant son nom, prénom...)
Par convention le contenu des variables de type :
* Booléen sera Faux ou Vrai
* Numérique utilisera le format d'écriture 12345.6789
* Caractère sera noté avec une apostrophe simple (exemple 'c')
* Chaîne de caractères (ou String) sera notée entre guillemets doubles (exemple "contenu de la chaine")
Ci-dessous un petit récapitulatif des types de variables :
| Type | Utilité | Exemple |
| Booléen | Représente un état binaire, vrai ou faux | Vrai |
| Numérique | Représente un nombre quelconque | 12345.6789 |
| Caractère | Représente un caractère unique (comme une touche du clavier) | 'c' |
| Chaîne de caractères | Représente un texte | "contenu de la chaîne" |

## Déclaration des variables

La déclaration de variables est très simple, elle se fait de la facon suivante:
var Nom_de_ma_variable: type
Nom_autre_variable: autre_type

## Affectation

L'affectation suit la déclaration, il s'agit d'attribuer des valeurs (constantes ou variables également)ou des expressions à une variable. variable <--- valeur ou expression c'est-à-dire variable reçoit valeur ou expression
Dans le paragraphe ci-dessus, l'affectation est la ligne "age=12".

## Opérations

Les opérations sont comme en mathématiques, des manipulations de constantes ou de variables.
Par exemple l'addition, la soustraction, la multiplication, la division, ou la concaténation.
| Introduction | Preuve d'arrêt |