2 types declarations - coursmrached.free.frcoursmrached.free.fr/2_types_declarations.pdf ·...
TRANSCRIPT
29/11/2013
1
Miloud RACHED Année universitaire 2013-2014
Objectifs
�Présenter les différents types de données
�Connaître les différentes opérations élémentairesassociées à chaque type
Types et déclarations
Plan
� Types de données
� Opérations élémentaires
Types et déclarationsTypes et déclarations
Miloud RACHED Année universitaire 2013-2014
29/11/2013
2
Plan
Types de données
� Introduction
� Correspondances de type
� Cinq types élémentaires
� ENTIER
� REEL
� CARACTERE
� CHAINE
� BOOLEEN
� Structures de données évoluées
Introduction
�Correspondance entre les structures de données et lamémoire d’un ordinateur
�Deux catégories :
� Structures élémentaires
� Structures évoluées
Types de données
Correspondances de type
Types de données
� En algorithmique :
� R : Le type réel REEL
� Z : Le type entier (relatif) ENTIER
� Le type booléen BOOLEEN
� Le type caractère CARACTERE
� Au niveau des langages :
� float, real, double, int, integer, bool, char, …
Quatres types de base :
�Type élémentaire complémentaire :
� Chaînes de caractères :
o Suite de caractères : CHAINE
Cinq types élémentaires
Types de données
Un cinquième type:
29/11/2013
3
�Données élémentaires utilisées en algorithmique :
� ENTIER
� REEL
� CARACTERE
� CHAINE
� BOOLEEN
�Les structures avancées
Cinq types élémentaires
Types de données
� ENTIER
� nombres entiers
� négatifs
� positifs
� nuls
� Exemples :
� 33
� - 13
Le type ENTIER
Types de données
� REEL
� nombres entiers
� fractionnés
� négatifs
� positifs
� nuls
� Exemples :
� 3,26
� -10,5
Le type REEL
Types de données
� CARACTERE (ou CAR)
� caractère unique
� Exemples :
� ‘F’
� ‘j’
� ‘!’
� ‘’ représente aucun caractère
Types de données
Le type CARACTERE
29/11/2013
4
� CHAINE
� caractère unique
� suite de caractères
� Exemples :
� "Bonjour"
� "586"
� "CUAT"
� " " représente aucun caractère
Types de données
Le type CHAINE
� BOOLEEN(*) (**)
� VRAI
� FAUX
* 1 pour VRAI et 0 pour FAUX, (voire 0 pour FAUX et toute autre valeur représente VRAI)
** en mémoire, pas de correspondance avec un élément « bit » !
Types de données
Le type BOOLEEN
Structures de données évoluées
Structures de données complexes et organisées
�Type CHAINE :
� LISTE (structure linéaire)
�Constructions de structures hiérarchisées :
� ENREGISTREMENTS ou ARBRES (structure non linéaire)
�Relations plus complexes :
� GRAPHES (structure non linéaire)
Types de données
Structures de données évoluées
�Parmi les structures linéaires :
� Listes (chaînage)
� Tableaux (structures indicées)
� Piles et files (listes dont les accès sont limités)
�Parmi les structures non linéaires :
� Enregistrements (structure contenant des champs)
� Arbres (structure hiérarchisée)
� Graphes (structure organisée par des relations)
Types de données
29/11/2013
5
Types et déclarations
Miloud RACHED Année universitaire 2013-2014
Plan
� Introduction
�Opérateur commun à tous les types
�Le type ENTIER
�Le type REEL
�Le type CARACTERE
�Le type CHAINE
�Le type BOOLEEN
�Constantes ou variables
Opérations élémentaires
Introduction
� Terminologie :
� Déclaration (réservation d’emplacement mémoire)
� Initialisation (écriture initiale)
� Affectation (écriture avec perte de l’ancienne donnée)
� Utilisation (lecture)
� Ré-affectation (possibilité de modifier une donnée à l’aide d’elle-même)
Opérations élémentaires
Type
ENTIER
REEL
CARACTERE
CHAINE
BOOLEEN
Opérationspossibles
Déclaration
Initialisation
Affectation
Utilisation
Ré-affectation
Opérateurs associés, symboles, mots clés correspondants
<--
Opérateur commun à tous les types
� Un symbole commun à toutes les structures de données
Opérations élémentaires
29/11/2013
6
nom_de_la_donnee : ENTIER
nom de la donnée
type élémentaire
Nom attribué à la donnéedéclarée.
Le type esttoujours
précédé du signe :
Déclaration
Le type ENTIER
Age : ENTIER;Num_tel : Entier;
Opérations élémentaires
nom_de_la_donnee <-- valeur : ENTIER
nom de la donnée
affectation
valeur d'initialisation
type élémentaire
Nom attribué à la donnéeinitialisée
Symboled'affectation
Valeur initialeaffectée à la
donnée
Le type esttoujours
précédé du signe :
Initialisation (avec déclaration)
Le type ENTIER
Opérations élémentaires
nom_de_la_donnee <-- valeur
nom de la donnée
affectation
valeur
Nom de la donnéeaffectée
Symboled'affectation
Valeuraffectéeà la donnée
Affectation (hors déclaration)
Le type ENTIER
Opérations élémentaires
autre_donnee <-- nom_de_la_donnee
nom d'une donnée
affectation
nom d'une donnée
Nom d'une autredonnéeaffectée à
l'aide d'une donnée
Symboled'affectation
Nom d'unedonnée
Utilisation
Le type ENTIER
Opérations élémentaires
29/11/2013
7
nom_de_la_donnee <-- nom_de_la_donnee + 1
nom de la donnée
affectation
nom de la même donnée
opération
Nom de la donnée
ré-affectée
Symboled'affectation
Nom de la donnée
ré-affectée
Opération lorsde l'affectation
Ré-affectation
Le type ENTIER
Opérations élémentaires
nom_de_la_donnee : REEL
nom de la donnée
type élémentaire
Nom attribué à la donnéedéclarée
Le type esttoujours
précédé du signe :
Déclaration
Le type REEL
Opérations élémentaires
Le type esttoujours
précédé du signe :
nom_de_la_donnee <-- valeur : REEL
nom de la donnée
affectation
valeur d'initialisation
type élémentaire
Nom attribué à la donnéeinitialisée
Symboled'affectation
Valeur initialeaffectée à la
donnée
Initialisation (avec déclaration)
Le type REEL
Opérations élémentaires
nom_de_la_donnee <-- valeur
nom de la donnée
affectation
valeur
Nom de la donnéeaffectée
Symboled'affectation
Valeuraffectéeà la donnée
Affectation (hors déclaration)
Le type REEL
Opérations élémentaires
29/11/2013
8
autre_donnee <-- nom_de_la_donnee
nom d'une donnée
affectation
nom d'une donnée
Nom d'une autredonnéeaffectée à
l'aide d'une donnée
Symboled'affectation
Nom d'unedonnée
Utilisation
Le type REEL
Opérations élémentaires
nom_de_la_donnee <-- nom_de_la_donnee * 0,5
nom de la donnée
affectation
nom de la même donnée
opération
Nom de la donnée
ré-affectée
Symboled'affectation
Nom de la donnée
ré-affectée
Opération lorsde l'affectation
Ré-affectation
Le type REEL
Opérations élémentaires
nom_de_la_donnee : CARACTERE
nom de la donnée
type élémentaire
Nom attribué à la donnéedéclarée
Le type esttoujours
précédé du signe :
Déclaration
Le type CARACTERE
Opérations élémentaires
nom_de_la_donnee <-- ‘valeur’ : CARACTERE
nom de la donnée
affectation
valeur d'initialisation
type élémentaire
Nom attribué à la donnéeinitialisée
Symboled'affectation
Valeur initialeaffectée à la
donnée
Le type esttoujours
précédé du signe :
Initialisation (avec déclaration)
Le type CARACTERE
Opérations élémentaires
29/11/2013
9
nom_de_la_donnee <-- ‘valeur’
nom de la donnée
affectation
valeur
Nom de la donnéeaffectée
Symboled'affectation
Valeuraffectéeà la donnée
Affectation (hors déclaration)
Le type CARACTERE
Opérations élémentaires
autre_donnee <-- nom_de_la_donnee
nom d'une donnée
affectation
nom d'une donnée
Nom d'une autredonnéeaffectée à
l'aide d'une donnée
Symboled'affectation
Nom d'unedonnée
Utilisation
Le type CARACTERE
Opérations élémentaires
nom_de_la_donnee <-- nom_de_la_donnee + 1
nom de la donnée
affectation
nom de la même donnée
opération
Nom de la donnée
ré-affectée
Symboled'affectation
Nom de la donnée
ré-affectée
Opération lorsde l'affectation
Ré-affectation*
Le type CARACTERE
Opérations élémentaires
* Cas particulier : variable entière d’un octet (codage ASCII). ‘a’ + 1 correspond à ‘b’
Le type esttoujours
précédé du signe :
nom_de_la_donnee : CHAINE
nom de la donnée
type élémentaire
Nom attribué à la donnéedéclarée
Déclaration
Le type CHAINE
Opérations élémentaires
29/11/2013
10
nom_de_la_donnee <-- “valeur” : CHAINE
nom de la donnée
affectation
valeur d'initialisation
type élémentaire
Nom attribué à la donnéeinitialisée
Symboled'affectation
Valeur initialeaffectée à la
donnée
Le type esttoujours
précédé du signe :
Initialisation (avec déclaration)
Le type CHAINE
Opérations élémentaires
nom_de_la_donnee <-- “valeur”
nom de la donnée
affectation
valeur
Nom de la donnéeaffectée
Symboled'affectation
Valeuraffectéeà la donnée
Affectation (hors déclaration)
Le type CHAINE
Opérations élémentaires
autre_donnee <-- nom_de_la_donnee
nom d'une donnée
affectation
nom d'une donnée
Nom d'une autredonnéeaffectée à
l'aide d'une donnée
Symboled'affectation
Nom d'unedonnée
Utilisation
Le type CHAINE
Opérations élémentaires
nom_de_la_donnee : BOOLEEN
nom de la donnée
type élémentaire
Nom attribué à la donnéedéclarée
Le type esttoujours
précédé du signe :
Déclaration
Le type BOOLEEN
Opérations élémentaires
29/11/2013
11
nom_de_la_donnee <-- valeur : BOOLEEN
nom de la donnée
affectation
valeur d'initialisation
type élémentaire
Nom attribué à la donnéeinitialisée
Symboled'affectation
Valeur initialeaffectée à la
donnée
Le type esttoujours
précédé du signe :
Initialisation (avec déclaration)
Le type BOOLEEN
Opérations élémentaires
nom_de_la_donnee <-- valeur
nom de la donnée
affectation
valeur
Nom de la donnéeaffectée
Symbole d'affectation
Valeuraffectéeà la donnée
Affectation (hors déclaration)
Le type BOOLEEN
Opérations élémentaires
autre_donnee <-- nom_de_la_donnee
nom d'une donnée
affectation
nom d'une donnée
Nom d'une autredonnéeaffectée à
l'aide d'une donnée
Symboled'affectation
Nom d'unedonnée
Utilisation
Le type BOOLEEN
Opérations élémentaires
nom_de_la_donnee <-- nom_de_la_donnee + 1
nom de la donnée
affectation
nom de la même donnée
opération
Nom de la donnée
ré-affectée
Symboled'affectation
Nom de la donnée
ré-affectée
Opération lorsde l'affectation
Ré-affectation
* ATTENTION ! valeur FAUXcorrespond à la valeur 0, et toute autre valeur entière d’un octet correspond à la valeur VRAI.
Le type BOOLEEN
Opérations élémentaires
29/11/2013
12
Catégories de données et opérations associées
Constantes ou variables
� Les Constantes : CONST
� Déclaration avec initialisation obligatoire
� Utilisation (lecture seule)
� Les Variables : VAR
� Déclaration
� Initialisation dans la déclaration
� Affectation (écriture)
� Utilisation
� Ré-affectation
Opérations élémentaires
Questions
Miloud RACHED Année universitaire 2013-2014
Types et déclarations
Bibliographie
L'algorithmique : Votre passeport informatique pour la programmation (Broché) de Bruno Warin
The C programming Language, Brian W. Kernighan, Dennis M. Ritchie
Programmation : concepts, techniques et modèles, Peter Van Roy, Seif Haridi
Types et déclarations