CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

Dimension: px
Commencer à balayer dès la page:

Download "CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan"

Transcription

1 Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis Conan Les seuls documents autorisés sont ceux distribués en cours / BE / TP et mis à disposition sur le site Web du module, ainsi que vos notes personnelles. Notes en préambule : le travail doit se faire individuellement ; n oubliez pas d indiquer votre nom sur chaque feuille rendue ; soyez concis et précis, et justifiez vos réponses par des commentaires appropriés ; soyez rigoureux dans la syntaxe JAVA ; veillez à rendre une copie propre et lisible.

2 1 Étude de cas «Notes de frais» Nous proposons l analyse du cas d étude «Note de frais» que nous présentons ci-après et qui démontre l utilisation du patron de conception «Chaîne de responsabilité». Étude de cas. Le système dont le diagramme de classes est représenté en partie dans la figure 1 consiste en la gestion de notes de frais, et plus particulièrement, en la validation par les responsables hiérarchiques. Le système est composé de deux types d employés. Les «simples» Employés peuvent émettre des notes de frais et demander leur validation en les transmettant (notifiant) à leur supérieurhiérarchique. Cette première catégorie d employés est constituée des AssistantDeGestion, IngénieurDAffaire, IngénieurDeRecherche, et TechnicienDe- Laboratoire. La seconde catégorie constitue les EmployéHabilités, qui possèdent la faculté de valider les notes de frais de leurs subordonnés, et ce jusqu à un certain MONTANT_AUTORISÉ. Pour des raisons de sécurité, un EmployéHabilité ne peut pas valider ses propres notes de frais, mais doit les notifier à son supérieurhiérarchique. Si le montant de la note de frais dépasse le MONTANT_AUTORISÉ, alors la note de frais est notifiée au supérieurhiérarchique. Cette seconde catégorie d employés est constituée des ResponsableDÉquipe, DirecteurDUnité, VicePrésident, et Président. Dans notre étude de cas, le dernier maillon de la chaîne, qui est le Président, doit convoquer le bureau de la société pour valider une note frais dont le montant est supérieur au MONTANT_AUTORISÉ. La figure 3 montre un exemple d utilisation du patron de conception «Chaîne de responsabilité» dans la méthode main de la classe Main. La figure 4 quant à elle donne un exemple de messages affichés à l écran lorsque la méthode main est exécutée. Présentation de la modélisation disponible pour l implantation. Voici quelques détails sur le diagramme de classes de la figure 1 : un Employé possède un nom. Il est relié à 0..1 objet de classe EmployéHabilité. Il possède une méthode notifierrequête lorsqu il souhaite émettre une note de frais et la transmettre à son supérieur hiérarchique ; un EmployéHabilité possède la méthode traiterrequête pour valider les notes de frais notifiées par ses subordonnés. Pour des raisons de simplicité, nous limitons la navigabilité de l association entre les classes Employé et EmployéHabilité ; les attributs de classes MONTANT_AUTORISÉ des classes enfants de la classe EmployéHabilité sont des constantes ; une NoteDeFrais possède un montant et un booléen validé permettant de savoir si la note de frais est validé par un EmployéHabilité. La chaînehiérarchique permet de mémoriser la liste ordonnée de références sur des objets de classe EmployéHabilité. Un objet de classe EmployéHabilité est référencé par cette liste s il a déjà ou va traiter la requête de demande de validation de la NoteDeFrais. La figure 2 montre le diagramme de machine à états de la classe NoteDeFrais. Les questions suivantes permettent d implanter le système. Comme montré dans le diagramme de classes, toutes les classes font partie du paquetage notedefrais. Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 2

