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 paquets de huit appelés octets

  • Pour 1 Go, à 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éfile:///home/nthiery/.local/share/jupyter/runtime/jpserver-730225-open.htmlté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 contre-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;