27
Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères et de type tableau. Distinguer les types simples du type tableau. II. Les constantes : Chapitre n° :6 Activité 1 : Écrire un programme qui permet de calculer et d’afficher la surface d’un disque. 1. Définition : On appelle constante un objet ayant une valeur fixe tout le long d’un algorithme. Une constante est caractérisée par : Son nom (un identificateur unique) Sa valeur

Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Embed Size (px)

Citation preview

Page 1: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères et de

type tableau. Distinguer les types simples du type tableau.

II. Les constantes :

Chapitre n° :6

Activité 1 :Écrire un programme qui permet de calculer et d’afficher la surface d’un disque.

1. Définition : On appelle constante un objet ayant une valeur fixe tout le long d’un algorithme.Une constante est caractérisée par :Son nom (un identificateur unique)Sa valeur

Page 2: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

2. Déclaration d’une constante :a. Déclaration algorithmique :

Objet Type / Nature Rôle

Nom de la constante Constante = Valeur de la constante

Rôle

Exemple :

Objet Type / Nature Rôle

PI Constante = 3,14 Constante connue

b. Déclaration en turbo Pascal :Const Nom_constante = valeur_constante ;Exemple : Const PI = 3,14 ;

Page 3: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

III. Les variables  1. Définition :

une variable est un objet pouvant prendre différentes valeurs lors de l’exécution d’un algorithme.Une variable est caractèrisée par :

Son identificateur (nom) Son type Son contenu (sa valeur)

Page 4: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

2. Déclaration d’une variable :a. Déclaration algorithmique :

Objet Type / Nature Rôle

Nom de la variable Type de la variable

Rôle de la variable dans l’algorithme

Exemple :

Objet Type / Nature Rôle

Surface Réel Surface du disque

R Réel Rayon du disque

b. Déclaration en turbo Pascal :VAR Nom_variable : Type_variable ;

Exemple : VAR r,surface : REAL ;

Page 5: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Activité 2 :Écrire un programme qui permet de permuter les valeurs de deux variables de type entier saisies par l’utilisateur.

Remarques:Une variable peut être utiliser pour :

Sauvegarder des valeurs saisies par l’utilisateur.Sauvegarder des résultats obtenus par le programme, intermédiaires ou définitifs.stocker provisoirement (temporairement) des valeurs dans ce cas on l’appelle variable intermédiaire, temporaire ou auxiliaire.

Page 6: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

IV. Les types de données  1. Les types numériques : A. Le type entier

Chapitre n° :6

Le type entier permet de manipuler des valeurs dans l’ensemble Le type entier permet de manipuler des valeurs dans l’ensemble ZZ

Type entier (Type entier (INTEGERINTEGER)) Taille en mémoire centrale : 2 octetsTaille en mémoire centrale : 2 octets Domaine de valeurs : entre –32 768 et 32 767Domaine de valeurs : entre –32 768 et 32 767 Autres types entiers prédéfinis : Byte, Word, Shortint, LongintAutres types entiers prédéfinis : Byte, Word, Shortint, Longinta. Les opérateurs arithmétiques sur les entiers :On ajoutera aux opérateurs arithmétiques usuels (+, - , * et / ), deux autres opérateurs DIV et MOD définis ci-dessous :

DIV : Donne le quotient dans la division entière. Exemple : 11 DIV 3 vaut 3MOD : Donne le reste de la division entière. Exemple : 11 MOD 3 vaut 2

a b q vaut a DIV b

r q r vaut a MOD b

Page 7: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Notation algorithmique Notation en Turbo Pascal

= =

≠ <>

≤ <=

< <

≥ >=

> >

b. Les opérateurs relationnels sur les entiers :on peut appliquer les opérateurs relationnels usuels en adoptant les notations suivantes :

Page 8: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : INTEGER ;

c. La déclaration d’une variable entière :

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable ENTIER Rôle

Déclaration en Turbo Pascal

Page 9: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

B. Le type réel

Le type réel permet de manipuler des valeurs dans l’ensemble IRLe type réel permet de manipuler des valeurs dans l’ensemble IR Type réel (REAL)Type réel (REAL) Taille en mémoire centrale : 6 octetsTaille en mémoire centrale : 6 octets Domaine de valeurs : entre –10 Domaine de valeurs : entre –10 3838 et 10 et 10 3838

format scientifique 2.000000000 E +3 <=>2000format scientifique 2.000000000 E +3 <=>2000 Autres types réels prédéfinis : Single, double, Extended, CompAutres types réels prédéfinis : Single, double, Extended, Comp

a. Les opérateurs applicables sur les réels : Les opérateurs arithmétiques sur les réels sont les mêmes que sur

les entiers exceptés MOD et DIV. Ces derniers ne sont appliqués qu’avec des entiers.

Tous les opérateurs relationnels sont applicables sur des réels.

Page 10: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : REAL ;

b. La déclaration d’une variable réelle :

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable REEL Rôle

Déclaration en Turbo Pascal

c. Les fonctions arithmétiques standards :

Page 11: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

2. Le type booléen

Domaine de valeurs : Deux valeurs logiques « VRAI » ou« FAUX » (TRUE Domaine de valeurs : Deux valeurs logiques « VRAI » ou« FAUX » (TRUE or FALSE)or FALSE)

a. Les opérateurs logiques sur les booléens  :

Notation algorithmique

Notation en Turbo Pascal Rôle

NON NOT Négation

ET AND Conjunction

OU OR Disjunction

OUex XOR Ou exclusif

Page 12: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Ci-dessous la table de vérités de ces opérateurs où P et Q des constantes, des variables ou des expressions logiques :

P Q NON(P) P ET Q P OU Q P OUex Q

FAUX FAUX VRAI FAUX FAUX FAUX

FAUX VRAI VRAI FAUX VRAI VRAI

VRAI VRAI FAUX VRAI VRAI FAUX

VRAI FAUX FAUX FAUX VRAI VRAI

Exemples :La proposition (7>5) ET (2<3) a la valeur VRAILa proposition (7>5) ET (5<3) a la valeur FAUX

Page 13: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

b. Priorité des opérateurs :

Opérateurs Priorité Catégorie

-, NOT Haute Opérateur unaires

*, /, DIV, MOD, AND Deuxième Opérateurs multiplicatifs

+, - , OR, XOR Troisième Opérateurs additifs

=, <>, <, >, <=, >= Quatrième Opérateurs relationnels

Règles de priorité :1. Un opérande entre deux opérateurs de priorité différente est lié à l’opérateur

de plus haute priorité.2. Un opérande entre deux opérateurs de même priorité est lié à celui de gauche.3. Les expressions entre parenthèses ont la priorité quel que soit le niveau

interne.

Page 14: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : BOOLEAN ;

c. La déclaration d’une variable booléenne :

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable BOOLEEN Rôle

Déclaration en Turbo Pascal

Page 15: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Une variable de type caractère occupe un octet en mémoireUne variable de type caractère occupe un octet en mémoire A chaque caractère correspond un code ASCII qui est un entier variant de A chaque caractère correspond un code ASCII qui est un entier variant de

0 à 255.0 à 255. Notation : En analyse : Notation : En analyse : "A""A" , En Pascal : , En Pascal : ‘A’‘A’ Opérateurs relationnels : On peut comparer les caractères entre eux.Opérateurs relationnels : On peut comparer les caractères entre eux. Exemples : "a" ≠ "A" , "A" > "a"Exemples : "a" ≠ "A" , "A" > "a"

VraiVrai FauxFaux

3. Le type caractère : On distingue plusieurs types de caractères :

Les lettres alphabétiques : Les lettres en majuscules [‘’A’’...’’Z’’] et les lettres minuscules [‘’a’’..’’z’’] Les chiffres [‘’0’’..’’9’’] Les symboles comme ‘’ !’’, ‘’§’’, ‘’>’’, ‘’ç’’, ‘’è’’, … Les caractères non imprimables comme le retour chariot, la touche Échappe (Esc), …

a. La concaténation des caractères :On peut concaténer deux caractères ou plusieurs caractères en employant l’opérateur ‘’+’’.Exemples :

Caractère c1 Caractère c2 c1+c2

‘’a’’ ‘’b’’ ‘’ab’’

‘’1’’ ‘’6’’ ‘’16’’

‘’5’’ ‘’‘’ ‘’5’’

Page 16: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : CHAR ;

b. La déclaration d’une variable caractère :

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable CARACTERE Rôle

Déclaration en Turbo Pascal

Page 17: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

b. Les fonctions prédéfinies relatives au type caractère  :

Fonction Rôle Exemples

ORD(c) Renvoie le code ASCII du caractère c. ORD(‘’A’’) vaut 65ORD(‘’a’’) vaut 97

CHR(n) Renvoie le caractère dont le code ASCII est n.

CHR(66) vaut ‘’B’’CHR(98) vaut ‘’b’’

SUCC(c) Renvoie le caractère successeur de c. SUCC(‘’F’’) vaut ‘’G’’SUCC(‘’0’’) vaut ‘’1’’

PRED(c) Renvoie le caractère prédécesseur de c. PRED(‘’b’’) vaut ‘’a’’PRED(‘’0’’) vaut ‘’/’’

