Interaction avec des langages impératifs
Les idées fortes
On manipule des cases mémoires à l'aide d'une série d'instructions.
Dans les premiers langages on peut citer :
- Fortran (1954) : le plus ancien langage impératif dit de "haut niveau". Il est toujours utilisé pour le calcul scientifique.
- C (1972) : le plus connu et le plus utilisé aujourd'hui. Il sert majoritairement pour écrire des systèmes d'exploitation ou des logiciels qui ont besoin de performance.
Et plus récemment :
- Go (2009) : développé par Google, il vise les performances du C avec la simplicité des langages de scripts comme Python.
- Rust (2006) : développé par Mozilla, il vise les même applications que C mais avec la sécurité d'exécution sur des machines modernes.
Déclaration de valeurs et cases mémoires
Déclaration et mutation d'un valeur contenue dans une case mémoire en C.
int main() { int i = 1; // Déclaration d'un variable i dont le contenu est un entier et vaut 1. // i = i + 1; // On incrémente la valeur à partir de sa propre valeur. // i++; // Opérateur spécial pour incrémenter la valeur. return i; }
Manipulation de l'adresse d'une valeur en mémoire (pointeur) en C.
int main() { int i = 1; int *ptr = &i; // Nous déclarons un pointeur qui prend pour valeur l'adresse de i. // *ptr = *ptr + 1; // Nous incrémentons la valeur stockée dans la case mémoire i. return *ptr; // Nous retournons la valeur stockée dans la case mémoire. }
Outil fondamental n° 1 : l'itération avec for
int main() { int table[5] = {846, 740, 285, 94, 53}; int table_length = sizeof(table) / sizeof(int); int i = 0; int sum = 0; for (i = 0 ; i < table_length ; i++) { sum = sum + table[i]; } return 0; // return sum; }
Outil fondamental n° 2 : les conditionnels avec if
, then
, else
int main() { int a = 2; int b = 4; int result; /* if(a > b) { result = 2018; } else { result = 2019; } */ return result; }