Les variables dimensionnées (Les tableaux)

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

Suivant
« Précédent
Précédent
Suivant »

ConversionConversion EmoticonEmoticon

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.