Vous êtes sur la page 1sur 8

Chapitre N°1: Les Structures de données Mr.

Anis ELBAHI

LES STRUCTURES DE DONNEES


Disponible sur www.elbahi.jimdofree.com

A – Les constantes et les variables :


Activité 1: RAPPEL :
R désigne le rayon du cercle
…………………………. Périmètre du cercle : 2 x pi x R
Soit le programme pascal suivant : Surface du disque : pi x R2

…………………
…………………

………………………….

………………… ………………………….
…………………

sqr(R) ………………………….
1- Compléter les pointillées.
2- Déclarer la constante PI de valeur 3.14
3- Déclarer les variables utilisées dans le programme.
4- Quelles sont les valeurs de P et de S affichées par le programme si la valeur saisie de R = 2.5
Réponse : La valeur de P = …………………
La valeur de S = …………………

Constations :
Une constante est un objet ayant une valeur fixe dans tout le programme.
Une variable est un objet …………………………………………………….

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 1/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

Activité 2:
1- Lancer l’éditeur pascal disponible sur votre machine.
2- Ecrire le programme pascal qui permet de saisir les notes de contrôle et de synthèse de la matière
informatique obtenues au premier semestre puis calculer et afficher la moyenne de la matière en
appliquant la formule suivante, Sachant que C1 et C2 sont deux constantes de valeurs respectives 1
et 2 et NC la note de contrôle et NS la note de synthèse.

MOY = (NC*C1+NS*C2) / 3 .
3- Enregistrer votre programme sous le nom EX1.pas dans le dossier C:\BAC2021.
Solution :

Activité 3:
1- Lancer l’éditeur pascal disponible sur votre machine.
2- Ecrire le programme pascal qui permet de saisir la longueur et la largeur d’un rectangle puis de
calculer et d’afficher sa surface et son périmètre en utilisant les formules suivantes :

Périmètre = (longueur + largeur) * 2


Surface = longueur * largeur
3- Enregistrer votre programme sous le nom rectangle.pas dans le dossier C:\BAC2021.

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 2/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

B- les types de données :


1- Le type entier : (INTEGER)
En pascal il existe 5 types entiers :
.

Attention :
Le mauvais choix des types lors de la déclaration des variables peut engendrer des résultats erronés au
moment de l’exécution

2- Le type réel : (REAL) Attention :


Le type réel regroupe un sous ensemble de R. Les opérateurs MOD et DIV ne peuvent
Exemples de réels : 12.5 , 10, -19.22, 0, 1000 pas s’appliquer sur le type réel.

Les fonctions arithmétiques standards :


La bibliothèque Turbo Pascal est riche en fonctions arithmétiques, voici les plus utilisées.
Nom Code en APPLICATION
ROLE EXEMPLE
algorithmique PASCAL X=2,66 et y=-4,2
Supprime la partie décimale pour TRUNC (3.14)=3
TRUNC (X)=…………
Tronc(x) TRUNC(x) laisser la partie entière TRUNC (3.5)=3
TRUNC (Y)= …………
(integer/real) TRUNC (-0.25)=0
Donne un entier qui est la valeur du ROUND(9.49)=9
ROUND(x) ROUND(X)= …………
Arrondi(x) réel x arrondie à la plus proche ROUND(9.50)=10
(integer/real) ROUND(Y)= …………
valeur ROUND(9.99)=10
Frac(x)
FRAC(X) Donne la partie décimale d’un réel.
FRAC(9.35) = 0.35
FRAC(Y) = …………
(real) FRAC(-9.35) = -0.35
ABS(X)= …………
Abs(x) ABS(x) Donne la valeur absolue de x ABS(-5)=5
ABS(Y)= …………
Carré(x) SQR(x) Donne le carré de x SQR(2)=4 SQR(X)=7.0756
Donne la racine carré de x si x est SQRT(X)=1.63
SQRT(x) SQRT(2)=1.414…
Racine Carré(x) positif et un message d’erreur sinon. SQRT(Y)=Erreur
Donne un réel compris entre 0 et 1
Aléa RANDOM exclus
RANDOM donne 0.65

