Vous êtes sur la page 1sur 51

Sommaire

 Chapitre 1 : Linstruction de Test Alternatif


Simple et Double
 Chapitre 2 : Les instructions Itératives
(Boucles) - Pour - Tantque – Répéter
 Chapitre 3: Les Instructions et Organigramme

 Chapitre 4 : Variables indexés - Tableaux


(Partie 1 - Vecteurs)
L’INSTRUCTION DE TEST
ALTERNATIF

- L’instruction de Test Alternatif Simple (TAS)


- La syntaxe et la sémantique de TAS
- L’instruction de Test Alternatif Double (TAD)
- La syntaxe et la sémantique de TAD

Département de science et Technologie


Centre – Universitaire nour bachir El-Bayadh
Année Universitaire 2019/2020
TEST ALTERNATIF SIMPLE (1/4)
Syntaxe de l’instruction de Test Alternatif Simple
 L’instruction de Test Alternatif Simple (T.A.S.)
permet de décider si on exécute une suite
d’instructions (bloc d’instructions) ou non. Cette
décision est basée sur une condition : Expression
booléenne. Si la condition est vrai, on exécute alors
ce bloc d’instructions. Sinon, on l’exécute pas.
 La syntaxe de l’instruction de T.A.S. est :

Si <Condition> Alors if <Condition> Then


<instruction_1> Begin
<instruction_2> En PASCAL <instruction_1>
…….. <instruction_2>
<instruction_n> ……..
Fin si Bloc du Si <instruction_n>
End;

1ère Année Technologie 01/09 Année Universitaire : 2019/2020


TEST ALTERNATIF SIMPLE (2/4)
Sémantique de l’instruction de Test Alternatif Simple
 Soit l’exemple suivant (Algorithmique / Pascal)
 Si (x > 0) Alors if (x>0) then
Ecrire (‘X est positif’) begin
Fin-si Write (‘X est positif’);
end;

 Ça veut dire quoi cette instruction ?


 Le sens de cette instruction est comme suit : Si la valeur
de x est supérieure à 0 alors on affiche la chaîne ‘X est
positif’. Si la condition est fausse, on exécute
automatiquement l’instruction qui vient après Fin-Si.
 Remarques:
• Dans le TAS, il y a un seul bloc d’instructions, dans la traduction en
PASCAL, le bloc est délimité par Begin et End; .
• Si le bloc contient une seule instruction, on peut enlever le Begin et
le End; .

1ère Année Technologie 02/09 Année Universitaire : 2019/2020


TEST ALTERNATIF SIMPLE (3/4)
Utilisation de l’instruction de Test Alternatif Simple
 Quant-est-ce que nous utiliserons l’instruction de Test
Alternatif simple ?
 Dans l’algorithmique, et dans plusieurs situation, des
instructions ne sont pas toujours exécutées. Ces
instructions sont exécutées uniquement si une ou plusieurs
conditions doivent être vérifiées. Ces conditions sont
formulées sous forme d’expression booléennes :
 Si l’expression booléenne vaut TRUE, alors ces instructions
seront exécutées.
 Si l’expression vaut FALSE, alors ces instructions ne sont pas
exécutées.
 Dans ce type de cas, on est amené à utilise l’instruction de
Test Alternatif Simple.

1ère Année Technologie 03/09 Année Universitaire : 2019/2020


TEST ALTERNATIF SIMPLE (4/4)
Exemple
 Ecrire un algorithme/Programme qui affiche pour
nombre x s’il est positif.
Program exemple_1;
Algorithme exemple_1 Uses wincrt;
Variables Var
x : réel x : real;
Début Begin
Lire (x) Read (x);
If x>0 Then
Si x > 0 Alors begin
écrire (‘X est positif’) Write(‘X est Positif’);
Fin-Si end;
Write (x);
Fin End.

1ère Année Technologie 04/09 Année Universitaire : 2019/2020


TEST ALTERNATIF DOUBLE (1/4)
Syntaxe de l’instruction de Test Alternatif Double
 L’instruction de Test Alternatif Double permet de faire
un choix entre l’exécution d’un bloc d’instructions et un
autre bloc d’instructions. Donc, dans le Test Alternatif
Double il y deux blocs d’instruction
 La syntaxe de TAD :
if <Condition> Then
Begin
Si <Condition> Alors Bloc du Si <instruction1_1>
<instruction_1_1> ……..
…….. <instruction1_n>
End
<instruction_1_n> else Pas de
Sinon En PASCAL Begin point-virgule avant
<instruction_2_1> <instruction2_1> Else
……..
……..
<instruction2_n>
<instruction_2_n> Bloc du Sinon End;
Fin si

1ère Année Technologie 05/09 Année Universitaire : 2019/2020


TEST ALTERNATIF DOUBLE(2/4)
Sémantique de l’instruction de Test Alternatif Double
 Prenons l’exemple suivant :
Si x>0 alors if x > 0 then
xx–1 x := x - 1
Sinon else
xx+2 x := x + 2;
Fin-Si
 L’instruction précédente signifie que si la valeur de x est
supérieur à 0 alors on décrémente la valeur de x (x  x-1),
sinon (c-a-d x <=0) on incrémente la variable x de 2 (x 
x+2).
 Si on prend l’exemple x=-5, donc on exécute le bloc Sinon,
puisque la condition x>0 n’est pas vérifiée. Ainsi, la
nouvelle valeur de x est : -3.
 Si on prend x = 8, donc on exécute le bloc Si, (la condition
x>0 est vérifiée). La nouvelle valeur de x sera : 7.

1ère Année Technologie 06/09 Année Universitaire : 2015/2016


TEST ALTERNATIF DOUBLE (3/4)
Utilisation de l’instruction de Test Alternatif Double
 Quant-est-ce que l’instruction de T.A.D. ?

 Dans plusieurs problèmes, on est amené à choisir entre


deux séquences d’instructions à exécuter. Le choix, bien
évidemment est effectué selon une condition (expression
booléenne).
 Dans certain cas, il faut choisir entre au moins trois
blocs d’instructions (plus que deux). La solution est
d’utiliser les structures imbriquées : on aura par
exemple une instruction de TAD à l’intérieur du bloc Si
(ou du bloc Sinon) d’une autre instruction de TAD. Voir
l’exemple suivant.

1ère Année Technologie 07/09 Année Universitaire : 2019/2020


TEST ALTERNATIF DOUBLE (4/4)
Exemple
 Soit deux nombres A et B. Afficher selon le cas :
 A est plus grand que B
 A est plus petit que B
 A est égale à B
Algorithme exemple_2 Program exemple_2;
Variables A, B:réel Uses wincrt;
Début Var A, B: real;
Lire (A, B) Begin
Si A > B Alors Read (A, B);
Ecrire(‘A est plus grand que B’) if A > B then
Sinon write(‘A est plus grand que B’)
Si A < B Alors else
Ecrire(‘A est plus petit que B’) if A < B then
Sinon write(‘A est plus petit que B’)
Ecrire(‘A est égale à B’) else
Fin-Si write(‘A est égale à B’);
Fin-Si
End.
Fin
1ère Année Technologie 08/09 Année Universitaire : 2019/2020
RÉSUMÉ

 L’instruction de test alternatif simple permet de


faire un choix entre l’exécution d’un bloc d’instructions
ou non. Ce choix (ou cette décision) est basé sur une
condition (Expression Booléenne : Vrai ou Faux).
 L’instruction de test alternatif double permet de
faire un choix entre l’exécution d’un bloc d’instructions
ou l’exécution d’un autre bloc d’instructions. Donc, il y
aura un premier bloc qui sera exécuté si la condition est
vérifié (Vrai) et un deuxième bloc qui est exécuté si la
condition est Fausse.
 L’instruction de test alternatif (simple ou double) se base
toute les deux sur une expression booléenne (la condition
du test)

1ère Année Technologie 09/09 Année Universitaire : 2019/2020


LES INSTRUCTIONS ITÉRATIVES
(LES BOUCLES)

- Les Instructions Itératives


- La syntaxe et la sémantique de Pour
- La syntaxe et la sémantique de Tant-que
- La syntaxe et la sémantique de Répéter

Département de science et Technologie


Centre – Universitaire El-Bayadh
Année Universitaire 2019/2020
BOUCLES - INTRODUCTION
Introduction
 Dans certaine situation, on est amener à répéter
l’exécution d’une ou plusieurs instructions.
 Soit l’exemple suivant :
Program Exemple1;
Algorithme Exemple1
Uses wincrt;
Début
Begin
Ecrire(1) En PASCAL Write(1)
Ecrire(2)
Write(2)
Ecrire(3)
Write(3)
Ecrire(4)
Write(4)
Ecrire(5)
Write(5)
Fin
End.
2) Ecrire un algorithme / programme qui affiche les nombre de 1 à 1000 ?
1) Qu’est-ce-que fait l’algorithme ?

1ère Année Technologie 01/14 Année Universitaire : 2019/2020


BOUCLES – POUR (1/4)
Syntaxe de la boucle Pour
 L’instruction de boucle Pour permet de répéter l’exécution
d’un bloc d’instructions. Elle utilise un compteur
d’itération, une valeur initiale et une valeur finale du
compteur. Le competeur est incrémenté automatiquement
 La syntaxe de l’instruction du boucle Pour est :
Pour <cpt>  <vi> à <vf> Faire For <Cpt> := <vi> To <vf> Do
<instruction_1> Begin
<instruction_2> <instruction_1>
En <instruction_2>
……..
<instruction_n> PASCAL ……..
Fin Pour <instruction_n>
End;
Bloc du Pour
<cpt> : le compteur (Variable Entière). <vi> : Valeur initiale (valeur entière)
<vf> : Valeur finale (valeur entière)
Le nombre d’itérations (répétitions) = <vf> - <vi> + 1

1ère Année Technologie 02/14 Année Universitaire : 2019/2020


BOUCLES – POUR (2/4)
Sémantique de la boucle Pour
 Soit l’exemple suivant (Algorithmique / Pascal)
 Pour j1 à 1000 Faire for j:=1 to 1000 do
Ecrire (j) begin
Fin-Pour Writeln (j);
end;

 Ça veut dire quoi cette instruction ?


 Le sens de cette instruction est comme suit : L’instruction
Ecrire(j) sera exécutée pour toutes les valeurs de j allant
de 1 à 1000. Donc, elle sera exécutée 1000 fois. Le résultat
de cette boucle est l’affichage des valeurs 1, 2, 3, …, 1000
 Remarque :
 Si le bloc d’instruction contient une seul instruction, on peut
enlever les begin et le end; de l’instruction for.

1ère Année Technologie 03/14 Année Universitaire : 2019/2020


BOUCLES – POUR (3/4)
Utilisation de la boucle Pour
 Quant-est-ce que nous utiliserons l’instruction de
boucle Pour ?
 Dans toute formule mathématique qui utilise un ou
plusieurs indices, comme par exemple les sommes, et
dans les vecteurs, les matrices (types indicés)
 Exemple : S = 1/2 + 2/3 + 3/4 + …. + n/(n+1)
 T[1]  1*2 T[2]  2*3 T[3]3*4 …. (voir vecteurs et
matrices)
 En générale, si le nombre d’itérations (de répétitions)
est connu (par exemple Nb), on peut utiliser la boucle
Pour comme suit : Pour i1 à Nb faire …

1ère Année Technologie 04/14 Année Universitaire : 2019/2020


BOUCLES – POUR (4/4)
Exemple
 Ecrire un algorithme/Programme qui affiche tous les
nombres entre deux nombres entiers N1 et N2 et qui
sont divisibles par un nombre entier d.
Algorithme exemple_1 Program exemple_1;
Variables Uses wincrt;
N1, N2, d, i : entier Var
Début N1, N2, d, i : integer; Pas de
Lire (N1, N2, d) Begin
point-virgule
Read (N1, N2, d);
Pour iN1 à N2 faire après
Si (i mod d = 0) alors do
for i := N1 to N2 do
Ecrire (i);
if (i mod 2 = 0) then
Fin-Si
Writeln(i);
Fin-Pour
End.
Fin

1ère Année Technologie 05/14 Année Universitaire : 2019/2020


BOUCLES – TANT-QUE (1/4)
Syntaxe de la boucle Tant-que
 L’instruction de boucle Tant-que permet de répéter
l’exécution d’un bloc d’instructions. À chaque itération, une
expression booléenne (condition) est réévaluer :
 Si l’expression donne TRUE : donc on exécute l’itération et ensuite
en réévalue l’expression booléenne
 Si l’expression donne FALSE : on arrête la boucle Tant-que

 La syntaxe de l’instruction du boucle Tant-que est :

Tantque <condition> Faire While <Condition> Do


<instruction_1> Begin
<instruction_2> <instruction_1>
…….. En <instruction_2>
<instruction_n> PASCAL ……..
Fin Tant-que <instruction_n>
End;
Bloc du Tantque

1ère Année Technologie 06/14 Année Universitaire : 2019/2020


BOUCLES – TANT-QUE (2/4)
Sémantique de la boucle Tant-que
 Soit l’exemple suivant (Algorithmique / Pascal)
 j1
Tant-que j <= 1000 faire while j <= 1000 do
Ecrire (j) begin
jj+1 Writeln (j);
Fin-Tantque j := j +1;
end;

 Ça veut dire quoi cette instruction ?


 Le sens de cette instruction est : Tant-que la valeur de j
est inférieure ou égale à 1000 les deux instructions
Ecrire(j) et jj+1 sont exécutées.
 La valeur initiale de J est 1, donc les valeurs 1, 2, …, 1000
seront affichées

1ère Année Technologie 07/14 Année Universitaire : 2019/2020


BOUCLES – TANT-QUE (3/4)
Utilisation de la boucle Tant-que
 Quant-est-ce que nous utiliserons l’instruction de
boucle Tant-que ?
 Dans tous les cas où la boucle Pour est appliquée,
nous pouvons utiliser la boucle Tant-que.
 Si la boucle dépend d’une condition compliquée
(expression booléenne avec opérateur logiques par
exemple : r<>0 et d<=n)
 Il faut s’assurer de l’initialisation de la condition. (par
exemple r<>0 et d<=n la variable r doit être
initialisée avec une valeur non nulle) et s’assurer qu’il
y a une instruction qui rend la condition fausse après
un certain nombre d’itérations.

1ère Année Technologie 08/14 Année Universitaire : 2019/2020


BOUCLES – TANT-QUE (4/4)
Exemple
 Ecrire un algorithme/Programme qui affiche tous les
nombres entre deux nombres entiers N1 et N2 et qui
sont divisibles par un nombre eniter d.
Program exemple_2;
Algorithme exemple_2
Uses wincrt;
Variables
Var
N1, N2, d, i : entier
N1, N2, d, i : integer;
Début
Begin
Lire (N1, N2, d)
i  N1
Read (N1, N2, d); Pas de
i := N1;
Tant-que i <= N2 faire
While i <= N2 do
point-virgule
Si (i mod d = 0) alros
Begin après
Ecrire (i);
if (i mod d = 0) then do : ça peux
Fin-Si
Writeln(i); causer une
ii+1
Fin-Pour
i := i+1 boucle infinie
End;
Fin
End.

1ère Année Technologie 09/14 Année Universitaire : 2019/2020


BOUCLES – RÉPÉTER (1/4)
Syntaxe de la boucle Répéter
 L’instruction de boucle Répéter permet de répéter
l’exécution d’un bloc d’instructions. À chaque itération, une
expression booléenne (condition) est réévaluer :
 Si l’expression donne TRUE : donc on arrête la boucle et on
exécuter l’instruction qui vient après Répéter;
 Si l’expression donne FALSE : on continue la boucle en exécutant
l’itération suivante
 La syntaxe de l’instruction du boucle Tant-que est :
Répéter Repeat
<instruction_1> <instruction_1>
<instruction_2> <instruction_2>
…….. En PASCAL ……..
<instruction_n> <instruction_n>
Jusqu’à <condition> Until <condition>;

