Outils pour utilisateurs

Outils du site


departement_info:personnels:pb:pa3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
departement_info:personnels:pb:pa3 [2025/06/06 11:40] – [Exercice] Brutus Philippedepartement_info:personnels:pb:pa3 [2025/06/07 13:18] (Version actuelle) – [Récapitulons] Brutus Philippe
Ligne 498: Ligne 498:
 Ce travail est à rendre par courrier électronique sous l'intitulé "TP09 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). Ce travail est à rendre par courrier électronique sous l'intitulé "TP09 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs).
  
-{{:departement_info:personnels:pb:pa3:lst27.zip|cette version du projet}} implante un état dans la classe Alarme et définit une variable d'instance de type Gardien dans la classe Controleur pour stocker des Mémentos à l'ajout, la modification ou la suppression d'une alarme, ce qui permet de définir une méthode "annule" pour restaurer la situation précédente de la liste d'alarmes.+{{:departement_info:personnels:pb:pa3:lst27.zip|Cette version du projet}} implante un état dans la classe Alarme et définit une variable d'instance de type Gardien dans la classe Controleur pour stocker des Mémentos à l'ajout, la modification ou la suppression d'une alarme, ce qui permet de définir une méthode "annule" pour restaurer la situation précédente de la liste d'alarmes.
  
 ==== Récapitulons ==== ==== Récapitulons ====
  
-Les arrangements caractéristiques vus précédemment sont reconnus comme bonnes pratiques en réponse à des problèmes récurrents. On les appelle {{:departement_info:personnels:pb:pa3:carte_des_patrons.pdf|patrons de conception}}.+Les arrangements caractéristiques vus précédemment sont reconnus comme bonnes pratiques en réponse à des problèmes récurrents. Ils décrivent les grandes lignes d'une solution. On peut les modifier ou les adapter en fonction des besoins. On les appelle {{:departement_info:personnels:pb:pa3:patrons.pdf|patrons de conception}}. 
 + 
 +{{:departement_info:personnels:pb:pa3:carte_des_patrons.pdf|Carte des patrons de conception}}. 
 + 
 +==== Contrôle de connaissances ==== 
 + 
 +L'Unité d'Enseignement est évaluée par un examen écrit noté sur 20 auquel s'ajoute un bonus pouvant aller jusqu'à 3 points pour les exercices rendus. 
 + 
 +{{:departement_info:personnels:pb:pa3:sujet1_2021.pdf|le sujet de l'examen de première session de 2021 à Caen}} 
 + 
 + public class TacheElementaire extends Tâche{ 
 +   private int coût; 
 +   public TacheElementaire(String nom, int coût) throws RuntimeException{ 
 +     super(nom); 
 +     if (coût < 0) 
 +       throw new RuntimeException("Tentative de création d'une tâche avec un coût (" + coût + ") négatif !"); 
 +     this.coût = coût; 
 +   } 
 +   public int coût() { 
 +     return coût; 
 +   } 
 +
 +  
 + import java.util.List; 
 + import java.util.LinkedList; 
 +  
 + public class TâcheComplexe 
 + extends Tâche 
 + //implements TâcheI 
 +
 +     private List<Tâche> contenu; 
 +     public TâcheComplexe(String nom) { 
 +       super(nom); 
 +       contenu = new LinkedList<Tâche>(); 
 +     } 
 +     public void ajoute(Tâche t) { 
 +       contenu.add(t); 
 +     } 
 +     public int coût() { 
 +       int total = 0; 
 +       for(Tâche t : contenu) { 
 +         total += t.coût(); 
 +       } 
 +       return total; 
 +     } 
 +     public int taille() { 
 +       return contenu.size(); 
 +     } 
 +     public void retire(int index) { 
 +       contenu.remove(index); 
 +     } 
 +
 +  
 + //=============================================== 
 +  
 + interface Image { 
 +     public void displayImage(); 
 +
 + class RealImage implements Image { 
 + //... 
 +
 +  
 + class ProxyImage implements Image { 
 +     private RealImage image; 
 +   private String nomFichier; 
 +     public ProxyImage(String filename) { 
 +         image = null; 
 +     nomFichier = filename; 
 +     } 
 +     public void displayImage() { 
 +         if (image == null) 
 +       image = new RealImage(nomFichier); 
 +     image.displayImage(); 
 +     } 
 +
 +  
 + public class LesImages { 
 +   private List<Image>contenu; 
 +   public LesImages() { 
 +     contenu = new LinkedList<ProxyImage>(); 
 +   } 
 +   public void ajoute(String filename) { 
 +     contenu.add(new ProxyImage(filename); 
 +   } 
 +   public void displayImage(int index) { 
 +     contenu.get(index).displayImage(); 
 +   } 
 +   public int taille() { 
 +     return contenu.size(); 
 +   } 
 +
 +  
 + LesImages images = new LesImages(); 
 + images.ajoute("fruit"); 
 + images.displayImage(0); 
 +  
 + 
departement_info/personnels/pb/pa3.1749210037.txt.gz · Dernière modification : 2025/06/06 11:40 de Brutus Philippe

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki