Vous êtes sur la page 1sur 12

Les Tableaux

Exercice4
• Soit un tableau T de N réels (5<N<=100), écrire un algorithme qui permet d’inverser l’ordre de ses
éléments.

T 45 5 -9 2,5 10 95 0 1 21 65
1 2 3 4 5 6 7 8 9 10

T 65 21 1 0 95 10 2,5 -9 5 45
1 2 3 4 5 6 7 8 9 10

T[1] T[10]
T[2] T[9]
N=10
T[3] T[8] T[i] T[N-i+1] ; Avec i allant de 1 à N DIV 2
T[4] T[7]
T[5] T[6]
Algorithme /* Inverser T*/

Variables Pour i de 1 à N Div 2 faire


/* Permuter T[i] par T[N-i+1] */
T: tableau [100] réels
I, Aux : entier Aux ← T[i]
T[i] ← T[N-i+1]
Début Inverser
/* saisir la taille du tableau */ T[N-i+1] ←Aux
Répéter Fin Pour
/* Affichage du tableau*/
Ecrire(’’N=’’)
Pour i de 1 à N faire
Lire(N) Ecrire("T[" ,i, " ] =" , T[i])
Jusqu’à (N>5) et (N<=100) Fin Pour
/* Remplissage du tableau */
Fin Inverser
Pour i de 1 à N faire
Ecrire(’’ Donner T[’’, i , ’’] = ’’)
Lire (T[i])
Fin Pour
Exercice4 (méthode 2)
Méthode 2
T[i] T[j]

T 45 5 -9 2,5 10 95 0 1 21 65
1 2 3 4 5 6 7 8 9 10
i i i i i j j j j j

i=1
j=N
Tant que (i<j) faire
T[i]↔T[j]
i← i+1
j← j-1
Fin Tant que
Méthode 2 /* Inverser T*/

Algorithme i=1
Variables j=N
Tant que (i<j) faire
T: tableau [100] réels
Aux ← T[i]
i,j, Aux : entier
T[i] ← T[j]
Début Inverser
/* saisir la taille du tableau */
T[j] ←Aux
i← i+1
Répéter j← j-1
Ecrire(’’N=’’) Fin Tant que
Lire(N) /* Affiche du tableau*/
Pour i de 1 à N faire
Jusqu’à (N>5) et (N<=100) Ecrire("T[" ,i, " ] =" , T[i])
/* Remplissage du tableau */ Fin Pour
Pour i de 1 à N faire Fin Inverser
Ecrire(’’ Donner T[’’, i , ’’] = ’’)
Lire (T[i])
Fin Pour
Exercice5
• Écrire un algorithme qui permet de tester si une chaîne de caractères est un palindrome c'est-à-dire se lit dans
les deux sens.
Exemple : EtE, LAVAL….

Ch M O N E N O M

i=1 i i i j j j J=N i=1


J=N
Tanque (i<=j) et (ch[i]=ch[j]
Ch[i]=Ch[j]
i>j Chaine palindrome i←i+1
j←j-1
Fin Tant que

Ch M 5 N E N O M

i=1 i j J=N

Ch[i]<>Ch[j] Chaine Non palindrome


Algorithme Si (i>j) alors
Variables écrire (" la chaine est palindrome ")
Sinon
ch: chaine de caractères
écrire (" la chaine n’ est pas palindrome ")
I, j : entier Fin palindrome
Début palindrome
Ecrire (" Donner une chaine de caractère")
Lire(ch)
i←1
j ←longueur(ch)
Tant que (i<=j) et (ch[i]=ch[j]) faire
i ←i+1
j ←j-1
Fin Tant que
Exercice5
• Déduire de code VBA de l’exercice 5

Méthode 1 Méthode 2 Méthode 3


Exercice 6
Soient deux tableaux T1 et T2 de N entiers (5<N<=30).
Ecrie un algorithme qui permet de recopier dans T2 tous les éléments divisibles par 3 de T1 en
commençons par la fin de T2 et compléter les cases vides de T2 par des zéros.
Exemple:

T1 27 11 36 42 31 7 306 1 16 3
1 2 3 4 5 6 7 8 9 10

T2 0 0 0 0 0 3 306 42 36 27

1 2 3 4 5 6 7 8 9 10
Exercice 6

T1 27 11 36 42 31 7 306 1 16 3
1 2 3 4 5 6 7 8 9 10

T2 3 306 42 36 27
1 2 3 4 5 6 7 8 9 10
j j j j j j
Algorithme /*recopier dans T2 tous les éléments divisibles par 3 de
T1 en commençons par la fin de T2*/
Variables
j ←N
T1: tableau [30] entiers
Pour i de 1 à N faire
T2: tableau [30] entiers Si (T1[i] mod 3 =0) alors
i,j : entier T2[j]←T1[i]
j ←j-1
Début exercice6 Fin si
/* saisir la taille du tableau */ Fin Pour
/* compléter les cases vides de T2 par des zéros */
Répéter
Pour i de 1 à j faire
Ecrire(’’N=’’)
T2[i]←0
Lire(N) Fin Pour
Jusqu’à (N>5) et (N<=30) /* Affiche du tableau T1*/
Pour i de 1 à N faire
/* Remplissage du tableau T1*/ Ecrire("T1[" ,i, " ] =" , T1[i])
Pour i de 1 à N faire Fin Pour
Ecrire(’’ Donner T1[’’, i , ’’] = ’’) /* Affiche tableau T2*/
Pour i de 1 à N faire
Lire (T1[i]) Ecrire("T2[" ,i, " ] =" , T2[i])
Fin Pour Fin Pour
Fin
/* Remplissage du tableau T2 par des zéros*/
Algorithme méthode 2
Pour i de 1 à N faire
Variables
T2←0
T1: tableau [30] entiers
Fin Pour
T2: tableau [30] entiers
/*recopier dans T2 tous les éléments divisibles par 3 de
i,j: entier T1 en commençons par la fin de T2*/

Début exercice6 j ←N
/* saisir la taille du tableau */ Pour i de 1 à N faire
Répéter Si (T1[i] mod 3 =0) alors
T2[j]←T1[i]
Ecrire(’’N=’’) j ←j-1
Lire(N) Fin si
Fin Pour
Jusqu’à (N>5) et (N<=30)
/* Affiche du tableau T1*/
/* Remplissage du tableau T1*/
Pour i de 1 à N faire
Pour i de 1 à N faire Ecrire("T[" ,i, " ] =" , T[i])
Ecrire(’’ Donner T1[’’, i , ’’] = ’’) Fin Pour
Lire (T1[i]) /* Affiche du tableau T2*/
Pour i de 1 à N faire
Fin Pour Ecrire("T[" ,i, " ] =" , T[i])
Fin Pour

Vous aimerez peut-être aussi