Devoir de synthèse N°2 :

Poster un nouveau sujet   Répondre au sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: Devoir de synthèse N°2 :

Message par haiethem le Mar 16 Mai - 12:36

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]

_________________
=================================
Haiethem Elguediri
Lycée Secondaire Mareth
+21652084191
+21652906038
+21631139805
+21675321050
haiethem@gmail.com
www.haiethem.tk
avatar
haiethem

Messages : 419
Points : 14325
Réputation : 3
Date d'inscription : 08/11/2010
Age : 40

Voir le profil de l'utilisateur http://www.haiethem.tk

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum