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

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

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

Transcription

1 Université Mohammed Premier Année universitaire 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 la session ordinaire 18 Février 2012 Responsable du cours: El Mostafa DAOUDI Exercice 1 : Expliquez pourquoi l'exécution du programme java ci-dessous lance l exception «NullPointerException» class ClasseA { public int a; public class TestExamen { ClasseA [] obja=new ClasseA[10]; obja[0].a=2; Solution Cette exception est lancée car l objet obja[0] n est pas instancié (n est pas créé) Exercice 2: 1. Considérons la classe «CalcFactorielle» définie ci-dessous. Ecrire la méthode main() qui doit récupérer un entier n sur la ligne de commande, appelle la méthode «fact(n)» et ensuite affiche n!. Programme Java Exemples d exécutions: public class CalcFactorielle { public static int fact(int k) { // calcule k! int f=1; // f=k! for (int i=1; i<=k; i++) f=f*i; return f; // > java CalcFactorielle 6 6! = 720 > java CalcFactorielle -2-2! = 1 > java CalcFactorielle 5.8 Exception in thread "main" java.lang.numberformatexception: 5.8 > java CalcFactorielle Exception in thread "main" java.lang.arrayindexoutofboundsexception Solution int n=integer.parseint(args[0]); int f=fact(n); System.out.println(n+"! = "+f); Remarque : - Il n est pas nécessaire de créer un objet de type CalcFactorielle et ensuite appeler la méthode fact() pour cette objet. Par exemple CalcFactorielle obja=new CalcFactorielle(); int f= ObjA.fact(n); car la méthode fact() est static donc indépendante de l objet. - La méthode fact() retourne un entier de type int, donc le résultat de l appel doit être affecté à une variable de type int. Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 1/12

2 2. Dans cette question on s intéresse à la gestion des différentes erreurs qui peuvent se produire. - Modifiez la méthode «fact()» pour qu elle puisse générer une exception de type «ExceptionNegatif» (classe à définir) si on veut calculer la factorielle d'un entier négatif. - Réécrire la méthode main() afin de traiter toutes les exceptions mentionnées sur les exemples d exécutions ci-dessus. class ExceptionNegatif extends Exception { public ExceptionNegatif(String msg){ super(msg); public class CalcFactorielle { public static int fact(int k) throws ExceptionNegatif { int f=1; if (k<0) throw new ExceptionNegatif(k+": calcul de la factorielle d'un entier négatif "); for (int i=1; i<=k; i++) f=f*i; return f; try { int n=integer.parseint(args[0]); int f=fact(n); System.out.println(n+"! = "+f); catch (ExceptionNegatif e){ System.out.println(e.getMessage()); catch (java.lang.numberformatexception e){ System.out.println("Il faut saisir un entier "); catch (java.lang.arrayindexoutofboundsexception e){ System.out.println("Manque d'arguments sur la ligne de commande "); Remarque : - Le tableau args[] contient les arguments passés sur la ligne de commandes. Attention : les arguments sont des chaines de caractères de type String, il faut ensuite les convertir suivant les besoins. Par exemple Integer.parseInt(args[0]); convertit le premier argument en un entier de type int. - Ne pas rajouter else après l instruction if. if (k<0) throw new ExceptionNegatif(k+": calcul de la factorielle d'un entier négatif "); else // n est pas nécessaire. for (int i=1; i<=k; i++) f=f*i; - L instruction : int n=integer.parseint(args[0]); doit être mis dans le bloc try afin de pouvoir traiter les exceptions générées par la lecture sur la ligne de commande. 3. Lorsque la valeur de n est «très grande» (dépasse une limite à calculer), l exécution du programme retourne un résultat erroné (voir l exemple d exécution ci-dessous). Exemple d exécution : > java CalcFactorielle 20 20! = Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 2/12

