session 3 update

master
Juan 3 years ago
parent 4a04f6b0e2
commit 7e0339eeae

@ -115,7 +115,9 @@ La première est fausse : + n'est pas un opérande mais un opérateur
``` ```
objet abstrait jouet objet abstrait jouet
var protégée prix, poids, stock : chaînes; var protégée prix, poids : décimal;
var protégée stock : entier;
methode constructeur(prix,poids,stock) methode constructeur(prix,poids,stock)
ceci->prix = prix; ceci->prix = prix;
ceci->poids = poids; ceci->poids = poids;
@ -144,36 +146,3 @@ objet nounours étend jouet
fin methode; fin methode;
fin objet fin objet
``` ```
### autre exemple pour le code d'avant avec un stock à initialiser :
```
objet abstrait jouet
var protégée prix, poids, stock : chaînes;
methode constructeur(prix,poids)
ceci->prix = prix;
ceci->poids = poids;
ceci->stock = 0;
fin methode
methode ajouter(nombre=1)
ceci->stock = ceci->stock + nombre;
fin methode
methode diminuer(nombre=1)
ceci->stock = ceci->stock - nombre;
fin methode
fin objet
objet nounours étend jouet
var couleur, matière chaînes;
methode constructeur(prix,poids,couleur,matière)
parent->constructeur(prix,poids);
ceci->couleur = couleur;
ceci->matière = matière;
fin methode;
fin objet
/* pseudo code pour l'utiliser (cf image) */
```

@ -0,0 +1,115 @@
## Exemple partant de la dernière question du test.
```
objet abstrait jouet
var protégée prix, poids : décimal;
var protégée stock : entier;
methode constructeur(prix,poids)
ceci->prix = prix;
ceci->poids = poids;
ceci->stock = 0;
fin methode
methode ajouter(nombre=1)
ceci->stock = ceci->stock + nombre;
fin methode
methode diminuer(nombre=1)
ceci->stock = ceci->stock - nombre;
fin methode
fin objet
objet nounours étend jouet
var couleur, matière chaînes;
methode constructeur(prix,poids,couleur,matière)
parent->constructeur(prix,poids);
ceci->couleur = couleur;
ceci->matière = matière;
fin methode;
fin objet
/* pseudo code pour l'utiliser (cf image) */
```
## Exemple étendu pour gérer le stock d'un magasin de jouets
```
objet jouet
var nom, type, localisation : chaîne;
var privée prix : décimal;
var privée stock : entier;
methode constructeur(nom,type,localisation,prix);
ceci->nom = nom;
ceci->type = type;
ceci->localisation = localisation;
ceci->poids = poids;
ceci->stock = 0;
fin methode
methode ajouter(nombre=1)
ceci->stock = ceci->stock + nombre;
fin methode
methode diminuer(nombre=1)
ceci->stock = ceci->stock - nombre;
fin methode
methode donne_prix()
renvoyer ceci->prix;
fin methode;
methode donne_stock()
renvoyer ceci->prix;
fin methode;
fin objet
```
```
var fini : booléen;
var nom, type, localisation, reponse_fin : chaine;
var tdj : tableau;
var nb_jouet, stock : entier;
ver prix : decimal;
Tant que fini != vrai
Afficher "Nom du jouet ?"
Lire nom;
Afficher "Type ?"
Lire type;
Afficher "Cave ou salle ?"
Lire localisation;
Si localisation != "cave" Alors
localisation = salle
Fin si
Afficher "Stock ?"
Lire stock;
Afficher "Prix ?"
Lire prix;
tdj[nb_jouet] = nouveau jouet(nom,type,localisation,prix);
tdj[nb_jouet]->ajouter(stock);
nb_jouet = nb_jouet + 1;
Afficher "Jouet " ~ nb_jouet ~ " créé !";
Afficher "fini ?"
Lire reponse_fin
Si reponse_fin == "oui" Alors
fini = vrai
Fin si
Fin tant que
pour i = 0 ; i < nb_jouets ; i++
Afficher "Le jouet " ~ i ~ " est un " ~ tdj[i]->type ~ " nommé " ~ tdj[i]->nom ~ " et est dans la " ~ tdj[i]->localisation;
Afficher "Il y en a " ~ tdj[i]->donne_stock() ~ " disponibles";
fin pour
Loading…
Cancel
Save