Sauter ActivitésSauter Recherche forums

Recherche forums


Recherche avancéeAide sur Recherche avancée (nouvelle fenêtre)
Sauter Catégories de cours

Aperçu des thèmes

 

CPITS - Programmation C

Ce 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 base

Les principes de base, ce sont les éléments qui permettent d'écrire les premières lignes de programmation.

Afficher uniquement le thème 1
2
Afficher uniquement le thème 2
3
Afficher uniquement le thème 3
4
Afficher uniquement le thème 4
5
Afficher uniquement le thème 5
6

Structures complexes

Ne 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.

Afficher uniquement le thème 6
7
Afficher uniquement le thème 7
8
Afficher uniquement le thème 8
9
Afficher uniquement le thème 9
10
Afficher uniquement le thème 10
11

Indirections et pointeurs

Plus 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.

Afficher uniquement le thème 11
12
Afficher uniquement le thème 12
13
Afficher uniquement le thème 13
14
Afficher uniquement le thème 14
15
Afficher uniquement le thème 15
16

La traduction des types abstraits

La 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é.

Afficher uniquement le thème 16
17
Afficher uniquement le thème 17
Ce thème18
Afficher uniquement le thème 18
19
Afficher uniquement le thème 19
20

Examen global ALGO/PROG

20 Février 2006

Afficher uniquement le thème 20
21

Librairies utilitaires

Un 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.

Afficher uniquement le thème 21
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)

Afficher uniquement le thème 22
23
Afficher uniquement le thème 23
24

Entrées sorties de fichiers

Un 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.

Afficher uniquement le thème 24
25
Afficher uniquement le thème 25
26
Afficher uniquement le thème 26
27

Mon opinion sur ce cours

Je donne mon opinion sur ce cours

Afficher uniquement le thème 27
Sauter Calendrier

Calendrier

Lu Ma Me Je Ve Sa Di
    1 2 3 4 5
6 7 Aujourd'hui mercredi 8 septembre 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30    

Légende

Sauter Dernières nouvelles

Dernières nouvelles

  • 19 déc, 11:39
    Fremaux (Admin) Valery
    Pas de cours d'info ce soir (Mardi 19 Décembre) plus...
Sauter Prochains événements

Prochains événements

Il n'y a pas de prochain événement