3 - Ecrire une classe nommée «ExceptionGrand» qui définit une exception qui sera levée si on calcule la factorielle d'un entier «très grand». - Mettre à jour la méthode «fact()» pour qu elle puissent lancer les deux exceptions de types «ExceptionNegatif» et «ExceptionGrand», définies précédemment. Indication : La valeur limite de n peut être déterminée pendant les étapes de calcul de la factorielle. - Mettre à jour la méthode main() afin de traiter toutes les exceptions envisagées. - De la relation i!=i*(i-1)! on déduit que s il n y a pas d erreur de calcul, alors on a : i!/(i-1)!=i. - Dans une variable, par exemple f2, on sauvegarde la valeur de i! et dans une autre variable, par exemple f1, on sauvegarde (i-1)!. - On teste : si (f2/f1)!= i alors on s arrête car il y a erreur : la valeur maximale est atteinte, donc on doit traiter l exception. Sinon on continue class ExceptionNegatif extends Exception { public ExceptionNegatif(String msg){ super(msg); class ExceptionGrand extends Exception { public ExceptionGrand(String msg){ super(msg); public class CalcFactorielle { public static int fact(int k) throws ExceptionNegatif, ExceptionGrand { int f1=1,f2=1; if (k<0) throw new ExceptionNegatif (k+": calcul de la factorielle d'un entier négatif "); for (int i=1; i<=k; i++) { f2=f1*i; // f2 = i! et f1=(i-1)! if ((f2/f1)!=i) throw new ExceptionGrand(k+": est grand. Entrer un entier <= "+(i-1)); f1=f2; return f2; try { int n=integer.parseint(args[0]); int f=fact(n); System.out.println(n+"! = "+f); catch (ExceptionNegatif e){ System.out.println(e.getMessage()); catch (ExceptionGrand e){ System.out.println(e.getMessage()); catch (java.lang.numberformatexception e){ System.out.println("Il faut saisir un entier "); catch (java.lang.arrayindexoutofboundsexception e){ System.out.println("Manque d'arguments sur la ligne de commande "); Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 3/12

4 Problème: Gestion du prêt dans une bibliothèque On suppose que le fond documentaire d une bibliothèque est composé d ouvrages qui sont des livres ou des disques (livres enregistrés sur des CD ou des DVD). Le but de ce problème est de modéliser la gestion de cette bibliothèque pour l emprunt des ouvrages. Partie I Dans cette partie on ne fait pas de différence entre un livre et un disque. 1. Définir une classe nommée «Ouvrage» pour modéliser les ouvrages. Elle possède : - Au moins trois attributs privés de type String à savoir : titre : pour mémoriser le litre de l ouvrage auteur : pour mémoriser le nom du premier auteur code : pour identifier de manière unique chaque ouvrage. Le code est composé d un numéro qui correspond à l ordre de création de l ouvrage suivi des trois premières lettres du nom de l auteur; ou de toutes les lettres du nom de l auteur (si son nom a moins de trois lettres); ou de la chaine "?" si le nom de l auteur est la chaîne vide. - Un constructeur pour créer et initialiser tous les attributs d un objet de type «Ouvrage». - Au moins les méthodes suivantes (en cas de besoin, vous rajoutez d autres méthodes) : public String getcode() ; // Retourne le code de l ouvrage public String tostring() ; // Retourne la chaine : titre+"-- "+code class Ouvrage { private String auteur; private String titre; private String code; private static int cptouvrages; //compteur qui désigne l ordre de création d un ouvrage. public Ouvrage(String titre, String auteur){ this.titre = titre; this.auteur = auteur; cptouvrages++; // à chaque creation d un objet, on incrémente le compteur */ /* Dans la suite, on détermine la valeur de l attribut code et on l initialise */ if (auteur.length()==0) code = "?"; else if (auteur.length() < 3) code =auteur; else code = auteur.substring(0,3); code= cptouvrages+code; public String getcode(){ return code; public String tostring(){ return titre+"-- "+code; Remarque : - La méthode tostring() retourne une chaine de type String. Elle ne fait l affichage d une chaine de caractères. 2. Définir une classe nommée «Bibliotheque» pour modéliser la bibliothèque. Elle possède : - Au moins deux attributs privés de type tableau de Ouvrage à savoir : lesouvrages : pour mémoriser tous ouvrages de la biblothèque. ouvragesempruntes : pour mémoriser les ouvrages empruntés. Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 4/12