3 Questions Question 1 [4 pts] : écrivez tout le code de la classe NoteDeFrais. Voici quelques commentaires supplémentaires sur les méthodes : valider est utilisée pour valider la note de frais, c est-à-dire mettre le booléen validée à true ; ajoutachainehierarchique est utilisée par les méthodes traiterrequete : lorsque le montant de la note de frais dépasse le montant autorisé, l objet de type Employe- Habilite utilise la méthode ajoutachainehierarchique pour ajouter son supérieur hiérarchique dans la liste des personnes en charge de la validation de la note de frais ; tostringchainehierarchique présente dans une chaîne de caractères les personnes en charge de la note de frais, c est-à-dire l ayant déjà traitée ou allant la traiter. Répondez aussi à la question suivante : Si la classe Vector appartient au paquetage java.util, comment déclarez-vous son utilisation dans la classe NoteDeFrais? Réponse: package notedefrais ; import java. util. Vector ; public class NoteDeFrais { private double montant ; private boolean validee ; private Vector < EmployeHabilite > chainehierarchique ; private Employe employe ; public NoteDeFrais ( double montant, Employe employe ) { this. montant = montant ; this. employe = employe ; validee = false ; chainehierarchique = new Vector < EmployeHabilite >(); public double getmontant () { return montant ; public Employe getemploye () { return employe ; public void ajoutachainehierarchique ( EmployeHabilite employe ) { chainehierarchique. add ( employe ); public boolean getvalide () { return validee ; public void valider () { validee = true ; public String tostringchainehierarchique () { Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 3

4 return chainehierarchique. tostring (); Erreurs fréquemment observées : oubli des attributs d association vecteur du mauvais type oubli de la création du vecteur dans tostringchainehierarchique, parcours avec return dans la boucle On accepte cependant les attributs d association avec des Barème de correction sur 4 point(s) : Répartition : 0,5 paquetage notedefrais 0,5 attributs montant, validee, et employé (privé, type) (au moins 2 sur 3) 0,5 attribut chainehierarchique (privé, type) 0,5 constructeur (public, prototype) 0,5 initialisation des attributs avec la déclaration ou dans le constructeur 0,5 ajouterachainehierarchique 0,5 tostringchainehierarchique 0,5 import Question 2 [4 pts] : écrivez tout le code de la classe Employe. Voici quelques commentaires supplémentaires sur les méthodes : notifierrequete ajoute le supérieur hiérarchique de l employé à la chaîne hiérarchique mémorisée par la note de frais et appelle la méthode traiterrequete du supérieur hiérarchique. Si le supérieur hiérarchique n est pas connu, alors la méthode retourne null et aucun autre traitement n est effectué. Le traitement de ce cas d erreur par le mécanisme des exceptions est l objet de la question 6 ; nous vous demandons de redéfinir la méthode tostring. Répondez aussi à la question suivante : quel est le mécanisme Java qui interdit de créer des objets de classe Employé? Réponse: package notedefrais ; import java. util. Vector ; public abstract class Employe { private String nom ; private EmployeHabilite superieurhierarchique = null ; private Vector < NoteDeFrais > notesdefrais ; public Employe ( String nom ) { this. nom = nom ; notesdefrais = new Vector < NoteDeFrais >(); Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 4

5 public String getnom () { return nom ; public EmployeHabilite getsuperieurhierarchique () { return superieurhierarchique ; public void setsuperieurhierarchique ( EmployeHabilite sup ) { superieurhierarchique = sup ; public EmployeHabilite notifierrequete ( NoteDeFrais requete ) { if ( superieurhierarchique!= null ) { requete. ajoutachainehierarchique ( superieurhierarchique ); notesdefrais. add ( requete ); return superieurhierarchique. traiterrequete ( requete ); else { return null public String tostring () { return nom ; Barème de correction sur 4 point(s) : Répartition : 0,5 public abstract class 0,5 attributs nom, superieurhierarchique et notesdefrais (au moins 2 sur 3) 0,5 constructeur 0,5 getsuperieurhierarchique et setsuperieurhierarchique 0,5 notifierrequete, dont la valeur de retour 0,5 test nullité de superieurhierarchique 0,5 tostring 0,5 question de cours classe abstraite (ok si public class abstract sans commentaire) Question 3 [2 pts] : écrivez tout le code de la classe EmployeHabilite. Réponse: package notedefrais ; public abstract class EmployeHabilite extends Employe { public EmployeHabilite ( String nom ) { super ( nom ); public abstract EmployeHabilite traiterrequete ( NoteDeFrais requete ); Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 5

6 Erreurs fréquemment observées : méthode abstraite avec un corps de méthode ou sans le mot clef «abstract» Barème de correction sur 2 point(s) : Répartition : 0,5 extends 0,5 classe abstraite 0,5 constructeur avec appel a super(nom) 0,5 methode traiterrequete abstraite Question 4 [1 pt] : écrivez tout le code de la classe AssistantDeGestion, y compris la redéfinition de la méthode tostring. Réponse: package notedefrais ; public class AssistantDeGestion extends Employe { public AssistantDeGestion ( String nom ) { super ( nom public String tostring () { return "(" + super. tostring () + ", assistant de gestion )"; Barème de correction sur 1 point(s) : Répartition : 0,5 extends 0,5 constructeur avec appel a super(nom) 0,5 bonus si tostring correct avec l appel à super.tostring() Question 5 [4 pts] : écrivez tout le code de la classe ResponsableDEquipe, en faisant en sorte que l attribut MONTANT_AUTORISE soit une constante (c est-à-dire qu une fois qu il est affecté, sa valeur ne peut pas changer). Voici quelques informations supplémentaires sur les méthodes : traiterrequete possède deux comportements complémentaires. Si le montant est inférieur ou égal au montant autorisé alors un premier message est affiché à l écran pour indiquer que la note de frais sera validée par lui et un second message est affiché à l écran pour donner la liste des personnes ayant traité (vu passer) la note de frais. En outre la note de frais est validée. Dans le cas contraire, il notifie à son supérieur, c est-à-dire fait suivre la requête dans la chaîne de responsabilité. Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 6

7 nous vous demandons de redéfinir la méthode tostring. Réponse: package notedefrais ; public class ResponsableDEquipe extends EmployeHabilite { private final static double MONTANT_ AUTORISE = 500; public ResponsableDEquipe ( String nom ) { super ( nom ); public EmployeHabilite traiterrequete ( NoteDeFrais requete ) { EmployeHabilite result = null ; if ( requete. getmontant () <= MONTANT_ AUTORISE ) { System. out. println (" Votre Responsable d Équipe approuvera " + " votre note de frais d un montant de " + requete. getmontant () + " euros."); System. out. println (" Chaîne hiérarchique pour l approbation :" + requete. tostringchainehierarchique ()); requete. valider (); result = this ; else if ( getsuperieurhierarchique ()!= null ) { result = notifierrequete ( requete ); return result public String tostring () { return "(" + super. tostring () + ", responsable d équipe )"; Erreurs fréquemment observées : mot clef «final» pour rendre un attribut constant Barème de correction sur 4 point(s) : Répartition : 0,5 extends 0,5 attribut static 0,5 attribut final 0,5 constructeur avec appel a super(nom) 0,5 traiterrequete si montant inferieur au montant autorise (affichage + validation) 0,5 traiterrequete si montant superieur 0,5 valeur de retour de traiterrequete 0,5 tostring avec appel à super.tostring() Question 6 [3 pts] : dans cette question, nous complétons les classes étudiées dans les questions précédentes ainsi que la méthode main de la classe Main pour traiter par des exceptions le cas suivant : Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 7

8 l auteur de la méthode main de la classe Main a oublié de créer un objet de type President et l objet vp de type VicePresident n a pas de supérieur hiérarchique ; lorsque le problème de nullité est détecté, une exception est levée et relayée jusqu à la méthode main ; lorsque l utilisateur entre le montant «100000», la nouvelle méthode main affiche à l écran «(Laure, vice président) ne possède pas de supérieur hiérarchique!». Nous vous demandons : d écrire le code de la classe SuperieurHierarchiqueException utilisée dans cette question, d indiquer précisément (c est-à-dire en réécrivant les lignes de code concernées) les modifications que vous faites dans les classes étudiées dans les questions précédentes. Réponse: Voici les modifications à opérer: écrire une classe d exception SuperieurHierarchiqueException dans la classe Employe, dans la méthode notifierrequete, ajouter un throw lorsque nullité et throws à la signature dans la classe EmployeHabilite, dans la méthode traiterrequete, ajouter throws à la signature dans la classe ResponsableHierarchique, dans la méthode traiterrequete, ajouter throws à la signature dans la classe Main, dans la méthode main, ajout d un bloc try autour de l appel à la méthode notifierrequete et ajout d un bloc catch avec affichage du message de l exception Cela donne le code suit, fichier par fichier. Classe de l exception package notedefraisavecexception ; public class SuperieurHierarchiqueException extends Exception { private static final long serialversionuid = 1L; public SuperieurHierarchiqueException ( String message ) { super ( message ); Classe Employe, méthode notifierrequete package notedefraisavecexception ; import java. util. Vector ; public abstract class Employe { private String nom ; private EmployeHabilite superieurhierarchique = null ; private Vector < NoteDeFrais > notesdefrais ; public Employe ( String nom ) { this. nom = nom ; Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 8

9 notesdefrais = new Vector < NoteDeFrais >(); public String getnom () { return nom ; public EmployeHabilite getsuperieurhierarchique () { return superieurhierarchique ; public void setsuperieurhierarchique ( EmployeHabilite sup ) { superieurhierarchique = sup ; public EmployeHabilite notifierrequete ( NoteDeFrais requete ) throws SuperieurHierarchiqueException { requete. ajoutachainehierarchique ( superieurhierarchique ); if ( superieurhierarchique == null ) { throw new SuperieurHierarchiqueException ( this + " ne possède pas de supérieur hiérarchique!"); notesdefrais. add ( requete ); return superieurhierarchique. traiterrequete ( requete public String tostring () { return nom ; Classe EmployeHabilite, méthode traiterrequete package notedefraisavecexception ; public abstract class EmployeHabilite extends Employe { public EmployeHabilite ( String nom ) { super ( nom ); public abstract EmployeHabilite traiterrequete ( NoteDeFrais requete ) throws SuperieurHierarchiqueException ; Classe ResponsableDEquipe, méthode traiterrequete package notedefraisavecexception ; public class ResponsableDEquipe extends EmployeHabilite { private final static double MONTANT_ AUTORISE = 500; public ResponsableDEquipe ( String nom ) { super ( nom ); Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC4002 9

10 public EmployeHabilite traiterrequete ( NoteDeFrais requete ) throws SuperieurHierarchiqueException { EmployeHabilite result = null ; if ( requete. getmontant () <= MONTANT_ AUTORISE ) { System. out. println (" Votre Responsable d Équipe approuvera " + " votre note de frais d un montant de " + requete. getmontant () + " euros."); System. out. println (" Chaîne hiérarchique pour l approbation :" + requete. tostringchainehierarchique ()); requete. valider (); result = this ; else { result = notifierrequete ( requete ); return result public String tostring () { return "(" + super. tostring () + ", responsable d équipe )"; Classe MainAvecException, blocs try et catch package notedefraisavecexception ; import java. io. BufferedReader ; import java. io. IOException ; import java. io. InputStreamReader ; public class MainAvecException { public static void main ( String [] args ) throws IOException { IngenieurDeRecherche ingenieur = new IngenieurDeRecherche (" Louis "); ResponsableDEquipe responsable = new ResponsableDEquipe (" Luc "); DirecteurUnite directeur = new DirecteurUnite (" Léa "); VicePresident vp = new VicePresident (" Laure "); // President president = new President (" Leslie "); ingenieur. setsuperieurhierarchique ( responsable ); responsable. setsuperieurhierarchique ( directeur ); directeur. setsuperieurhierarchique ( vp ); // vp. setsuperieurhierarchique ( president ); double d; do { System. out. println (" Entrer le montant de votre note de frais."); System. out. print (" > "); d = Double. parsedouble ( new BufferedReader ( new InputStreamReader ( System.in )). readline ()); if (d > 0) { try { ingenieur. notifierrequete ( new NoteDeFrais (d, ingenie catch ( SuperieurHierarchiqueException e) { System. out. println (e. getmessage ()); System. out. println (); while (d > 0.0); System. out. println (" Fin de l application "); Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

11 Erreurs fréquemment observées : oubli du relais dans les méthodes intermédiaires Barème de correction sur 3 point(s) : Répartition : 0,5 classe SuperieurHierarchiqueException (extends Exception, constructeur) 0,5 dans la classe Employe, méthode notifierrequete avec throws 0,5 dans la classe Employe, test nullité et levée de l exception 0,5 dans la classe EmployeHabilite, méthode traiterrequete avec throws 0,5 dans la classe ResponsableDEquipe, méthode traiterrequete avec throws 0,5 pas de blocs try catch, hormis dans le main, qui n est pas demandé Question 7 [2 pts] : écrivez, en utilisant JUnit et en vous inspirant du scénario de la méthode main de la classe Main, un test de validation permettant de tester que la note de frais de «Louis» est validée par «Leslie». Réponse: package test ; import notedefraisavecexception. DirecteurUnite ; import notedefraisavecexception. EmployeHabilite ; import notedefraisavecexception. IngenieurDeRecherche ; import notedefraisavecexception. NoteDeFrais ; import notedefraisavecexception. President ; import notedefraisavecexception. ResponsableDEquipe ; import notedefraisavecexception. VicePresident ; import org. junit. After ; import org. junit. Assert ; import org. junit. Before ; import org. junit. Test ; public class JUnitNoteDeFrais { private IngenieurDeRecherche ingenieur ; private ResponsableDEquipe responsable ; private DirecteurUnite directeur ; private VicePresident vp; private President president public void setup () throws Exception { ingenieur = new IngenieurDeRecherche (" Louis "); responsable = new ResponsableDEquipe (" Luc "); directeur = new DirecteurUnite (" Léa "); vp = new VicePresident (" Laure "); president = new President (" Leslie "); ingenieur. setsuperieurhierarchique ( responsable ); responsable. setsuperieurhierarchique ( directeur ); directeur. setsuperieurhierarchique ( vp ); Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

12 vp. setsuperieurhierarchique ( president public void teardown () throws Exception { ingenieur = null ; responsable = null ; directeur = null ; vp = null ; president = null public void testcentmilleeuros () throws Exception { EmployeHabilite hab = ingenieur. notifierrequete ( new NoteDeFrais (100000, ingenieur )); Assert. assertequals ( president. getnom (), hab. getnom ()); Barème de correction sur 2 point(s) : Répartition : 0,5 initialisation = scénario, méthode setup ou équivalent 0,5 voire 0,5 test avec Assert.assertEquals 0,5 remise à null des références Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

13 notedefrais NoteDeFrais * montant: double validée: boolean = false +NoteDeFrais(double montant) +getmontant(): double +ajoutàchaînehiérarchique(employéhabilité sup): void +getvalidé(): boolean +valider(): void +tostringchaînehiérarchique(): String * chaînehiérarchique nom:string <<abstract>> Employé * <<abstract>> EmployéHabilité +Employé(String nom) +getnom():string +getsupérieurhiérarchique():employéhabilité +setsupérieurhiérarchique(employéhabilité sup):void +notifierrequête(notedefrais note):employéhabilité * supérieurhiérarchique EmployéHabilité(String nom) +<<abstract>> traiterrequête(notedefrais note):employéhabilité AssistantDeGestion +AssistanDeGestion(String nom) IngénieurDAffaire +IngénieurDAffaire(String nom) IngénieurDeRecherche ResponsableDÉquipe +MONTANT_AUTORISÉ:double=500 +ResponsableDÉquipe(String nom) +traiterrequête(notedefrais note):employéhabilité DirecteurDUnité +MONTANT_AUTORISÉ:double=5000 +DirecteurDUnité(String nom) +traiterrequête(notedefrais note):employéhabilité +IngénieurDeRecherche(String nom) TechnicienDeLaboratoire +TechnicienDeLaboratoire(String nom) VicePrésident +MONTANT_AUTORISÉ:double= VicePrésident(String nom) +traiterrequête(notedefrais note):employéhabilité Président +MONTANT_AUTORISÉ:double= Président(String nom) +traiterrequête(notedefrais note):employéhabilité Figure 1 Diagramme de classes : pour des raisons de simplicité, nous limitons la navigabilité de l association entre les classes Employé et EmployéHabilité. Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

14 EnConstruction entrée : constructeur() validation par un EmployéHabilité / valider() Validée suppression par le système EnDestruction Figure 2 Diagramme de machine à états de la classe NoteDeFrais. package notedefrais ; import java. io. BufferedReader ; import java. io. InputStreamReader ; public class Main { public static void main ( String [] args ) throws Exception { IngenieurDeRecherche ingenieur = new IngenieurDeRecherche (" Louis "); ResponsableDEquipe responsable = new ResponsableDEquipe (" Luc "); DirecteurUnite directeur = new DirecteurUnite (" Léa "); VicePresident vp = new VicePresident (" Laure "); President president = new President (" Leslie "); ingenieur. setsuperieurhierarchique ( responsable ); responsable. setsuperieurhierarchique ( directeur ); directeur. setsuperieurhierarchique ( vp ); vp. setsuperieurhierarchique ( president ); double d; do { System. out. println (" Entrer le montant de votre note de frais."); System. out. print (" > "); d = Double. parsedouble ( new BufferedReader ( new InputStreamReader ( System. in )). readline ()); if (d > 0) { ingenieur. notifierrequete ( new NoteDeFrais (d, ingenieur )); System. out. println (); while (d > 0.0); System. out. println (" Fin de l application "); Figure 3 Code Java de la classe Main Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

15 Entrer le montant de votre note de frais. > 100 Votre Responsable d Équipe approuvera votre note de frais d un montant de euros. Chaîne hiérarchique pour l approbation :[(Luc, responsable d équipe)] Entrer le montant de votre note de frais. > 1000 Votre Directeur d Unité approuvera votre note de frais d un montant de euros. Chaîne hiérarchique pour l approbation :[(Luc, responsable d équipe), (Léa, directeur d unité)] Entrer le montant de votre note de frais. > Le Vice Président approuvera votre note de frais d un montant de euros. Chaîne hiérarchique pour l approbation :[(Luc, responsable d équipe), (Léa, directeur d unité), (Laure, vice président)] Entrer le montant de votre note de frais. > Le Président approuvera votre note de frais d un montant de euros. Chaîne hiérarchique pour l approbation :[(Luc, responsable d équipe), (Léa, directeur d unité), (Laure, vice président), (Leslie, président)] Entrer le montant de votre note de frais. > Votre note de frais d un montant de euros requiert une réunion du bureau de la société! Chaîne hiérarchique pour l approbation :[(Luc, responsable d équipe), (Léa, directeur d unité), (Laure, vice président), (Leslie, président)] Entrer le montant de votre note de frais. > 0 Fin de l application Figure 4 Exemple d exécution de la classe Main Télécom SudParis Denis Conan et Christian Bac 26 janvier 2012 CSC

Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2

Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2 Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2 Date : 27 Mars 2014 Durée : 1H30 Coordonnateurs : Christian Bac et Denis Conan Les

Plus en détail

Contrôle de connaissances 2014/2015 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2. Date : 25 Mars 2015 Durée : 1H30

Contrôle de connaissances 2014/2015 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2. Date : 25 Mars 2015 Durée : 1H30 Contrôle de connaissances 2014/2015 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2 Date : 25 Mars 2015 Durée : 1H30 Coordonnateurs : Christian Bac et Denis Conan Les seuls documents

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2012/2013 des étudiants de 2 è année (EI2) CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H Coordonnateurs : Christian

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

TP JUnit 4.12. Première partie Le premier test d'une classe

TP JUnit 4.12. Première partie Le premier test d'une classe TP JUnit 4.12 Récupérez les deux fichiers junit.jar et hamcrest-core.jar à partir de l'url https://github.com/junit-team/junit/wiki/download-and-install (plus précisément à partir de l'url http://junit.org).

Plus en détail

Les exceptions en Java

Les exceptions en Java Chapitre 6 Les exceptions en Java Lorsqu on conçoit un programme, on essaie évidemment qu il soit correct, c est-à-dire qu il fonctionne parfaitement dans les conditions prévues de son utilisation. L utilisateur

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 GUILLAUME HANROT ET JEAN-JACQUES LÉVY On se propose de résoudre le problème de l affectation de k tâches à n employés (k > 0, n >

Plus en détail

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

Plus en détail

Gestion des tests avec JUnit

Gestion des tests avec JUnit Gestion des tests avec JUnit JUnit Outil de gestion des tests unitaires pour les programmes Java, JUnit fait partie d un cadre plus général pour le test unitaire des programmes, le modèle de conception

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

Plus en détail

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1 L2 Informatique - gr A HLIN406-25 mars 2015 Nom : Prénom : Numéro d étudiant : Contrôle continu 1 Tous documents sur support papier autorisés. Durée : 1h00. L ensemble des réponses sera à donner sur les

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

Plus en détail

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

E2I- 4 (option HF) CONTRÔLE JAVA 1

E2I- 4 (option HF) CONTRÔLE JAVA 1 E2I- 4 (option HF) CONTRÔLE JAVA 1 Corrigé 1. Les données de type char sont codées en java comme : un octet (code ASCII) deux octets (code ASCII) un octet (code unicode) X deux octets (code unicode) un

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Fiche Programme CSC4002 Conception et programmation orientées objet. Coordonnateurs : Christian Bac et Denis Conan Octobre 2012

Fiche Programme CSC4002 Conception et programmation orientées objet. Coordonnateurs : Christian Bac et Denis Conan Octobre 2012 Fiche Programme CSC4002 Conception et programmation orientées objet Coordonnateurs : Christian Bac et Denis Conan Octobre 2012 1 Mots-clés : conception orientée objet, programmation orientée objet, UML,

Plus en détail

Projet. Coloration lexicale et indentation de code Java

Projet. Coloration lexicale et indentation de code Java Université Paris Diderot Programmation Orientée Objet L3 Année 2011-2012 Projet Coloration lexicale et indentation de code Java Le but de ce projet est de développer un programme qui prend en entrée un

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

Licence Informatique Année 2005-2006

Licence Informatique Année 2005-2006 Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 6 - Correction Héritage Exercice 1 On modélise une application devant servir à l inventaire d une bibliothèque. Elle devra traiter des

Plus en détail

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit :

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit : UNIVERSITÉ DE MONTRÉAL FACULTÉ DES ARTS ET DES SCIENCES DIRECTION DE L ENSEIGNEMENT DE SERVICE EN INFORMATIQUE COURS : IFT 1170 EXAMEN INTRA DATE : 4 juin 2009 CHARGÉ DE COURS : Michel Reid DURÉE : 2 heures

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

DS Java 1. 19 novembre 2005

DS Java 1. 19 novembre 2005 DS Java 1 19 novembre 2005 Durée : 2 heures. Documents (notes et polycopiés) autorisés. La rigueur et la propreté seront prises en compte dans l évaluation. Le barème est indicatif. Vous rédigerez vos

Plus en détail

TP4 : Stockage de données

TP4 : Stockage de données TP4 : Stockage de données 1 TP4 : Stockage de données Programmation Mobile Objectifs du TP Ce TP a pour objectif de vous initier au stockage des données dans le téléphone Android, dans la mémoire interne

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

420KEL Petite révision v. 1,65. Petite révision

420KEL Petite révision v. 1,65. Petite révision Petite révision Quelques petits exercices pour vous rafraîchir la mémoire et vous remettre en forme. Dans les exercices pour lesquels on vous demande de programmer, cherchez à produire un résultat à la

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Chapitre 7. Exceptions

Chapitre 7. Exceptions Chapitre 7 Exceptions 1 Exceptions en Java Séparation exécution normale/gestion des erreurs Inspiration : C++ et Ada Un composant peut : prendre en charge le problème signaler le problème en levant une

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

Plus en détail

Chapitre 1. 1.1 types primitifs. 1.2 Casting

Chapitre 1. 1.1 types primitifs. 1.2 Casting Chapitre 1 Généralités 1.1 types primitifs byte (1 octet) peut contenir les entiers entre -128 et +127. short (2 octets) contient les entiers compris entre -32768 et +32767. int (4 octet) va de -2*10e9

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Correction DS Java 2005 Classe Produit Classe CD

Correction DS Java 2005 Classe Produit Classe CD Correction DS Java 2005 Classe Produit public abstract class Produit { private static int derniernumeroproduit = 1; private int numeroproduit; // Le prix hors taxe du produit private double prix; //Le

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Projet EvaluationsEleves/Professeurs

Projet EvaluationsEleves/Professeurs Projet EvaluationsEleves/Professeurs Ce projet Java comporte les objectifs suivants: 1) Diagramme de classes 2) Développer de l'application en mode console avec un jeu de tests fourni 3) Lecture des notes/eleves/professeurs

Plus en détail

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java HLIN406 - Janvier 2015 Le Java Development Kit offre un ensemble d outils de développement d applications Java. Pour utiliser ces outils, JDK ne propose pas d interface utilisateur, on doit donc écrire

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Compléments sur des concepts et des idiomes Java

Compléments sur des concepts et des idiomes Java Compléments sur des concepts et des idiomes Java D. Conan Rev : 951 CSC 4509 ASR4 Télécom SudParis Juin 2013 Table des matières Compléments sur des concepts et des idiomes Java D. Conan,, Télécom SudParis,

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

Plus en détail

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez... Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

BE noté 2006 2007. Chantal Taconet et Christian Bac IO21

BE noté 2006 2007. Chantal Taconet et Christian Bac IO21 Chantal Taconet et Christian Bac IO2 Télécom INT 20 Novembre 2006 Corrigé Barème Groupe des Écoles des Télécommunications Télécom INT École d ingénieurs 2 ème année Contrôle de connaissances : Bureau d

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 7 de cours/td Université Paris-Diderot Objectifs: Savoir écrire un programme en entier (structure du programme avec une procédure main et des déclarations de fonctions,

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

Cours 3 : Encapsulation et tests

Cours 3 : Encapsulation et tests DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.fr Cours 3 : Encapsulation et tests Plan Divers Paquetages : intérêt, utilisation des packages existants, créer un package Encapsulation

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage

Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage Exercice 1. Toute réponse doit être justifiée. Vous proposerez une correction lorsque le code n est pas correct. 1. Le code suivant

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

Exercice commenté. Mailer java. 1. Intitulé. 2. Approche

Exercice commenté. Mailer java. 1. Intitulé. 2. Approche Exercice commenté Auteur : cj-tronquet@ifrance.com Mailer java 1. Intitulé Ecrire une applet qui permette d envoyer un e-mail à partir d une page web. Cette applet devra contenir les champs From:, To:,

Plus en détail

Programmation Java Avancée

Programmation Java Avancée Programmation Java Avancée Module RPCI01 Département R&T IUT de Villetaneuse 2 novembre 2015 Département R&T Programmation Java Avancée 2 novembre 2015 1 / 74 Plan du cours 1 La gestion des exceptions

Plus en détail

Héritage, et quelques petits mots-clés de Java

Héritage, et quelques petits mots-clés de Java Héritage, et quelques petits mots-clés de Java Bilan de la séance du 3 février. 1 Champs d instance, champs de classe La situation usuelle pour les attributs et les méthodes est la suivante : La classe

Plus en détail

Introduction à la programmation en Java. Java sans Bluej. Ligne de commande entrées/sorties fichiers. Où en sommes-nous? Hello, world!

Introduction à la programmation en Java. Java sans Bluej. Ligne de commande entrées/sorties fichiers. Où en sommes-nous? Hello, world! Introduction à la programmation en Java Frédéric MALLET Jean-Paul ROY U.F.R. Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 12-1 Où en sommes-nous? Nous savons rédiger le texte d une classe d

Plus en détail

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT;

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT; MODULE TransportsAbstrait; TYPE Véhicule = POINTER TO ABSTRACT RECORD prix: REAL; nbpassmax: INTEGER ChoseTransportée =POINTER TO ABSTRACT RECORD poids: REAL; ident: ARRAY 81 OF CHAR PROCEDURE (v: Véhicule)

Plus en détail

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir Consignes pour le bons déroulement du devoir - Ce document comporte un QCM et une partie où il faut écrire du code en - Marquez vos réponses au QCM sur la feuille de réponses fournie (notez que certaines

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions Java Java Modeling Language (JML) Arnaud LANOIX Université Nancy 2 Master1 GL Langage de Programmation Orientée Objet développé par Sun Projet OAK (1991), Java (1995),...Java 1.5 (2004) http://java.sun.com/

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : vendredi 31 janvier 2014 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : vendredi 31 janvier 2014 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : vendredi 31 janvier 2014 Durée : 1H30 Coordonnateurs : Christian Bac et

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Contrôle de rattrapage Master II I - SRI

Contrôle de rattrapage Master II I - SRI Université de Batna Module : Bases de données orientées objets Faculté des sciences Département d informatique 2012/2013 Durée : 1h30 Le 19/03/2013 Questions de cours (4 pts) Contrôle de rattrapage Master

Plus en détail

RMI : Remote Method Invocation Appel de méthodes à distance TD/TP

RMI : Remote Method Invocation Appel de méthodes à distance TD/TP RMI : Remote Method Invocation Appel de méthodes à distance TD/TP Patrice Torguet torguet@irit.fr Université Paul Sabatier But l But du TD/TP : application répartie permettant de gérer des comptes bancaires.

Plus en détail

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 001 Mercredi 13 Février 2013 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3)

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3) Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Classes et objets en Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail