Énoncé Écrire une marche à suivre qui somme deux tableaux T1 et T2 à N éléments de type entiers dans un tableau T. (N, T1, T2 sont des données) I) Préanalyse : Données : ..............- Le nombre d'éléments de chaque tableau T1 et T2 (N=6); ..............- Un tableau T1 à N éléments de types entiers ;
| T1 | 17 | 33 | 50 | 10 | 12 | 15 | ? | ? | ? | ? |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
..............- Un tableau T2 à N éléments de types entiers ;
| T2 | 20 | 10 | 25 | 12 | 6 | 10 | ? | ? | ? | ? |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
Résultat :
| T | 37 | 43 | 75 | 22 | 18 | 25 | ? | ? | ? | ? |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
Les étapes sont :
Pas 1 :...............T[1] <-- Somme(T1[1] , T2[1])
| T1 | 33 | 50 | 10 | 12 | 15 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T2 | 10 | 25 | 12 | 6 | 10 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
Pas 2 :...............T[2] <-- Somme(T1[2] , T2[2])
| T1 | 17 | 50 | 10 | 12 | 15 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
1
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T2 | 20 | 25 | 12 | 6 | 10 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
1
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T | 37 | ? | ? | ? | ? | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
1
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
etc .....à
Pas N :...............T[N] <-- Somme(T1[N] , T2[N])
| T1 | 17 | 33 | 50 | 10 | 12 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T2 | 20 | 10 | 25 | 12 | 6 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
| T | 37 | 43 | 75 | 22 | 18 | ? | ? | ? | ? | |
|---|---|---|---|---|---|---|---|---|---|---|
|
1
|
1
|
2
|
3
|
4
|
5
|
N=6
|
7
|
8
|
9
|
NMAX=10
|
.- Saisir le nombre d'éléments de chaque tableau...........................................Lecture(N) - Remplir le tableau T1 puis T2 en faisant l'appel deux fois à une procédure qui permet de remplir un tableau.................................................................Remplir(N,V) (V est un tableau à N éléments de type entiers) - Faire l'appel, N fois, à une fonction qui permet de sommer deux entiers. Le résultat sera rangé dans le tableau T .......................................................Somme(A,B) (A, B deux entiers) Afficher le tableau T ...................................................................................Affiche(N,T) II) Analyses & Algorithmes : 1) Analyse du programme principal
|
Nom : addition_tableaux |
||
|
S.
|
LDE
|
O.U.
|
|
5 1 4
2 3 6 |
Résultat : Affiche ( N , T ) N= Lecture ( N ) T= [ ] Pour I de 1 à N Répéter ............T[I] <-- Somme ( T1[I] , T2[I] ) ......Fin Pour I = Compteur T1 = Remplir( N , T1 ) T2 = Remplir( N , T2 ) Fin addition_tableaux |
N T T1 T2 I Somme Remplir
|
Tableau de déclaration des objets :
|
O.U.
|
Code
|
Nature/Type
|
Rôle
|
|
N
|
N
|
Var / Entier
|
Le nombre d'éléments de chaque tableau |
|
T
|
T
|
Var / Tab
|
Recevoir les valeurs cumules des tableaux T1 et T2 |
|
T1
|
T1
|
Var / Tab
|
Tableau de saisie des premières données à sommer |
|
T2
|
T2
|
Var / Tab
|
Tableau de saisie des deuxièmes données à sommer |
|
I
|
I
|
Var / Entier
|
Compteur |
|
Lecture
|
Lecture
|
Procédure
|
Lecture de N |
|
Remplir
|
Remplir
|
Procédure
|
Remplir un tableau par N valeurs de type entiers |
|
Somme
|
Somme
|
Fonction / Entier
|
Sommer deux entiers |
|
Affiche
|
Affiche
|
Procédure
|
Afficher les valeurs du tableau résultat |
Nouveau Type ................Tab = Tableau [1..NMax] d'entier
NMax est une constante égale à 10
Algorithme du programme principal :
| 0- | Début addition_tableaux |
| 1- | Lecture( N ) |
| 2- | Remplir( N , T1 ) |
| 3- | Remplir( N , T2 ) |
| 4- | Pour I de 1 à N Répéter |
| ........T[I] <-- Somme ( T1[I] , T2[I] ) | |
| Fin Pour | |
| 5- | Affiche ( N , T ) |
| 6- | Fin addition_tableaux |
2) Analyse de la procédure Lecture
|
DEF PROC Lecture
(Var N : Entier)
|
||
|
S.
|
LDE
|
O.U.
|
|
|
Résultat : N | |
|
1
|
N= [ ] Répeter | |
|
||
|
||
|
2
|
Fin Lecture | |
Algorithme de la procédure Lecture :
| 0- | DEF PROC Lecture (Var N : Entier) |
| 1- | Répeter |
|
..........Lire( N )
|
|
| Jusqu'à N dans [ 1 .. Nmax ] | |
| 2- | Fin Lecture |
3) Analyse de la procédure Remplir
|
DEF PROC Remplir ( N : Entier ; Var V : Tab ) |
||
|
S.
|
LDE
|
O.U.
|
|
|
Résultat : V |
I
|
|
1
|
T= [ ] Pour I de 1 a N Répéter | |
|
...................V[I]=donnée |
||
|
..........Fin Pour |
||
|
I = Compteur |
||
|
2
|
Fin Remplir |
|
Tableau de déclaration des objets :
|
O.U.
|
Code
|
Type/Nature
|
Rôle
|
|
I
|
I
|
Entier
|
Compteur |
Algorithme de la procédure Remplir :
| 0- | DEF PROC Remplir ( N : Entier ; Var V : Tab ) |
| 1- | Pour I de 1 a N Répéter |
|
.......... Lire( V[I]
)
|
|
| Fin Pour | |
| 2- | Fin Remplir |
4) Analyse de la Fonction Somme
|
DEF FN Somme ( A, B : Entier ) : Entier |
||
|
S.
|
LDE
|
O.U.
|
|
|
Résultat : Somme |
|
|
1
|
Somme <-- A + B | |
|
2
|
Fin Somme | |
Algorithme de la Fonction Somme :
| 0- | DEF FN Somme ( A, B : Entier ) : Entier |
| 1- |
Somme
<--
A + B
|
| 2- | Fin Somme |
5) Analyse de la procédure Affiche :
|
DEF PROC Affiche ( N : Entier ; T : Tab ) |
||
|
S.
|
LDE
|
O.U.
|
|
|
Résultat : |
I
|
|
1
|
....... [ ] Pour I de 1 a N Répéter | |
|
...................Ecrire ( T[I] ) |
||
|
..........Fin Pour |
||
|
I = Compteur | ||