Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique"

Transcription

1 Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique 1er juin 2007 Durée : 3 heures. Seule la documentation des classes java.util.list et java.util.arraylist distribuée est autorisée. Ce qui est évalué : Votre capacité à : utiliser correctement le langage JAVA pour implémenter une classe ; effectuer des choix corrects pour la visibilité des champs et des méthodes ; donner l implémentation d une classe en conformité avec son interface et son contrat ; utiliser correctement l héritage et la généricité pour la définition de classes. Présentation du problème Dans le cadre de l implémentation du jeu d aventure Zork, il est nécessaire de définir la notion d objet : Certaines pièces contiennent des objets. Certains objets peuvent être emportés par le joueur, d autres non. Le joueur peut transporter des objets avec lui. Chaque objet a un poids. Le joueur ne peut transporter des objets que dans la mesure où le poids total des objets transportés ne dépasse pas une certaine limite fixée à l avance. Les pièces et les joueurs ayant en commun de pouvoir contenir des objets, on décide d implémenter ce comportement commun dans une classe générique nommée ArrayListConteneur. On décide ensuite d utiliser l héritage pour définir les classe Piece et Joueur. La documentation complète de la classe générique ArrayListConteneur figure en annexe. L implémentation des classes Piece et ObjetZork ne sera pas abordée dans le cadre de cette épreuve, la classe ObjetZork pourra cependant être utilisée dans la définition de la classe Joueur. 1 Définition de la classe ArrayListConteneur La classe générique ArrayListConteneur représente un conteneur pouvant contenir un nombre illimité d éléments. La structure de données interne utilisée pour mémoriser les objets contenus dans un conteneur est une ArrayList. Un ArrayListConteneur peut contenir plusieurs exemplaires d un même élément (au sens de cette classe, deux éléments représentent un même objet si ils sont equals ) et l ordre des éléments n est pas significatif (i.e. quelque soit l ordre dans lequel les éléments sont ajoutés, deux conteneurs contenant les mêmes éléments en même quantité seront considérés comme ayant le même contenu). Par ailleurs, un élément ne peut être ajouté à un conteneur que si cet ajout est considéré comme possible : dans ce but, la méthode ajoutpossible est définie afin de permettre de tester si les critères requis sont satisfaits par un objet donné. Exercice 1.1 Implémentation de la classe ArrayListConteneur. Donnez le code source complet de la classe ArrayListConteneur dont la documentation complète est donnée en annexe. Parmi l ensemble des méthodes figurant dans la documentation on se limitera aux méthodes suivantes : les deux constructeurs ajoutpossible(e oz) ajouter(e obj) retirer(object obj) M. Champesme Département d Informatique Institut Galilée 1

2 contientcombiende(object obj) getnbobjets() memecontenu(arraylistconteneur<?> c) equals(object o) clone() hashcode() 2 Implémentation de la classe Joueur On souhaite maintenant définir la classe Joueur, en réutilisant, grâce à l héritage et la généricité, les fonctionnalités définies pour la classe ArrayListConteneur. Dans le jeu Zork, un joueur est caractérisé par son nom, les objets qu il transporte avec lui dans son sac et la capacité maximale de son sac. Un joueur peut transporter dans son sac autant d objets qu il le souhaite, du moment que ces objets sont transportables (cf. méthode esttransportable() de la classe ObjetZork) et que le poids total de l ensemble des objets transportés ne dépasse pas la capacité maximale de son sac telle qu elle a été fixée à la création de cette instance de la classe Joueur. Exercice 2.1 Implémentation de la classe Joueur. Donnez le code source complet de la classe Joueur en faisant en sorte que cette classe possède toutes les caractéristiques définies dans la classe ArrayListConteneur, ainsi que les caractéristiques correspondant aux méthodes suivantes : un constructeur initialisant un Joueur ne possédant aucun objet un constructeur initialisant un Joueur possédant les objets présents dans une liste passée en paramètre (cf. constructeur analogue de la classe ArrayListConteneur une méthode String getnom() renvoyant le nom du Joueur une méthode int poidssac() renvoyant le poids total de tous les objets transportés une méthode int getmaxcapacite() renvoyant le poids maximum que ce Joueur peut transporter Vous devrez préciser sous forme de commentaires, le contrat associé au constructeur de cette classe (le contrat des autres méthodes n est pas demandé). A Documentation de la classe ArrayListConteneur<E> Voire page suivante. 2

3 Class ArrayListConteneur<E> public class ArrayListConteneur<E> extends java.lang.object implements java.lang.iterable<e>, java.lang.cloneable Implémentation d'un conteneur d'objets utilisant une ArrayList comme structure de données. Les éléments contenus ne sont pas ordonnés et un conteneur peut contenir plusieurs exemplaires d'un même élément (au sens de equals). Un conteneur ne peut pas contenir la valeur null. Invariant: getnbobjets() >= 0; estvide() <==> getnbobjets() == 0; (\forall E obj; ; contient(obj) <==> (contientcombiende(obj) > 0)); Constructor Summary ArrayListConteneur() Initialise un ArrayListConteneur vide. ArrayListConteneur(java.util.List<? extends E> list) Initialise un ArrayListConteneur de même contenu que la liste spécifiée. Method Summary void ajouter(e obj) Ajoute l'objet specifié à ce conteneur. void ajouter(e obj, int ncopies) Ajoute ncopies exemplaires de l'objet specifié à ce conteneur. boolean ajoutpossible(e oz) Indique si un exemplaire de l'objet spécifié peut être ajouté à ce conteneur. boolean ajoutpossible(e oz, int ncopies) Indique si ncopies exemplaires de l'objet spécifié peuvent être ajoutés à ce conteneur. ArrayListConteneur<E> clone() Renvoie un clone de ce conteneur. boolean contient(java.lang.object obj) Renvoie true si le conteneur contient au moins un exemplaire de l'objet specifié. int contientcombiende(java.lang.object obj) Renvoie le nombre d'exemplaires de l'objet specifié presents dans ce conteneur. boolean equals(java.lang.object o) Teste si l'objet spécifié est equals à ce conteneur. boolean estvide() Renvoie true si ce conteneur ne contient aucun objet.

4 int getnbobjets() Renvoie le nombre d'objets dans ce conteneur. int hashcode() Renvoie un code de hashage pour ce conteneur. java.util.iterator<e> iterator() Renvoie un itérateur sur les éléments de ce conteneur. boolean memecontenu(arraylistconteneur<?> c) Renvoie true si le ArrayListConteneur spécifié est non null et contient les mêmes objets (au sens de equals) en autant d'exemplaires. boolean retirer(java.lang.object obj) Retire un exemplaire de l'objet specifié de ce conteneur si cet objet y est present. int retirer(java.lang.object obj, int ncopies) Retire ncopies exemplaires de l'objet specifié de ce conteneur si cet objet y est present. java.lang.string tostring() Renvoie une représentation succincte de ce ArrayListConteneur sous forme de chaîne de caractères. Constructor Detail ArrayListConteneur public ArrayListConteneur() void vider() Retire de ce conteneur tous les objets qu'il contient. Initialise un ArrayListConteneur vide. estvide(); ArrayListConteneur public ArrayListConteneur(java.util.List<? extends E> list) Initialise un ArrayListConteneur de même contenu que la liste spécifiée. La liste spécifiée et ses éléments doivent être non null et tous les éléments de la liste doivent pouvoir être ajoutés à ce conteneur (au sens de la méthode ajoutpossible). Requires: list!= null; (\forall int i; i >= 0 && i < list.size(); list.get(i)!= null); (* Tous les éléments de list peuvent être ajoutés. *) this.getnbobjets() == list.size();

5 (\forall int i; i >= 0 && i < list.size(); contient(list.get(i))); (\forall E elt; contient(elt); list.contains(elt)); list - La liste contenant les éléments à placer dans ce conteneur. Throws: java.lang.nullpointerexception - si la liste spécifiée est null ou contient la valeur null. java.lang.illegalargumentexception - si certaines caractéristiques d'un des éléments de la liste spécifiée empèchent son ajout (i.e. si l'objet spécifié n'est pas null et que son ajout n'est pas possible au sens de ajoutpossible). Method Detail ajoutpossible public boolean ajoutpossible(e oz) Indique si un exemplaire de l'objet spécifié peut être ajouté à ce conteneur. Renvoie false si l'objet spécifié est null. Le résultat d'un appel à cette méthode pour un même paramètre peut varier au cours du temps en fonction des caractéristiques de ce conteneur, en particulier, la valeur renvoyée peut varier en fonction des éléments présents dans ce conteneur. Il est par exemple possible qu'un appel de cette méthode pour un objet déjà présent dans ce conteneur renvoie la valeur false. Néanmoins, il est garanti que, entre deux modifications successives de ce Conteneur, plusieurs appels à cette méthode pour un même objet renvoient le même résultat. L'implémentation fournie par cette classe renvoie true si et seulement si l'objet spécifié est non null. (oz == null) ==>!\result; \result <==> ajoutpossible(oz, 1); oz - L'objet à ajouter. true si l'objet est non null et peut être ajouté ; false sinon. ajoutpossible public boolean ajoutpossible(e oz, int ncopies) Indique si ncopies exemplaires de l'objet spécifié peuvent être ajoutés à ce conteneur. Renvoie false si l'objet spécifié est null. Le nombre d'exemplaires spécifié doit être strictement positif. Il est garanti que si un appel à cette méthode renvoie true tout appel pour le même objet et un nombre d'exemplaires inférieur renvoie aussi true ; de même il est garanti que si un appel à cette méthode renvoie false tout appel pour le même objet et un nombre d'exemplaires supérieur renvoie aussi false. Le résultat d'un appel à cette méthode pour un même paramètre peut varier au cours du temps en fonction des caractéristiques de ce conteneur, en particulier, la valeur renvoyée peut varier en fonction des éléments présents dans ce conteneur. Il est par exemple possible qu'un appel de cette méthode pour un objet déjà présent dans ce conteneur renvoie la valeur false.

6 Néanmoins, il est garanti que, entre deux modifications successives de ce conteneur, plusieurs appels à cette méthode pour un même objet et un même nombre d'exemplaires renvoient le même résultat. L'implémentation fournie par cette classe renvoie le même résultat que ajoutpossible(e obj) quelque soit le nombre d'exemplaires spécifié. Requires: ncopies > 0; (oz == null) ==>!\result; (ncopies == 1) ==> (\result <==> ajoutpossible(oz)); \result ==> ajoutpossible(oz); oz - L'objet à ajouter. ncopies - Le nombre d'exemplaires de l'objet à ajouter. true si l'objet est non null et que ncopies de l'objet peuvent être ajoutés ; false sinon. Throws: java.lang.illegalargumentexception - si ncopies est inférieur ou égal à 0. ajouter public void ajouter(e obj) Ajoute l'objet specifié à ce conteneur. Si l'objet est déjà présent, un exemplaire supplémentaire de cet objet y est ajouté. La presence d'un objet est testée en utilisant la methode equals. L'argument doit être non null et son ajout doit être possible au sens de la méthode ajoutpossible. Requires: ajoutpossible(obj); contient(obj); contientcombiende(obj) == \old(contientcombiende(obj)) + 1; obj - L'objet à ajouter dans ce conteneur Throws: java.lang.illegalargumentexception - si certaines caractéristiques de cet objets empèchent son ajout (i.e. si l'objet spécifié n'est pas null et que son ajout n'est pas possible au sens de ajoutpossible. java.lang.nullpointerexception - si l'objet spécifié est null.

7 ajouter public void ajouter(e obj, int ncopies) Ajoute ncopies exemplaires de l'objet specifié à ce conteneur. Si l'objet est déjà présent, ncopies exemplaires supplémentaires de cet objet y sont ajoutés. La presence d'un objet est testée en utilisant la methode equals. L'objet doit être non null et son ajout doit être possible au sens de la méthode ajoutpossible. ncopies doit être strictement positif. Requires: ncopies > 0; ajoutpossible(obj, ncopies); contient(obj); contientcombiende(obj) == \old(contientcombiende(obj)) + ncopies; obj - L'objet à ajouter dans ce conteneur ncopies - Le nombre d'exemplaires de l'objet à retirer de ce conteneur. Throws: java.lang.illegalargumentexception - si ncopies est inférieur ou égal à 0 ou si certaines caractéristiques de l'objet spécifié empèchent son ajout (i.e. si l'objet spécifié n'est pas null et que son ajout n'est pas possible au sens de ajoutpossible). java.lang.nullpointerexception - si l'objet spécifié est null. contient public boolean contient(java.lang.object obj) Renvoie true si le conteneur contient au moins un exemplaire de l'objet specifié. La présence d'un objet est testée en utilisant la méthode equals. Renvoie false si l'argument est null. \result <==> contientcombiende(obj) > 0; estvide() ==>!\result; obj - Objet dont on cherche à savoir s'il est present. true si ce conteneur possede au moins un exemplaire de l'objet specifié ; false sinon. contientcombiende public int contientcombiende(java.lang.object obj) Renvoie le nombre d'exemplaires de l'objet specifié presents dans ce conteneur. La presence

8 d'un objet est testée en utilisant la méthode equals. Renvoie 0 si l'argument est null. \result >= 0; (obj == null) ==> (\result == 0); contient(obj) <==> \result > 0;!contient(obj) <==> \result == 0; \result <= getnbobjets(); obj - Objet dont on cherche à connaitre le nombre d'exemplaires. le nombre d'exemplaires de l'objet specifié. estvide public boolean estvide() Renvoie true si ce conteneur ne contient aucun objet. \result <==> (getnbobjets() == 0); true si ce conteneur ne contient aucun objet ; false sinon. getnbobjets public int getnbobjets() Renvoie le nombre d'objets dans ce conteneur. Chaque occurence de chaque objet est comptée. \result >= 0; Le nombre d'objets dans ce conteneur. iterator public java.util.iterator<e> iterator() Renvoie un itérateur sur les éléments de ce conteneur. Specified by: iterator in interface java.lang.iterable<e> \result!= null;

9 Un itérateur sur les éléments de ce conteneur. memecontenu public boolean memecontenu(arraylistconteneur<?> c) Renvoie true si le ArrayListConteneur spécifié est non null et contient les mêmes objets (au sens de equals) en autant d'exemplaires. (c == null) ==>!\result; (getnbobjets()!= c.getnbobjets()) ==>!\result; c - Le conteneur à comparer avec ce conteneur. true si le conteneur spécifié contient les mêmes objets en autant d'exemplaires ; false sinon. retirer public boolean retirer(java.lang.object obj) Retire un exemplaire de l'objet specifié de ce conteneur si cet objet y est present. Renvoie true si cet objet était effectivement présent dans ce conteneur et que l'objet a pu être effectivement retiré ; renvoie false sinon. La présence d'un objet est testée en utilisant la méthode equals. Renvoie false si l'argument est null. (obj == null) ==>!\result; \old(contient(obj)) <==> \result; \old(contient(obj)) <==> (contientcombiende(obj) == \old(contientcombiende(obj)) - 1); \old(contientcombiende(obj) <= 1) <==>!contient(obj); \old(contientcombiende(obj) > 1) <==> contient(obj); obj - Objet dont un exemplaire doit être retirer de ce conteneur. true si cet objet etait effectivement present ; false sinon. retirer public int retirer(java.lang.object obj, int ncopies) Retire ncopies exemplaires de l'objet specifié de ce conteneur si cet objet y est present. Renvoie le nombre d'exemplaires de l'objet effectivement retirés. La présence d'un objet est testée en utilisant la méthode equals. Renvoie 0 si l'argument est null (et ncopies est supérieur ou égal à

10 0) ou si ncopies est égal à 0. ncopies doit être supérieur ou égal à 0. Requires: ncopies >= 0; obj == null ==> \result == 0; \old(contient(obj)) && ncopies > 0 <==> \result > 0; \result == (\old(contientcombiende(obj)) - contientcombiende(obj)); contientcombiende(obj) == Math.max(0, \old(contientcombiende(obj)) - ncopies); \old(contientcombiende(obj) <= ncopies) ==>!contient(obj); \old(contientcombiende(obj) > ncopies) <==> contient(obj); obj - Objet dont un exemplaire doit être retirer de ce conteneur ncopies - Nombre d'exemplaires de l'objet spécifié à retirer de ce conteneur. Le nombre d'exemplaires de l'objet effectivement retirés de ce conteneur. Throws: java.lang.illegalargumentexception - si ncopies est strictement négatif vider public void vider() Retire de ce conteneur tous les objets qu'il contient. estvide(); equals public boolean equals(java.lang.object o) Teste si l'objet spécifié est equals à ce conteneur. Pour qu'il y ait égalité entre ce conteneur et l'objet spécifié, il est nécessaire (mais non suffisant) que l'objet spécifié soit un ArrayListConteneur de même contenu (au sens de la méthode memecontenu). Selon les classes héritant de cette classe, d'autres caractéristiques de ces classes peuvent être prises en compte dans la comparaison. Deux conteneurs contenant les mêmes objets en autant d'exemplaires peuvent donc ne pas être equals. L'implémentation fournie par cette classe remplie le contrat en déclarant deux ArrayListConteneur equals si et seulement si ce sont des instances de la même sous-classe de ArrayListConteneur contenant les mêmes objets en autant d'exemplaires. En conséquence, une instance de la classe ArrayListConteneur ne peut-être equals qu'à des instances de ArrayListConteneur. Les sous-classes de ArrayListConteneur peuvent donc hériter cette méthode sans redéfinition tout en respectant à la fois le contrat défini dans la classe Object (y

11 compris la symétrie et la transitivité) et celui défini dans cette classe.!(o instanceof ArrayListConteneur<?>) ==>!\result; \result ==> this.memecontenu((arraylistconteneur<?>) o); this.getclass().equals(arraylistconteneur.class) ==> (\result <==> ((o!= null) && o.getclass().equals(this.getclass()) && this.memecontenu((arraylistconteneur<?>) o))); o - L'objet à comparer à ce conteneur false si l'objet spécifié n'est pas un ArrayListConteneur ou bien est un conteneur ne contenant pas les mêmes objets en autant d'exemplaires ou bien possède certaines caractéristiques différentes de celles de l'objet spécifié ; true seulement si l'objet spécifié est un ArrayListConteneur contenant les mêmes objets en autant d'exemplaires. clone public ArrayListConteneur<E> clone() Renvoie un clone de ce conteneur. L'implémentation fournie par cette classe respecte le contrat défini dans la classe Object relativement à l'implémentation de equals fournie par cette classe. Un clone de ce conteneur. hashcode public int hashcode() Renvoie un code de hashage pour ce conteneur. L'implémentation fournie par cette classe respecte le contrat défini dans la classe Object relativement à l'implémentation de equals fournie par cette classe. Un code de hashage pour ce conteneur. tostring public java.lang.string tostring() Renvoie une représentation succincte de ce ArrayListConteneur sous forme de chaîne de caractères. une représentation succincte de ce ArrayListConteneur

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

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

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

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

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

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

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

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

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

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets package java.util utilitaires de Arrays structures de données génériques B. Carré Polytech Lille 1 Utilitaires et collections Java Tableaux intégrés dans le langage : «Objets»

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

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

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule.

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule. TP Mock Pour faire ce TP il faut récupérer la "bibliothèque" mockito-all-x.x.x.jar. Vous pouvez la trouver à partir de https://code.google.com/p/mockito/downloads/list (pour mockito- 1.9.5.zip). Anciennement

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

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

Licence Professionnelle Développeur Web 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 Développeur Web Programmation Orientée Objets Gestion de comptes

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

Objets Avancées Semestre 3 Année 2015-2016. Projet

Objets Avancées Semestre 3 Année 2015-2016. Projet Conception et Programmation IUT d Aix-Marseille Dép. INFO Aix Objets Avancées Semestre 3 Année 2015-2016 Projet André Abramé - andre.abrame@univ-amu.fr Sophie Nabitz - sophie.nabitz@univ-avignon.fr Petru

Plus en détail

Chapitre 11: Récursivité. Qu est-ce que la récursivité? Penser récursivement. Définition récursive d une liste

Chapitre 11: Récursivité. Qu est-ce que la récursivité? Penser récursivement. Définition récursive d une liste Chapitre 11: Récursivité CSI150 Introduction au génie logiciel Chapitre 11: Récursion La récursivité est une technique fondamentale de programmation qui permet de résoudre élégamment certains types de

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

Collections d objets (de taille variable)

Collections d objets (de taille variable) Introduction à la programmation en Java Frédéric MALLET Jean-Paul ROY UFR Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 10-1 Où en sommes-nous? Nous savons rédiger le texte d une classe d objets,

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

UML Conception Héritage. Emmanuel Pichon 2013

UML Conception Héritage. Emmanuel Pichon 2013 UML Conception Héritage 2013 Héritage (generalization) Sens Relation d implémentation permettant la réutilisation des caractéristiques d une classe (attributs, opérations et associations) Notation UML

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9 Web & XML ENSEIRB Programmation Web / XML Evaluation 1/2 Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP Page 1/9 Historique : Version Date Origine de la mise à jour Rédigée par Validée par

Plus en détail

Prendre un bon départ

Prendre un bon départ Chapitre A Prendre un bon départ 1 - Avant-propos Un ordinateur sait très bien faire deux choses : Calculer, d oùle nomcomputer en anglais que l on pourrait traduire par calculateur. Placer des données

Plus en détail

1 Les arbres binaires en Java

1 Les arbres binaires en Java Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 10 Arbres binaires Buts : structuration des arbres binaires en Java. classes internes. objets de parcours.

Plus en détail

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

Plus en détail

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge Arité variable, énumérations Théorie et pratique de la programmation Michel Schinz 2013-05-13 Arité variable 1 2 Arité des méthodes Utilisation de la surcharge Il est parfois utile d'offrir des méthodes

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 10 Lecture de données Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

