110 likes | 256 Views
Algo-Prog e n Ada. TD2. 2 MIC. Romaric GUILLERM. guillerm@laas.fr. TD2 - Paquetages. On veut concevoir un paquetage qui regroupe le type Rationnel et les opérations algébriques associées ( opposé, addition, différence, produit, rapport, inverse , …).
E N D
Algo-Prog en Ada TD2 2 MIC Romaric GUILLERM guillerm@laas.fr
TD2 - Paquetages • On veut concevoir un paquetage qui regroupe le type Rationnel et les opérations algébriques associées (opposé, addition, différence, produit, rapport, inverse, …). • On modélisera un Rationnel à l’aide d’une structure de données privée encapsulant : • Un numérateurde type entier relatif • Un dénominateurde type entier strictement positif • Afin de définir correctement l’égalité entre deux rationnels, on leur appliquera systématiquement une simplification dès leur construction et après certaines opérations algébriques • Pour la simplification est : avec et , où • On représente un rationnel nul par : • On inclura également les sous-programmes pour : • La construction • L’accès au numérateur • L’accès au dénominateur • L’image d’un rationnel sous forme de chaîne de caractères pour faciliter son affichage(fonction To_String(R : in Un_Rationnel) return String)
TD2 • Question 1 : Ecrire la spécification de ce paquetage. fichier Rationnels.ads !
Déclaration du type privé Rationnel Déclaration d’une exception pour un dénominateur nul TD2 Spécification des sous-programmes publiques • Question 1 : Ecrire la spécification de ce paquetage. fichier Rationnels.ads ! Définition du type Rationnel Spécification des sous-programmes privées
TD2 • Question 2 : Ecrire un programme client intégrant un jeu de tests pour ce paquetage.
TD2 • Question 3 : Ecrire le corps du paquetage. FichierRationnels.adb ! Outils.ads • Sous-programmes : • Simplification • Constructeur • To_String • Sélecteurs • Inverse • Addition • Différence • Opposé • Produit • Rapport Outils.adb
TD2 • Question 3 : Ecrire le corps du paquetage. FichierRationnels.adb !
TD2 • Question 3 : Ecrire le corps du paquetage. FichierRationnels.adb !
TD2 • Question 3 : Ecrire le corps du paquetage. FichierRationnels.adb !
TD2 • Question 3 : Ecrire le corps du paquetage. FichierRationnels.adb !
TD2 • Question 4 : Tracer le graphe des dépendances entre le programme client, les spécifications et les corps des différents paquetages utilisés. • Faire un schéma avec des liens A B signifiant que B « dépend de » A Outils.ads Rationnel.ads Ada.Text_io.ads Rationnel.adb Outils.adb Client_Rationnel.adb