GEF 243B Programmation informatique applique - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

GEF 243B Programmation informatique applique

Description:

Jusqu' date nous avons vue une structure de donn es: le tableau. ... Une structure est une collection d' l ments apparent s possiblement de diff rents types portant un seul nom ... – PowerPoint PPT presentation

Number of Views:155
Avg rating:3.0/5.0
Slides: 23
Provided by: abea7
Category:

less

Transcript and Presenter's Notes

Title: GEF 243B Programmation informatique applique


1
GEF 243BProgrammation informatique appliquée
  • Définition de types, types énumérés et structures

2
Revue
  • Quest-ce que le masquage dinformation?
  • Dans le langage C, quel fichier est linterface
    du module?
  • Pourquoi on lappel interface?

3
Synopsis
  • La définition de type typedef
  • Les types énumérés
  • Définition de type énuméré
  • Structures
  • Définition de type structure

4
Structures et types dérivés
  • Jusquà date nous avons vue une structure de
    données le tableau.
  • Un tableau a trois caractéristiques Nom, type et
    un nombre fixe déléments
  • Une fois déclaré, le tableau peut seulement
    contenir des éléments du même type.
  • Nous avons aussi vue deux types dérivés le
    tableau et le pointeur.
  • Ces types sont dérivés parce que ils change les
    valeurs quune variable peut prendre et les
    opérations définies pour le type de base.

5
Définition de type
  • Les définitions de type (typedef) sont centrales
    pour créer des nouveaux types en C
  • Avec typedef vous pouvez créer un nouveau type à
    partir dautres types
  • Standards ou dérivés
  • Nous allons voir plus tard aujourdhui comment
    typedef nous aide à définir des types de données
    complexes
  • Mais nous commençons avec deux exemples simples

6
Définition de type
  • Vous définissez un nouveau type avec le format de
    définition de typedef
  • typedef type IDENTIFICATEUR

Normalement en majuscules
Mot clé
Tout type de base ou dérivé
7
Définition de type
  • Même si ce nest PAS recommandé, vous pourriez
    définir nouveau type à partir de int en faisant
    ce qui suit
  • typedef int INTEGER
  • Les deux déclarations qui suivent seraient donc
    équivalentes
  • int nombre
  • INTEGER nombre

8
Définition de type
  • Ce qui se fait assez souvent par les programmeurs
    en C, est dutiliser typedef pour définir un
    nouveau type appelé STRING à partir du type
    pointeur à caractère (char )
  • typedef char STRING
  • STRING maString//un pointeur à char
  • Ceci ferait la même chose que
  • char myString

9
Définition de type
  • Les deux derniers exemples sont simples, mais ils
    montrent la flexibilité que C a pour définir de
    nouveaux types
  • Dans la syntaxe du langage, nimporte quelle
    place où vous pouvez placer le nom dun type
    standard, vous pouvez utiliser le nom dune
    définition de type.
  • Vous pouvez utiliser les définitions de types
    dans les déclarations de variables
  • Déclaration de type de fonctions
  • Déclaration de paramètres
  • Opérations de casting,

10
Types énumérés
  • Le type énuméré, enum construit par-dessus le
    type int
  • Dans un type énuméré, chaque valeur integer est
    associée avec un identificateur appelé constante
    dénumération
  • Vous avez déjà vue et utilisé quelques types
    énumérés
  • MOTORDIRECTION off, fwd, rev, brake
  • MOTORPORT PORT_A, PORT_B, PORT_C

11
Types énumérés
  • Il y a deux façons de base pour déclarer un type
    énuméré, mais nous montrons seulement la méthode
    préférée
  • //Lénumération propre
  • enum TAG constantes dénumération
  • //Déclaration dune variable pour enum
  • enum TAG identificateurDeVar

12
Types énumérés - exemple
  • Par exemple si je veux créer un type énumérer
    pour les mois de lannée, je pourrais faire ceci
  • enum MOIS JAN, FEV, MAR, AVR, MAI, JUN, JUL,
    AOU, SEP, OCT, NOV, DEC
  • enum MOIS moisDeNaissance //déclaration
  • enum MOIS moisDeGrad MAI

13
Types énumérés
  • Notez que parce que les structures de données en
    C sont basées sur zéro, la valeur du premier
    élément dans lénumération est 0 donc JAN 0
  • Mais on peut le faire explicitement
  • enum MOIS JAN 1, FEV 2,
  • Si je spécifie seulement la première valeur, le
    compilateur remplit les prochaines valeurs en
    additionnant un à chaque item.
  • enum MOIS JAN 1, FEV, MAR, AVR,

14
Types énumérés
  • Deux mises en garde avec les types énumérés.
  • C permet à deux constantes dénumération davoir
    la même valeur!! Ceci nest pas une bonne
    pratique.
  • enum GRANDEURS PETIT 1, GROS 2, TRES_GROS
    2
  • Il ny a pas de vérification pour la plage des
    valeurs dun type énuméré assigné à une variable
  • enum GRANDEUR maGrand 4 //Warning du
    compilateur

15
Définition de type énuméré
  • Chaque fois que vous déclarez une nouvelle
    variable pour votre type énuméré, vous devez
    utiliser le mot clé enum
  • enum MOIS moisDeNaissance
  • Nous avons appris plus tôt aujourdhui que nous
    pouvons renommer un type à quelque chose dautre
    voir plus simple en utilisant typedef

16
Définition de type énuméré
  • Ici nous combinons tout simplement les deux mots
    clé typedef et enum
  • typedef enum ROUGE, BLEUE, JAUNE COULEURPRIM
  • COULEURPRIM premiereCouleur ROUGE
  • COULEURPRIM deuxiemeCouleur JAUNE

17
Structures
  • De nos jours les solutions informatiques
    demandent que nous soyons capables de définir des
    structures de données complexes
  • Comme nous lavons appris dans les cours
    précédents, nous pourrions écrire des programmes
    complexes en utilisant seulement les types
    standards, mais les programmes seraient
    gigantesques et pas soutenables
  • Une structure est une collection déléments
    apparentés possiblement de différents types
    portant un seul nom

18
Structures
  • Chaque élément dans une structure est appelé un
    champ
  • Si je veux décrire un étudiant (mon abstraction
    dun étudiant) je pourrais ramasser linformation
    suivante
  • Prénom
  • Surnom
  • Numéro de collège
  • Moyenne
  • Nous voyons maintenant comment créer une
    structure et comment déclarer une variable pour
    entreposer cette information

19
Structures
  • Il y a trois façons différentes pour déclarer une
    structure en C. Nous montrons ici la méthode
    préférée pour déclarer une structure
  • struct ETUDIANT
  • char prenom15
  • char surnom25
  • int numDeCollege
  • float moyenne

20
Structures
  • Pour déclarer une variable pour cette structure,
    je fais principalement ce que jai fais pour les
    types énumérés
  • struct ETUDIANT unEtudiantCMR

21
Définition de type structure
  • Et similairement aux types énumérés, je peux
    aussi typedef toutes structures pour ne pas avoir
    à taper le mot clé struct chaque fois
  • typedef struct
  • char prenom15
  • char surnom25
  • int numDeCollege
  • float moyenne
  • ETUDIANT //nom du type
  • ETUDIANT unEtudiantCMR//déclaration

22
Quiz Time
  • Comment est-ce que je définis un nouveau type
    avec typedef
  • Comment est-ce que je définis une définition de
    type énuméré?
  • Comment est-ce que je déclare une variable pour
    le type ci haut?
Write a Comment
User Comments (0)
About PowerShow.com