cours 4 : programmes fiables

cours 4 : programmes fiables cours 4 : programmes fiables généricité assertions généricité généricité généricité généricité possibilité d écrire des classes paramétrées par d autres classes permet de : écrire un code dépendant d un/de

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

Licence Informatique 1 e année Algorithmique et Programmation

Licence Informatique 1 e année Algorithmique et Programmation Licence Informatique 1 e année Algorithmique et Programmation Projet 2013-2014 1 Organisation Le projet est à réaliser en binôme. En n de semestre, les binômes présenteront leur travail aux encadrants

Plus en détail

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet Initiation à la Programmation avec Java Semestre 1-2008/2009 Compte rendu final du Projet Jean-Baptiste Leprêtre Groupe Y1 Chargé de TD : Fabienne Thomarat 1 SOMMAIRE : I) Cahier des Charges II) Analyse

Plus en détail

Projet Introduction programmation Java Licence 1 MASS Semestre 2, 2011-2012

Projet Introduction programmation Java Licence 1 MASS Semestre 2, 2011-2012 Projet Introduction programmation Java Licence 1 MASS Semestre 2, 2011-2012 Ce projet est à rendre le mardi 10 avril (minuit) par la plateforme JALON de l'ent. Il s'eectue en binôme. 1 But Le but de ce

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

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

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

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

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani IFT1166 TP3 Été 2008 1/5 IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008 Gestion de stocks à la sauce C++! Mohamed Lokbani Équipes : le travail peut-être fait en binôme mais vous ne remettez qu un travail par

Plus en détail

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant DOCUMENTATION TECHNIQUE Comparateur de documents XML SOMMAIRE 1 Introduction... 3 2 Langage et choix de programmation... 4 2.1 Le langage PHP...

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée Master 1 T.P. 1 Bases Java - Eclipse / Netbeans PDJ Environnements Java Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement d exécution

Plus en détail

Implémentation dans Active Tags d'un module Web pour XUnit

Implémentation dans Active Tags d'un module Web pour XUnit Implémentation dans Active Tags d'un module Web pour XUnit Table des matières 1. Introduction... 2 2. Application Web interactive en Reflex... 2 3. Module Web pour XUnit... 3 3.1. Principes... 3 3.2. Implémentation

Plus en détail

DOMAINE : économie et gestion informatique

DOMAINE : économie et gestion informatique CONCOURS DE L'AGREGATION INTERNE «ECONOMIE ET GESTION» SESSION 2002 EPREUVE PORTANT SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PEDAGOGIQUES DOMAINE : économie et gestion informatique Durée

Plus en détail

Héritage Concepts généraux des classes dérivées. Les concepts de base de la POO Application en C++ Héritage Concepts généraux des classes dérivées

Héritage Concepts généraux des classes dérivées. Les concepts de base de la POO Application en C++ Héritage Concepts généraux des classes dérivées Les concepts de base de la POO Application en C++ Classes abstraites Possibilité de définir de nouveaux objets à partir des objets existants Hiérarchie de généralisation/ spécialisation Une classe descendante

Plus en détail

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES 1 L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES Dans ce chapitre, nous allons automatiser le fonctionnement de la base de données. Jusqu à présent, nous avons créé différents objets, mais maintenant

Plus en détail

Algorithmique et Structures de Données

Algorithmique et Structures de Données 1.1 Algorithmique et Structures de Données Jean-Charles Régin Licence Informatique 2ème année 1.2 Itérations Jean-Charles Régin Licence Informatique 2ème année Itération : définition 3 En informatique,

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

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

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

Licence 2 MIEE Première session 2013-2014. GEN : Génie Logiciel

Licence 2 MIEE Première session 2013-2014. GEN : Génie Logiciel Licence 2 MIEE Première session 2013-2014 Le barème est donné à titre indicatif. GEN : Génie Logiciel 2 heures - Documents autorisés Question 1 (8 points). Vous indiquerez vos réponses sur votre copie

Plus en détail

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de Ex 1 1- On crée un fichier Test.java qui contient seulement : public class Test Que se passe t'il si on cherche à le compiler? La définition de la classe Test est incomplète, pour définir une classe, il

Plus en détail

Analyse lexicale 2014-2015