Bloc de Répéter

1ère Année Technologie 10/14 Année Universitaire : 2019/2020


BOUCLES – RÉPÉTER (2/4)
Sémantique de la boucle Répéter
 Soit l’exemple suivant (Algorithmique / Pascal)
 j1
Répéter Repeat
Ecrire (j) Writeln (j);
jj+1 j := j +1;
Jusqu’à j > 1000 Jusqu’à j > 1000;

 Ça veut dire quoi cette instruction ?


 Le sens de cette instruction est : On répète l’exécution
des deux instructions Ecrire(j) et jj+1 jusqu’à avoir
la valeur de j strictement supérieur à 1000.
 La valeur initiale de J est 1, donc les valeurs 1, 2, …,
1000 seront affichées.

1ère Année Technologie 11/14 Année Universitaire : 2019/2020


BOUCLES – RÉPÉTER (3/4)
Utilisation de la boucle Répéter
 Quant-est-ce que nous utiliserons l’instruction de
boucle Répéter ?
 Dans tous les cas où la boucle Pour est appliquée,
nous pouvons utiliser la boucle Tant-que.
 Si la boucle dépend d’une condition compliquée
(expression booléenne avec opérateur logiques par
exemple : r<>0 et d<=n)
 En général, si la première itération est réalisée sans
condition, on peut utiliser l’instruction Répéter au
lieu de l’instruction Tant-que.
 L’instruction Répéter est équivalente à Tant-que.

1ère Année Technologie 12/14 Année Universitaire : 2019/2020


BOUCLES – RÉPÉTER (4/4)
Exemple
 Ecrire un algorithme/Programme qui affiche tous les
nombres entre deux nombres entiers N1 et N2 et qui
sont divisibles par un nombre eniter d.
Program exemple_2;
Algorithme exemple_2
Uses wincrt;
Variables
Var
N1, N2, d, i : entier
N1, N2, d, i : integer;
Début
Begin
Lire (N1, N2, d)
Read (N1, N2, d);
i  N1
i := N1;
Répéter
Répéter
Si (i mod d = 0) alros
if (i mod d = 0) then
Ecrire (i);
Writeln(i);
Fin-Si
i := i+1
ii+1
Until i>N2;
Jusqu’à i>N2
End.
Fin

1ère Année Technologie 13/14 Année Universitaire : 2019/2020


RÉSUMÉ
 Les instructions itératives (de boucle) permettent de répéter
l’exécution d’un bloc d’instructions (une ou plusieurs instructions)
un nombre d’itérations (un nombre de fois). Il y a trois
instructions de boucle : Pour (For), Tant-que (While) et
Répéter (Repeat).
 L’instruction de boucle Pour utilise un compteur (variable
entière), une valeur initiale (valeur entière) et une valeur finale
(valeur entière). Le nombre d’itérations est :
 VF – VI + 1 si VF >= VI
 0 si VF < VI (Aucune Itération)
 L’instruction de boucle Tant-que utilise une condition de boucle :
si la condition est vérifiée on exécute l’itération, sinon on quitte la
boucle. À la fin de chaque itération la condition est réévaluée.
 L’instruction de boucle Répéter utilise une condition d’arrêt de
boucle : si la condition est vérifiée on exécute pas l’itération et on
quitte la boucle, sinon on exécute l’itération suivante.

1ère Année Technologie 14/14 Année Universitaire : 2019/2020


LES INSTRUCTIONS –
ORGANIGRAMME
- Les Instructions d’Entrées / Sortie
- L’Instruction d’Affectation
- Les Structures de Contrôle :
- Test Alternatif Simple et Double
- Boucles (Pour, Tant-que et Répéter)
- L’organigramme (Schéma d’un Algorithme)

Département de science et Technologie


