Bonjour a tous je suis un habitué de la section customisation et je viens vous faire un petit coucou enfin c'est un peut plus grave !
Alors cela fait 3 mois que mon iut (informatique) est en grève et il me colle des exercices a faire que je ne comprend pas pour nous entraîner !!
je vous laisse admirer mon exercice avec ce vocabulaire obscure, au moment ou je vous parle j'essaye de le faire et je galere je vous ferez passer ce que j'ai fait dans l'aprem !!
TD n° 3 - Le Type Abstrait de Données Durée - 1 -
I.U.T. d'Informatique 2008-2009
Semestre 2
Types Abstraits de Données
TD n° 3 - Le Type Abstrait de Données Durée
On se propose dintroduire la notion de point de vue dun Type Abstrait de
Données (TAD) sur un exemple simple. Soit Durée cet exemple abordé ici selon deux
points de vue : celui du concepteur qui spécifie les opérations et propriétés du type et
celui du programmeur qui choisit les structures de données et code les opérations
définies par le concepteur. Lors de prochains TD, nous introduirons un troisième
acteur : lutilisateur (ou client) qui, pour son application, a besoin des opérations du
type spécifiées par le concepteur.
Soient Durée, Entier et Booléen dénotant respectivement le type d'une durée,
celui des entiers et celui des booléens. On propose les opérations et propriétés
suivantes pour le type Durée :
a) Opérations
uneDurée : Entier x Entier x Entier → Durée
heures : Durée → Entier
minutes : Durée → Entier
secondes : Durée → Entier
inf : Durée x Durée → Booléen
égal : Durée x Durée → Booléen
plusUneSeconde : Durée → Durée
Pour h, m, s de type Entier :
uneDurée (h, m, s) est défini ssi h ≥ 0 et 0 ≤ m ≤ 59 et 0 ≤ s ≤ 59
b) Propriétés
Pour h, h1, h2, m, m1, m2, s, s1, s2 de type Entier :
(P1) heures (uneDurée (h, m, s)) = h
(P2) minutes (uneDurée (h, m, s)) = m
(P3) secondes (uneDurée (h, m, s)) = s
(P4) inf (uneDurée (h1, m1, s1), uneDurée (h2, m2, s2)) =
(h1 < h2) ou (h1=h2 et m1 < m2) ou (h1=h2 et m1=m2 et s1 < s2)
(P5) égal (uneDurée (h1, m1, s1), uneDurée (h2, m2, s2)) =
h1 = h2 et m1 = m2 et s1 = s2
TD n° 3 - Le Type Abstrait de Données Durée - 2 -
(P6) plusUneSeconde (uneDurée (h, m, s)) =
si s < 59 alors uneDurée (h, m, s + 1)
sinon si m < 59 alors uneDurée (h, m + 1, 0)
sinon uneDurée (h + 1, 0, 0)
Questions :
1) Spécification du Type Concret de Données Durée
1.1) Vous êtes le concepteur du TAD Durée et vous souhaitez en donner une
incarnation dans un langage de programmation. En vous appuyant sur le profil des
opérations de la spécification fonctionnelle du type abstrait Durée, écrire la
spécification de chaque sous-programme en langage algorithmique : nom du sous-
programme, rôle du sous-programme en un court commentaire, paramètres en entrée,
paramètres en sortie, paramètres en mise à jour, ... Tout paramètre d'une procédure
ou d'une fonction ainsi que tout résultat de fonction sera correctement typé.
1.2) En reprenant les en-têtes de la question précédente et les propriétés données
dans le sujet, fournir la spécification du type concret Durée. On exportera les
opérations daffectation (<-) et de comparaison (= et /=) de deux durées.
2) Implémentation du Type Abstrait de Données Durée
2.1) Vous êtes maintenant le programmeur du TAD Durée et vous avez en charge
dimplémenter le type abstrait (concret) Durée spécifié par le concepteur. Définir en
langage algorithmique le type Durée par un enregistrement.
2.2) En respectant la spécification des sous-programmes et en utilisant les
propriétés du type abstrait Durée, programmer en langage algorithmique les
différentes opérations spécifiées.
2.3) Fournir limplémentation du type abstrait Durée.
2.4) Vous remarquez quune durée peut aussi se coder par un entier mémorisant
son nombre de secondes. Définir en langage algorithmique un tel type Durée et
programmer dans cette représentation les opérations du type.
2.5) Fournir la spécification et limplémentation du type dans cette nouvelle
représentation.
Merci d'avance Any
Alors cela fait 3 mois que mon iut (informatique) est en grève et il me colle des exercices a faire que je ne comprend pas pour nous entraîner !!
je vous laisse admirer mon exercice avec ce vocabulaire obscure, au moment ou je vous parle j'essaye de le faire et je galere je vous ferez passer ce que j'ai fait dans l'aprem !!
TD n° 3 - Le Type Abstrait de Données Durée - 1 -
I.U.T. d'Informatique 2008-2009
Semestre 2
Types Abstraits de Données
TD n° 3 - Le Type Abstrait de Données Durée
On se propose dintroduire la notion de point de vue dun Type Abstrait de
Données (TAD) sur un exemple simple. Soit Durée cet exemple abordé ici selon deux
points de vue : celui du concepteur qui spécifie les opérations et propriétés du type et
celui du programmeur qui choisit les structures de données et code les opérations
définies par le concepteur. Lors de prochains TD, nous introduirons un troisième
acteur : lutilisateur (ou client) qui, pour son application, a besoin des opérations du
type spécifiées par le concepteur.
Soient Durée, Entier et Booléen dénotant respectivement le type d'une durée,
celui des entiers et celui des booléens. On propose les opérations et propriétés
suivantes pour le type Durée :
a) Opérations
uneDurée : Entier x Entier x Entier → Durée
heures : Durée → Entier
minutes : Durée → Entier
secondes : Durée → Entier
inf : Durée x Durée → Booléen
égal : Durée x Durée → Booléen
plusUneSeconde : Durée → Durée
Pour h, m, s de type Entier :
uneDurée (h, m, s) est défini ssi h ≥ 0 et 0 ≤ m ≤ 59 et 0 ≤ s ≤ 59
b) Propriétés
Pour h, h1, h2, m, m1, m2, s, s1, s2 de type Entier :
(P1) heures (uneDurée (h, m, s)) = h
(P2) minutes (uneDurée (h, m, s)) = m
(P3) secondes (uneDurée (h, m, s)) = s
(P4) inf (uneDurée (h1, m1, s1), uneDurée (h2, m2, s2)) =
(h1 < h2) ou (h1=h2 et m1 < m2) ou (h1=h2 et m1=m2 et s1 < s2)
(P5) égal (uneDurée (h1, m1, s1), uneDurée (h2, m2, s2)) =
h1 = h2 et m1 = m2 et s1 = s2
TD n° 3 - Le Type Abstrait de Données Durée - 2 -
(P6) plusUneSeconde (uneDurée (h, m, s)) =
si s < 59 alors uneDurée (h, m, s + 1)
sinon si m < 59 alors uneDurée (h, m + 1, 0)
sinon uneDurée (h + 1, 0, 0)
Questions :
1) Spécification du Type Concret de Données Durée
1.1) Vous êtes le concepteur du TAD Durée et vous souhaitez en donner une
incarnation dans un langage de programmation. En vous appuyant sur le profil des
opérations de la spécification fonctionnelle du type abstrait Durée, écrire la
spécification de chaque sous-programme en langage algorithmique : nom du sous-
programme, rôle du sous-programme en un court commentaire, paramètres en entrée,
paramètres en sortie, paramètres en mise à jour, ... Tout paramètre d'une procédure
ou d'une fonction ainsi que tout résultat de fonction sera correctement typé.
1.2) En reprenant les en-têtes de la question précédente et les propriétés données
dans le sujet, fournir la spécification du type concret Durée. On exportera les
opérations daffectation (<-) et de comparaison (= et /=) de deux durées.
2) Implémentation du Type Abstrait de Données Durée
2.1) Vous êtes maintenant le programmeur du TAD Durée et vous avez en charge
dimplémenter le type abstrait (concret) Durée spécifié par le concepteur. Définir en
langage algorithmique le type Durée par un enregistrement.
2.2) En respectant la spécification des sous-programmes et en utilisant les
propriétés du type abstrait Durée, programmer en langage algorithmique les
différentes opérations spécifiées.
2.3) Fournir limplémentation du type abstrait Durée.
2.4) Vous remarquez quune durée peut aussi se coder par un entier mémorisant
son nombre de secondes. Définir en langage algorithmique un tel type Durée et
programmer dans cette représentation les opérations du type.
2.5) Fournir la spécification et limplémentation du type dans cette nouvelle
représentation.
Merci d'avance Any