Académique Documents
Professionnel Documents
Culture Documents
caractères
Variable i : entier ;
Tableau T1[50] : réel ;
Tableau T2 [50] : réel ;
Debut
Pour (i=0 à 49 pas 1 ) faire
1
Lire (T1[i]) ;
Finpour ;
Pour (i=0 à 49 pas 1 ) faire
Lire (T2[i]) ;
Fin pour ;
Rep ← True ;
I ← 0;
Tanque (rep = true et I <= n) faire
fin tanque ;
ecrire (‘’ la comparaison est ‘’, rep) ;
Fin
5. Écrire l’algorithme qui permet d’afficher le nombre des occurrences d’un nombre
donné X dans un tableau T de N éléments.
Debut
Pour (i=0 à 499 pas 1 ) faire
Lire (T1[i]) ;
Finpour ;
Occ ← 0 ;
Ecrire (‘’ donner la valeur de nombre à chercher’’) ;
Lire (x) ;
Pour (i=0 à 499 pas 1 ) faire
Si (T1[i]= x) alors
Occ ← occ+1 ;
Fin pour ;
Ecrire (‘’ le nombre des occurrences de la valeur ‘’,x ,
‘’est’’ , occ) ;
Fin.
Chapitre 5 : Les tableaux et les chaînes de caractères
6. Écrire un algorithme qui calcule le schtroumpf de deux tableaux. Pour calculer le
schtroumpf, il faut multiplier chaque élément du tableau 1 par chaque élément du
tableau 2, et additionner le tout. Par exemple si l'on a :
Tableau 1 : 4 8 7 12
Tableau 2 : 3 6
Tableau 2 : 7 6 5 2 1 3 7 4
Tableau à constituer : 11 14 12 11 2 8 11 10
Variable i : entier ;
Tableau T1[100] : réel ;
Tableau T2 [100] : réel ;
Tableau T3 [100] : réel ;
Debut
Pour (i=0 à 99 pas 1 ) faire
Lire (T1[i]) ;
Finpour ;
Pour (i=0 à 99 pas 1 ) faire
Lire (T2[i]) ;
Chapitre 5 : Les tableaux et les chaînes de caractères
Fin pour ;
Pour (i = 0 à 99 pas 1 )faire
Fin
8. Soit M une matrice carrée de taille 5x5 contenant des entiers. Écrire la déclaration et
l’initialisation à 0 d’une telle structure de données.
Algo matrice
Var i , j : entier ;
Tableau M [5 , 5] : entier ;
Debut
Pour ( i = 0 à 4 pas 1 ) faire
Pour ( j = 0 à 4 pas 1 ) faire
3
M[i , j ] ← 0 ;
Fin pour ;
Fin pour ;
Fin
Algo matrice
Var i , j : entier ;
Tableau M [5 , 5] : entier ;
Debut
Pour ( i = 0 à 4 pas 1 ) faire
Pour ( j = 0 à 4 pas 1 ) faire
Ecrire (‘’ entrer la valeur ‘’,i , ’’ , ’’ , j ) ;
Lire (M[i, j]) ;
Fin pour ;
Fin pour ;
Fin.
10. Écrire un algorithme qui réalise :
La multiplication d'une matrice A par un nombre réel X.
Algo matrice
Var i , j , L, c : entier ;
Tableau A [ 500 , 500 ] : entier ;
Tableau R [500,500] : entier ;
Debut
Ecrire ( ‘’ donner une valeur x’’ ) ;
Lire (x) ;
Pour ( i = 0 à 499 pas 1 ) faire
Pour ( j = 0 à 499 pas 1 ) faire
R [i , j] ← A [i , j] * x ;
Ecrire (R [i , j]);
Fin pour ;
Fin pour ;
Fin.
Chapitre 5 : Les tableaux et les chaînes de caractères
L’addition de deux matrices A et B de même dimension.
Variable i ,j : entier ;
Tableau A[100 , 100] : réel ;
Tableau B [100 , 100] : réel ;
Tableau C [100 , 100] : réel ;
Debut
Pour (i=0 à 99 pas 1 ) faire
Pour (j=0 à 99 pas 1 ) faire
Fin
Variable i ,j ,K : entier ;
Tableau A[100 , 50] : réel ; //[n,m]
Tableau B [50 , 200] : réel ; // [m,p]
Tableau C [100 , 200] : réel ; // [n,p]
Debut
Pour (i=0 à 99 pas 1 ) faire // ( i 0 à n-1)
Pour (j=0 à 199 pas 1 ) faire // ( j 0 à p -1)
C[i,j] ← 0 ;
Pour (k = 0 à 49 pas 1 faire // (k 0 à m-1)
C [i, j ] ← C [ i, j] + A [i, k] * B[k,j] ;
Fin pour ;
Fin pour ;
Fin pour ;
Pour (i=0 à 99 pas 1 ) faire
Pour (j=0 à 99 pas 1 ) faire
Ecrire (C [i, j]) ;
fin pour ;
fin pour ;
Fin
11. Écrire les algorithmes qui permettent sur une matrice 2D de taille 5*5:
De calculer la somme des éléments d’une ligne (le numéro de la ligne étant
passé en paramètre).
Algo somme lignes
Var
Tableau A [100 ,100] : réel ;
I, j , n,m : entiers ;
Tableau S [100] : réel ;
Debut
Chapitre 5 : Les tableaux et les chaînes de caractères
Ecrire (‘’donner le nombre des lignes et des colonnes ‘’) ;
Lire (n,m) ;
pour ( i = 0 à n-1 pas 1) faire
pour ( j = 0 à m-1 pas 1 ) faire
lire (A [i, j]) ;
fin pour ;
fin pour ;
pour (i = 0 à n-1 pas 1 ) faire
s[i] ← 0 ;
pour ( j = 0 à m-1 pas 1 ) faire
s [i] ← s[i ] + A [i,j] ;
fin pour ;
Ecrire ( S [i]);
Fin pour ;
fin
De calculer la somme des éléments d’une colonne (le numéro de la colonne
étant passé en paramètre).
5
Algo somme lignes
Var
Tableau A [100 ,100] : réel ;
I, j , n,m : entiers ;
Tableau S [100] : réel ;
Debut
Ecrire (‘’donner le nombre des lignes et des colonnes ‘’) ;
Lire (n,m) ;
pour ( i = 0 à n-1 pas 1) faire
pour ( j = 0 à m-1 pas 1 ) faire
lire (A [i, j]) ;
fin pour ;
fin pour ;
pour (i = 0 à m-1 pas 1 ) faire
s[i] ← 0 ;
pour ( j = 0 à n-1 pas 1 ) faire
s [i] ← s[i ] + A [j,i] ;
fin pour ;
Ecrire ( S [i]);
Fin pour ;
fin
6
12. Ecrivez un algorithme qui demande une phrase { l’utilisateur et qui affiche { l’écran le
nombre de voyelles contenues dans cette phrase.
Algo voyelles
Var
Tableau chaine [500] : caractère ; // ou bien on déclare chaine : chaine de caractères ;
nbv ,i : entier
Debut
Ecrire (« donner une phrase’’) ;
Lire (chaine) ;
Nbv ← 0 ;
i ← 0
Tanque (chaine [i] <> ‘\0’) faire
Si (chaine [i] = ‘a’ ou chaine [i] = ‘e’ ou chaine [i] = ‘i’ ou chaine [i] = ‘o’ ou chaine [i] = ‘u’
ou chaine [i] = ‘y’ ) alors
Nbv ← nbv +1 ;
Finsi ;
Finpour ;
Ecrire (« la nombre des voyelles est : ‘’ , nbv) ;
Fin.
13. Écrivez un algorithme qui renvoie le nombre de voyelles contenues dans une chaîne
de caractères passée en argument.
14. Ecrivez un algorithme qui demande un mot { l’utilisateur et qui affiche { l’écran le
nombre de lettres de ce mot.
Algo nbr lettre ;
Var mot[100] : chaine de caractère,
I, nbl : entiers ;
Debut
Ecrire (‘’ donner un mot’’) ;
Lire (mot) ;
Nbl ← 0 ; i ←0 ;
Tanque (mot [i] <> ‘\0’ ) faire
Nbl ← nbl+1 ;
I ← i+1 ;
Fintq Chapitre 5 : Les tableaux et les chaînes de caractères
Ecrire (‘’le nombre des lettres est ‘’, nbl) ;
Fin.
15. Ecrivez un algorithme qui demande une phrase { l’utilisateur et qui affiche { l’écran le
nombre de mots de cette phrase. On suppose que les mots ne sont séparés que par
des espaces.
7
Algo nbr mots ; Algo
Var phrase[500] : chaine de caractère ; Var phrase [500] : chaine ;
I, nbm : entiers ; I, nbm : entiers ;
Debut Debut
Ecrire (‘’ donner une phrase) ; Ecrire (‘’ donner une phrase’’) ; lire (phrase) ;
Lire (phrase) ; Nbm ← 0 ;
Nbm ← 0 ; i ←0 ; Pour (i=0 à lenght phrase ) faire
Tanque (phrase [i] <> ‘\0’ ) faire Si phrase *i+ = ‘’ ‘’ alors
Si (phrase [i] = ‘’ ‘’) alors Nbm ← nbm+1 ;
Nbm ← nbm+1 ; I ← i+1 ;
Finsi ; Fonpour ;
I ← i+1 ; Ecrire (nbm);
Fintq Fin.
Ecrire (‘’le nombre des mots est ‘’, nbm) ;
Fin.
Exercice 14
Ecrivez un algorithme qui affiche la transposition d’une
matrice A(m,n) en At(n,m)
Algorithmique Matrice_Transposee;
Var
i, j: entier;
M1[1..1000][1..1000], M2[1..1000][1..10000]: entier;
Debut
Ecrire (‘’ donner le nombre des lignes et de colonnes inférieur
a1000’’) ;
Lire (n, m) ;
Ecrire (‘’ entrer les valeurs de la matrice ’’) ;
Pour (i de 1 a n ) faire
Pour (j de 1 a m )faire
Chapitre 5 : Les tableaux et les chaînes de caractères
Lire M1([i,j]) ;
Finpourj
Finpouri
Pour i de 1 à n Faire
Pour j de 1 à m Faire
FinPouri
finpourj
Fin.
Exercice 16 jeux de dames
Variables i, j , posi, posj, i2, j2 en Entier
Variables Correct, MoveOK en Booléen
Tableau Damier(7, 7) en Booléen
Tableau Mouv(4, 2) en Entier
Debut
8
//Choix 0 : pion en haut à droite
Mouv(0, 0) ← -1
Mouv(0, 1) ← -1
//Choix 1 : pion en haut à droite
Mouv(1, 0) ← -1
Mouv(1, 1) ← 1
//Choix 2 : pion en bas à gauche
Mouv(2, 0) ← 1
Mouv(2, 1) ← -1
//Choix 3 : pion en bas à droite
Mouv(3, 0) ← 1
Mouv(3, 1) ← 1
//Initialisation du damier; le pion n’est pour le moment
nulle part
Pour i ← 0 à 6 pas1 faire
Pour j ← 0 à 6 pas 1 faire
Damier(i, j) ← Faux
finpj
finpi
//Saisie de la coordonnée en i ("posi") avec contrôle de
saisie
Correct ← Faux
TantQue Non Correct
Ecrire ("Entrez la ligne de votre pion: ") ;
Lire (posi)
Si (posi >= 0 et posi <= 6) Alors
Correct ← vrai
Finsi
Fintantque
Var T : tableau [6] : char ; Chapitre 5 : Les tableaux et les chaînes de caractères
I : entier
Debut
T[1] ‘a’ ;
…
Fin.
Exercice 19 (nombre de voyelles dans une chaine de
caractères)
var ch : chaine de caractére ;
voy : tableau de [6] char ;
nb, i ,j : entier ;
debut
// initialisation de voy
Voy { ‘a’ , ‘e’, ‘i’, ‘o’, ‘u’, ‘y’} ;
Ecrire (‘’ donner une phrase’’) ;
Lire (ch) ; 1
Nb <----- 0 ;
0
Pour i de 1 a length(ch) faire
Pour j de 1 a 6 faire
Si ch [i] = voy [j] alors
Nb <------------ nb+1 ;
Finsi,
Finpj
Finpi
Ecrire (‘’ le nombre des voyelle est :’’ nb) ;
Fin.
---
Exercice 22 nombre des mots dans une phrase
var ch : chaine de caractére ;
nb, i ,j : entier ;
debut
Ecrire (‘’ donner une phrase’’) ;
Lire (ch) ;
Nb <------ 0 ;
Pour i de 1 a length(ch) faire
Si ch [i] = ‘ ‘ alors
Nb <------------ nb+1 ;
Finsi,
Finp
Ecrire (‘’ le nombre des mots est :’’ nb) ;
Fin.
1
1