ED n·3 Algorithmique et Programmation--------Corrigé



Objectifs
 



Exercice 1

Enoncé

On veut représenter les cours dispensés dans une école. Un cours est caractérisé par la matière enseignée ( maths, anglais, français, histoire) , le nombre d'inscrits, le jour (sauf les samedi et dimanche) et son heure de début (entre 9h et 17h). Chaque cours a une durée d'une heure.
 

Question 2

Ecrire la procédure afficheCours qui prend en argument un cours et affiche les informations qui le caractérisent.
 

Travail demandé
 

Solution

-- les Types sont déclarés dans la question précédente
-- il est préférable de nommer cette procédure put plutôt que afficheCours
-- on suppose que le paquetage Text_io a été importé
 with Ada.Text_io;use Ada.Text_io;
 procedure put(c:in Cours) is
 begin
      put("Le cours de ");put(Matiere'image(c.laMatiere));
      put(" a lieu a ");put(Integer'image(c.heure));put(" heures le ");
      put(Jour'image(c.leJour));put(" et compte ");put(Integer'image(c.nbInscrits));
      put_line(" inscrits");new_line;
 end put;

Autre solution

-- utilisation des paquetages génériques
with Ada.Text_io;use Ada.Text_io;
 procedure put(c:in Cours) is
 package matiere_io is new enumeration_io(Matiere);
 use matiere_io;
 package jour_io is new enumeration_io(Jour);
 use jour_io;
 begin
      put("Le cours de ");put(c.laMatiere);
      put(" a lieu a ");put(c.heure,width=>2);put(" heures le ");
      put(c.leJour);put(" et compte ");put(c.nbInscrits,width=>2);
      put_line(" inscrits");new_line;
 end put;