Vous êtes sur la page 1sur 5

Mme Saoussen Maloul

Chapitre I : Les structures de donnes

Un programme informatique est une suite dinstructions qui manipulent des donnes qui peuvent tre des
constantes, des variables de plusieurs types.
I- Les constantes :
Une constante est toute donne dont on dcide de garder sa valeur inchange tout au long dun algorithme ou un
programme. Une constante est caractrise par : * Son nom * Sa valeur
Dclaration dune constante:
Analyse & Algorithme Pascal

Objet Type/Nature CONST


Nom_Constante = valeur ;
Nom de la constante Constante = valeur

Remarque : En Pascal, la dclaration des constantes vient toujours avant la dclaration des variables.
II- Les variables :
Une variable est toute donne pouvant prendre diffrentes valeurs tout au long dun algorithme ou un
programme. Une variable est caractrise par : * Son nom * Son type * Son contenu
Dclaration dune variable:
Analyse & Algorithme Pascal

Objet Type/Nature VAR


Nom_variable : Type_variable ;
Nom de la variable Type de la variable

Remarque : Une variable peut tre une donne initiale, une variable intermdiaire ou un rsultat ou les deux
ensemble.

III- Les types de donnes :


Chaque variable est caractrise par son type qui dtermine lensemble des valeurs qui peuvent y tre affects
ainsi que lensemble des oprations appliques sur cette variable.
Il existe plusieurs types de variables : Entier, Rel, Boolen, caractre, Chane de caractres.
1- Le type Entier:
Cest un sous ensemble de Z. Pascal fournit 5 types prdfinis :

Type Plage de valeurs Nombre doctets


Shortint -128..127 Avec signe, sur 1 octet
Integer -32768..32767 Avec signe, sur 2 octets
Longint -2147483648..2147483647 Avec signe, sur 4 octets
Byte 0..255 Sans signe, sur 1 octet
Word 0..65535 Sans signe, sur 2 octets

Remarque : Attention au problme de dbordement qui engendre des calculs errons, il faut choisir le type
convenable lors de la traduction de lalgorithme en Pascal.
Les oprateurs applicables : +, -, *, Mod, Div, les oprateurs relationnels.

2- Le type Rel:
Cest un sous ensemble de R. Il peut tre prsent sur 6 octets.
Les oprateurs applicables : +, -, *, /, les oprateurs relationnels.
Les fonctions applicables sur le type rel : Voir Annexe.

3- Le type Boolen:
Cest une expression logique : soit Vrai, soit Faux.
Les oprateurs applicables : Non, Et, Ou, Ou ex

Anne Scolaire : 2010-2011 -1- LPS- 4 Maths 3 -


Mme Saoussen Maloul

Table de vrit
Non(X) X ET Y X OU Y X Ou ex Y
X Y
NOT(X) X AND Y X OR Y X XOR Y
FAUX FAUX VRAI FAUX FAUX FAUX
FAUX VRAI VRAI FAUX VRAI VRAI
VRAI VRAI FAUX VRAI VRAI FAUX
VRAI FAUX FAUX FAUX VRAI VRAI
NB: A Ou ex B= (Non A ET B) OU (A ET Non B)
4- Le type caractre:
Un caractre est reprsent par lui-mme entre guillemets en algorithmique et entre apostrophes en Pascal.
Remarque : Tous les caractres sont ordonns par leurs codes ASCII.
Les oprateurs applicables : oprateurs relationnels ( cest comparer leurs codes ASCII)
Les fonctions applicables sur le type caractre

Nom Code en
Rle Exemples
algorithmique Pascal
Renvoie le code ASCII du caractre c. Le rsultat est un
ORD(c) ORD(c) ORD("B" ) vaut 66
entier positif
CHR(n) CHR(n) Renvoie le caractre dont le code ASCII est n CHR(97) vaut "a"
SUCC ("A") vaut "B "
SUCC(c) SUCC(c) Renvoie le caractre successeur de c s'il existe
SUCC ("8") vaut "9"
PRED("B") vaut "A";
PRED(c) PRED(c) Renvoie le caractre prdcesseur de c s'il existe
PRED("8") vaut "7"
MAJUS(c) UPCASE(c) Convertit le caractre c en majuscule s'il est possible MAJUS ("c") vaut "C"

5- Le type chane de caractres:


Une chane de caractres est une suite de n caractres avec 0 n 255.
Une chane de caractres est dfinie entre guillemets en algorithmique et entre apostrophes en Pascal.
Les fonctions et procdures applicables sur le type chane de caractres :

Nom algorithmique Code en Pascal Rle Exemples


Retourne la concatnation des chanes Concat ("Ma","dame") retourne la
Concat(ch1, Ch2,,Chn) CONCAT (ch1, Ch2,,Chn)
Ch1, Ch2,, chn chane "Madame"

Retourne un entier reprsentant la


Long (ch) Length(ch) Long("Madame") retourne 6
longueur de la chane
Retourne une sous chane d'une
Sous_chane("Madame", 3,4)
Sous_chane(ch, p,nbc) COPY (ch,p,nbc) longueur nbc partir de la position p
retourne "dame"
dans ch
Retourne la premire position de ch1
Pos (ch1, ch2) POS (ch1, ch2) POS ("Ma", "Madame") retourne 1
dans ch2

Enlve n caractres de ch partir de Efface ("Informatique", 5,8)


Efface (ch, p, n) DELETE (ch, p, n)
la position p retourne "Info"

Insre ch1 dans ch2 partir de la Insre ("rnava", "Cal",3) retourne


Insre (ch1, ch2, p) INSERT (ch1, ch2, p)
position p "Carnaval"

Convertit une valeur numrique en une


Convch (d, ch1) STR (d, ch1) Convch (123, ch) retourne "123"
chane
convertit ch en une valeur numrique
Valeur ("19,75", d, erreur) retourne
et l'affecte d. erreur contiendra 0
d avec 19,75 et erreur avec 0 ;
Valeur (ch, d, erreur) VAL (ch, d, erreur) si la conversion s'est bien droule
valeur ("1c3", d, erreur) retourne d
sinon elle contiendra la position du
avec 0 et erreur contient 2
caractre qui a dclench l'erreur

Anne Scolaire : 2010-2011 -2- LPS- 4 Maths 3 -


Mme Saoussen Maloul

IV- Le type tableau:


Cest une structure de donnes permettant de ranger un nombre fini dlments de mme type.
Un tableau est caractris par : * Un nom * Une taille * type dlments quil va contenir
Les lments dun tableau ont des indices qui sont de type scalaire. Un tableau unidimensionnel est dit Vecteur.
Dclaration dun tableau:
Analyse & Algorithme Pascal

Objet Type/Nature VAR


Nom du tableau Tableau de taille type Nom_ Tableau: Array [Binf..Bsup] of type_elts;
dlments

Dclaration dun type tableau: On peut dclarer un nouveau type tableau :


Analyse & Algorithme Pascal

TYPE TYPE
Nom_Type= Tableau de taille type dlments Nom_Type= Array [Binf.. Bsup] of type_element;

VAR
Objet Type/Nature Nom_Tableau: Nom-Type;
Nom du tableau Nom_Type

Le nombre dlments dun tableau : Bsup-Binf+1


Si lindice est de type caractre : Ord(Bsup)-Ord(Binf) +1
Laccs un lment du tableau est direct : nom_tab [indice] avec Binf Indice Bsup
Sur un lment du tableau, on peut appliquer toutes les oprations dfinies sur une variable de mme type que
llment.
V- Le type scalaire numr:
Le type scalaire est une donne valeur unique.
Le type scalaire par numration dfinit un ensemble ordonn et fini de valeurs dsignes par des
identificateurs.
Dclaration dun type scalaire par numration:

Analyse & Algorithme Pascal

TYPE TYPE
Nom_Type= (cste1, cste2, cste3, , csten) Nom_Type= Array (cste1, cste2, cste3, , csten);

VAR
Objet Type/Nature Nom_variable : Nom-Type;

Nom de la variable Nom_Type

Exemples : les 4 saisons, les jours de la semaine, lanne administrative, lanne scolaire

Analyse & Algorithme Pascal

TYPE TYPE
Jours= (Lundi, Mardi, Mercredi, Jeudi, Jours= (Lundi, Mardi, Mercredi, Jeudi, vendredi,
vendredi, samedi, Dimanche) samedi, Dimanche);

Objet Type/Nature VAR


J : Jours;
J Jours

Remarques:
Ord(Lundi)=0; Ord(Jeudi)=3; Succ(Mercredi)=Jeudi; Pred(Mardi)=Lundi
Un identificateur ne peut pas tre un mot rserv.
Un mme identificateur ne peut pas dsigner plusieurs choses diffrentes.
On ne peut pas dclarer un type scalaire numr de type nombre ou caractre.
On ne peut ni lire ni afficher un objet de type scalaire numr.

Anne Scolaire : 2010-2011 -3- LPS- 4 Maths 3 -


Mme Saoussen Maloul

VI- Le type intervalle:


Le type intervalle a les proprits dun type scalaire ordonn. (Entier, caractre, type scalaire numr)
Un intervalle a deux bornes : Binf et Bsup.
Dclaration dun type intervalle:

