Vous êtes sur la page 1sur 15

M.

El Marraki 1
SMIA S
2

Module M
5
E
2
Correction de la srie N3

Mohamed El Marraki
M. El Marraki 2
Exercice 1 : Ecrire un algorithme qui effectue la
lecture de lentier n (la taille de T), la lecture du
tableau T (contient n valeurs relles tris dans
lordre croissant) et un nombre rel x, ensuite
lalgorithme effectue linsertion de x dans le tableau
T, de telle manire que le tableau T reste tri.
Exemple : Soit le tableau T de 8 nombres tris
dans lequel on dsire insrer le nombre 40 :


4 7 8 12 23 56 89 112

4 7 8 12 23 40 56 89 112

M. El Marraki 3
variables Tableau T[100], i, n, x, c :entier
debut
ecrire("donner la taille du tableau T :") lire(n)
ecrire("donner les ",n," lments du tableaux T :")
Pour i allant de 1 n faire
lire(T[i])
FinPour
ecrire("donner x :")
lire(x)
i!n
Tantque(i>1 et T[i]>x)
T[i+1]!T[i]
i ! i-1
FinTantque
T[i]!x
fin

M. El Marraki 4
Exercice 2 : Soit le programme mystere suivant :
Variable : n, i : entiers
Tableau T[100] :entiers
debut
ecrire(" n ?") lire(n)
T[1] ! 0 T[2] ! 1 i!3
Tantque(i<=n) faire
T[i] ! T[i-1]+T[i-2]
i!i+1
FinTantque
Pour i allant de 1 n faire
Ecrire("T[",i,"]=",T[i])
finpour
end;
M. El Marraki 5
1. Donner le contenu du Tableau T pour n=10?
2. Que fait ce programme ?
3. On remarque que pour calculer T[i] on besoin que de T[i-1]
et T[i-2], comment amliorer cette fonction (crire un
programme qui nutilise pas le tableau T) ?
M. El Marraki 6
T : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
cet algorithme calcule les termes de la suite de Fibonacci.
variables i, n, u, v, w : entiers
dbut
ecrire(" n ?") lire(n)
si (n=1) alors crire(0," ") finsi
si (n=2) alors crire(1," ") finsi
i ! 3
TantQue(i<=n) faire
w ! v v ! u + v u ! w
crire(v," ")
i ! i+1
FinTantQue
Fin
M. El Marraki 7

Exercice 3 :


On dsire crire un algorithme qui affiche limage miroir n dun
nombre entier n.
Exemple : limage miroir du nombre n=54321 est n=12345.
1. Analyse : expliquer comment extraire partir de lentier n les
chiffres qui le compose.
2. Ecrire une conception de lalgorithme qui lit un entier n et
affiche son image miroir.
M. El Marraki 8

Correction :
Pour extraire les chiffres qui composent un entier n il suffit de
rpter les deux instructions suivantes :
r ! n % 10
n ! n/10
M. El Marraki 9



variables n, i, r : entier
dbut
crire("Entrer un entier : ")
lire(n)
tanque(n!=0) faire
r ! n % 10
crire(r)
n ! n/10
fintantque
fin
M. El Marraki 10

Exercice 4 :
Soit le programme mystere() suivant :
variable tableau T[100], n, i, d : entier
debut
d ! 2 i ! 1
Tantque (d <= n) faire
si (n % d = 0) alors
T[i] ! d n ! n/d i ! i+1
sinon d ! d+1
finsi
fintantque
fin
M. El Marraki 11





1. Que contient le tableau T aprs lexcution de mystere(8) ?

2. Que contient le tableau T aprs lexcution de mystere(36) ?

3. Que fait le programme ?

4. Que se passera-t-il si on remplace linstruction d!2 par d!1 ?



M. El Marraki 12

1.



2.

3. Rempli le tableau avec les diviseurs de n.

4. Si on remplace d!2 par d!1, on aura une boucle infini.



2 2 2
2 2 3 3
M. El Marraki 13

Exercice 5 :


Ecrivez un algorithme qui lit un entier n, un tableau de n entiers
A[], un autre tableau de n entiers B[]
calcule et affiche le produit scalaire de A par B : ! A[i] * B[i]

M. El Marraki 14
variables Tableau A[60], A[60], n, i, x :entier
dbut
crire("donner la taille des tableaux :") lire(n)
crire("donner les ",n," lments du tableaux A :")
Pour i allant de 1 n faire
lire(A[i])
FinPour
crire("donner les ",n," lments du tableaux B :")
Pour i allant de 1 n faire
lire(B[i])
FinPour
x!0
Pour i allant de 1 n faire
x!x+A[i]*B[i]
FinPour
crire("le produit scalaire est",x)
fin
M. El Marraki 15


Rvisez bien et
bon courage