Révision
Exercice N°1
Pour chercher et afficher dans l'ordre croissant les N premiers entiers premiers, on propose la
méthode suivante :
• Placer les 100 premiers entiers > 0 dans un tableau T
• Chaque élément T[i] sera remplacé par 1 s'il admet au moins un diviseur autre que 1 dans les
cases qui le précédent
• Afficher les N premiers éléments se trouvant dans le tableau T qui sont différents de 1
Exemple: Si N= 10 et T=
1 2 3 4 5 6 7 8 … 25 … 49 50 … 99 100
0 1 2 3 4 5 6 7 … 24 … 48 49 … 98 99
La case qui contient 4 est remplacée par 1 car elle est divisible par 2
La case qui contient 49 est remplacée par 1 car elle est divisible par 7
T devient :
1 2 3 1 5 1 7 1 … 1 … 1 1 … 1 1
0 1 2 3 4 5 6 7 … 24 … 48 49 … 98 99
Le programme affiche :
Les 10 premiers nombres premiers sont 2-3-5-7-11-13-17-19-23-29
Pour cela on donne l’algorithme du programme principal ci-contre :
Début
Répéter
Lire (N)
Jusqu’à N [5…20]
Remplir (T)
Trait (T)
Affiche (T, N)
Fin
Q1) Compléter le T.D.O.G et le T.D.N.T sachant que T est un tableau de 100 entiers
T.D.O.G
objet Nature / Type
Faten BEN ALI
Page 1 sur 5
T.D.N.T
Type
Q2) Ecrire l'algorithme du module Remplir( ) qui permet de ranger automatiquement les 100
premiers entiers>0 dans un tableau T
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q3) Ecrire l'algorithme du module Trait (T) qui permet de remplacer chaque T[i] par 1 si la
fonction Existdivis (i, T ) retourne la valeur Vrai (voir Q4)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q4) Ecrire l'algorithme de la fonction Existdivis(i, T) qui permet de vérifier s'il existe dans le
tableau T au moins un diviseur différent de 1 avant la case d’indice i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Faten BEN ALI
Page 2 sur 5
Q5) Ecrire l’algorithme de la procédure Affiche(T.N) qui permet de parcourir le tableau T pour
afficher les N premiers nombre premiers.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercice N°2
Soit l'algorithme de la fonction « SCH» suivant :
Début
S0
Tant que X 0 Faire
S S + X Mod 10 X X Div 10
Fin Tant que
Retourner S
Fin
1) Completer le TDOL
T.D.O.L
Objet Nature / Type
2) Faire un tournage à la main pour X=73251
X
S
3) Donner la valeur de chaque appel :
Appel Valeur retournée
SCH (5023)
SCH( SCH (715) + SCH (826))
Faten BEN ALI
Page 3 sur 5
4) X est un paramètre . . . . . . . . . . . . . . . . . .
5) Un auto-nombre est un entier qui est égal à un autre entier en lui ajoutant ses chiffres.
Exemples :
• 100 est un auto-nombre car 100=86+8+6
• 111 est un auto-nombre car 111=105+1+0+5
• 102 n'est pas un auto-nombre
5) Ecrire la fonction autonbre qui permet de vérifier si un entier naturel et non nul N est auto-
nombre ou non
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6) Ecrire la procédure AFFICHE qui permet d'afficher les auto-nombres compris entre deux
entiers A et B.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Faten BEN ALI
Page 4 sur 5
Exercice N°3
Une suite arithmétique croissante est une suite dans laquelle chaque terme permet de déduire le
terme suivant en lui ajoutant une constante appelée raison (pour tout n > 0: Un = Un-1 + r avec r
> 0).
Les tranches successives de deux chiffres d'une chaine X de, longueur paire une fois triées dans
'ordre croissant, peuvent constituer des termes d'une Suite arithmétique Croissante SAC.
Exemples :
Pour X="301505251020"
Les tranches de X : 30 15 05 25 10 20
Les tranches triées de X sont 05 10 15 20 25 30
Les tranches successives de X une fois triées dans l'ordre croissant, forment des termes d'une
suite arithmétique croissante de raison r= 5.
En effet, (10-5) = (15 - 10) = (20 - 15) = (25-20) = (30-25) = 5.
Pour X = "436833582348" Les tranches de X : 43 68 33 58 23 48
Les tranches triées de X sont 23 33 43 48 58 68
Les tranches successives de X une fois triées dans l'ordre croissant, ne forment pas des termes
d'une suite arithmétique croissante.
En effet, (33-23) = (43-33) = 10 (48-43) = 5
Travail demandé
On se propose de remplir un tableau T avec N chaines uniques formées seulement par des
chiffres numériques, de longueur paire et composées de 6 à 20 chiffres chacune avec (5<N<20)
puis de chercher et d'afficher toutes les tranches successives de deux chiffres qui, une fois triées
dans l'ordre croissant, forment des termes d'une suite arithmétique croissante.
Travail à faire
1. écrire l'algorithme du programme principal solution à ce problème, en le décomposant en
modules
2. écrire l'algorithme de chaque module utilisé
3. compléter les tableaux de déclaration
Faten BEN ALI
Page 5 sur 5