Forum pour les élèves lycéens
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

Devoir de synthèse N°2 :

Aller en bas

Devoir de synthèse N°2 : Empty Re: Devoir de synthèse N°2 :

Message par haiethem 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
Devoir de synthèse N°2 : Ds2ex110

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

Devoir de synthèse N°2 : Ds2ex210
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
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

Devoir de synthèse N°2 : Ds2ex211
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

Devoir de synthèse N°2 : Ds2ex212
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
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)

Devoir de synthèse N°2 : Ds2ex410
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]
Devoir de synthèse N°2 : Ds2ex411


[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]
Devoir de synthèse N°2 : Ds2ex411
haiethem
haiethem

Messages : 485
Points : 27058
Réputation : 3
Date d'inscription : 08/11/2010
Age : 47

http://www.gdiri.info

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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