SLAM2 Programmation Objet Devoirs 1 et 2 2014
BTS Services informatiques aux organisations
Spécialité Solutions logicielles et applications métiers
Programmation objet
Première année
Devoir 1
82950CTPA01
1/4
1. Écrire l’algorithme de la fonction totalJour() en utilisant les fonctions disponibles.
Pour commencer, ce n'est pas une méthode mais une fonction autonome qui est demandée. Cette fonction est simple à écrire, cependant il fallait au préalable avoir bien lu le sujet et compris tous les aspects.
Fonction totalJour (mtNuit : Réel, mtRepas1 : Réel, mtRepas2 : Réel) : Réel
VAR vAPayerJ, plafNuit, plafRepas : Réel
Début
plafNuit Å getPlafond ("N") plafRepas Å getPlafond ("R") si mtRepas2 <> 0 alors vAPayerJ Å minimum(mtRepas1 + mtRepas2 , 2 * plafRepas * 1.1) sinon vApayerJ Å minimum(mtRepas1, plafRepas) fsi vAPayerJ vApayerJ + minimum(mtNuit, plafNuit) retourner vAPayerJ
Fin
2. Écrire la méthode getCode de la classe Région.
C'est un simple getter.
Région::getCode() : Chaîne debut return code fin 3. Écrire la méthode addStat de la classe Région.
L'idée est de créer un objet de type Stat à partir des informations reçues en paramètre, et d'ajouter cet objet dans la collection mesStats. Vous pouviez aussi écrire le tout en une seule ligne (ce qui évite la déclaration d'une variable locale).
Région::addStat(modele:Chaîne, marque:Chaîne, nbpret:Entier, nbrecouvr:Entier) unStat : Stat debut unStat Å new Stat(modele, marque, nbpret, nbrecouvr) mesStats.ajouter(unStat) fin
4. Écrire la méthode limitrophe de la classe Région.
Il suffit de parcourir la collection lesRegionsLimitrophes pour voir si la région passée en paramètre fait partir de cette collection. Le "pour chaque" est le plus facile, mais vous pouviez utiliser un "pour" classique et utiliser la méthode extraireObjet. Attention, il fallait utiliser la méthode equals pour comparer les objets.
Région::limitrophe(uneRegion : Région) : booléen debut pour chaque regionLimitrophe dans lesRegionsLimitrophes
si