UHALiens [pm04] - Exercice

Documents pareils
alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

L exclusion mutuelle distribuée

TP3 : Manipulation et implantation de systèmes de fichiers 1

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Feuille TD n 1 Exercices d algorithmique éléments de correction

GOL502 Industries de services

COMMUNAUTE ECONOMIQUE ET MONETAIRE DE L AFRIQUE CENTRALE LA COMMISSION

Cours A7 : Temps Réel

COMPTA. Description des Commandes

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

TP1 : Initiation à Java et Eclipse

TD/TP PAC - Programmation n 3

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Promouvoir son labo à travers les réseaux sociaux

Initiation à l algorithmique

Programmation linéaire

un module de simulation des évolutions urbaines Présentation

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Chaîne de production des médicaments

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

TD/TP PAC - Programmation n 3

Management par les processus Retour sur Investissement. Lionel Di Maggio Master 1 MIAGE

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Rectorat de Grenoble

Evolution du pouvoir d'achat du point d'indice net majoré (INM) depuis le 1er janvier 2000

Microsoft Excel : tables de données

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

UNIV. LA ROCHELLE (IUT) Référence GALAXIE : 4099

RECUEIL POLITIQUE DES

1 Recherche en table par balayage

Le langage C. Séance n 4

MANUEL UTILISATEUR DU SITE D INSCRIPTIONS FCL1.028 DGAC POUR LES CANDIDATS AUX CONTROLES DE COMPETENCES LINGUISTIQUES LANGUE ANGLAISE ORGANISES PAR LA

Système Principal (hôte) 2008 Enterprise x64

Latitude N Longitude E Altitude 376 m RÉSUMÉ MENSUEL DU TEMPS DE JANVIER 2014

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

OCL - Object Constraint Language

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

TP3 : Creation de tables 1 seance

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Statuts de la Mutuelle Des Inspecteurs Et Officiers Des Douanes Du Cameroun TITRE I DISPOSITIONS GENERALES CHAPITRE I

Algorithmique des Systèmes Répartis Protocoles de Communications

Chapitre 4 : Exclusion mutuelle

La classification automatique de données quantitatives

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Master MIS 2ème année, parcours Génie Civil Année

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Modélisation multi-agents - Agents réactifs

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

UML et les Bases de Données

L Expertise numérique avec la tablette

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Inscrire un nouvel élève

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Playzilla - Chargement par clé usb

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Travaux Dirigés n 1 : chaînes de caractères

DIRECTION GÉNÉRALE DE L'INTERPRÉTATION ET DES CONFÉRENCES UNITÉ DES TECHNICIENS DE CONFÉRENCES

Arts, Lettres, Langues. Langues, Littératures et Civilisations Etrangères (LLCE) spécialité Anglais

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Optimisation for Cloud Computing and Big Data

Génie Logiciel avec Ada. 4 février 2013

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Agrégation des portefeuilles de contrats d assurance vie

Genie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost

Application de K-means à la définition du nombre de VM optimal dans un cloud

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Bases de données. Chapitre 1. Introduction

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Écriture de journal. (Virement de dépense)

La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

REGLEMENTATION PEDAGOGIQUE DES STAGES A L UNIVERSITE PARIS DESCARTES

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Calculabilité Cours 3 : Problèmes non-calculables.

LES PRESTATIONS D ASSURANCE TRAITEMENT (Pour une invalidité de 104 semaines et moins)

Introduction au datamining

CARTE ACHAT. Yolande Sallent

WEA Un Gérant d'objets Persistants pour des environnements distribués

Saisie des chauffe-eau thermodynamiques à compression électrique

Application 1- VBA : Test de comportements d'investissements

Liste des sujets de mastère MIS 2011/2012

Transcription:

UHALiens [pm04] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 10 avril 2015 Table des matières 1 UHALiens / pg-uhaliensc1 (alg, TD) 1 1.1 Hiérarchie de classes............................. 1 1.2 Classe de base................................. 1 1.3 Classes des étudiants............................. 2 1.4 Classes du personnel............................. 3 1.5 Gestionnaire des liens............................. 3 1.6 Programme de test.............................. 5 1 UHALiens / pg-uhaliensc1 (alg, TD) Cet exercice aide la direction d une université à gérer les personnes qui la fréquentent. 1.1 Hiérarchie de classes La direction de l Université (ici l UHA) souhaite stocker dans un gestionnaire de «liens» des informations sur quatre catégories de personnes : Les enseignants. Les secrétaires. Les étudiants d échange. Les étudiants réguliers. Chaque catégorie de personnes est décrite par son nom, l année où il est arrivé à l UHA et d autres informations spécifiques à sa catégorie. Créez une hiérarchie de classes permettant la gestion des UHALiens. 1.2 Classe de base Définissez une classe Lien qui représente les liens (classe de base). Incluez les attributs communs : nom et annee. 1

