IN3T01 Programmation Date mise à jour : 11/06/2009
Statut :  Obligatoire ESIEE  3e année T   1er semestre
Horaires : Horaire Cours : 10 hHoraire TP : 20 h
Crédits ECTS : 2
Langue(s) de l'unite enseignee : FRANCAISE
Responsable(s) : GEORGES Jean-Claude (georgesj@esiee.fr)
Objectif(s) :
L'objectif de ce cours est d'apporter aux élèves les outils nécessaires à la programmation raisonnée.
Il s'agit dans un premier temps de sensibiliser les élèves à la nécessité de réfléchir à la structure théorique d'un programme, dans le choix de la représentation des données et celui de leurs traitements.
La présentation des algorithmes et de leurs complexités sera associée de manière forte à une exigence de lisibilité et de clarté, propice à l'implémentation en différents langages et à une maintenance facilité des mises en oeuvre.
L'implémentation des structures de données et algorithmes vus en cours et en TD se fera en langage C lors des TP.

Themes Cours T.D T.P P
Introduction : 4h00 8h00
Mémoire : contenu et adressage, lecture et écriture. Les types de données de C. Types simples : scalaire, flottant, pointeur. Types composés : tableau, structure, union.
Les traitements du langage C. Les opérations sur les types de base. Les instructions de test et d'itération. Les opérations d'entrée/sortie
Fonctions et passage de paramètres. Applications.
Les algorithmes historiques : PGCD, nombres premiers, recherche dichotomique. Les tris : tri à bulles(bubble sort), tri rapide(quick sort). La gestion de pile. Algorithmes divers
Les spécificités du langage C
6h00 12h00
La récursivité. La gestion dynamique de la mémoire.
Les règles de portée.
Les directives de compilation. Les fichiers en-tête. L'écriture de programmes importants. L'écriture de bibliothèques

Commentaires
Intervenant Principal : Jean-Claude Georges

Nature de l'épreuve Commentaires Durée Coeff
Rapports de TP 1
Examen final 2 2

Bibliographie :

Documents de références
[1] Harold Abelson, Gerald J. Sussman, Structure and Interpretation of Computer Programs, MIT Press 1985
[2] Brian W. Kernighan, Dennis M. Ritchie, The C programming language, Prentice Hall, 1978 (en français, éditions Masson)
[3] Danièle Beauquier, Jean Berstel, Philippe Chrétienne, Eléments d'algorithmique, Masson, Paris, 1992
[4] Algorithmes et Programmation Ecole Polytechnique Cours de Tronc Commun, Robert Cori, Jean-Jacques Lévy
[5] Matthieu HERBB, Guide superflu de programmation en C

Moyens pédagogiques particuliers :
Matériel : Station de travail UNIX ou PC sous LINUX