Informations générales
- Présentation du cours.
- Sections concernées: Bachelier en sciences de l'ingénieur (bloc 1),
bachelier et master en sciences mathématiques.
- Horaire: Premier semestre, le mardi de
13h30 à 15h30. Les séances de travaux pratiques
ont lieu de 15h45 à 17h45.
Premier cours: le mardi 24 septembre 2024 à 13h30.
Première séance de travaux pratiques: le mardi 1er octobre 2024 à 15h45.
- Locaux: Le cours théorique a lieu dans la salle 304 des
amphithéâtres
de l'Europe (B4). Les travaux pratiques ont lieu dans les
salles renseignées dans l'outil Celcat. Une salle est reservée pour
les séances d'aide à la réussite destinées aux étudiants répétants.
- Assistant: Alexis Bertrand.
- Une page WWW dédiée aux travaux pratiques est disponible.
- Examen: Un examen écrit à livres fermés.
-
Liste de questions fréquemment posées.
-
Livre de référence (non obligatoire): The C Programming Language,
2nd edition, Brian W. Kernighan, Dennis M. Ritchie, Prentice Hall,
1988, ou l'une de ses traductions.
Transparents
La version 2024-25 des transparents utilisés au cours théorique
est disponible
ici.
Syllabus
Un syllabus est distribué par la
centrale des cours. Attention, ce syllabus est modifié chaque année.
Exercices
Les exercices qui sont abordés au cours des séances de travaux pratiques se trouvent à
la fin de chaque chapitre du syllabus.
Pour les exercices du chapitre 4 (section 4.6), la bibliothèque
suivante est disponible:
draw.h,
draw.c.
Tuyaux
Les énoncés suivants sont publiés afin de vous aider à
préparer l'examen:
- Examen de janvier 2019 (énoncés
et solutions),
- Examen de juin 2019 (énoncés et solutions),
- Examen de septembre 2019 (énoncés et solutions),
- Examen de janvier 2020 (énoncés
et solutions),
- Examen de janvier 2021 (énoncés
et solutions),
- Examen de juin 2021 (énoncés
et solutions),
- Examen de septembre 2021 (énoncés
et solutions),
- Examen de janvier 2022 (énoncés
et solutions),
- Examen de juin 2022 (énoncés
et solutions),
- Examen de septembre 2022 (énoncés
et solutions),
- Examen de janvier 2023 (énoncés
et solutions),
- Examen de juin 2023 (énoncés
et solutions),
- Examen d'août 2023 (énoncés
et solutions),
- Examen de janvier 2024 (énoncés
et solutions),
- Examen de juin 2024 (énoncés
et solutions),
- Examen d'août 2024 (énoncés).
Programmes C
Le code source des programmes vus au cours peut être téléchargé
ici:
- Calcul du PGCD: pgcd.c
- Années bissextiles: bissextile.c
- Carte à jouer: carte.c
- Tables de multiplication: multiplication.c
- Nombres parfaits: parfaits-1.c,
parfaits-2.c,
parfaits-3.c.
- Fonctions: pgcd-iteratif.c,
ppcm.c.
- Fonction PGCD récursive: version 1,
version 2.
- Fonction factorielle: version récursive,
version itérative.
- Tours de Hanoï: hanoi.c.
- Compteur simple: compteur.c,
compteur.h,
compteur-test.c.
- Mesure du nombre d'appels à une fonction:
nombre-appels.c,
nombre-appels.h,
nombre-appels-test.c.
- Crible d'Ératosthène: eratosthene.c.
- Passage d'un tableau à une fonction: passage-tableau.c.
- Tri par insertion: tri-insertion.c.
- Tri par fusion: tri-fusion.c.
- Copie d'une chaîne de caractères: strncpy.c.
- Nombre de chiffres dans une chaîne de caractères:
nb-chiffres.c.
- Transformations géométriques à deux dimensions:
geometrie-2d.c,
geometrie-2d.h,
programme de test.
- Passage d'une structure à une fonction, et comparaison avec le passage
d'un tableau:
passage-structure.c,
passage-tableau-2.c.
- Manipulation de nombres complexes:
complexe.c,
complexe.h.
- Exemples d'utilisation de pointeurs:
exemple-pointeurs-1.c,
exemple-pointeurs-2.c.
- Position et orientation dans un espace à deux dimensions:
configuration-2d.c,
configuration-2d.h.
- Longueur d'une chaîne de caractères: strlen.c.
- Allocation d'un vecteur: allocation-vecteur.c.
- Copie d'un vecteur: copie-vecteur.c.
- Retournement d'une séquence de valeurs:
retournement.c.
- Création d'un tableau triangulaire:
tableau-triangulaire.c.
- Manipulation de matrices:
matrice.c,
matrice.h.
- Arguments du programme:
arguments.c.
- Structure de pile:
stack.c,
stack.h,
programme de test: test-stack.c.
- Appariement de parenthèses: parentheses.c.
- Structure de pile implémentée à l'aide d'une liste liée:
stack-ll.c,
stack-ll.h.
- File d'attente:
queue.c,
queue.h.
- File d'attente implémentée à l'aide d'une liste liée:
queue-ll.c,
queue-ll.h.