TD1
2 IMACS
Romaric GUILLERM
Algo-Prog
en Ada
http://romaric.guillerm.free.fr
TD1 : Algorithme de Kaprekar
L’algorithme de Kaprekar consiste à associer à un nombre
nentier positif un nombre Kgénéré de la façon suivante :
On considère les chiffres de n. On forme le nombre n1 en
arrangeant ces chiffres dans l’ordre croissant et le nombre
n2 en les arrangeant dans l’ordre décroissant.
On pose K= n2 -n1.
On itère ensuite le processus en remplaçant n par K.
On arrête les itérations lorsque :
Le nombre Kobtenu à l'issue d'une itération est nul,
Les nombres Kobtenus à l'issue de 2 itérations successives
sont identiques,
Le nombre d'itérations dépasse une valeur maximale
prédéfinie.
TD1
Si nest un nombre positif à 4chiffres non tous égaux, on
peut montrer que l’algorithme de Kaprekar produit un
nombre K = 6174 qui n'évolue plus au fil des itérations.
Exemple : à partir du nombre n= 5463 on obtient K= 6174
selon les itérations suivantes :
6543 3456 = 3087
8730 378 = 8352
8532 2358 = 6174
7641 1467 = 6174
On veut concevoir un programme permettant de tester
l’algorithme de Kaprekar à partir de nombres à 4 chiffres
fournis par un utilisateur.
L’utilisateur devra pouvoir tester plusieurs nombres.
Le programme s’arrêtera lorsque l’utilisateur fournira le
nombre 0.
Partie 1
1.1. Proposer une structure de données permettant de
manipuler les chiffres composant un nombre de 4 chiffres
c'est à dire permettant de les trier par ordre croissant
et/ou décroissant.
TD1
1.2. Ecrire le programme principal (déclaration des
variables et partie instructions) en s'appuyant sur une
décomposition logique en sous-programmes.
TD1
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !