TD1

10
TD1 2 IMACS [email protected] Romaric GUILLERM Algo-Prog en Ada http:// romaric.guillerm.free.fr

description

Algo-Prog e n Ada. TD1. 2 IMACS. Romaric GUILLERM. [email protected]. http://romaric.guillerm.free.fr. TD1 : Algorithme de Kaprekar. L’algorithme de Kaprekar consiste à associer à un nombre n entier positif un nombre K généré de la façon suivante : - PowerPoint PPT Presentation

Transcript of TD1

Page 1: TD1

TD12 IMACS

[email protected]

Romaric GUILLERM

Algo-Progen Ada

http://romaric.guillerm.free.fr

Page 2: TD1

TD1 : Algorithme de Kaprekar L’algorithme de Kaprekar consiste à associer à un nombre

n entier positif un nombre K gé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 K obtenu à l'issue d'une itération est nul, Les nombres K obtenus à l'issue de 2 itérations successives

sont identiques, Le nombre d'itérations dépasse une valeur maximale

prédéfinie.

Page 3: TD1

TD1

Si n est un nombre positif à 4 chiffres 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.

Page 4: TD1

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

Page 5: 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

Page 6: 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

Page 7: TD1

1.3. Spécifier les sous-programmes identifiés lors de la décomposition (type du sous-programme, liste des paramètres avec leur mode de passage et leur type, commentaire précisant le but du sous-programme et la signification des paramètres)

TD1

Page 8: TD1

Travailler à la maison !avec Windows

Compilateur Ada GNAT :

http://romaric.guillerm.free.fr

Pour écrire le programme (fichier.adb):

Bloc Note, Emacs… ou : Notepad++

Pour compiler et exécuter :

Page 9: TD1

Partie 2

Ecrire les corps des sous-programmes.

TD1

Page 10: TD1

Partie 2

Ecrire les corps des sous-programmes.

TD1