Exercice 01
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
Solution
class Point { double _x, _y; Point(this._x, this._y); void move(double mx, double my) { _x += mx; _y += my; } void display() { print("x : $_x y : $_y"); } } void main() { var pt = Point(2, 6.5); pt.display(); pt.move(-2, 3.25); pt.display(); }
Exercice 02
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
Solution
-
Question 1
- Réponse : La méthode virement fait intervenir deux objets de type Compte :
this, l’objet sur lequel la méthode est appelée et destination, le paramètre de la méthode. Le virement s’effectue dethisvers le paramètre de la méthode. L’argent est retiré d’un compte et déposé sur l’autre.
Question 2 et Question 3
import 'dart:io'; import 'Compte.dart'; void main() { Compte martin, jean; Listtable = List .filled(11, Compte()); martin = Compte(); jean = Compte(); // dépôt de 500 euros sur le premier compte. martin.deposer(500); // dépôt de 1000 euros sur le second compte. jean.deposer(1000); // retrait de 10 euros sur le second compte. jean.retirer(10); // virement de 75 euros du premier compte vers le second. martin.virerVers(75, jean); // affichage des soldes des deux comptes. stdout.write("Compte de martin, "); martin.afficher(); print("---------------------------------"); stdout.write("Compte de jean, "); jean.afficher(); print("----------------------------------"); //Question03 for (int i = 0; i < table.length; i++) { table[i] = Compte(); table[i].deposer(200 + i * 100); } for (int i = 0; i < table.length; i++) { for (int j = i + 1; j < table.length; j++) { table[i].virerVers(20, table[j]); } } for (int i = 1; i < table.length; i++) { stdout.write("Compte numero $i , "); table[i].afficher(); print("----------------------------------"); } } - Réponse : La méthode virement fait intervenir deux objets de type Compte :
- class: Compte
class Compte { int solde = 0; void deposer(int montant) { solde = solde + montant; } void retirer(int montant) { solde = solde - montant; } void virerVers(int montant, Compte destination) { retirer(montant); destination.deposer(montant); } void afficher() { print("solde: $solde"); } }
Exercice 03
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
Solution
Classe Compteimport 'dart:io'; import 'Compte.dart'; void main() { Compte martin, jean; Listtable = List .filled(11, Compte()); martin = Compte(); jean = Compte(); // dépôt de 500 euros sur le premier compte. martin.deposer(500); // dépôt de 1000 euros sur le second compte. jean.deposer(1000); // retrait de 10 euros sur le second compte. jean.retirer(10); // virement de 75 euros du premier compte vers le second. martin.virerVers(75, jean); // affichage des soldes des deux comptes. stdout.write("Compte de martin, "); martin.afficher(); print("---------------------------------"); stdout.write("Compte de jean, "); jean.afficher(); print("----------------------------------"); //Question03 for (int i = 0; i < table.length; i++) { table[i] = Compte(); table[i].deposer(200 + i * 100); } for (int i = 0; i < table.length; i++) { for (int j = i + 1; j < table.length; j++) { table[i].virerVers(20, table[j]); } } for (int i = 1; i < table.length; i++) { stdout.write("Compte numero $i , "); table[i].afficher(); print("----------------------------------"); } } // ignore: file_names import 'dart:web_gl'; class Compte { int solde = 0; String? titulaire; Compte(String n) { titulaire = n; } void deposer(int montant) { solde = solde + montant; } void retirer(int montant) { solde = solde - montant; } void virerVers(int montant, Compte destination) { destination.retirer(montant); destination.deposer(montant); } void afficher() { print("Compte de $titulaire, solde: $solde"); } }
Exercice 04
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
Solution
class Person { Person({ required this.name, required this.age, required this.height, }); final String name; final int age; final double height; void printDescription() { print("Je m'appelle ${person['name']}. J'ai ${person['age']} ans, je mesure ${person['height']} mètres."); } } void main() { final p1 = Person(name: 'Mohamed', age: 36, height: 1.84); final p2 = Person(name: 'Mouna', age: 44, height: 1.76); p1.printDescription(); p2.printDescription(); }
Exercice 05
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
Solution
// Définition de la classe Enseignant class Enseignant { String nom; String prenom; int heuresCours; Enseignant(this.nom, this.prenom, this.heuresCours); double coutUniversite() { return 0.0; // La méthode est redéfinie dans les sous-classes } } // Définition de la classe EnseignantChercheur, qui hérite de Enseignant class EnseignantChercheur extends Enseignant { EnseignantChercheur(String nom, String prenom, int heuresCours) : super(nom, prenom, heuresCours); @override double coutUniversite() { int heuresComplementaires = (heuresCours > 192) ? heuresCours - 192 : 0; double salaireFixeAnnuel = 2000 * 12; double salaireHeuresComplementaires = heuresComplementaires * 40; return (salaireFixeAnnuel + salaireHeuresComplementaires) * 1.0; // Pourcentage de charges (100%) } } // Définition de la classe Vacataire, qui hérite de Enseignant class Vacataire extends Enseignant { String organisme; Vacataire(String nom, String prenom, int heuresCours, this.organisme) : super(nom, prenom, heuresCours); @override double coutUniversite() { return (heuresCours * 40) * 1.0; // Pourcentage de charges (100%) } } // Définition de la classe Doctorant, qui hérite de Enseignant class Doctorant extends Enseignant { Doctorant(String nom, String prenom, int heuresCours) : super(nom, prenom, heuresCours); @override double coutUniversite() { int heuresMax = (heuresCours > 96) ? 96 : heuresCours; return (heuresMax * 30) * 1.0; // Pourcentage de charges (100%) } } void main() { // Exemple d'utilisation Enseignant enseignant1 = EnseignantChercheur("Dupont", "Jean", 200); Enseignant enseignant2 = Vacataire("Martin", "Alice", 150, "OrganismeX"); Enseignant enseignant3 = Doctorant("Durand", "Paul", 120); print("Coût enseignant 1 : ${enseignant1.coutUniversite()} euros"); print("Coût enseignant 2 : ${enseignant2.coutUniversite()} euros"); print("Coût enseignant 3 : ${enseignant3.coutUniversite()} euros"); }