Centre – Universitaire nour bachir El-Bayadh
Année Universitaire 2019/2020
TYPE D’INSTRUCTIONS
Instructions Séquentielles et Structures de Contrôle
 En algorithmique, les instructions sont de deux type :
 Les Instructions Séquentielles (Lecture, Ecriture et
Affectation)
 Les Structures de contrôle (Test Alternatif simple et
double, les boucles et les branchements)
 L’exécution d’une instruction séquentielle conduit
automatiquement à l’exécution de l’instruction
suivante.
 L’exécution d’une instruction qui fait partie des
structure de contrôle ne conduit pas
automatiquement à l’instruction suivante. On
contrôle le flux d’exécution.

1ère Année Technologie 01/11 Année Universitaire : 2019/2020


TYPE D’INSTRUCTIONS
Instructions Séquentielles et Structures de Contrôle
Entrée : Lire(…)  Read(…);

Sortie : Ecrire(…)  Write(…);

Affectation :  en Pascal :=

Instructions Instruction de Contrôle

Instruction de Test Instructions Itératives


Alternatif (Boucles)

Pour  For
Test Alternatif Test Alternatif
Simple Double Tant-que  While
Si … Fin-Si Si …. Sinon …FinSi
Répéter  Repeat

1ère Année Technologie 02/11 Année Universitaire : 2019/2020


ORGANIGRAMME
C’est quoi un organigramme ?
 Un organigramme est la schématisation d’un algorithme
sous frome formes géométrique (rectangle, cercle, losange,
…) et des flèches (l’acheminement d’exécution)
 Les instructions sont représentée comme suit :
Pour la lecture et l’écriture

Pour l’Affectation

Pour les condition (Expression booléenne)

Pour le début et la fin de l’algorithme

Pour l’acheminement des instructions

1ère Année Technologie 03/11 Année Universitaire : 2019/2020


LES INSTRUCTIONS SÉQUENTIELLES
Exemple 01
 Soit l’algorithme suivant :

Début
Algorithme exemple_1
Constantes PI=3.14 Lire (R)
La séquentialité
Variables R, S, P:réel
des instructions
P  2*PI*R
Début
Lire (R)
P  2*PI*R S  PI*R*R
S  PI*R*R
Écrire (P, S) La partie Ecrire (P, S)
Fin concernée par
l’organigramme
Fin

Dans l’organigramme, on schématise uniquement la partie Instruction (Corps)

1ère Année Technologie 04/11 Année Universitaire : 2019/2020


LES INSTRUCTIONS SÉQUENTIELLES
Exemple 02
 Soit l’algorithme suivant :

Début
Algorithme exemple_2
Variables Lire (x, y, z)
x, y, z, t: réel
Début
tx
Lire (x, y, z)
tx
xy xy yz
yz
zt Ecrire (x, y, z) zt
Écrire (x, y, z)
Fin
Fin

1ère Année Technologie 05/11 Année Universitaire : 2019/2020


LES STRUCTURE DE CONTRÔLE : TAS
Exemple 01 : Test Alternatif Simple
 Soit l’exemple suivant :

Début

Algorithme exemple_3
Lire (x)
Variables
x: réel
Début Oui
X>0
Lire (x)
Si x > 0 alors
Non Ecrire (‘X est
Ecrire(‘x est positif’)
Positif’)
Fin-Si
Fin

Fin

1ère Année Technologie 06/11 Année Universitaire : 2019/2020


LES STRUCTURE DE CONTRÔLE : TAD
Exemple 02 : Test Alternatif Double
 Soit l’exemple suivant : Début

Algorithme exemple_4 Lire (x)


Variables
x: réel
Non X>0
Oui
Début
Lire (x)
Si x > 0 alors Non Oui Ecrire (‘X est
Ecrire(‘x est positif’) X<0
Positif’)
Sinon
Si x < 0 alors Ecrire (‘X est
Ecrire(‘x est négatif’) Négatif’)
Sinon
Ecrire (‘x est nul’) Ecrire (‘X est nul)
Fin-Si
Fin-Si
Fin Fin

1ère Année Technologie 07/11 Année Universitaire : 2019/2020


LES STRUCTURE DE CONTRÔLE : POUR
Exemple 03 : La boucle Pour
 Soit l’exemple suivant : Début

Algorithme exemple_5 Lire (x, n)


Variables
x: réel i1
i , n: entier
Début Oui
Lire (x, n) i <= n
S0 SS+x
Pour i  1 à n faire Non
S  S + x;
Fin-Pour i i + 1
Ecrire (S) Ecrire (S)
Fin
Fin

1ère Année Technologie 08/11 Année Universitaire : 2019/2020


LES STRUCTURE DE CONTRÔLE : TANT-QUE
Exemple 04 : La boucle Tant-que
 Soit l’exemple suivant : Début
Algorithme exemple_5
Variables Lire (x, n)
x: réel
i , n: entier i1
Début
Lire (x, n) Oui
S0 i <= n
i1
SS+x
Tant-que i <= n faire Non
SS+x
ii+1 i i + 1
Fin-Tant-que Ecrire (S)
Ecrire (S)
Fin
Fin

1ère Année Technologie 09/11 Année Universitaire : 2019/2020


LES STRUCTURE DE CONTRÔLE : RÉPÉTER
Exemple 04 : La boucle Répéter
 Soit l’exemple suivant : Début
Algorithme exemple_5
Variables Lire (x, n)
x: réel
i , n: entier i1
Début
Lire (x, n) SS+x
S0
i1
Répéter i i + 1
SS+x
ii+1 Oui Non
i >n
Jusqu’à i > n
Ecrire (S) Ecrire (S)
Fin
Fin
1ère Année Technologie 10/11 Année Universitaire : 2019/2020
RÉSUMÉ
 Les instructions peuvent être des instructions
séquentielles (Lecture, écriture et affectation) ou des
instructions de contrôle (Test Alternatif et les boucles).
 Les organigrammes permettent de schématiser le
déroulement d’un algorithme. Dans les
organigrammes, on s’intéresse uniquement à la partie
instructions des algorithmes.

1ère Année Technologie 12/12 Année Universitaire : 2019/2020


TYPE TABLEAU
PARTIE 1 : VECTEURS
- Introduction
- Définition de la structure de tableau
- Tableau à une dimensions (Vecteurs)
- Problèmes à résoudre sur les vecteurs.
- Tableau à deux dimension (Matrices)
- Problèmes à résoudre sur les matrices.

Département de science et Technologie


Centre – Universitaire nour bachir El-Bayadh
Année Universitaire 2019/2020
INTRODUCTION
 Jusqu’ici, nous avons vu uniquement des variables de type
simple (Entier, Réel, Caractère, …). (Un seul espace mémoire).
 Les variables permettent de modéliser les données du
problème à résoudre.

Calculer la moyenne Nous avons 5 étudiants


d’une classe de 5 Analyser
étudiants

Chaque étudiant possède


une moyenne

Moyenne de la casse : 5 variables réelles


M = (m1 +m2+m3+m4+m5)/5 m1, m2, m3, m4,m5

Comment faire si nous avons 100 étudiants ?


1ère Année Technologie 01/11 Année Universitaire : 2019/2020
C’EST QUOI LE TYPE TABLEAU (1/2) ?
Définition
 Type Tableau permet au programme d’allouer (de réserver) un
espace mémoire (dans la RAM) pour stocker N valeurs de
même type.
 Un Tableau est un ensemble de variables
 Chaque variable du tableau représente un élément de ce
dernier (cellule, case ou une composante du Tableau).
 Ces éléments (cases du Tableau) sont accessibles par un
indice.

Pour 100 variables réelles (moyennes)

m1 m2 m3 …… m99 m100

 Un Tableau est une variable qui contient plusieurs valeurs


 Chaque case est accédée par un (ou plusieurs) indice(s).

1ère Année Technologie 02/11 Année Universitaire : 2019/2020


C’EST QUOI LE TYPE TABLEAU (2/2) ?

Tableaux à 1 dimension (Vecteurs)


o Pour traiter les problèmes
nécessitant une représentation
vectorielle des données.
Tableaux
o On utilise un seul indice pour
accéder à une valeur du Vecteur.

Tableaux à 2 dimensions (Matrices)


