| | CPITS - Programmation CCe cours est une découverte/initiation à la programmation en C, à travers des exemples illustrant les cours de mathématiques. Il vous permet d'aborder un premier langage de programmation, le C, qui est un des plus classiques. Ce cours se divise en cinq parties égales de 5 séances : - une découverte des principes de base
- une introduction aux structures complexes
- une introduction aux pointeurs
- un rapprochement avec les types abstraits de l'algorithmique
- une inspection de quelques librairies de base les plus utilisées (manipulations de chaînes de caractères, gestion de fichiers, gestion de mémoire, etc.)
Durée : 25 séances de 3 heures. Format : Cours+TD ou TD seul Enseignant : Valéry Frémaux Auteur(s) : Valéry Frémaux, avec l'apport du poly de Houcine Senoussi
| |
|
| 1 | Principes de baseLes principes de base, ce sont les éléments qui permettent d'écrire les premières lignes de programmation.
| 
|
|
| 2 |
| 
|
|
| 3 |
| 
|
|
| 4 |
| 
|
|
| 5 |
| 
|
|
| 6 | Structures complexesNe manipuler que des données simples devient très coûteux à écrire lorsque le problème devient compliqué. On a besoin parfois de manipuler rapidement des assemblages de données. Ces assemblages peuvent prendre plusieurs formes selon le besoin et le problème à résoudre. Les structures complexes sont des abstractions qui permettent de grouper des données dans une certaine structure. On peut alors écrire très simplement des manoeuvres de programmation sur des structures entières, comme s'il s'agissait de variables simples. Cette partie du cours vous présente les structures les plus importantes : tableaux, énumérations, "structures" et unions.
| 
|
|
| 7 |
| 
|
|
| 8 |
| 
|
|
| 9 |
| 
|
|
| 10 |
| 
|
|
| 11 | Indirections et pointeursPlus les objets que nous avons à manipuler sont importants, moins il est pertinent de les trimballer dans toute la mémoire de travail de l'ordinateur. Par exemple, pour changer une valeur dans un tableau de mille cases, on aimerait éviter de : - sortir le tableau
- changer la valeur
- reranger le tableau.
On souhaite pouvoir manipuler des "symboles" qui nous conduisent là où sont les vrais données. Travailler comme ça revient à utiliser une "indirection", parce que ce qu'on accède "indirectement" aux données. En programmation, on utilise deux notions d'indirection un peu différentes mais qui arrivent au même résultat pratique : la référence et le pointeur.
| 
|
|
| 12 |
| 
|
|
| 13 |
| 
|
|
| 14 |
| 
|
|
| 15 |
| 
|
|
| 16 | La traduction des types abstraitsLa traduction des types abstraits permet de donner forme à ce qui va devenir un "objet". Elle donne une méthode qui aide à "ranger ses oeufs dans le même panier". Ainsi, les principes de base du langage C permettent de rendre compte de l'assemblage des opérations pour former une unité de programmation compacte : le type abstrait comme une "structure active". Pour mettre en place ce type de programmation, il faut effectuer une "traduction" des syntaxes algorithmiques en langage C. Il faut donc trouver une forme pour chacune des écritures de l'algorithmique. Savoir transposer en C un type abstrait c'est savoir profiter d'un modèle pour obtenir un morceau de programme fiable et de qualité.
| 
|
|
| 17 |
| 
|
|
| Ce thème18 |
| 
|
|
| 19 |
| 
|
|
| 20 | Examen global ALGO/PROG20 Février 2006
| 
|
|
| 21 | Librairies utilitairesUn langage de programmation complet comme le C règle tous les aspects de programmation en rapport avec l'environnement du programme. Gérer cet environnement suppose une quantité de code colossale, que l'on ne demandera pas de réécrire à chaque fois qu'un écrit un programme. Les langages fournissent donc des librairies de fonctions déjà écrites, et qui permettent d'effectuer facilement des transformations compliquées. | 
|
|
| 22 | Fonctions de chaînes : "string.h"L'informatique actuelle s'oriente le plus en plus vers le traitement des textes (et non le "traitement de texte"). Ceci s'explique du fait que de plus en plus "d'utilisateurs" sont en contact avec les outils informatique. Or ces utilisateurs manipulent de l'information qui fait sens pour eux, et non pour l'informaticien. Dans une très grande majorité de métiers cette information est textuelle, parfois graphique, et moins fréquemment, multimédia. Ce groupe d'exercices (deux séances) à pour but de présenter au travers de la librairie de fonctions classiques de manipulations de chaînes quelques exemples typiques de la manipulation de chaînes. - strlen : "string length"
- strstr : "string in string"
- substr : "extracts sub string"
- strcmp : "string compare"
- strcasecmp (stricmp) : "string compare without (ignore) case"
- strcpy : "string copy"
- strchr : "search char in string"
- strrchr : "search char in string from right"
- strcat : "concatenate string"
- strncat : "concatenate n chars of string"
- index, rindex : index of char in string (from right)
| 
|
|
| 23 | | 
|
|
| 24 | Entrées sorties de fichiersUn programme ne fait rien de fondamentalement utile s'il n'est pas capable d'assurer une certaine rémanence des transformations qu'il effecute sur la matière "information". Les entrées sorties de fichiers permettent : - d'organiser cette rémanence
- de mémoriser des paramètres ou des "configurations" des programmes
- de fournir au programme des "ressources (textes, images, données prédéfinies).
Ce module permet d'assimiler les fondements des entrées/sorties et de connaître les bibliothèques qui y sont associées. | 
|
|
| 25 | | 
|
|
| 26 | | 
|
|
| 27 | Mon opinion sur ce coursJe donne mon opinion sur ce cours
| 
|
|