Académique Documents
Professionnel Documents
Culture Documents
Si T[I] = 0 Alors
/*boucle de décalage
Pour J de I à N-2 Faire
T[J]←T[J+1];
FinPour ;
Finsi ;
I←I+1 ;
FinTantQue;
3- Afficher le tableau -1 -4 -2 -6 2 1 3 8 7
Pr. Er-rajy Latifa
Algorithme NegPuisPos ;
/*déplacer les valeurs négatives au début (trouver la
Variables Tableau T[100] : entier ;
première valeur positive I )
I, J, N, X : entier ;
I←J ;
Debut
J←J+1 ;
/*lecture de la taille exacte
Tantque J < N Faire
Ecrire(“Donner la taille du tableau N≤100”);
Si T[J] < 0 Alors /*permuter
Repeter
X← T[I] ;
Lire(N) ;
T[I]←T[J];
Jusqu’à N>0 et N <= 100 ;
T[J]←X;
/*Lecture des éléments de T
I←I+1
Pour I de 0 à N-1 Faire
Finsi ;
Lire(T[I]) ;
J←J+1 ;
FinPour ;
FinTantQue ;
/*passer les valeurs négatives au début
/*Affichage du nouveau tableau T
J←0 ;
Pour I de 0 à N-1 Faire
Tantque J < N et T[J] < 0 Faire
Ecrire(T[I]) ;
J←J+1 ;
FinPour;
FinTantQue ;
Fin. Pr. Er-rajy Latifa
Exercice 2 :
Ecrire un algorithme qui permet d’éclater un tableau T de N (N ≤ 100) entiers
supposés positifs en deux tableaux T1 et T2 contenant respectivement les nombres
pairs et impairs de T.
lignes
à la matrice A.
N
1- Demander à l’utilisateur de saisir le nombre de lignes (N≤20)
2- Récupérer N
3-Demander à l’utilisateur le nombre de colonnes (M≤30)
…………………………….
4- lire M
6- lire les éléments de la matrice ……
Pour I de 0 à N-1 Faire A
Pour J de 0 à M-1 Faire
Lire(A[I,J]) ; 10- Calcule le nombre de voyelles
FinPour ; appartenant à la matrice A.
FinPour ; Selonque A[I,J] Vaut
7- Demander à l’utilisateur de saisir un caractère ‘a’,’e’,’i’,’o’,’u’,’y’ : Nbv←Nbv+1 ;
8- lire le caractère FinSelon ;
9- Rechercher le caractère ( variable booléen : Existe←faux )
Tanque I < N et Existe=faux Faire
J←0 ;
Tanque J < M et Existe=faux Faire
Si A[I,J]=Val Alors
Existe←Vrai
Finsi ;
J←J+1 ; Tableau A[20][30] : caractère
FinTantQue ;
I←I+1 ;
Pr. Er-rajy Latifa
FinTantQue;
Algorithme Matrice ;
Variables I, J, N, M, Nbv : entier ; Si Existe=vrai Alors
Existe : booleen ;
Ecrire(Val,’Existe’)
Val, Tableau A[20][30] : caractère;
Début Sinon
Repeter Ecrire(Val,’Non trouvée’)
Lire(N) ; Finsi ;
Jusqu’à (N>0) et (N≤20) ; /* nombre de voyelles dans A
Repeter Nbv←0 ;
Lire(M) ; Pour I de 0 à N-1 Faire
Jusqu’à (M>0) et (M≤30) ;
Pour J de 0 à M-1 Faire
//Lecture de la Matrice
Pour I de 0 à N-1 Faire
Selonque A[I,J] Vaut
Pour J de 0 à M-1 Faire ‘a’,’e’,’i’,’o’,’u’,’y’ : Nbv←Nbv+1 ;
Lire(A[I,J]) ; FinSelon ;
FinPour ; FinPour ;
FinPour ; FinPour ;
Ecrire(“Donner la valeur recherchée) ; Ecrire(“Nombre de voyelles est :”,Nbv) ;
Lire(Val) ;
Fin.
/*Recherche de Val
Existe←faux;
I←0 ;
Tanque I < N et Existe=faux Faire
J←0 ;
Tanque J < M et Existe=faux Faire
Si A[I,J]=Val Alors
Existe←Vrai
Finsi ;
J←J+1 ;
FinTantQue ;
I←I+1 ;
Pr. Er-rajy Latifa
FinTantQue;
Exercice 5:
Soit une matrice A(N, M) d’entiers (N≤20 et M≤30), écrire un algorithme qui :
- Calcule et sauvegarde la somme de chaque colonne,
- Détermine la position Jmin de la somme minimale et la position Jmax de la somme
maximale.
- Permute les deux colonnes d’indices Jmin et Jmax de la matrice A si Jmin > Jmax.
Exercice 5:
Soit une matrice A(N, M) d’entiers (N≤20 et M≤30), écrire un algorithme qui :
- Calcule et sauvegarde la somme de chaque colonne,
M colonnes
………………
N lignes
Repeter
Lire(M) ;
Jusqu’à (M>0) et (M≤30) ;
//Lecture de la Matrice
Pour I de 0 à N-1 Faire
Pour J de 0 à M-1 Faire
Lire(A[I,J]) ;
FinPour ;
FinPour;
//calcul et stockage de la somme de chaque colonne
Pour J de 0 à M-1 Faire
Som[J]←0 ;
Pour I de 0 à N-1 Faire
Som[J]← Som[J]+ A[I,J];
FinPour ;
FinPour ;
Pour J de 0 à M-1 Faire
Ecrire(Som[J])
FinPour ;
Exercice 5:
Soit une matrice A(N, M) d’entiers (N≤20 et M≤30), écrire un algorithme qui :
- Détermine la position Jmin de la somme minimale et la position Jmax de la somme maximale.
- Permute les deux colonnes d’indices Jmin et Jmax de la matrice A si Jmin > Jmax.
6- Détermine la position Jmin de la somme minimale et la position Jmax de la somme
maximale.
Som[M] Som C0 Som C1 ……………… Som Cm-1
7- Permute les deux colonnes d’indices Jmin et Jmax de la matrice A si Jmin > Jmax.
M colonnes
………………
Permuter
N lignes
…………………………….
Si Jmin>Jmax Alors
………………. Pour I de 0 à N-1 Faire
X← A[I,Jmin];
A[I,Jmin]← A[I,Jmax];
A[I,Jmax]←X
Som[M] Som C0 Som C1 ……………… Som Cm-1 FinPour;0
Jmax Jmin
8- Afficher la matrice
Algorithme Matrice ;
Variables I, J, N, M, Jmin, Jmax, X :entier ; Jmin← 0 ;
Tableau A[20][30], Som[30] : entier; Jmax← 0 ;
Début
Repeter Pour J de 0 à M-1 Faire
Lire(N) ; Si Som[Jmax] < Som[J] Alors
Jusqu’à (N>0) et (N≤20) ; Jmax←J
Finsi ;
Repeter Si Som[Jmin] > Som[J] Alors
Lire(M) ; Jmin←J
Jusqu’à (M>0) et (M≤30) ; Finsi ;
//Lecture de la Matrice FinPour;
Pour I de 0 à N-1 Faire Ecrire(“Position Jmin=”,Jmin,“ Jmax=”,Jmax) ;
Pour J de 0 à M-1 Faire Si Jmin>Jmax Alors
Lire(A[I,J]) ; Pour I de 0 à N-1 Faire
FinPour ; X← A[I,Jmin];
FinPour; A[I,Jmin]← A[I,Jmax];
//calcul et stockage de la somme de chaque A[I,Jmax]←X
colonne FinPour;
Pour J de 0 à M-1 Faire //affichage
Som[J]←0 ; Pour I de 0 à N-1 Faire
Pour I de 0 à N-1 Faire Pour J de 0 à M-1 Faire
Som[J]← Som[J]+ A[I,J]; Ecrire(A[I,J]) ;
FinPour ; FinPour ;
FinPour ; FinPour;
Pour J de 0 à M-1 Faire Finsi;
Ecrire(Som[J]) Fin
FinPour ; Pr. Er-rajy Latifa