Devoir de synthèse N°2 :
Re: Devoir de synthèse N°2 :
DEVOIR DE SYNTHÈSE N°2
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*Exercice 1 : (1,5 point)
Soit l'algorithme suivant :
0) DEF FN F ( N : ................ ) : ..................
1) R ← ""
2) Répéter
X ← N mod 10
Convch (X,Rch)
R ← R + Rch
N ← N div 10
Jusqu'à N = 0
3) F ← R
4) Fin
Questions :
a. Donner les types de N et de la fonction F.
N : entier
F : chaine de caractères
b. Exécuter cet algorithme pour les deux cas suivants :
1. N = 627 N = 401
c. Déduire le rôle de la fonction F.
La fonction F retourne une chaine de caractères contenant les chiffres du nombre N dans l'ordre inverse.
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 2 : (2,5 points)
Écrire un algorithme d'un module qui retourne le plus grand nombre formé par les chiffres d'un entier N.
Exemple :
Soit N = 153. Le plus grand nombre formé par les chiffres de N est : 531.
Algorithme :
0) DEF FN MAX (N : entier ) : entier
1) Convch(N,Ch)
2) Pour i de 1 à long (Ch) – 1 faire
Pour j de 1 à long (Ch) – 1 faire
Si ch[j]
Ch[j] ← ch[j+1]
Ch[j+1] ← x
Fin Si
Fin pour
Fin pour
3) Valeur (Ch,N,E)
4) MAX ← N
5) Fin MAX
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 3 : (7 points)
Le cube d'un nombre N quelconque peut s'écrire sous la forme d'une suite de nombres impairs consécutifs.
Exemples :
33 = 27 27 = 7 + 9 + 11
43 = 64 64 = 1+3+5+7+9+11+13+15
43 = 13+15+17+19
43= 31+33
1. Écrire une analyse modulaire d'un programme qui saisit un entier N>0 et affiche toutes les suites des nombres impairs consécutifs qui sont égales à N3.
2. Établir les algorithmes des modules envisagés en 1.
Analyse du Programme Principal :
Résultat = afficher (N)
N = [ ] répéter
Lire (N)
Jusqu'à N>0
Algorithme de la procédure afficher :
0) DEF PROC afficher (N : entier)
1) D ← 1
2) Répéter
S ← 0 , i ← d , j ← d
Répéter
S ← S + i
i ← i + 2
Jusqu'à S >= N*N*N
Si S = N*N*N alors
Répéter
Écrire (j)
j ← j + 2
Jusqu'à j = i
Fin Si
d ← d + 2
Jusqu'à d > N*N*N div 2
3) Fin
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 4 : (9 points)
Le procédé de KAPREKAR pour un nombre N de 3 chiffres est défini par :
• On crée le plus grand (Max) et le plus petit (Min) nombres formés par les chiffres de N.
• On calcule la différence Max – Min.
• On répète ces deux étapes jusqu'à avoir 495 ou 0.
Exemple :
1. Soit N = 123.
Max = 321 et Min = 123 → Max – Min = 198
2. N = 198.
Max = 981 et Min = 189 → Max – Min = 792
3. N = 792
Max = 972 et Min = 279 → Max – Min = 693
4. N = 693
Max = 963 et Min = 369 → Max – Min = 594
5. N = 594
Max = 954 et Min = 456 → Max – Min = 495.
On s'arrête N = 495.
Donc la séquence de KAPREKAR pour 123 est :
123, 198, 792, 693, 594, 495
Travail demandé :
On veut écrire un programme qui saisit un entier positif de trois chiffres et affiche la séquence de KAPREKAR.
1. Analyser ce problème en le décomposant en modules.
2. Établir les algorithmes des modules utilisés en 1.
Analyse du Programme Principal :
Résultat = PROC afficher (N)
N = [ ] Répéter
Lire (N)
Jusqu'à (N>900)et(N<10000)
Algorithme de la procédure afficher :
0) DEF PROC afficher (N : entier)
1) Répéter
Écrire (N)
N ← FN Max(N) – FN Min (N)
Jusqu'à (N=0)ou(N=495)
2) Fin
Algorithme de la fonction Max :
0) DEF FN Max (N : entier ): entier
1) Convch (N,Ch)
2) Pour i de 1 à long (Ch) – 1 faire
Pour j de 1 à long (Ch) – 1 faire
Si ch[j]
[b]Ch[j] ← ch[j+1]
Ch[j+1] ← x
Fin Si
Fin pour
Fin pour
3) Valeur (Ch,N,E)
4) Max ← N
5) Fin Max[/b]
[b]Algorithme de la fonction Min :
0) DEF FN Min (N : entier ): entier
1) Convch (N,Ch)
2) Pour i de 1 à long (Ch) – 1 faire
Pour j de 1 à long (Ch) – 1 faire
Si ch[j]>ch[j+1] alors x ← ch[j]
Ch[j] ← ch[j+1]
Ch[j+1] ← x
Fin Si
Fin pour
Fin pour
3) Valeur (Ch,N,E)
4) Min ← N
5) Fin Min[/b]
Sujets similaires
» Devoir de synthèse N°1
» Devoir de synthèse N° 2
» Devoir de synthèse N°2
» Devoir de synthèse N°2
» Devoir de synthèse N°3 :
» Devoir de synthèse N° 2
» Devoir de synthèse N°2
» Devoir de synthèse N°2
» Devoir de synthèse N°3 :
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|