Définir une classe Cl_Temperature permettant d'effectuer les conversions entre degrés Celsius, degrés Fahrenheit et degrés Kelvin. On rappelle les équivalences suivantes :
0°C = 32°F = 273,15°K
100°C = 212°F = 373,15°K
(rem. : il ne peut pas exister de température inférieure à 0°K)La partie publique de la classe sera définie comme suit (les trois propriétés sont en lecture/écriture) :
Cl_Temperature est une classe
public
propriété DegreCel est un réel
propriété DegreFar est un réel
propriété DegreKel est un réel
fin classe
On vous demande de mettre en uvre un porte-monnaie électronique protégé par mot de passe au moyen d'une classe Cl_PorteMonnaie.
La structure de cette classe est la suivante :
Cl_PorteMonnaie
est une classe
prive
Montant est un réel
CodeSecret est une chaine de 20 car
public
propriété Solde est un réel en lecture seule
fonction InitCodeSecret (E: Code est une chaine de 20 car) renvoie un booléen
fonction ChangerCode (E: AncienCode, NouveauCode sont des chaines de 20 car) renvoie un booléen
fonction Payer (E: Code est une chaine de 20 car, Prix est un réel) renvoie un booléen
procedure Remplir (E: MontantApporté est un réel positif)
fin classeLors de la création d'un porte monnaie (existence d'un objet), il doit être vide et sans mot de passe.
Les trois fonctions renvoient la valeur VRAI si l'opération correspondante s'est correctement effectuée. Pour des mesures de sécurité, la fonction InitCodeSecret n'est utilisable qu'une seule fois et AVANT de remplir le porte-monnaie la première fois.
Le code secret est une chaine d'au moins 4 caractères et d'au plus 20 caractères à choisir parmi l'ensemble suivant : alphabet minuscule non accentué, alphabet majuscule non accentué, chiffres, soient 62 caractères différents.
Le changement de code secret ne pourra se faire que si l'ancien code est correctement fourni !
Un paiment ne pourra être effectué que si le porte monnaie contient une somme suffisante !