Les cours du lundiÀ partir du 9 octobre, sauf le 4 décembre (partiel)
|
Prérequis d'algorithmiquePour rattraper l'option informatique des classes préparatoires. Facultatif, mais son contenu doit être su.
|
Les TD et TP en demi-groupeTP : programmation en langage C (salle T)TD : exercices d'algorithmique (salle U ou V) début : TP le 5 octobre. deux groupes de taille équilibrée (11 stations en salle T) |
Séquence d'instructionsL'exécution d'un programme dans un ordinateur est l'exécution d'une séquence d'instructions, agissant sur la mémoire de la machine, interagissant avec l'extérieur par des entrées/sorties.La répétition d'une sous-séquence d'instruction se fait par une boucle, Le choix entre plusieurs sous-séquences possibles se fait par un aiguillage. Les briques de la programmation impérative sont les séquences d'instructions, les boucles et les aiguillages. |
Variables et typesL'action du programme sur la mémoire se fait par l'intermédiaire de variables, chacune ayant un type qui décrit ce qu'elle peut contenir.Une variable correspond à un espace mémoire d'une taille adaptée au type. Un type pointeur référence un espace mémoire, valide ou non, correspondant à une variable ou non. |
Types élaborésTableaux : une variable qui contient plusieurs copies numérotées et du même type.Structures/Enregistrements : une variable qui contient plusieurs champs successifs de types variés. Unions : une variable qui contient plusieurs champs superposés. Objets : la structure contient aussi les méthodes pour la manipuler. |
Procédures, argumentsUne procédure (routine) est une séquence d'instructions ayant des paramètres, appelés arguments.Ces arguments peuvent être transmis de plusieurs façons : par nom, par valeur, par référence. Une procédure peut manipuler des variables locales, invisibles de l'extérieur. Une fonction est une procédure ayant une valeur résultat. |
Gestion de la mémoire
|
Langage compilé, interprétéUn interpréteur est un programme qui lit et exécute au fur et à mesure les instructions du langage (ex.: maple).Un compilateur traduit le fichier des instructions de haut niveau en des instructions du microprocesseur. Il faut exécuter le programme résultat de la compilation (ex.: langage C). |
Types, opérations
|
Contrôle
|
Tableaux et pointeursint *U définit un pointeur vers un/des entiers.U = (int*) malloc(sizeof(int)) alloue un espace mémoire pour un entier. On accède à cet entier par *U. On libère la mémoire par free(U). int T[10] définit un tableau de 10 entiers, numérotés de 0 à 9. On accède à l'élément 4 par T[4]. int m[10][10] définit un tableau à deux coordonnées. Il y a définition implicite de pointeurs. |
Fonctions, macros
|
Préprocesseur
|
Allocation mémoire et portée
|
Utiliser gcc
|
Traduit de LATEX par HEVEA, plus modifications manuelles.