Unisciel algoprog UHALiens [pm04] 2 Écrivez un constructeur qui initialise les attributs (nom et année). Écrivez le destructeur virtuel qui ne fait rien (classe de base). Écrivez les accesseurs getnom du nom et getannee de l année. Écrivez une méthode virtuelle afficher qui affiche les attributs. 1.3 Classes des étudiants On distingue : Les étudiants d échange. Chaque étudiant d échange est décrit par son nom, l année où il est arrivé à l UHA, le nom de la section dans laquelle il est inscrit, ainsi que le nom de son université d origine. Les étudiants réguliers. Ce sont ceux qui suivent la totalité de leurs études à l UHA. Chaque étudiant régulier est décrit par son nom, l année où il est arrivé à l UHA, le nom de la section dans laquelle il est inscrit et son résultat à l examen final. Pour les étudiants en 1è année, on utilisera une estimation de son résultat à cet examen. Définissez une classe Etudiant qui hérite de Lien et qui représente les liens des étudiants. Incluez l attribut complémentaire : section. Écrivez un constructeur qui initialise les attributs (nom, année, section). Écrivez l accesseur getsection de la section. Définissez une classe Regulier qui hérite de Etudiant et qui représente les liens des étudiants réguliers. Incluez l attribut complémentaire : exam. Écrivez un constructeur qui initialise les attributs (nom, année, section, exam). Écrivez l accesseur getexam de la note de l examen. De même, définissez une classe Echange qui hérite de Etudiant et qui représente les liens des étudiants d échange. Incluez l attribut complémentaire : univ (université d origine).

Unisciel algoprog UHALiens [pm04] 3 Écrivez un constructeur qui initialise les attributs (nom, année, section, université). Écrivez un accesseur getuniv de l université d origine. 1.4 Classes du personnel On distingue : Les enseignants. Chaque enseignant est décrit par son nom, l année où il est arrivé à l UHA, le nom de son laboratoire et le nom de la section dans laquelle il enseigne (on supposera que chaque enseignant s occupe d une seule section). Les secrétaires. Chaque secrétaire est décrite par son nom, l année où elle est arrivée à l UHA, ainsi que par le nom de son laboratoire. Définissez une classe Personnel qui hérite de Lien et qui représente les liens du personnel. Incluez les attributs complémentaire : labo (laboratoire) et salaire. Écrivez un constructeur qui initialise les attributs (nom, année, laboratoire, salaire). Écrivez des accesseurs getlabo du laboratoire et getsalaire du salaire. Définissez une classe Enseignant qui hérite de Personnel et qui représente les liens des enseignants. Incluez l attribut complémentaire : section. Écrivez un constructeur qui initialise les attributs (nom, année, laboratoire, salaire, section). Écrivez un accesseur getsection de la section. De même, définissez une classe Secretaire qui hérite de Personnel et qui représente les liens des secrétaires. Écrivez un constructeur qui initialise les attributs (nom, année, laboratoire, salaire).

Unisciel algoprog UHALiens [pm04] 4 1.5 Gestionnaire des liens Définissez une classe UHALiens qui modélise le gestionnaire des liens. Incluez un vecteur liens de pointeurs sur Lien. Interdisez la recopie et l affectation. Écrivez un constructeur par défaut qui ne fait rien. Écrivez le destructeur qui fera appel à la méthode vider (définie plus loin) qui libère les instances dynamiques. Écrivez un accesseur size de la taille (nombre de liens). Écrivez une méthode ajouter(c) qui ajoute le pointeur sur un Lien c au gestionnaire. Écrivez une méthode interne libererinstances qui libère les instances dynamiques. Écrivez une méthode afficher qui affiche l objet. Déduisez une méthode vider qui vide l objet. On souhaite charger l ensemble des liens depuis un fichier et créer dynamiquement les instances. Par conséquent, écrivez : Une méthode interne ajouterregulier(is) qui lit les caractéristiques d un étudiant régulier depuis un flux d entrée is et l ajoute (instance dynamique) au parc. De même, une méthode interne ajouterechange(is) pour un étudiant d échange. De même, une méthode interne ajouterenseignant(is) pour un enseignant. Enfin, une méthode interne ajoutersecretaire(is) pour une secrétaire. Déduisez une méthode charger(fn) qui charge l ensemble des liens depuis un nom de fichier fn par appel aux méthodes internes. La méthode retournera Vrai si l opération de chargement s est effectuée correctement, Faux sinon. Supposez qu il y a une ligne d information par instance et que le premier caractère sur la ligne identifie la catégorie de liens : R ou r (étudiant Régulier) H ou h (étudiant d échange) M ou m (enseignant)

Unisciel algoprog UHALiens [pm04] 5 S ou s (Secrétaire) Écrivez une méthode interne decompte<t> qui calcule et renvoie le nombre de liens de type T du parc. Déduisez une méthode statistiques(annee) qui affiche les statistiques relativement à une annee, à savoir : Nombre de liens Nombre d Etudiant Nombre de Personnel Durée moyenne de présence dans l Université 1.6 Programme de test Écrivez un algorithme qui charge les données depuis un nom de fichier. Prévoyez les opérations suivantes dans votre programme : Affichage des informations enregistrées sur chaque personne. Affichage du nombre d UHALiens, d étudiants et de personnel parmi les personnes enregistrées. Affichage du nombre d années moyen pendant lesquelles les personnes enregistrées ont fréquentés l UHA. Téléchargez le fichier des données. @[dt-uhaliens1.txt] r Gaston_Peutimide 2013 SSC 12.0 // etudiant r Yvan_Rattrapeur 2012 SSC 5 // etudiant h Yves_Borgue 2013 Informatique Strasbourg // etudiant m Mathieu_Matheu 1968 LMEP 3500 Physique // personnel s Sophie_Scribona 1985 LMT 1800 // personnel