____________________________________________________________________________________________________________
Exercice 1 :
Ecrire un algorithme
permettant d’entrer cinq valeurs réelles
au clavier,les stocker dans un tableau, calculer leur somme et les afficher
avec leur somme à l’écran.
____________________________________________________________________________________________________________
Solution :
Algorithme tableau_somme;
Var
V : tableau [1..5] de réels ;
S :
réel ;
i
:entier;
Début
(*lecture des élements
du tableau*)
Pour i <-- 1 à 5 faire
Ecrire(‘entrer
l’element N° ’,i);
Lire(V[i]) ;
Finpour i
(*calcul de la somme des
élements du tableau *)
S <--
0 ;
Pour i <--
1 à 5 faire
S <-- S + V[i] ;
Finpour i
(*afficher des éléments du
tableau *)
Pour i <-- 1 à 5 faire
Ecrire(‘l’’element N° ’,i,’est :
‘,V[i]);
Finpour i
Ecrire(‘la somme des éléments du
tableau est :‘,S) ;
fin
____________________________________________________________________________________________________________
Exercice 2 :
Ecrire un algorithme
permettant de saisir et d’afficher N
éléments d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme saisie_affichage;
Var
T : tableau [1..100] de réels ;
N,i :
réel ;
Début
Ecrire(‘entrer le nombre
d’éléments du tableau :’) ;
Lire(N) ;
(*lecture des élements
du tableau*)
Pour i <-- 1 à N faire
Ecrire(‘entrer
l’element N° ’,i);
Lire(T[i]) ;
Finpour i
(*afficher des éléments du
tableau *)
Pour i <-- 1 à N faire
Ecrire(‘l’’element T[’,i,’] est :
‘,T[i]);
Finpour i
Fin
____________________________________________________________________________________________________________
Exercice 3 :
Ecrire un algorithme
permettant de calculer la somme,produit
et moyenne des éléments d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme somme_produit_moyenne;
Var
T : tableau [1..100] de réels ;
N,i
: entiers ;
S,P,M : réels ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
S <-- 0 ;
P <-- 1 ;
Pour i <-- 1 à N faire
S <-- S+T[i] ;
P <-- P * T[i] ;
Finpour i
M <-- S/N ;
Ecrire(‘la somme
des éléments du tableau est : ‘,S);
Ecrire(‘le produit des éléments
du tableau est : ‘,P);
Ecrire(‘la moyenne des éléments du tableau est : ‘,M);
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 4 :
Ecrire un algorithme
permettant de consulter un élément d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme consultation;
Var
T : tableau [1..100] de réels ;
N,P :
entiers ;
Début
Si N=0 alors
Ecrire(‘le tableau est
vide ‘) ;
Sinon
Ecrire(‘entrer
l’’indice de l’’élément à consulter :’) ;
Lire(P) ;
Si (P<1) ou (P>N)
alors
Ecrire(‘Position hors limites du tableau ‘)
Sinon
Ecrire(‘l’’élément à consulter est :’,T[P]) ;
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 5 :
Ecrire un algorithme
permettant de chercher toutes les
occurrences d’un élément dans un tableau. ____________________________________________________________________________________________________________
Solution :
Algorithme recherche_toutes_occurences ;
Var
T : tableau [1..100] de réels ;
N,i :
entiers ;
X : réel ;
Existe : booléen ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer la
valeur de l’’élément à chercher :’) ;
Lire(X) ;
Existe <-- Faux ;
Pour i <-- 1 à
N Faire
Si T[i] = X
alors
Existe <-- Vrai ;
Ecrire(‘l’’élément à chercher apparait à la position : ‘,i) ;
Finsi
Finpour i
Si Existe = Faux alors
Ecrire(‘l’’élément n’’apparait pas dans ce tableau ‘) ;
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 6 :
Ecrire un algorithme
permettant de chercher la première occurrence d’un élément dans un
tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme recherche_première_occurence ;
Var
T : tableau [1..100] de réels ;
P, N,i : entiers
;
X : réel ;
Existe : booléen ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer la
valeur de l’’élément à chercher :’) ;
Lire(X) ;
Existe <-- Faux ;
i <-- 1 ;
tantque (i<=N) et (Existe=Faux) Faire
Si T[i] = X
alors
Existe <-- Vrai ;
P<-- i ;
Sinon
i ßi+1 ;
Finsi
Fintantque
Si Existe = vrai alors
Ecrire(‘la
première occurrence de l’élément dans ce tableau est :’,P) ;
Sinon
Ecrire(‘l’’élément n’’apparait pas dans ce tableau ‘) ;
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 7 :
Ecrire un algorithme
permettant de chercher la dernière occurrence d’un élément dans un
tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme recherche_derniere_occurence ;
Var
T : tableau [1..100] de réels ;
P, N,i :
entiers ;
X : réel ;
Existe : booléen ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer la
valeur de l’’élément à chercher :’) ;
Lire(X) ;
Existe <-- Faux ;
i <-- N ;
tantque (i>=1) et (Existe=Faux) Faire
Si T[i] = X
alors
Existe <-- Vrai ;
P<-- i ;
Sinon
i <-- i-1 ;
Finsi
Fintantque
Si Existe = vrai alors
Ecrire(‘la
dernière occurrence de l’élément dans ce tableau est :’,P) ;
Sinon
Ecrire(‘l’’élément n’’apparait pas dans ce tableau ‘) ;
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 8 :
Ecrire un algorithme
permettant de calculer le nombre de fois
pour lesquelles un élément apparait dans un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme fréquence;
Var
T : tableau [1..100] de réels ;
N,i,F :
entiers ;
X : réel ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer la
valeur de l’’élément à chercher :’) ;
Lire(X) ;
F <-- 0 ;
Pour i <-- 1 à
N Faire
Si T[i] = X
alors
F <-- F+1 ;
Finsi
Finpour i
Ecrire(‘l’’élément apparait : ‘,
F,’fois dans ce tableau ‘) ;
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 9 :
Ecrire un algorithme
permettant d’ajouter un élément a la fin
d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme Ajout;
Var
T : tableau [1..100] de réels ;
N : entiers ;
X : réel ;
Rep : caractère ;
Début
Ecrire(‘entrer la valeur de
l’’élément à ajouter :’) ;
Lire(X) ;
Ecrire(‘Confirmer l’ajout (O/N) :’) ;
Lire(Rep) ;
Si Rep =’O’ alors (*la valeur ‘o’ pour ‘oui’ ! et ‘N’ pour
‘Non’ *)
N<-- N+1 ;(* il y aura un élément en plus *)
T[N]
<-- X ;
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 10 :
Ecrire un algorithme
permettant de modifier un élément
dans un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme Modification;
Var
T : tableau [1..100] de réels ;
N ,P: entiers ;
X : réel ;
Rep : caractère ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer l’indice de
l’’élément à modifier :’) ;
Lire(P) ;
Si (P<1) ou (P>N)
alors
Ecrire(‘Position hors limites du tableau ‘)
Sinon
Ecrire(‘L’ancienne
valeur dans cette position est :’,T[p]) ;
Ecrire(‘Entrer
la nouvelle valeur :’) ;
Lire(X) ;
Ecrire(‘Confirmer la modification
(O/N) ‘) ;
Lire(Rep) ;
Si Rep=’O’
Alors
T[P]<-- X ;
Finsi
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 11 :
Ecrire un algorithme
permettant d’insérer un élément
dans un tableau (au début , au
milieu ou à la fin).
____________________________________________________________________________________________________________
Solution :
Algorithme insertion;
Var
T : tableau [1..100] de réels ;
N ,P,i: entiers ;
X : réel ;
Rep : caractère ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer la valeur de
l’’élément à insérer :’) ;
Lire(X) ;
Ecrire(‘ Entrer la position
d’insertion :’) ;
Lire(P) ;
Si (P<1) ou (P>N)
alors
Ecrire(‘Position hors limites du tableau ‘)
Sinon
Ecrire(‘Confirmer l’insertion (O/N) ‘) ;
Lire(Rep) ;
Si Rep=’O’
Alors
N <-- N+1 ;
Pour i <-- N à P+1 Faire
T[i] <-- T[i-1] ;
Finpour i
T[P]<-- X ;
Finsi
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 12 :
Ecrire un algorithme
permettant de supprimer un élément
dans un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme suppression;
Var
T : tableau [1..100] de réels ;
N ,P,i: entiers ;
Rep : caractère ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Ecrire(‘entrer
l’indice de l’’élément à supprimer :’) ;
Lire(P) ;
Si (P<1) ou
(P>N) alors
Ecrire(‘Position hors limites du tableau ‘)
Sinon
Ecrire(‘la valeur dans cette position est :‘,T[P]) ;
Ecrire(‘Confirmer la suppression
(O/N) ‘) ;
Lire(Rep) ;
Si
Rep=’O’ Alors
N <-- N+1 ;
Pour i <-- P à N-1 Faire
T[i] <-- T[i+1] ;
Finpour i
N <-- N-1; (*il y aura
un élément en moins*)
Finsi
Finsi
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 13 :
Ecrire un algorithme
permettant de trier par ordre croissant les éléments d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme tri_Croissant;
Var
T : tableau [1..100] de réels ;
N ,i,j: entiers ;
Aux: réel ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Pour i <-- 1 à N-1 Faire
Pour j <-- i+1 à N Faire
Si T[i] > T[j] alors
Aux <-- T[i] ;
T[i] <-- T[j] ;
T[j] <-- Aux ;
Finsi
Finpour j
Finpour i
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 14 :
Ecrire un algorithme
permettant de trier par ordre décroissant les éléments d’un tableau.
____________________________________________________________________________________________________________
Solution :
Algorithme tri_Décroissant;
Var
T : tableau [1..100] de réels ;
N ,i,j: entiers ;
Aux: réel ;
Début
Si N=0 alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Pour i <-- 1 à N-1 Faire
Pour j <-- i+1 à N Faire
Si T[i] < T[j] alors
Aux <-- T[i] ;
T[i] <-- T[j] ;
T[j] <-- Aux ;
Finsi
Finpour j
Finpour i
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 15 :
Ecrire un algorithme
permettant de fusionner les
éléments de deux tableaux T1 et T2 dans
un autre tableau T.
N.B :
N : nombre des éléments du tableau T1
M : nombre des éléments du
tableau T2
____________________________________________________________________________________________________________
Solution :
Algorithme fusion_deux_tableaux;
Var
T1,T2 : tableau [1..100] de réels ;
T : tableau [1..200] de réels ;
N ,M,i: entiers ;
Début
Si (N=0)
et (M=0) alors
Ecrire(‘le
tableau est vide ‘) ;
Sinon
Pour i <-- 1 à N Faire
T[i] <-- T1[i] ;
Finpour i
Pour i
<-- 1 à M Faire
T[N+i]
<-- T2[i] ;
Finpour i
Finsi
Fin
____________________________________________________________________________________________________________
Exercice 16 :
Ecrire un algorithme
permettant de saisir les données d’un
tableau à deux dimensions (10,4), de faire leur somme, produit et moyenne et de
les afficher avec les résultats de calcul à l’écran.
____________________________________________________________________________________________________________
Solution :
Algorithme tableau_deux_dimension;
Var
T : tableau [1..10,1..4] de réels ;
I,j:
entiers ;
S,P,M : réels ;
Début
(*saisie des éléments du
tableau *)
Pour i <-- 1 à 10 Faire
Pour
j<-- 1 à 4 Faire
Ecrire(‘entrer l’’element T[‘,i,’,’,j,’] :’;
Lire(T[i,j]) ;
Finpour j;
Finpour i
(*calcul de la somme ,produit et moyenne *)
S <-- 0 ;
P <-- 1 ;
Pour i <-- 1 à 10 Faire
Pour
j<-- 1 à 4 Faire
S
<-- S+T[i,j] ;
P
<-- P + T[i,j] ;
Finpour j;
Finpour i
M <-- S/40 ; (*40 : nombre d’élément du tableau =
10x4 *)
(* Affichage des éléments du tableau
et des résultats *)
Pour i <-- 1 à 10 Faire
Pour
j<-- 1 à 4 Faire
Ecrire(‘l’’élément T[‘,i,’,’,j,’] = ‘, T[i,j]);
Finpour j;
Finpour i
Ecrire(‘la somme des éléments
du tableau est :’,S) ;
Ecrire(‘le produit des éléments
du tableau est :’,P) ;
Ecrire(‘la moyenne des éléments du tableau est :’,M) ;
Fin
____________________________________________________________________________________________________________
Exercice 17 :
Ecrire un algorithme qui calcule
la somme des éléments de la diagonale d’une matrice carrée M(n,n) donnée.
____________________________________________________________________________________________________________
Solution :
Algorithme diagonale_de_matrice;
Const
N=8 ;
Var
M : tableau [1..8,1..8]
d’entiers;
i,j: entiers ;
Sdiag: entiers;
Début
(*saisie des éléments de la
matrice*)
Pour i <-- 1 à n
Faire
Pour
j<-- 1 à n Faire
Ecrire(‘entrer l’’element M[‘,i,’,’,j,’] :’;
Lire(M[i,j]) ;
Finpour j;
Finpour i
(*calcul de la somme des éléments de la diagonale *)
Sdiag <-- 0 ;
Pour i <-- 1 à n Faire
Sdiag <-- Sdiag +M[i,j] ;
Finpour i
Ecrire(‘la somme des
éléments de la diagonale est :’,Sdiag) ;
Fin
____________________________________________________________________________________________________________
Exercice 18 :
Ecrire un algorithme permettant
d’effectuer le produit des matrices
A(n,m) et B(m,p) .
n ,m et p données (par exemple
n=4,m=5,p=3 ).
N.B : Pour pouvoir faire le produit de
deux matrices, il faut absolument que le nombre de colonnes de la première soit
égal au nombre de lignes de la deuxième.
____________________________________________________________________________________________________________
Solution :
Algorithme produit_matrices;
Const
n=4;
m=5;
p=3;
Var
A : tableau [1..n,1..p] de réels;
B : tableau [1..p,1..m] de réels;
C : tableau [1..n,1..m] de réels;
i,j: entiers ;
Début
(*lecture des éléments des deux matrices*)
Pour i <-- 1 à n
Faire
Pour j<-- 1
à p Faire
Ecrire(‘entrer l’’element
A[‘,i,’,’,j,’] :’);
Lire(A[i,j]) ;
Finpour j;
Finpour i
Pour i <-- 1 à p
Faire
Pour j<-- 1 à m Faire
Ecrire(‘entrer l’’element B[‘,i,’,’,j,’] :’);
Lire(B[i,j]) ;
Finpour j;
Finpour i
(*calcul de produit des deux matrices*)
Pour i <-- 1 à n
Faire
Pour
j<-- 1 à m Faire
C[i,j] <-- 0 ;
Pour k <-- 1 à p faire
C[i,j] <-- C[i,j] + A[i,k] *B[k,j] ;
Finpour k
Finpour j;
Finpour i
(*Affichage de la matrice produit*)
Pour i <-- 1 à n
Faire
Pour
j<-- 1 à m Faire
Ecrire(‘l’’element C[‘,i,’,’,j,’]
=’,C[i,j]);
Finpour
j;
Finpour i
Fin
____________________________________________________________________________________________________________
Exercice 19 :
Ecrire un algorithme
permettant de construire dans une
matrice carrée P et d’afficher le triangle de PASCAL de degré N.
N.B :
On poura utiliser cette relation
pour les éléments de triangle de PASCAL :
Pi,j = Pi-1,j-1 + Pi-1,j
Exemple : triangle de pascal de
degré 5 :
N=0 - 1
N=1 - 1
1
N=2 -
1 2 1
N=3 - 1
3 3 1
N=4 - 1
4 6 4
1
N=5 - 1
5 10 10
15 1
____________________________________________________________________________________________________________
Solution :
Algorithme triangle_pascal;
Var
P: tableau [1..100,1..100] de réels;
i,j,n: entiers ;
Début
Ecrire(‘entrer l’ordre du triangle de pascal que vous voulez :’) ;
Lire(n) ;
(*remplissage du triangle de
Pascal*)
P[1,1] <-- 1 ;
Pour i <-- 2 à n+1 Faire
P[i,1]
<-- 1 ;
Pour j<-- 2
à i-1 Faire
P[i,j] <-- P[i-1,j-1] + P[i-1,j]
Finpour j;
P[i,j]
<-- 1 ;
Finpour i
(* affichagedu triangle de
Pascal*)
Pour i <-- 1 à n+1
Faire
Pour
j<-- 1 à i Faire
Ecrire(P[i,j] ,’ ‘);
Finpour j;
(*retour a la
ligne *)
Finpour i
Fin
____________________________________________________________________________________________________________
0 commentaires:
Enregistrer un commentaire