Cours
Elements d'Informatique de Licence 1ere année,
Catherine Recanati (année 2016)
Ce cours de 1ère année de Licence en section B
(Physique/Chimie-Sciences pour l'Ingénieur) présente des notions
de bases sur l'architecture des ordinateurs et les systèmes
d'exploitation pour permettre la compréhension, l'écriture et la
compilation de programmes. L'essentiel du cours sera consacré au
langage C, langage de programmation impératif qui a servi de
base à la programmation sous Unix. On y introduira les notions
de variables, types, tableaux, fonctions, ainsi que la notion de
pointeur.
Le cours se déroule sur 6
semaines contenant chacune 2 séances de cours et 2 séances de TD
d'une heure et demie, plus une séance de TP de 3h en salle
machine.
Représentations de nombres &
Programmation (7 novembre - 13 novembre)
Notions d'architecture de
machines (14 novembre - 20 novembre)
Le contrôle en programmation impérative
(21 novembre - 27 novembre)
Le cours CM5 porte sur
les structures de contrôle: boucles while, for, et branchements.
Le cours CM6 aborde la définition des fonctions et leurs appels.
La vidéo passée en fin de cours est le début (1mn:50) de la
vidéo de la semaine du 5 décembre.
Préparation à l'examen partiel P2 (21
novembre - 4 décembre)
Examen partiel le mardi 29
novembre de 12h à 13h (documents, calculettes, et
appareils téléphoniques non autorisés). Au programme, les 3
premières semaines de cours.
Plus précisément, il faut
vous assurer d'avoir compris les notions de: codage d'un
entier ou d'un réel, variable, type de variable, identificateur
de variable, valeur, adresse de variable et affectation. Vous
devez aussi être familier avec la notation BNF et, en C,
reconnaître ce qu'est une expression, une définition ou
déclaration de fonction et un appel de fonction. Vous devrez
aussi maîtriser le sens des instructions de contrôle (en
particulier des boucles), et la structure syntaxique d'un
programme. Vous devez aussi comprendre dans les grandes lignes
ce que fait le compilateur, et être capable de distinguer entre
les différentes sortes d'erreurs détectées par le compilateur.
Pour réviser, relisez le
cours, regardez les videos et le glossaire (dernière section),
et revoyez attentivement la correction des TD et et des TP (ils
sont en ligne ici, avec les corrigés).
28 novembre - 4 décembre
-----------------------------------------------
Le cours CM7 introduit le
type tableau et considère des fonctions ayant pour argument une
variable de type tableau. La fin du cours CM7 et le cours CM8
portent sur le sens d'un programme, la compilation et
l'exécution des programmes (portée des variables, pile d'appels
de fonctions, éditeur de liens et compilation séparée).
5 décembre - 11 décembre
1. Le cours CM9 porte sur
les pointeurs et les tableaux. Le cours CM10 sur les chaînes de
caractères et la bibliothèque standard <string.h>.
2. Les deux premières
vidéos illustrent le cours CM9. La première introduit la notion
de "passage d'une variable par référence" (c'est-à-dire par
adresse). La seconde traite l'exemple d'une procédure qui
échange les valeurs de deux variables, puis celui d'une
procédure qui trie les valeurs figurant dans un tableau en
utilisant la procédure d'échange précédente.
3. La troisième vidéo
illustre en partie le cours CM10.
12 décembre - 18 décembre
1. Le cours CM11
introduira les structures et les listes chaînées en C. Le
dernier cours sera consacré aux révisions.
2. La vidéo "Liste
chainées en C" illustre le cours CM11 sur les listes chaînées..
3. Le TD12 est un TD de
révisions. Il n'y a pas de sujet de TP cette semaine, car le
dernier TP sera consacré aux révisions et à l'implémentation
d'exercices de la feuille de TD12.
Programme du partiel
P2: celui du premier
partiel, en ajoutant les fonctions et les tableaux (statiques à
une seule dimension), soient les cours jusqu'à CM9 . Il y aura
des exercices avec des fonctions prenant en argument des
variables de type tableau. Ceux qui traiteront ces exercices en
utilisant des pointeurs auront des points de bonus
supplémentaires, mais les exercices pourront être traités sans
les pointeurs, avec des variables de boucles i de type
int. (Un programme légèrement plus détaillé du partiel figure au
début du cours CM11).
·
Vacances de Noël
Pour vous aider à réviser
:
1. L'album des vidéos,
accessible ici en ligne (et sur internet à l'adresse
https://vimeo.com/album/4018284)
2. Un glossaire sur les
notions de programmation impérative abordées dans ce cours.
3. Un ancien polycopié de
cours qui couvre globalement le même programme que ce cours. Il
est en 3 parties : Partie 1 (premières notions de programmation;
éléments de base du langage C; types, opérateurs et expressions;
instructions du langage), Partie 2 (fonctions; tableaux;
structures et unions), Partie 3 (structure d'un programme;
pointeurs; pointeurs et tableaux à une dimension; pointeurs et
tableaux à plusieurs dimensions).