Logo ÉTS
Session
Cours
Responsable(s) Anis Boubaker

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Ce tableau est donné à titre indicatif. Il se peut que votre enseignant modifie l’ordre de présentation des notions pour des raisons pédagogiques.

 

COURS

MATIÈRE

1 à 4

Description première de la qualité de programmation attendue : commentaires, indentation, utilisation de constantes symboliques et choix des identificateurs.

Notions élémentaires de programmation : types de base du C avec leurs opérateurs et conversions automatiques, variables, entrées/sorties de base, instructions conditionnelles et itératives et l’algorithmie de base, comparaison et compatibilité des types numériques, opérateurs binaires.

Commandes au préprocesseur : #define, #include, et #if..#endif.

Fonctions : déclaration, commentaires standard à la déclaration, paramètres effectifs et paramètres formels, valeur de retour, passage par valeur, portée et durée de vie des variables, factorisation et modules de fonctions.

Pointeurs : l’indirection, déclaration, initialisation et assignation, passage par adresse.

Tableaux : déclaration, initialisation, accès aux éléments, passage en paramètre, tableaux de tableaux et algorithmes de base, déclarations de types (avec typedef), fouilles et tris.

Chaînes de caractères : chaînes littérales et fonctions offertes par le langage.

5 à 8

Pointeurs et adresses : arithmétique des adresses, pointeurs génériques (void *).

Classes d’allocation : auto, static et extern.

Tableaux dynamiques : allocation dynamique de mémoire (calloc, malloc, realloc et free).

Enregistrements : déclaration, accès aux membres et passage en paramètre.

Fichiers texte et binaire : le FILE * et ses fonctions classiques.

Modules : modules de déclarations (.h) et de définitions (.c), définitions de types et implémentations des fonctions nécessaires à une architecture bien faite, encapsulation de données et de traitements.

Piles et files : première implémentation sur tableaux.

9 à 13

Chaînage dynamique : nœuds et références chainées.

Listes chaînées : intérêt, fonctionnement et implémentations.

Piles et files : implémentations avec chaînage dynamique.

Notions complémentaires (si nécessaires) et révision finale.

 

Laboratoires et travaux pratiques

3 heures et demie de cours par semaine.

3 heures de laboratoire par semaine.

Les laboratoires visent :

  • l’assimilation par l’expérience des notions vues au cours;
  • la mise au point de programmes donnés en travaux pratiques.

 

La séance de laboratoire pourra être jumelée avec celle du cours de façon à ce que chaque rencontre hebdomadaire se compose d’une période de théorie et d’une période de laboratoire.


Utilisation d'outils d'ingénierie

Nous utiliserons principalement le compilateur Visual C++ en évitant soigneusement toute librairie et toute fonction qui ne soient pas ANSI et en mettant l’accent sur la portabilité du code.