Analyse & Algorithme Pascal

TYPE TYPE
Nom_Type= Binf .. Bsup Nom_Type= Binf .. Bsup ;

VAR
Objet Type/Nature Nom_variable : Nom-Type;

Nom de la variable Nom_Type

Exemples : Week-end, Jours de travail, Jours du mois, Semaines de lanne

TYPE
Week_End= Vendredi .. Dimanche ;
VAR
WE : Week_End;
VII- Les expressions:
1- Dfinition:
On appelle expression toute composition doprandes et doprateurs ralisant un calcul dtermin.
Nous distinguons 2 types dexpression :
Expressions arithmtiques donnant une valeur numrique
Expressions logiques donnant une valeur boolenne.
Une expression est constitue doprandes relis par des oprateurs.
2- Les oprandes:
Cest llment sur lequel on applique lopration.
Dans une expression, les oprandes utiliss doivent tre de mme type ou de types compatibles.
Les oprandes peuvent tre des constantes, des variables ou des rsultats envoys par des fonctions.
3- Les oprateurs:
Cest lopration applique sur les oprandes.
Les oprateurs arithmtiques :
- Oprateurs unaires : appliqus sur un seul oprande. (-). On lappelle aussi monodique.
- Oprateurs binaires : appliqus sur 2 oprandes. On lappelle aussi dyadique. (+, _, *, /, Div,
Mod).
Les oprateurs logiques :
- Oprateurs unaires : Non.
- Oprateurs binaires : Et, Ou, Ou ex.
Les oprateurs relationnels : Ces oprateurs peuvent tre appliqus sur tous les types de donnes
dj vus. La comparaison est faite entre 2 lments de mme type ou de types compatibles.
Les oprateurs relationnels
Algorithmique Pascal
<, >, , , , = <, >, >=, <=, <>, =
4- valuation dune expression:

Oprateurs Priorit Catgorie


Parenthses 1
NOT, - (-7) 2 Oprateurs unaires
*, /, DIV, MOD, AND 3 Oprateurs multiplicatifs
OR, XOR,+, - 4 Oprateurs additifs
<>, =, <, >, <=, >= 5 Oprateurs relationnels

Anne Scolaire : 2010-2011 -4- LPS- 4 Maths 3 -


Mme Saoussen Maloul

les fonctions arithmtiques standard appliques sur les rels

om Code en Type du Type du


Rle Exemples
algorithmique Pascal paramtre rsultat
Supprime la partie
dcimale pour ne
Tronc (-10,434) vaut
Tronc(x) TRUNC(x) Entier ou Rel Entier laisser que la
-10
composante entire
de x
Donne un entier qui
Arrondi(34,6) vaut
est la valeur du rel
Arrondi(x) ROUND(x) Entier ou Rel Entier 35;
x arrondie la plus
Arrondi(9,45) vaut 9
proche valeur

Entier ou Rel
Donne la valeur Abs(-1765) vaut
Abs(x) ABS(x) Entier ou Rel (mme type
absolue de x 1765; Abs(6) vaut 6
que x)
Entier ou Rel
Carr(x) SQR(x) Entier ou Rel (mme type Donne le carr de x Carr(2) vaut 4
que x)
Donne la racine
carre de x si x >=0 Racine Carr(12,25)
Racine Carr(x) SQRT(x) Entier ou Rel Rel
sinon provoque une vaut 3,5
erreur
Donne le sinus de x
Sin(x) SIN(x) Entier ou Rel Rel Sin(1,5705) vaut 1
(x en radians)

Donne le cosinus de x
Cos(x) COS(x) Entier ou Rel Rel Cos(1,5705) vaut 0
(x en radians)

Donne la tangente de
Tang(x) TAN(x) Entier ou Rel Rel Tang(3,141) vaut 0
x (x en radians)
Donne la cotangente
Cotang(x) COTAN(x) Entier ou Rel Rel Tang(1,5705) vaut 0
de x (x en radians)
Donne la partie Ent (5,6) vaut 5,0
Ent(x) INT(x) Entier ou Rel Entier
entire d'un rel Ent (-8,7) vaut -8,0
Donne un rel
Ala peut donner
Ala RANDOM Rel compris entre 0 et 1
0,56
exclus
Donne un entier Ala(12) peut donner
Ala(x) RANDOM(x) Entier Entier
entre 0 et x-1 7
Renvoie le
Ln(x) Ln(x) Entier ou Rel Rel logarithme nprien Ln(1) vaut 0
d'un rel x
Renvoie l'exponentiel
Exp(x) EXP(x) Entier ou Rel Rel Exp(0) vaut 1
de x

Anne Scolaire : 2010-2011 LPS- 4 Maths 3 -