Programmation en langage C - II (INFO504_INFO)

Présentation

Ce module présente les bases de la programmation C. Les structures de contrôle itératives et conditionnelles sont passées en revue. La programmation impérative et structurée est présentée en détails, d'une part au travers du découpage en fonction, d'autre part par la structuration des données sous forme de types. Les spécificités du C sont abordées, notamment le passage de paramètres, l'utilisation des pointeurs, et l'allocation dynamique. La pile d'exécution qui met en œuvre les différents mécanismes d'allocation et d'appel de fonctions est aussi présentée. Enfin, nous montrons comment le C peut aussi supporter des éléments de la programmation objet, comme le polymorphisme au travers des pointeurs de fonction ou l'héritage. Un support de cours complet est mis à disposition des étudiants.

Plan du cours

TDs: Chacun des TDs permet de mettre en pratique les différents concepts de programmation vus en cours. Les premiers TDs font travailler les structures de contrôle, l'appel de fonctions, ou la définition de types structurés. Cela se fait sur du traitement de chaînes de caractères ou de fichiers. Les derniers TDs font travailler les pointeurs au travers de la mise au point d'une structure de données associative (skip-liste) puis les opérations bit-à-bit du C.

TPs:

Le premier TP est un warm-up pour pratiquer la syntaxe du C sur des exemples simples. On se sert de gnuplot pour faire des affichages graphiques. Ensuite les deux TPs suivants sont consacrés au développement d'un jeu Tetris temps-réel graphique. Le premier TP ne s'intéresse qu'à la logique du jeu et l'affichage est juste console. Il fait travailler la mise au point de structures de données et d'algorithmes. Le dernier TP ne s'occupe que de la partie graphique du Tetris. La bibliothèque GTK est utilisée dans ce but. Cela permet aux étudiants de découvrir la compilation séparée, le développement d'IHM, la programmation événementielle, et le temps-réel via le déclenchement de timer. Enfin, l'affichage graphique se fait grâce à Cairographics.

Volume horaire

  • CM : 7.5
  • TD : 7.5
  • TP : 12.0

Diplômes intégrant ce cours

En bref

Crédits ECTS : 3

Langue d'enseignement
Français

Contact(s)

UFR, Écoles, Instituts

Lieu(x)

  • Le Bourget-du-Lac (73)