1 / 10

TD1

Algo-Prog e n Ada. TD1. 2 IMACS. Romaric GUILLERM. guillerm@laas.fr. 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 :

abena
Download Presentation

TD1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algo-Prog en Ada TD1 2 IMACS Romaric GUILLERM guillerm@laas.fr http://romaric.guillerm.free.fr

  2. 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 n1en arrangeant ces chiffres dans l’ordre croissant et le nombre n2en les arrangeant dans l’ordre décroissant. • On pose K= n2 - n1. • On itère ensuite le processus en remplaçantn 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.

  3. TD1 • Si nest 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.

  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.

  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.

  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.

  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)

  8. 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 :

  9. TD1 Partie 2 • Ecrire les corps des sous-programmes.

  10. TD1 Partie 2 • Ecrire les corps des sous-programmes.

More Related