Upload
imadselmani
View
20
Download
0
Embed Size (px)
DESCRIPTION
goooof
Citation preview
M. El Marraki 1
SMIA S2 Module M5 E2
Correction de la série N°3
Mohamed El Marraki
M. El Marraki 2
Exercice 1 : Ecrire un algorithme qui effectue la lecture de l’entier n (la taille de T), la lecture du tableau T (contient n valeurs réelles triés dans l’ordre croissant) et un nombre réel x, ensuite l’algorithme effectue l’insertion de x dans le tableau T, de telle manière que le tableau T reste trié. Exemple : Soit le tableau T de 8 nombres triés
dans lequel on désire insérer 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," éléments 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 améliorer cette fonction (écrire un programme qui n’utilise 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
début
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 désire écrire un algorithme qui affiche l’image miroir n’ d’un nombre entier n.
Exemple : l’image miroir du nombre n=54321 est n’=12345.
1. Analyse : expliquer comment extraire à partir de l’entier n les chiffres qui le compose.
2. Ecrire une conception de l’algorithme 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 répéter les deux instructions suivantes :
r ß n % 10 n ß n/10
M. El Marraki 9
variables n, i, r : entier
début
é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 après l’exécution de mystere(8) ?
2. Que contient le tableau T après l’exécution de mystere(36) ?
3. Que fait le programme ?
4. Que se passera-t-il si on remplace l’instruction 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
début écrire("donner la taille des tableaux :") lire(n) écrire("donner les ",n," éléments du tableaux A :")
Pour i allant de 1 à n faire lire(A[i]) FinPour
écrire("donner les ",n," éléments 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
Révisez bien et bon courage