Analyse lexicale 2014-2015 Analyse (lexicale, syntaxique) L3 MIAGE Analyse lexicale Université de Lille, France 2014-2015 1 Rappels Rôle de l analyse lexicale Outils 2 Mise en oeuvre Lexème Vers l analyseur syntaxique Codage d un

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

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 5 de cours/td Université Paris-Diderot Objectifs: Boucles while. Variables booléennes. 1 La boucle while Boucle non bornée [Cours] La boucle non bornée permet de

Plus en détail

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

Plus en détail

LES FICHIERS. 1-169169 JAVA Christine BONNET

LES FICHIERS. 1-169169 JAVA Christine BONNET 12 LES FICHIERS 1-169169 JAVA Christine BONNET LES FLOTS Package java.io La gestion des E/S s'effectue à l'aide des flots. Un stream (flot) représente un canal de communication ( écran, fichier, pipe,

Plus en détail

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente TP Systèmes n 1 Programmation concurrente Titre Simulation du comportement de processus producteurs et de processus consommateurs avec tampon intermédiaire borné. Organisation Binôme Durée de réalisation

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

Examen de Programmation I

Examen de Programmation I Examen de Programmation I Sciences et Technologies du Vivant, Semestre 1 Mercredi 22 décembre 2010 1. N oubliez pas de mettre vos NOM et PRÉNOM sur toutes vos copies. 2. Merci de garder la donnée. 3. Vous

Plus en détail

MODE D EMPLOI COMPTAGE D INVENTAIRE

MODE D EMPLOI COMPTAGE D INVENTAIRE MODE D EMPLOI COMPTAGE D INVENTAIRE 1 Fonctionnement général À partir de l édition Professional, Wings Logistique inclut la possibilité de lire les données de stock par le biais d un ou plusieurs fichiers

Plus en détail

Compte-rendu de projet de Cryptographie

Compte-rendu de projet de Cryptographie Compte-rendu de projet de Cryptographie Chirement/Déchirement de texte, d'images de sons et de vidéos LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Pallo Table des matières

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

GUIDE D UTILISATION PLATE-FORME WEB EN FORME AVEC MYG ET GYM

GUIDE D UTILISATION PLATE-FORME WEB EN FORME AVEC MYG ET GYM GUIDE D UTILISATION PLATE-FORME WEB EN FORME AVEC MYG ET GYM Octobre 2013 Table des matières 1. Présentation générale... 3 2. Accès à la section privilégiée... 4 2.1 Votre code d accès et votre mot de

Plus en détail

Marc Chevaldonné IUT Informatique Clermont1 2ème année orientation GI 30 septembre 2010

Marc Chevaldonné IUT Informatique Clermont1 2ème année orientation GI 30 septembre 2010 Examen C# Énoncés de TP de C#.NET Marc Chevaldonné IUT Informatique Clermont1 2ème année orientation GI 30 septembre 2010 Règles du jeu À LIRE IMPÉRATIVEMENT MATÉRIEL AUTORISÉ 1 stylo le reste n est pas

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

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

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

Fiches Outil Acces Sommaire

Fiches Outil Acces Sommaire Fiches Outil Acces Sommaire Fiche Outil Access n 1 :... 2 Le vocabulaire d Access... 2 Fiche Outil Access n 2 :... 4 Créer une table dans la base... 4 Fiche Outil Access n 3 :... 6 Saisir et modifier des

Plus en détail

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail. JAVA Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.com Historique JAVA est issu d'un projet de recherche chez SUN (fin

Plus en détail

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression MPSI Option Informatique Année 2001, Septième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Compression LZW Lorsque l on stocke ou l on transmet via un réseau une grande quantité de données,

Plus en détail

Programmation multitâches avec les Threads

Programmation multitâches avec les Threads Programmation multitâches avec les Threads A. Introduction A.1. Programmation multitâche Tous les systèmes d'exploitation actuels ont la possibilité d'effectuer plusieurs tâches en simultané. En effet,

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

Plus en détail

1 ère PARTIE : COURS (sans document) Durée: 1h15

1 ère PARTIE : COURS (sans document) Durée: 1h15 Examen 1 ère session 2012-2013 page 1 NFA 032 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 032 Mercredi 25 Juin 2014 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session NFA

Plus en détail

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T JAVA - I Généralités Composants élémentaires d'un programme Instructions simples 2 JAVA? Un langage de programmation (orienté objets) Une architecture basée sur une Machine Virtuelle Un ensemble très important

Plus en détail

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Cours Informatique II (SV) Jamila Sam ÉC

Plus en détail

TP n 5 - Correction. IUP2 Année 2004-2005

TP n 5 - Correction. IUP2 Année 2004-2005 Université Paris 7 Programmation objet IUP2 Année 2004-2005 TP n 5 - Correction Héritage Exercice 1 Le cas d école modifié 1. Ecrivez une classe Figure. Cette classe a des attributs privés abcisse et ordonnée,

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

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

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

ACCEDER A UNE BASE DE DONNEES ACCESS AVEC DAO

ACCEDER A UNE BASE DE DONNEES ACCESS AVEC DAO ACCEDER A UNE BASE DE DONNEES ACCESS AVEC DAO NIVEAU : PREMIERE RENCONTRE AVEC VB INITIES/EXPERIMENTES Pré requis pour comprendre ce tutorial : - Connaître les principales commandes de VB - Connaître la

Plus en détail

Période 3 Les tableaux

Période 3 Les tableaux Département Génie Électrique et Informatique Industrielle Période 3 Les tableaux 1/ Recopie de certains éléments d un tableau Soit les déclarations suivantes : int Tabint[10]={65,21, 9,23, 1,32,5, 69,12,

Plus en détail

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence Chapitre : Améliorer les Classes Présentation pour Java Software Solutions Foundations of Program Design Deuxième Edition par John Lewis et William Loftus Java Software Solutions est publié par Addison-Wesley

Plus en détail

Guide d intégration. Protection de logiciels en JAVA avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de logiciels en JAVA avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de logiciels en JAVA avec DinkeyPRO/FD Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

Licence Bio Info Année 2004-2005. Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur

Licence Bio Info Année 2004-2005. Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur Université Paris 7 Programmation objet Licence Bio Info Année 2004-2005 TD n 7 - Correction Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur Le TD d aujourd

Plus en détail

introduction à la conception Orientée Objet

introduction à la conception Orientée Objet 1 introduction à la conception Orientée Objet IUP GEII 2ème année marcel@univ-tours.fr http://www.blois.univ-tours.fr/ marcel 2 plan cours 1. motivations génie logiciel 2. concepts et techniques orientés

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Fiche n 12 : classes et objets (initiation au C++)

Fiche n 12 : classes et objets (initiation au C++) Fiche n 12 : classes et objets (initiation au C++) Nous entrons maintenant dans l'univers de la programmation objet et de C++. Une classe peut être vue comme une évolution d'une structure qui comporte

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

Programmation Orientée Objet. Exceptions et assertions

Programmation Orientée Objet. Exceptions et assertions Programmation Orientée Objet Exceptions et assertions Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Robustesse et Exceptions Error, RuntimeException Exceptions (non)

Plus en détail

Codage de l'information. 01000011 01101111 01100100 01100001 01100111 01100101, ce qui donne un découpage de 8 sextets

Codage de l'information. 01000011 01101111 01100100 01100001 01100111 01100101, ce qui donne un découpage de 8 sextets Univ. Lille 1 - Licence Informatique 2ème année 2013-2014 Objectifs du TP Codage de l'information TP : Le codage Base 64 Ce TP a pour but 1. de convertir des chiers quelconques en un chier texte codé en

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes

Plus en détail

PROCÈS-VERBAL DE L ÉLECTION DES DÉLÉGUÉS DU CONSEIL MUNICIPAL ET DE LEURS SUPPLÉANTS EN VUE DE L ÉLECTION DES SÉNATEURS COMMUNE :

PROCÈS-VERBAL DE L ÉLECTION DES DÉLÉGUÉS DU CONSEIL MUNICIPAL ET DE LEURS SUPPLÉANTS EN VUE DE L ÉLECTION DES SÉNATEURS COMMUNE : DÉPARTEMENT (collectivité) :... ARRONDISSEMENT (subdivision) : Effectif légal du conseil municipal : Nombre de conseillers en exercice : Nombre de délégués (ou délégués supplémentaires) à élire : Nombre

Plus en détail

Estimation de la variance à l aide des poids de bootstrap Guide de l usager du programme BOOTVARF_V30.SAS (VERSION 3.0)

Estimation de la variance à l aide des poids de bootstrap Guide de l usager du programme BOOTVARF_V30.SAS (VERSION 3.0) Estimation de la variance à l aide des poids de bootstrap Guide de l usager du programme BOOTVARF_V30.SAS (VERSION 3.0) 1. Introduction Ce guide s adresse aux utilisateurs du programme SAS BOOTVARF_V30.SAS

Plus en détail