UPCASE(c) Convertit le caractère c en majuscule si c’est possible.

UPCASE(‘’a’’) vaut ‘’A’’UPCASE(‘A’’) vaut ‘’A’’UPCASE(‘’5’’) vaut ‘’5’’UPCASE(‘’ !’’) vaut ‘’ !’’

Page 18: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

4. Le type chaîne de caractères :

Une variable de type chaîne de caractères est une suite ordonnée et finie Une variable de type chaîne de caractères est une suite ordonnée et finie de caractères.de caractères.

Capacité : la longueur d’une chaîne peut varier entre 0 et 255.Capacité : la longueur d’une chaîne peut varier entre 0 et 255. Notation : Notation : En analyseEn analyse : : ""l’algorithmiquel’algorithmique"" , , En PascalEn Pascal : : ‘‘ll’’’’algorithmiquealgorithmique’’ Une chaîne peut être manipuler caractère par caractère grâce à la Une chaîne peut être manipuler caractère par caractère grâce à la

notation notation nom_chaine[i]nom_chaine[i]. i est l’indice (rang) du caractère voulu.. i est l’indice (rang) du caractère voulu.

Exemple Exemple : : nom nom "Ben Foulen" nom[5] contient "F" "Ben Foulen" nom[5] contient "F"Nom[4] Nom[4] "_" nom = "Ben_Foulen" "_" nom = "Ben_Foulen"

Page 19: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : STRING ;

a. La déclaration d’une variable de type chaîne de caractères  :

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable CHAINE Rôle

Déclaration en Turbo Pascal

Première formulationPremière formulation  

Dans ce cas la chaîne peut atteindre 255 caractères

Page 20: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

VAR Nom_variable : STRING[taille_max];

Tableau de déclaration des objets

Objet Type / Nature Rôle

Nom_variable CHAINE[taille_max] Rôle

Déclaration en Turbo Pascal

Deuxième formulation Deuxième formulation   

Dans ce cas, la chaîne à une taille maximale égale à celle spécifiée dans la déclaration

Page 21: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Exemple : Exemple :  Tableau de déclaration des objetsTableau de déclaration des objets

Objet Type / Nature

Rôle

Nom CHAINE Le nom d’un élève

Adresse CHAINE[48] Adresse de l’élèveDéclaration en Turbo PascalDéclaration en Turbo Pascal VAR VAR Nom : STRING;Nom : STRING; Adresse : STRING[48];Adresse : STRING[48];

b. Les fonctions et procédures prédéfinies standards sur les chaînes :

Page 22: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

5. Les tableaux à une dimension : a. Définition :   Un tableau unidimensionnel ou vecteur est une structure de Un tableau unidimensionnel ou vecteur est une structure de données permettant de ranger un nombre fini d’éléments de même données permettant de ranger un nombre fini d’éléments de même type.type. Un vecteur est caractérisé par :Un vecteur est caractérisé par : Un nom servant d’identificateur.Un nom servant d’identificateur. Une taille. Une taille. Le type des éléments qu’il contient.Le type des éléments qu’il contient.

Page 23: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Exemple:Soit le tableau « Moyenne » contenant 5 moyennes du type réel :

20 13.5 9.25 17.75 111 2 3 4 5

Remarques: Les cases d’un vecteur sont indicées. Les indices doivent être du type scalaire(entier, caractère, ..).

Les structures de données

Chapitre n° :6

Page 24: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

b. La déclaration d’un vecteur :

En analyse :

Objet Type Rôle

Nom_variable Tableau de taille_max de type_éléments Rôle

Tableau de déclaration des objets :

Première formulation :

VAR Nom_variable : ARRAY[Binf..Bsup] OF type_éléments ;

En Turbo Pascale :

Page 25: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

En analyse :

Deuxième formulation :

Tableau de déclaration nouveaux types :

Type

Nom_type = tableau de taille_max de type_éléments

Tableau de déclaration des objets :

Objet Type / Nature Rôle

Nom_variable Nom_type Rôle

Page 26: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

Déclaration en Turbo Pascal :

TYPE

Nom_type = ARRAY[Binf..Bsup] OF type_éléments ;

VAR

Nom_variable : Nom_type ;

Page 27: Les structures de données I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères

Les structures de données

Chapitre n° :6

En analyse :

Saisie : T[i] = donnée

Affectation : T[i] 20

Affichage : écrire(T[i])

En Pascal :

Saisie : readln(T[i]) ;

Affectation : T[i] := 20 ;

Affichage : writeln(T[i]);

c. Accès au ième élément d’un tableau T d’entiers :