o Problèmes nécessitant une
représentation matricielle des
données.
o On utilise deux indices pour
accéder à une valeur de la
matrice.

1ère Année Technologie 03/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 Déclaration

<id_variable> : Tableau [<ii> .. <if>] de <type>;

<ii> : valeur de l’indice initial <if> : valeur de l’indice final

<id_variable> : Array [<ii> .. <if>] of <type>;

R.A.M. (Mémoire vive)


ii ii+1 ii+2 …… if-1 if

e1 e2 e3 …… en-1 en

n = if – ii + 1
ii = 1
1ère Année Technologie 04/11 Année Universitaire : 2019/2020
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 Déclaration

T : Tableau [1 .. 50] de Réel; N : entier;

T : Array [1 .. 50] of Real; N : integer;

Remarques :
1- Si <ii> = 1 donc <if> représente la taille (maximale) du
vecteur.
2- Dans l’exemple ci-dessous 50 est la taille maximale du
vecteur, donc, nous ajoutons une variable entière N qui
représente le nombre de cases du vecteur qu’on veut utiliser.
N sera déterminé par l’utilisateur (lecture).

1ère Année Technologie 05/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 R.A.M.

Taille maximale
Taille à utiliser Pour du Vecteur
le vecteur

1 2 3 …… N …… 49 50

T= v1 v2 -52
v3 …… vN …… v49 v50

Si on veut mettre la valeur (-52) dans la case N°3 du Vecteur T :


T[3]  -52

1ère Année Technologie 06/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 Lecture

Lire(N); Read(N);
pour i 1 à N faire for i := 1 to N do
begin
Lire( T[i] ) Read( T[i] );
fin-pour end;

Remarques :
1- la variable i, le compteur de la boucle pour, sert comme
indice pour accéder au ième élément du vecteur T.
2- Le premier élément : T[1], le deuxième T[2] , … le ième est :
T[i].
3- Pour i1 à N faire lire(T[i]) permet la lecture des cases :
T[1], T[2], …., T[N].

1ère Année Technologie 07/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 Ecriture

pour i 1 à N faire for i := 1 to N do


begin
Ecrire ( T[i] ) Write( T[i] );
fin-pour end;

1ère Année Technologie 08/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
 Lecteur & Ecriture d’un vecteur de type réel

Algorithme Vecteur_lec_ecr Program Vecteur_lec_ecr;


Variables Uses wincrt;
T : Tableau [1..50] de réel Var T : Array [1..50] of real;
N, i : entier N, i : integer;
Début Begin
Lire(N) {Lecture du Vecteur T}
pour i 1 à N faire Read(N);
Lire ( T[i] ) for i := 1 to N do
fin-pour Read (T[i]);

pour i 1 à N faire {Affichage du Vecteur T}


Ecrire ( T[i] ) for i := 1 to N do
fin-pour Write ( T[i] )
Fin. End.

1ère Année Technologie 09/11 Année Universitaire : 2019/2020


TABLEAUX À UNE DIMENSION - VECTEUR
Problèmes sur les vecteurs
 Somme et la moyenne des éléments d’un vecteur.
 Inverser les éléments d’un vecteur (le résultat dans un autre
vecteur, ou dans le même vecteur).
 La recherche de l’élément minimum (et/ou maximum) dans
un vecteur et leurs positions (leurs indices).
 Tri d’un vecteur (Ordre croissant ou décroissant)
 La recherche d’un élément dans un vecteur
 La somme et produit cartésien de deux vecteurs.
 Ajouter une même valeur à tous les éléments d’un vecteur
 Compter le nombre d’éléments (pairs, impaires, divisibles
par …)
 …..etc.
1ère Année Technologie 10/11 Année Universitaire : 2019/2020
DÉMONSTRATION

 Réaliser un programme PASCAL pour la lecture et


l’écriture d’un vecteur V.

 Réaliser un programme pour rechercher une valeur


val dans un vecteur T (dans le cas ou la valeur est
trouvée, afficher sa position).

1ère Année Technologie 11/11 Année Universitaire : 2019/2020

Vous aimerez peut-être aussi