SLAM2 Programmation Objet Devoirs 1 et 2 2014

Pages: 8 (2003 mots) Publié le: 20 mai 2015
82950CTPA0113

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)
fsivAPayerJ
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 laré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
siregionLimitrophe.equals(uneRegion) alors
retourner vrai
finsi
finpour
retourner faux
fin

82950CTPA01

2/4

5. Écrire la méthode getNbRecouvrements de la classe Région.
Là encore, il faut parcourir une collection, mais cette fois pour cumuler des informations.
Région::getNbRecouvrements() : Entier
total : Entier
debut
total Å 0
pour chaque stat dans mesStats
total Å total + stat.getNbRecouvrements()
finpour
retourner total
fin6. Écrire la fonction nouvelleRegion qui reçoit en paramètre un code de région et qui retourne
un objet de type Region, correspondant au code, s'il existe, ou null si le code n'existe pas.
Cette question permet surtout de contrôler que vous savez appeler une méthode statique, donc en passant par le
nom de la classe.
fonction nouvelleRegion(unCode : Chaîne) : Région
debut
retournerPasserelle.donneLaRégion(unCode)
fin

7. Écrire la méthode chargeRégion de la classe Passerelle.
Cette méthode est la plus complexe car il faut manipuler un curseur et surtout il faut non seulement créer un objet
de type Région mais ne pas oublier de remplir les stats de la région.
Il est possible de gérer cette méthode de deux façons :
x

soit, comme c'est le cas ici, avec une seule requête qui récupère toutesles lignes de la région. À partir de
là, si le curseur n'est pas vide, il suffit de récupérer le code et libellé de la région dès la première ligne pour
créer l'objet de type Région, puis de parcourir toutes les lignes du curseur pour ajouter les stats ;

x

soit en gérant deux curseurs : le premier, avec un distinct, pour récupérer la région, puis le second pour
récupérer les stats de la région.Passerelle::chargeRégion(unCode : Chaîne) : Région
jeu : JeuEnregistrements
requete : Chaîne
maRégion : Région
debut
maRégion Å null
requete Å "select V_codeRég, V_libRég, V_libMod, V_libMarq, V_nbPrêt, V_nbRec
from vRecouvrement where V_codeRég = '" + code + "'"
jeu Å new JeuEnregistrements(requete)
si non jeu.fini() alors
maRégion Å new Région(jeu.getValeur("V_codeRég"), jeu("V_libRég"))...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Ligne 1 2014 2
  • OBJET D ETUDE 2 2 1
  • Devoir 1 & 2 culture
  • Bts sio slam programmation objet 2
  • Devoir Maison 2 Sujet 1
  • SVT devoir n°1 (exercice 1 et 2)
  • Correction Devoir Eco 2 2014 15
  • Correction Devoir 1 Communication Et Influence 2014 2015

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !