<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beever555</id>
	<title>Wiki du LAMA (UMR 5127) - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beever555"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php/Sp%C3%A9cial:Contributions/Beever555"/>
	<updated>2026-05-21T11:28:55Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517_:_Programmation_C&amp;diff=5480</id>
		<title>INFO517 : Programmation C</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517_:_Programmation_C&amp;diff=5480"/>
		<updated>2012-02-11T13:02:09Z</updated>

		<summary type="html">&lt;p&gt;Beever555 : /* Références */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cours du semestre 5 de la licence STIC INFO.&lt;br /&gt;
&lt;br /&gt;
* Responsable pour 2010--2011: [http://www.lama.univ-savoie.fr/~lachaud Jacques-Olivier Lachaud]&lt;br /&gt;
* Jacques-Olivier Lachaud (C/TD/TP), Xavier Provençal (TP)&lt;br /&gt;
&lt;br /&gt;
Pensez à consulter les [[Comment compiler le C ?|indications pour compiler un petit programme sur une machine des salles de TP]].&lt;br /&gt;
&lt;br /&gt;
== Quelques ressources pour l&#039;étudiant (2010-2011) ==&lt;br /&gt;
&lt;br /&gt;
# Notes de cours [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Cours/notes-de-cours.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Cours/notes-de-cours.pdf PDF]&lt;br /&gt;
# Fiches de TD&lt;br /&gt;
#* TD 1 et 2 : tableaux, entrées-sorties [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-1.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-1.pdf PDF]&lt;br /&gt;
#* TD 3 : exercices sur les pointeurs [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-2.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-2.pdf PDF]&lt;br /&gt;
# TPs et autres travaux pratiques [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Tests/doc/html/index.html Pages des TPs]&lt;br /&gt;
#* Pour la première fois, on pourra aussi regarder la page [[Comment_compiler_le_C_%3F]]&lt;br /&gt;
#* Si vous n&#039;accédez pas aux pages &amp;quot;manual&amp;quot; en salle TP, on les trouve en ligne : [[http://www.linux-france.org/article/man-fr/ Manual pages]]&lt;br /&gt;
# Autres ressources&lt;br /&gt;
&lt;br /&gt;
N&#039;hésitez pas à contribuer au wiki, et en particulier à cette page:&lt;br /&gt;
clarifications, compléments, exemples… Si vous n&#039;avez pas compris un point&lt;br /&gt;
particulier, vous pouvez signaler votre problème sur la page de discussion&lt;br /&gt;
(onglet en haut de cette page) ou par les moyens habituels. Il sera ensuite&lt;br /&gt;
très positif de revenir sur cette page et de consigner ce qui vous posait&lt;br /&gt;
problème et ce qui vous a permis de mieux comprendre.&lt;br /&gt;
&lt;br /&gt;
== Déroulement (2010-2011) ==&lt;br /&gt;
&lt;br /&gt;
Ceci n&#039;est qu&#039;une prévision.&lt;br /&gt;
&lt;br /&gt;
* (Cours 1): lundi 20 septembre. Langage C, intérêts et défauts. Compilation. Eléments de base du langage (types simples, variables, expressions). (=&amp;gt; I.5).&lt;br /&gt;
* (TD 1): mercredi 29 septembre. Instructions et structures de contrôle usuelles (conditionnelles, boucles) (=&amp;gt; I.10)&lt;br /&gt;
* (TD 2): jeudi 30 septembre. TD 1 tableaux, fonctions en C, E/S simples.&lt;br /&gt;
* (Cours 2): vendredi 1er octobre. Fonctions, passage de paramètres, pointeurs (=&amp;gt; II.5).&lt;br /&gt;
* (TD 3): vendredi 1er octobre. TD 1 tableaux, fonctions en C, E/S simples (II).&lt;br /&gt;
* (Cours 3): lundi 4 octobre. Fonctions, passage de paramètres, pointeurs, allocation dynamique (=&amp;gt; II.10)&lt;br /&gt;
* (Cours 4): lundi 4 octobre. Un exemple complet : les piles en C (II.11).&lt;br /&gt;
* (TP 1): mercredi 6 octobre. Boucles, puissance 4, tracés avec gnuplot, récursivité.&lt;br /&gt;
* (TD 4): vendredi 8 octobre. Exercices simples sur les pointeurs.&lt;br /&gt;
* (TD 5): lundi 11 octobre. Pile d&#039;exécution. Structures auto-référents. Début skip-liste.&lt;br /&gt;
* (TP 2): mercredi 13 octobre. Tetris texte.&lt;br /&gt;
* (TD 6): vendredi 15 octobre. Skip-listes. Compilation séparée et bonnes habitudes de développement C.&lt;br /&gt;
* (TP 3): jeudi 21 octobre. Tetris graphique avec GTK.&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
&lt;br /&gt;
* Responsable pour 2009--2010: Emilie Charrier (C/TD/TP)&lt;br /&gt;
* Responsable pour 2008--2009: Lionel Vaux (C/TD/TP)&lt;br /&gt;
&lt;br /&gt;
== Ressources pour l&#039;étudiant (avant 2010) ==&lt;br /&gt;
&lt;br /&gt;
Cet enseignement comprendra 10 séances de cours/TD (1h30) et 3 séances de TP (4h).&lt;br /&gt;
&lt;br /&gt;
La distinction entre cours et TD restera floue.  Je vous demanderai&lt;br /&gt;
généralement d&#039;écrire quelques petits programmes d&#039;une semaine sur l&#039;autre.&lt;br /&gt;
Autant que possible, envoyez-moi vos fichiers sources à l&#039;adresse&lt;br /&gt;
&amp;lt;tt&amp;gt;lionel.vaux@univ-savoie.fr&amp;lt;/tt&amp;gt;, afin que je puisse évaluer le niveau de&lt;br /&gt;
chacun et ajuster le contenu des séances suivantes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;Et dites-moi si ça ne&lt;br /&gt;
va pas, ou je risque d&#039;avancer trop vite.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objectifs du cours ===&lt;br /&gt;
&lt;br /&gt;
==== Cours/TD ====&lt;br /&gt;
* Principes généraux et particularités du langage: programmation impérative, typage fort à la compilation, adressage mémoire explicite&lt;br /&gt;
* Syntaxe de base&lt;br /&gt;
* Bibliothèque standard: entrée-sorties et interaction avec le système d&#039;exploitation&lt;br /&gt;
* C avancé: &lt;br /&gt;
** allocation dynamique &lt;br /&gt;
** modèle mémoire (pile, tas, code) &lt;br /&gt;
** pointeurs sur structures &lt;br /&gt;
** pointeurs sur fonctions&lt;br /&gt;
* Bonnes pratiques&lt;br /&gt;
&lt;br /&gt;
==== En TP ==== &lt;br /&gt;
* un TP de mise en route et de précision de la notion de compilation en C&lt;br /&gt;
* un projet logiciel sur les deux dernières séances (8h)&lt;br /&gt;
&lt;br /&gt;
==== Outils et concepts (survol théorique et utilisation optionnelle en TP) ====&lt;br /&gt;
* automatisation de la compilation (make), &lt;br /&gt;
* analyse de l&#039;exécution et déboguage (gdb et DDD), &lt;br /&gt;
* boîte à outils graphique (gtk+)&lt;br /&gt;
&lt;br /&gt;
=== Supports ===&lt;br /&gt;
&lt;br /&gt;
* Exercices de TD :&lt;br /&gt;
*# la [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-TD1.pdf feuille 1] ; &lt;br /&gt;
*# la [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-TD2.pdf feuille 2] et une archive [http://www.lama.univ-savoie.fr/~vaux/ens/liste.tar.gz &amp;lt;tt&amp;gt;liste.tar.gz&amp;lt;/tt&amp;gt;] comprenant une solution pour l&#039;implémentation des listes et des listes triées (les piles ont été traitées en [[INFO517-cours7|séance 7]]).&lt;br /&gt;
&lt;br /&gt;
* Devoir à la maison : le sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-DM1.pdf &amp;lt;tt&amp;gt;INFO517-DM1.pdf&amp;lt;/tt&amp;gt;] et les fichiers sources [http://www.lama.univ-savoie.fr/~vaux/ens/dm1.c &amp;lt;tt&amp;gt;dm1.c&amp;lt;/tt&amp;gt;] et [http://www.lama.univ-savoie.fr/~vaux/ens/mat.c &amp;lt;tt&amp;gt;mat.c&amp;lt;/tt&amp;gt;] associés.&lt;br /&gt;
&lt;br /&gt;
* Examens :&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel1.pdf &amp;lt;tt&amp;gt;INFO517-Partiel1.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel1-correction.pdf &amp;lt;tt&amp;gt;INFO517-Partiel1-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel2.pdf &amp;lt;tt&amp;gt;INFO517-Partiel2.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel2-correction.pdf &amp;lt;tt&amp;gt;INFO517-Partiel2-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Terminal.pdf &amp;lt;tt&amp;gt;INFO517-Terminal.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Terminal-correction.pdf &amp;lt;tt&amp;gt;INFO517-Terminal-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Rattrapage.pdf &amp;lt;tt&amp;gt;INFO517-Rattrapage.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Rattrapage-correction.pdf &amp;lt;tt&amp;gt;INFO517-Rattrapage-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Séances de Cours/TD ===&lt;br /&gt;
&lt;br /&gt;
# [[INFO517-cours1|lundi 22 septembre 2008]]. &lt;br /&gt;
#* mise en route: exemples de programmes simples et compilation;&lt;br /&gt;
#* syntaxe de base: types, déclarations, affectations, boucles, entrées et sorties simples (caractère par caractère);&lt;br /&gt;
# [[INFO517-cours2|lundi 29 septembre 2008]]&lt;br /&gt;
#* fonctions;&lt;br /&gt;
#* tableaux et chaînes;&lt;br /&gt;
#* récursion;&lt;br /&gt;
# [[INFO517-cours3|lundi 6 octobre 2008]]&lt;br /&gt;
#* exercices (feuille 1);&lt;br /&gt;
# [[INFO517-cours4|lundi 13 octobre 2008]]&lt;br /&gt;
#* adresses et pointeurs;&lt;br /&gt;
#* passage par adresse;&lt;br /&gt;
#* les tableaux comme pointeurs;&lt;br /&gt;
#* opérateur &amp;lt;tt&amp;gt;sizeof&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* arithmétique de pointeurs;&lt;br /&gt;
#* allocation des variables locales: le problème des tableaux;&lt;br /&gt;
#* allocation dynamique: &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;realloc()&amp;lt;/tt&amp;gt;;&lt;br /&gt;
# [[INFO517-cours5|lundi 20 octobre 2008]]&lt;br /&gt;
#* modèle mémoire: pile, tas, segment de code;&lt;br /&gt;
#* différence entre déclaration de tableau et déclaration de pointeur;&lt;br /&gt;
#* affichage des données de la pile d&#039;exécution, adresses de retour;&lt;br /&gt;
# [[INFO517-cours6|lundi 3 novembre 2008]]&lt;br /&gt;
#* types complexes: &amp;lt;tt&amp;gt;struct&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;union&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;enum&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* premier partiel;&lt;br /&gt;
# [[INFO517-cours7|lundi 10 novembre 2008]]&lt;br /&gt;
#* pointeurs vers &amp;lt;tt&amp;gt;struct&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* structures récursives;&lt;br /&gt;
#* exemple: les piles (FILO);&lt;br /&gt;
#* &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;s;&lt;br /&gt;
#* exercices (feuille 2);&lt;br /&gt;
# [[INFO517-cours8|lundi 17 novembre 2008]]&lt;br /&gt;
#* correction du premier partiel;&lt;br /&gt;
#* exercices (suite de la feuille 2);&lt;br /&gt;
# [[INFO517-cours9|lundi 24 novembre 2008]]&lt;br /&gt;
#* préparation du TP1&lt;br /&gt;
#* entrées et sorties dans des fichiers&lt;br /&gt;
#* opérations bit-à-bit;&lt;br /&gt;
# [[INFO517-cours10|lundi 1er décembre 2008]]&lt;br /&gt;
#* deuxième partiel;&lt;br /&gt;
#* pointeurs sur fonctions;&lt;br /&gt;
#* une session DDD;&lt;br /&gt;
&lt;br /&gt;
=== Séances de TP ===&lt;br /&gt;
&lt;br /&gt;
Les sujets de TP se trouvent sur &lt;br /&gt;
[http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP cette page].&lt;br /&gt;
&lt;br /&gt;
# mercredi 15 octobre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP0.html TP0 — Préliminaires]&lt;br /&gt;
# vendredi 28 novembre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP1.html TP1 — Formats d&#039;image]&lt;br /&gt;
# vendredi 12 décembre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP2.html TP2 — Affichage et interface graphique]&lt;br /&gt;
&lt;br /&gt;
==Références==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;The C programming language&#039;&#039;, de Kernighan et Ritchie;&lt;br /&gt;
* &#039;&#039;Le langage C&#039;&#039;, version française du précédent;&lt;br /&gt;
* Le polycopié de Bernard Cassagne, disponible [http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html ici], au format [http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html html] (consultable en ligne) ou [ftp://ftp.imag.fr/pub/labo-CLIPS/commun/C/Introduction_ANSI_C.pdf pdf];&lt;br /&gt;
* Le wikilivre [http://fr.wikibooks.org/wiki/Programmation_C &#039;&#039;Programmation C&#039;&#039;]: un livre de cours sur le mode wikipedia.&lt;br /&gt;
* Je considère que quelque chose de vraiment spécial dans ce site. [http://www.acheter-du-viagra.com/products/viagra.htm acheter viagra]&lt;/div&gt;</summary>
		<author><name>Beever555</name></author>
	</entry>
</feed>