Mémoire et variables

Un ordinateur traite de l’information.

  • Il faut pouvoir la stocker: la mémoire

  • Il faut pouvoir y accéder: les variables

Mémoire

https://fr.wikipedia.org/wiki/Mémoire_(informatique)

../../_images/4mbramvax.jpg

../../_images/Memory_module_DDRAM_20-03-2006.jpg

../../_images/1200px-Four_MMC_cards_front.jpg

../../_images/Floppy_disk_2009_G1.jpg

../../_images/Dat_cartridge.jpg

../../_images/Lochkarte_Tanzorgel.jpg

../../_images/CD_autolev_crop.jpg

../../_images/1176px-Laptop-hard-drive-exposed.jpg

Modèle simplifié

  • Une suite contiguë de 0 et de 1 (les bits, groupés par octets)

  • Pour 1Go, à raison de un bit par mm, cela ferait 8590 km
    Plus que Paris-Pékin!

  • Le processeur y accède par adresse

Variables

Une variable est un espace de stockage nommé où le programme peut mémoriser une donnée; elle possède quatre propriétés:

  • Un nom (ou identificateur):
    Il est choisi par le programmeur

  • Une adresse:
    Où est stockée la variable dans la mémoire

  • Un type qui spécifie:

    • La structure de donnée: comment la valeur est représentée en mémoire
      En particulier combien d’octets sont occupés par la variable

    • La sémantique des opérations

  • Une valeur:
    Elle peut changer en cours d’exécution du programme

Règles de formation des identificateurs

Les noms des variables (ainsi que les noms des programmes, constantes, types, procédures et fonctions) sont appelés des identificateurs.

Syntaxe: règles de formation des identificateurs

  • suite de lettres (minuscules 'a'...'z' ou majuscules 'A''Z'), de chiffres ('0'...'9') et de caractères de soulignement ('_')

  • premier caractère devant être une lettre

  • longueur bornée

Exemples et contres exemples d’identificateurs:

  • c14_T0 est un identificateur

  • 14c_T0 n’est pas un identificateur

  • x*y n’est pas un identificateur

Formation des identificateurs: bonnes pratiques

  • Donnez des noms signifiants aux variables

  • Dans le cas de plusieurs mots, par convention dans le cadre de ce cours on mettra le premier mot en minuscule et les suivants avec une majuscule: maVariable

  • Autre convention possible: ma_variable

  • Mauvais noms : truc, toto, temp, nombre

  • Bons noms courts: i,j,k,x,y,z,t

  • Bons noms longs: nbCases, notes, moyenneNotes, estNegatif

Initialisation des variables

Quelle est la valeur de ces variables après leur déclaration?

double d;
long l;
int i;
l
d
  • Certains langages ou compilateurs garantissent que les variables sont initialisées à une valeur par défaut.

  • En C++, pas forcément!

    Typiquement, la valeur de la variable correspond à l’état de la mémoire au moment de sa déclaration

Bonne pratique: systématiquement initialiser les variables au moment de leur déclaration:

int i = 0;
long l = 1024;
double d = 3.14159;