Aléa (n) RANDOM (n) Donne un entier entre 0 et n-1 RANDOM(5) = 3


COS(x) COS(x) Revoie le cosinus de x COS(PI) =1
SIN(x) SIN(x) Revoie le sinus de x SIN (PI) =0
Revoie le logarithme népérien d’un
Ln(x) Ln(x) réel x
Ln(1.0) = 0
INT(x) Revoie la partie entière d’un réel
INT(3.7) = 3.0
Ent(x) INT(-5.5) = -5.0
(real)

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 3/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

Activité 4:

1- Utiliser les fonctions mathématiques prédéfinies de Pascal pour traduire l’instruction suivante :

X 2+ (a − c) 2 + (b − d ) ………………………………………………………………

2- Compléter le tableau suivant comme le montre l’exemple :


intervalle Instruction pascal Type de X Règle à appliquer :
X de l’intervalle [0..10] x := random (11) ; Integer / real De façon générale pour
X de l’intervalle [2..10] générer une valeur aléatoire
X de l’intervalle [-10..-2] Integer / real de l’intervalle [Vi .. Vf] il faut
x := random(10)+2+random ; faire :
………………….....……

4- Le type logique : (BOOLEAN)


- Ce type contient deux valeurs : ………… et …………
- les opérateurs utilisées sont : NON (NOT) , ET(AND) , OU (OR) et OUex (XOR)
- Le tableau de vérités de ces opérateurs est le suivant:

X Y NON(X) X ET Y X OU Y X OUex 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

Activité 5:
Soit le programme pascal qui s’exécute
Sans erreurs.
1- Compléter la déclaration des variables.
2- Quelle est la valeur de E1 ?
3- Quelle est la valeur de E2 ?

Attention :
Si on a des opérations entre parenthèses alors elles sont prioritaires sinon l’ordre de priorité entre les
opérateurs est le suivant : NON > ET > OU = OUex

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 4/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

4- Le type caractère : (CHAR)


A chaque caractère (‘A’, ‘a’, ‘*’, ‘ ?’, ‘8’, … ) correspond un code appelé ……………………………….

Les fonctions prédéfinies sur les caractères :


Nom Code en
ROLE EXEMPLE
algorithmique PASCAL
ORD("A") vaut ……
ORD(c) ORD(c) Renvoie le code ASCII du caractère c.
ORD("a") vaut ……
CHR(97) vaut ……
CHR(n) CHR(n) Renvoie le caractère dont le code ASCII est n.
CHR(61) vaut "="
SUCC(c) SUCC(c) Renvoie le caractère successeur de c. SUCC("A") vaut ……
PRED(c) PRED(c) Renvoie le caractère prédécesseur de c . PRED("3") vaut ……
Convertit le caractère c en majuscule s’il est MAJUS("a") vaut "A"
MAJUS(c) UPCASE(c)
possible. MAJUS(" ?") vaut ……

Activité 6:
Pour chaque proposition, donner la valeur ainsi que le type de X comme le montre l’exemple:

Proposition Valeur de X Type de X


X := CHR(ORD ('A') ) ; 'A' CHAR
X := ORD( CHR (97) ) ;
X := CHR(ORD('A')+1) ;
X := UPCASE('o')+ 'K' ;
X := 'B'+PRED('B')+ SUCC('B');

5- Le type chaîne de caractères : (STRING)


Une chaîne de caractères est une suite de n caractères (0 ≤ n ≤255).
Si n = 0 Alors la chaîne est dite ……

Les fonctions et les procédures prédéfinies utilisées avec les chaînes :


En Pascal Rôle
CONCAT (ch1,ch2,…,chN) Fait la Concaténation des chaînes ch1,ch2,…,chN
LENGTH (ch) Donne la longueur de la chaîne ch.
COPY (ch,p,n) Retourne une sous-chaine de n caractère à partir de la position p
DELETE (ch,p,n) Efface n caractères de ch à partir de la position p.
Retourne la 1ère position de ch1 dans ch2.
POS (ch1,ch2) Si ch1 n’est pas dans ch2, elle retourne 0.
Insère ch1 dans ch2 à partir de la position p en décalant le caractère
INSERT (ch1,ch2,p) p et ses suivants vers la droite.
Convertit un nombre décimal d en une chaîne de caractères et
STR (d,ch) l’affecte à ch.
Convertit une chaîne en une valeur numérique et l’affecte a ch. si la
VAL (ch,d,erreur) conversion n’est pas effectuée alors erreur contiendra la position
d’erreur.

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 5/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

Activité 7:
Compléter le tableau suivant :
Expression Valeur de X Type de X
X :='Grand' > 'petit' ;
X :=CHR(ORD('a') -32) ;
X := 'BAC' + 'TN' > 'BACFR' ;

C –le type scalaire énuméré et le type intervalle :


1 - Le type scalaire énuméré :

Activité 8:
1- Déclarer en analyse et en pascal un nouveau type JOUR contenant les identificateurs suivants :
lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche.
Solution :
TDNT (en analyse)
TYPE
………………………………………………………………………………………………………………………

TYPE
…………………………………………………………………………………………………………………………

2- Déclarer en analyse et en pascal une variable J de type JOUR


TDO: En pascal :
Objet Type / Nature
……. …………… ……………….
…………………

3- Compléter le tableau suivant :


Instruction Résultat affiché
J:= jeudi;
Write(J);
J:=SUCC(lundi);
………………………………………………………………….
Write(ord(PRED(J)));
J:= 'vendredi';
………………………………………………………………….
Write(PRED(J));
readln(J);
………………………………………………………………….

j:=Mardi;
………………………………………………………………….
write(ord(j)+1);

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 6/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

2 - Le type intervalle:
Pour définir un intervalle, il faut fixer deux bornes : borne inférieure et borne supérieure telle que :
borne inférieure < borne supérieure

Attention :
Les bornes de l’intervalle doivent être de type discret (……………………………………………)

Exemples d’intervalles déclarés en pascal :

TYPE
Mois = 1..12 ;
ALPHABET = 'A' .. 'Z' ;
SEMAINE = lundi .. dimanche ;

Activité 9:
EXAMEN DU
BAC 2013

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 7/8


Chapitre N°1: Les Structures de données Mr. Anis ELBAHI

………………………………..…………………

E –les tableaux : (vecteurs)


Soit le tableau T suivant formé par 6 cases contenant des valeurs de type entier.

………………………………..……… ………………………………..…………………
…………

Constations :
Un vecteur est une structure de données caractérisée par un …………… (identificateur) une .………
et le …………………………………………………… Il permet le regroupement des éléments du
même type.

Déclaration d’un tableau :


Pour déclarer un tableau il faut savoir sa taille maximale et le type des éléments qu’il va contenir.
Activité 10:
Déclarer le tableau précèdent :
En analyse : En Pascal :
TDO ……………….
Objet Type / Nature ………………………………………
…… ……………………………………………………
Ou bien :
En analyse : En Pascal :
Tableau de déclaration des nouveaux types:
TYPE ……………….
…………………………………………………………… ………………………………………

T.D.O :
Objet Type / Nature
............... ……………………………………………… ……………….
………………………………………

Activité 11:
Soit la séquence d’affectations suivantes :
1) A[1]  20 5) B[2]  B[1] mod A[1]
2) A[2]  10 6) B[3]  A[2] *2 + 2
3) B[1]  A[1] + A[2] 7) A[4]  (A[2] div 60) mod 60
4) A[3]  B[1] div 2 8) A[5]  A[2] div A[1]

1- Déclarer en pascal le tableau A.


2- Quel sera le contenu des deux tableaux A et B après l’exécution de la séquence d’affectation
précédente?

Lycée Othman Chatti M'saken 4 SCX- TECH – MATH 8/8

Vous aimerez peut-être aussi