• Aucun résultat trouvé

TP n°5 : classes, héritage, composition en C++ En cas de difficulté, demandez un indice ou une explication à l'enseignant. Chaque exercice doit faire l’objet d’une validation expérimentale poussée

N/A
N/A
Protected

Academic year: 2022

Partager "TP n°5 : classes, héritage, composition en C++ En cas de difficulté, demandez un indice ou une explication à l'enseignant. Chaque exercice doit faire l’objet d’une validation expérimentale poussée"

Copied!
1
0
0

Texte intégral

(1)

TP n°5 : classes, héritage, composition en C++

En cas de difficulté, demandez un indice ou une explication à l'enseignant. Chaque exercice doit faire l’objet d’une validation expérimentale poussée.

Exercice 1 (acquisition)

Vous devez réaliser une classe PileInt destinée à implanter une pile d’entiers représentée à l’aide d’un tableau.

La classe pileInt doit disposer d’une constructeur prenant en paramètre la capa- cité de la pile à créer, ainsi que d’une méthode void push(int x) permettant d’empi- ler un entier x et d’une méthode int pop() permettant de dépiler un entier.

Les erreurs (dépassement de capacité, dépiler dans une pile vide) seront gérées par affichage d’un message et arrêt du programme.

Compétence : classes.

Exercice 2 (consolidation)

Vous devez améliorer la classe PileInt de l’exercice 1 en lui ajoutant deux méthodes privées : void moresize(int d) et void lessSize(int d), qui augmente et diminue respectivement la capacité de la pile, ainsi qu’un mécanisme d’ajustement automa- tique de cette capacité en cours d’utilisa- tion.

L’appel de push avec une pile pleine doit augmenter de 10 sa capacité, tandis que l’appel de pop avec une pile dans laquelle il reste plus de 10 places doit réduire de 10 sa capacité.

Compétence : classes.

Exercice 3 (acquisition)

Vous devez réaliser une petite application de gestion d’un carnet de rendez-vous. Chaque rendez-vous a un objet (i.e., une chaîne de caractères indiquant de quoi il s’agit) et occupe une plage horaire caractérisée par une date, une heure de début et une heure de fin.

Les heures de début et de fin sont spécifiées à la minute près. Le carnet de rendez-vous, ou agenda, représente une liste de rendez-vous (représentée par un tableau) et doit, dans sa version initiale, permettre d’ajouter de nouveaux rendez-vous (avec une méthode add) et d’afficher tous les rendez-vous déjà mémorisés.

Vous devez bien évidemment décomposer autant que possible votre application en classes et utiliser des variables d’instance privées.

Compétence : héritage et composition.

Exercice 4 (consolidation)

Vous devez améliorer l’application d’agenda de l’exercice 3 en la dotant de fonctionnalités supplémentaires (à implanter et tester séparément, une à la fois) :

● Vérifier l’absence de chevauchement de rendez-vous dans l’agenda.

● Calculer la durée cumulée des rendez-vous programmés dans une période spécifiées par deux dates données.

● Retirer un rendez-vous de l’agenda.

● Retirer de l’agenda tous les rendez-vous situés avant une date donnée.

● Rechercher, dans une période donnée, la date et l’heure auxquelles un rendez-vous d’une durée donnée peut être insérer au plus tôt sans créer de chevauchement.

● Réaliser un affichage de l’occupation d’une période donnée (spécifiée par une date de début et une date de fin) en représentant par un ‘X’ chaque heure occupée par au moins une rendez-vous.

Chacune de ces fonctionnalités doit être implantée sous la forme d’une méthode publique acceptant les paramètres appropriés. Vous pouvez en outre ajouter des méthodes privées permettant de réaliser des traitements susceptibles de simplifier les tâches de certaines méthodes publiques, comme par exemple une méthode qui trie les rendez-vous de l’agenda par ordre chronologique.

Compétence : héritage et composition.

Références

Documents relatifs

Ainsi, le taux d’utilisation du glu- cose est diminué à partir de l’âge de 60 ans (3) ; l’activité physique aérobie améliore la sensibilité à l’insuline et les

A partir du 22 janvier, un ambassadeur des métiers avec le concours d’un référent Proch’Orientation sera prêt à échanger pendant 45 minutes avec les élèves via la

« Venez jouer avec le Père Noël de lumière » 12 au 24 décembre Place du présidial Le Palais s’anime pour Noël.. Façade du Palais de

La page Modifier des plages horaires vous permet de modifier votre horaire en y indiquant les heures auxquelles vous serez hors ligne ou pas disponible pour prendre des

Allez jeter un coup d’œil dans le lexique et vous verrez que c’est un tissu trop fin pour ce projet.. Vous lisez que c’est de la

Une première journée sera consacrée aux prédictions quant à la jurisprudence de la Cour de Justice de l'Union Européenne en matière de Droit d'auteur et Droit

Dans cet entretien, Mohamed Hassan Bensalah, Président de la FMSAR, la Fédération Marocaine des Sociétés d’Assurances et de Réassurance, nous donne son point de vue

Comme la 2 e dose peut maintenant être administrée dans un délai de 56 jours suivants la date d’administration de la 1 re dose, les plages de rendez-vous disponibles tiennent