5 - un constructeur pour créer et initialiser tous les attributs d un objet de type «Bibliotheque». On suppose que la taille initiale des tableaux est saisie au clavier. Pour simplifier, on suppose que les deux tableaux ont la même taille et que la taille initialement saisie est suffisante pour enregistrer tous les ouvrages. - Au moins les méthodes suivantes (en cas de besoin, vous rajoutez d autres méthodes) : public void ajouteouvrage(string titre, String auteur) ; // Ajoute un ouvrage à la bibliothèque. public void affichetous() ; // Affiche tous les ouvrage de la bibliothèque. public void afficheempruntes() ; // Affiche tous les ouvrages empruntés. public Ouvrage get(string code) ; // Retourne l ouvrage dont le code est passé en paramètre. public boolean estemprunte(ouvrage o) ; // Retourne «true» si l ouvrage o est emprunté // sinon elle retourne «false». public void emprunte(string code) ; // Ajoute à la fin de liste des ouvrages empruntés, // l ouvrage dont le code est passé en paramètre. class Bibliotheque { private Ouvrage [] lesouvrags; private Ouvrage [] OuvragesEmpruntes; private int nbouvrages; // Désigne le nombre d ouvrages. Par défaut, il est initialisé à 0 private int nbouvragesemp; // Désigne le nombre d ouvrages empruntés. public Bibliotheque(int n) { lesouvrages=new Ouvrage[n]; OuvragesEmpruntes = new Ouvrage[n]; /* Le constructeur permet de créer les deux tableaux dans lesquels on va ajouter les ouvrages. n désigne le nombre d ouvrages prévus. Si le nombre d ouvrages dépasse la taille initialement prévue, on peut adapter la taille des tableaux au nombre d ouvrages (voir Exercice3 : Gérer une pile d'entiers dans la série complément d exercices.). Cette situation n est pas prévue dans ce problème. On suppose que la taille n est suffisamment grande. */ public void ajouteouvrag(string titre, String auteur){ Ouvrage unouvrage = new Ouvrage(titre,auteur); // on crée un nouveau ouvrage lesouvrages[nbouvrages]=unouvrage; // on l insère à la fin de la liste. // Attention : on ne l insère pas à la fin du tableau. nbouvrages ++; // on incrémente le nombre d ouvrages public void affichetous(){ for(int i=0; i< nbouvrages; i++) // on parcours la liste des ouvrages System.out.println(lesOuvrages[i]); // appel de tostring (voir le cours). public void afficheempruntes(){ for(int i=0; i< nbouvragesemp; i++) // on parcourt la liste des ouvrages empruntés. System.out.println(OuvragesEmpruntes[i]); // appel de tostring (voir le cours). public Ouvrag get(string code){ // retourne une valeur de type Ouvrage for(int i=0; i< nbouvrages; i++) // on parcourt la liste des ouvrages if (lesouvrages[i].getcode().equals(code)) // comparaison des codes return lesouvrages[i]; return null; Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 5/12

