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’ecran.
Solution :
Algorithme tableau_somme;
Var
V : tableau [1..5] de réels ;
S : réel ;
i :entier;
Debut
(*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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 frequence;
Var
T : tableau [1..100] de réels ;
N,i,F : entiers ;
X : réel ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
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 ;
Debut
(*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;
Debut
(*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 ;
Debut
(*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 ;
Debut
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
ConversionConversion EmoticonEmoticon
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.