6 /* Attention : - On compare le code de l ouvrage courant ( lesouvrages[i] ) avec le code donné en paramètre. - On ne peut pas accéder directement au code de l ouvrage courant car l attribut code et private. Donc on ne pas écrire «les Ouvrages[i].code» - Puisque l attribut code est private, pour y accéder on utilize la method getcode() - Pour la comparaison, on ne peut utiliser le symbole «==». En effet «==» compare les références et non les contenus (voir cours). */ public boolean estemprunte(ouvrage o){ for(int i=0; i< nbouvragesemp; i++) if (OuvragesEmpruntes[i].getCode().equals(o.getCode())) return true; return false; public void emprunte(string code){ // On détermine l ouvrage dont le code est égale au code donné en paramètre Ouvrag unouvrage=this.get(code); // On teste si l ouvrage est pas déjà emprunté if(!estemprunte(unouvrage)) { /* si l ouvrage n est pas emprunté, on le rajoute dans la liste des ouvrages empruntes */ OuvragesEmpruntes[nbOuvragesEmp]=unOuvrage; nbouvragesemp ++; // On incrémente le nombre d ouvrages empruntés // On a besoin des deux méthodes suivantes : voir la classe «TestBibliotheque» public Ouvrage [] gettouslesouvrages(){ // Retourne tous les ouvrages return lesouvrages; public Ouvrage [] gettouslesemprunts(){ // Retourne tous les ouvrages empruntés. return OuvragesEmpruntes; 3. Définir une classe nommée «TestBibliotheque» qui contient la méthode main(). Pour les tests : - On crée une bibliothèque (un objet de type Bibliothèque) composée de 4 ouvrages. - On emprunte le deuxième et le troisième ouvrage. - On affiche tous les ouvrages. - On affiche tous les ouvrages empruntés. Solution 1 : lecture en utilisant la classe clavier public class TestBibliotheque { int n= Clavier.lireInt() ; String titre, auteur; Bibliotheque m = new Bibliotheque(n); // ajout de 4 ouvrages for (int i=1 ; i<=4 ;i++) { System.out.print("Entrez un Titre : "); titre = Clavier.lireString(); System.out.print("Entrez l'auteur : "); auteur = Clavier.lireString(); m.ajouteouvrage(titre,auteur); //ajoute un ouvrage dans la bibliothèque Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 6/12

7 System.out.println(); System.out.print("Liste des ouvrages : "); m.affichetous(); // affiche tous les ouvrages /* Pour l emprunt, on a besoin d accéder au deuxième et troisième ouvrage de la bibliothèque. Les ouvrages de la bibliothèque sont mémorisés dans le tableau «lesouvrages» qui est privé, donc on ne peut pas y accéder directement. Pour cela, on définie la méthode «gettouslesouvrages();» qui retourne tous les ouvrages de la bibliothèque dans un tableau. */ Ouvrage [] ouvr; ouvr = m.gettouslesouvrages(); // On récupère tous les ouvrages m.emprunte(ouvr[1].getcode()); // empruntés le deuxième ouvrage m.emprunte(ouvr[2].getcode()); // empruntés le troisième ouvrage System.out.println(); System.out.print("Liste des ouvrages empruntes : "); m.afficheempruntes();// affiche tous les ouvrages empruntés Solution 2 : lecture en utilisant les flux public class TestBibliotheque { InputStreamReader in = null; BufferedReader tampon = null; try { int n String titre, auteur; in = new InputStreamReader(System.in); tampon = new BufferedReader(in); n=integer.parseint(tampon.readline()); Bibliotheque m = new Bibliotheque(n); for(int i=1 ;i<=4 ; i++) { System.out.print("Entrez un Titre : "); titre = tampon.readline(); System.out.print("Entrez l'auteur : "); auteur = tampon.readline(); m.ajouteouvrage(titre,auteur); // le reste ne change pas catch (IOException ioe) { System.out.println("Erreur d'entér sortie "); Partie II Dans cette partie, on distingue entre les livres et les disques. 1. Définir une classe nommée «Livre» pour modéliser les livres. Elle hérite de la classe «Ouvrage» Elle est caractérisée par : - isbn : un attribut de type long, propre à la classe «Livre». Il désigne le code ISBN. - Un constructeur pour créer et initialiser tous les attributs d un objet de type «Livre». - La redéfinition de la méthode tostring() ; pour retourner la chaine : titre+"-- "+code +"--"+isbn N.B. dans cette méthode, on doit appeler la méthode tostring() déjà définie dans la classe Ouvrage. class Livre extends Ouvrage{ private long isbn; public Livre (String titre, String auteur, long isbn){ super(titre,auteur); this.isbn = isbn; Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 7/12

8 public String tostring(){ return super.tostring()+"--"+isbn; // appel de super.tostring() pour avoir titre+"-- "+code // Pour l affichage d un livre public void affichelivre() { System.out.println(this); 2. Définir une classe nommée «Disque» pour modéliser les disques. Elle hérite de la classe «Ouvrage» Elle est caractérisée par - type : un attribut de type String, propre à la classe «Disque». Il désigne de type de disque : CD ou DVD. - Un constructeur pour créer et initialiser tous les attributs d un objet de type «Disque». - La redéfinition de la méthode tostring() ; pour retourner la chaine : titre+"-- "+code +"--"+type N.B. dans cette méthode, doit appeler la méthode tostring() déjà définie dans la classe Ouvrage. class Disque extends Ouvrage{ private String type; // CD ou DVD public Disque (String titre, String auteur, String type){ super(titre,auteur); this.type = type; public String tostring(){ return super.tostring()+"--"+type; // Pour l affichage d un livre public void affichedisque() { System.out.println(this); 3. Mettre à jour la classe nommée «Bibliotheque» qui modélise la bibliothèque. On suppose que Les livres et les disques sont mémorisés dans le même tableau. Les livres et les disques empruntés sont mémorisés dans le même tableau. Pour l ajout, on distingue entre les livres et les disques, pour cela, on définit les deux méthodes : public void ajoutelivre(string titre, String auteur, long isbn) public void ajoutedisque(string titre, String auteur, String type) class Bibliotheque{ private Ouvrage [] lesouvrages; private Ouvrage [] ouvragesempruntes; private int nbouvrages; private int nbouvragesemp ; public Bibliotheque(int n) { // identique à la partie I lesouvrages=new Ouvrage[n]; ouvragesempruntes = new Ouvrage[n]; public void ajoutelivre(string titre, String auteur, long isbn){ Livre unlivre = new Livre(titre, auteur, isbn); lesouvrages[nbouvrages]=unlivre; nbouvrages ++; Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 8/12

9 public void ajoutedisque(string titre, String auteur, String type){ Disque undisque = new Disque(titre,auteur, type); lesouvrages[nbouvrages]=undisque; nbouvrages ++; public void affichetouslesouvrages(){// identique à la partie I for(int i=0; i< nbouvrages; i++) System.out.println(lesOuvrages[i]); public void affichetouslesemprunts(){ // identique à la partie I for(int i=0; i<nbouvragesemp; i++) System.out.println(ouvragesEmpruntes[i]); public Ouvrage get(string code){ // identique à la partie I for(int i=0; i< nbouvrages; i++) if (lesouvrages[i].getcode().equals(code)) return lesouvrages[i]; return null; public boolean estemprunte(ouvrage o){ // identique à la partie I for(int i=0; i< nbouvragesemp; i++) if (ouvragesempruntes[i].getcode().equals(o.getcode())) return true; return false; public void emprunte(string code){ // identique à la partie I Ouvrag unouvrage=this.get(code); if(!estemprunte(unouvrage)) { OuvragesEmpruntes[nbOuvragesEmp]=unOuvrage; nbouvragesemp++ ; /* Dans la partie tests, on a besoin de faire l affichage des Disques et des livres. Pour l affichage des Disques: - Solution 1: on parcourt la liste des ouvrages, puis on fait des tests: si l ouvrage courant est un disque on l affiche sinon on passe à l ouvrage suivant. - Solution 2: Pour éviter les tests, on exploite le polymorphisme (voir le cours avec un exemple similaire). dans la classe «Ouvrage» on définie une méthode vide «affichedisque();» qui doit être rédéfinie la classe «Disque». */ public void affichedisqueempruntes(){ for(int i=0; i< nbouvragesemp; i++) ouvragesempruntes[i].affichedisque(); /* idem pour l affichage des Livres: Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 9/12

10 public void affichelivreempruntes(){ for(int i=0; i< nbouvragesemp; i++) ouvragesempruntes[i].affichelivre(); public Ouvrage [] gettouslesouvrages(){ return lesouvrages; public Ouvrag1 [] gettouslesemprunts(){ return ouvragesempruntes; 4. Mettre à jour la classe «TestBibliothèque» qui contient la méthode main(). Pour les tests : - On crée un objet de type «Bibliothèque» composé de 4 ouvrages (2 livres, un disque et un livre) - On emprunte le deuxième et le troisième ouvrage - On affiche tous les ouvrages empruntés. - On affiche tous les disques empruntés. - On affiche tous les livres empruntés. public class TestBibliotheque { InputStreamReader in = null; BufferedReader tampon = null; try { int n String titre, auteur; in = new InputStreamReader(System.in); tampon = new BufferedReader(in); n=integer.parseint(tampon.readline()); Bibliotheque m = new Bibliotheque(n); // ajoute un livre System.out.print("Entrez un Titre : "); titre = tampon.readline(); System.out.print("Entrez l'auteur : "); auteur = tampon.readline(); System.out.print("Entrez l'isbn : "); isbn=integer.parseint(tampon.readline()); m.ajoutelivre(titre,auteur,isbn); // ajoute un deuxième livre System.out.print("Entrez un Titre : "); titre = tampon.readline(); System.out.print("Entrez l'auteur : "); auteur = tampon.readline(); System.out.print("Entrez l'isbn : "); isbn=integer.parseint(tampon.readline()); m.ajoutelivre(titre,auteur,isbn); Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 10/12

11 // ajoute un disque System.out.print("Entrez un Titre : "); titre = tampon.readline(); System.out.print("Entrez l'auteur : "); auteur = tampon.readline(); System.out.print("Type : "); String type = tampon.readline(); m.ajoutedisque(titre,auteur, type); // ajoute un troisième livre System.out.print("Entrez un Titre : "); titre = tampon.readline(); System.out.print("Entrez l'auteur : "); auteur = tampon.readline(); System.out.print("Entrez l'isbn : "); isbn=integer.parseint(tampon.readline()); m.ajoutelivre(titre,auteur,isbn); System.out.println("Affichage de tous les ouvrages "); m.affichetouslesouvrages(); Ouvrag1 [] ouvr; ouvr = m.gettouslesouvrages(); m.emprunte(ouvr[1].getcode()); m.emprunte(ouvr[2].getcode()); System.out.println(); System.out.println(); System.out.println("Affichage de tous les ouvrages Empruntés "); m.affichetouslesemprunts(); System.out.println("Affichage de tous les Disques Empruntés "); m.affichedisqueempruntes(); System.out.println("Affichage de tous les Livres Empruntés "); m.affichelivreempruntes(); catch (IOException ioe) { System.out.println("Erreur d'entér sortie "); Il faut adapter la classe Ouvrage : Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 11/12

12 class Ouvrage { private String auteur; private String titre; private String code; private static int cptouvrags; public Ouvrage(String titre, String auteur){ // identique à la partie I this.titre = titre; this.auteur = auteur; cptouvrags++; if (auteur.length()==0) code = "?"; else if (auteur.length() < 3) code =auteur; else code = auteur.substring(0,3); code= cptouvrags+code; public String getcode(){ // identique à la partie I return code; public String tostring(){ // identique à la partie I return titre+"-- "+code; // Rajouter les méthodes affichedisque() et affichelivre() pour exploiter le polymorphisme public void affichedisque() { public void affichelivre() { N.B. - Pour la lecture d une chaine de caractères en utilise la classe Clavier.java de la manière suivante : int n = Clavier.lireInt() ; // pour saisir un entier String s = Clavier.lireString() ; // pour saisir une chaine de caractères. - On ne gère pas les exceptions qui peuvent être lancées. Barème : Exercice1 : 3pts, Exercice2 : 7pts, Problème : 10pts. 12/12

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

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

Université Mohammed Premier Année universitaire Solution du TP: Série Numéro 4

Université Mohammed Premier Année universitaire Solution du TP: Série Numéro 4 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

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

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan 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

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

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

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

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

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

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

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

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

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

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

É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

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

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

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

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

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

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

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

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 7 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Facult e des Sciences - Univ. Artois Janvier 2011 Exceptions

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

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

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

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

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

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

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

I21 Algorithmique et programmation II. David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2

I21 Algorithmique et programmation II. David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2 I21 Algorithmique et programmation II David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2 II. Programmation par objet 1. Motivation 2. Encapsulation 3. Héritage 4. Initiation à la modélisation

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

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

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

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

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

École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: hiver 2003 Corrigé

École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: hiver 2003 Corrigé École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: hiver 2003 Corrigé Question 1: (8 points) 1.1 On désire une classe appelée Texte

Plus en détail

Notions d héritage en Java

Notions d héritage en Java EILCO ING 1 - POO Java TP 5 2014/2015 Notions d héritage en Java L héritage est la capacité d une classe (la sous-classe) à hériter des membres (attributs et méthodes) d une autre classe (la super-classe).

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

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

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

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

TD : Compilation d exercices et d extraits d examens

TD : Compilation d exercices et d extraits d examens TD : Compilation d exercices et d extraits d examens 1. Classes et visibilité a. Parmi les appels suivant indiquez ceux qui sont corrects et ceux qui ne le sont pas public class A { public int i ; private

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

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

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013 Nom : Prénom : Contrôle continu n 4 Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et

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

HMIN111M Programmation en Java. Un aperçu des classes

HMIN111M Programmation en Java. Un aperçu des classes HMIN111M Programmation en Java Un aperçu des classes 1. Limites des types primitifs Programme de gestion des comptes bancaires 2 comptes par exemple (on ne connait pas les tableaux) Une classe Banque qui

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

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

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

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

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

- c=1 : en effet, on passe l adresse de c et non la valeur. */ void somme(int x, int y, int S) { S=x+y; void produit(int x, int y) {

- c=1 : en effet, on passe l adresse de c et non la valeur. */ void somme(int x, int y, int S) { S=x+y; void produit(int x, int y) { Université Mohamed 1 er Année 2011/2012 Ecole Nationale des Sciences Appliquées Filière STPI Oujda Niveau CP2, Semestre 1 Prof. E.M. DAOUDI Cours programmation en Langage C Liste d exercices avec correction

Plus en détail

Programmation Socket en Java

Programmation Socket en Java Programmation Socket en Java Cours sockets Université Paul Sabatier Plan Un bon réflexe Les adresses IP en Java Sockets en mode flot La classe Socket La classe ServerSocket Communication via les Sockets

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

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

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

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

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

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

Solutions du chapitre 14

Solutions du chapitre 14 Solutions du chapitre 14 Traitement des exceptions 14.16 Sous quelles circonstances utiliseriez-vous l instruction suivante? catch ( Exception e ) { throw e; } Cette instruction sert à capturer toute exception

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 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

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux Les tableaux Déclaration d une variable de type référence vers un tableau : Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015

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

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

Travaux dirigés : Programmation Orientée objet

Travaux dirigés : Programmation Orientée objet Travaux dirigés : Programmation Orientée objet Exercice 1: Créer un projet c# qui permet de gérer les voitures sachant que une voiture est caractérisée par sa matricule, marque, puissance 1. Les attributs

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

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

Tests unitaires avec Visual Studio

Tests unitaires avec Visual Studio Tests unitaires avec Visual Studio (source MSDN) Rappels (initiation aux tests unitaires SI6 Tp6) Les tests unitaires offrent aux développeurs une méthode rapide pour rechercher des erreurs de logique

Plus en détail

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println(" E/S problem :" + ioe);

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println( E/S problem : + ioe); TP de Java Exceptions et E/S Sujets abordés dans ce TP : Bloc try/catch/finally Déclenchement d exception Redéfinition d exception Taxonomie des exceptions Gestion de fichiers Tokenizer 1) Les erreurs

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

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

Erreurs d'exécution (1/3)

Erreurs d'exécution (1/3) Erreurs d'exécution (1/3) Dans tout programme, il peut y avoir des erreurs d'exécution non critiques Exemple : le programme est en train de lire un fichier et il y a un problème d'accès au disque dur.

Plus en détail

Université de Bourgogne - UFR Sciences et Technique - Programmation objet et Internet - LPSIL

Université de Bourgogne - UFR Sciences et Technique - Programmation objet et Internet - LPSIL Nom : Prénom : Contrôle continu Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et calculatrices

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Environnement algorithmique et conventions

Environnement algorithmique et conventions 1 Environnement algorithmique et conventions Un algorithme est un maillon de la chaîne de développement d une application. Il est le lien indispensable entre l analyse et le développement final. Ce chapitre

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

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

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions Arbres binaires Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions FMIN220 Structures de données Université de Montpellier 2015 FMIN220 (UM)

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

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

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

EXAMEN DE JAVA 2010-2011

EXAMEN DE JAVA 2010-2011 NOM : PRÉNOM : TP : G TP EXAMEN DE JAVA 2010-2011 Consignes : avec documents, mais sans téléphone, ordinateur ou autre moyen de communication. Durée : 2h Recommandations : Le code doit être écrit en JAVA

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

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

Communications et synchronisations

Communications et synchronisations Communications et synchronisations Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 2012/2013 Le problème des philosophes (Dijkstra

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. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

Les tableaux ne sont pas ni des objets ni des types simples.

Les tableaux ne sont pas ni des objets ni des types simples. Cours 5 Tableaux Tableaux à 2 dimensions Tableaux d objets POO 1 Les tableaux ne sont pas ni des objets ni des types simples. Un tableau se rapproche d un objet Il est manipulé par référence (adresse)

Plus en détail

Mieux programmer en Java

Mieux programmer en Java Mieux programmer en Java Peter Haggar Éditions Eyrolles ISBN : 2-212-09171-0 2000 PARTIE 1 l exécution de l instruction return, cependant, le contrôle est transféré au bloc finally en // 2. Cela provoque

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