Programmation orientée objet série n 3 - CP 2 Corrections année 2015

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Programmation orientée objet série n 3 - CP 2 Corrections année 2015"

Transcription

1 Programmation orientée objet série n 3 - CP 2 Corrections année Lecture d'une classe : Présentation de la Classe PointCartesien Nous allons voir dans cette série d'exercices la manipulation d'objets en Java. Nous allons utiliser une classe appelée PointCartesien qui permet de définir un point dans un plan à deux dimensions à partir de son abscisse et de son ordonnée. (le source PointCartesien.java) Ouvrez un éditeur comme emacs par exemple pour visualiser le code source de cette classe. Il y a 3 constructeurs différents pour cette classe, donnez ces 3 constructeurs avec leurs éventuels paramètres. Comment fonctionnent-ils? Réponse : Le premier constructeur est PointCartesien(double x, double y) qui prend deux paramètres de type double. Les variables d'instance x et y sont initialisées à ces valeurs. Le second constructeur est PointCartesien() sans paramètre. Les variables d'instance x et y sont initialisées au point (0.0,0.0). Le troisième constructeur est PointCartesien(PointCartesien p) qui prend en paramètre un point cartésien. Les variables d'instance x et y sont initialisées à la valeur du point p passé en paramètre. Il s'agit d'un clonage d'un point existant. Donnez les méthodes dites «accesseurs» avec leurs différents paramètres? Donnez les autres méthodes dites «de classe»? Combien y en a-t-il? Méthodes accesseurs : Les méthodes getx() et gety() retournent respectivement l'abscisse et l'ordonnée de l'instance en cours d'exécution. Méthodes de classe : La méthode positionner(double x, double y) positionne les variables d'instance x et y aux valeurs passées en paramètre. La méthode translation(double dx, double dy) déplace les variables d'instance du point courant de dx et dy. La méthode rotation(double a) effectue une rotation de a radians au point courant. Il existe une autre méthode rotation, cette fois-ci avec deux paramètres qui effectue une rotation à partir d'un centre de rotation.

2 La méthode distance() retourne la distance entre le point courant et l'origine. La méthode egalea(pointcartesien p) teste si le point courant est égal au point p passé en paramètre. La méthode tostring() cf ci-dessous. Vous pouvez remarquer que l'auteur de cette classe a respecté les conventions d'écriture pour pouvoir utiliser l'outil javadoc sur la classe PointCartesien. Utilisez javadoc sur cette classe et vérifiez que vous obtenez bien une documentation de la classe en HTML. Quelle est l'utilité de la méthode tostring() de la classe PointCartesien? La méthode tostring() est une méthode qui existe par défaut et que l'on peut «surcharger». Cette méthode permet d'afficher un point cartésien en le transformant en chaîne. Ainsi, la fonction System.out.println(p); où p est un PointCartesien fonctionnera. 2. Utilisation d'une classe : Utilisation de PointCartesien. Soit la suite d'instructions java suivante : PointCartesien p1; p1 = new PointCartesien(); PointCartesien p2= new PointCartesien(10,10); PointCartesien p3= new PointCartesien(p2); PointCartesien p4 = p3; p4.positionner(14,14); System.out.println ("p3="+ p3.tostring()); p2.translation(4,4); System.out.println("p1=" + p1 + ",p2=" + p2 + ",p3=" + p3 + ", p4=" + p4); System.out.println ("\"p2==p3\"="+(p2==p3)); System.out.println ("\"p3==p4\"="+(p3==p4)); System.out.println("\"p2.egaleA(p4)\"=" +p2.egalea(p4)); System.out.println ("\"p1=p3\"=" + (p1=p3)); a) Précisez quel est l'état du système après chaque étape en terme de références et d'objets existants et quels sont les affichages produits par les différentes instructions System.out.println. PointCartesien p1; p1 = new PointCartesien(); Création d'un point p1 de coordonnées 0.0,0.0. PointCartesien p2= new PointCartesien(10,10); Création d'un point p2 de coordonnées (10.0,10.0). PointCartesien p3= new PointCartesien(p2); Création d'un point p3 par clonage de p2, donc de coordonnées (10.0,10.0). PointCartesien p4 = p3; p4 et p3 correspondent à la même instance de point. Manipuler p4 revient à manipuler p3. p4.positionner(14,14); Positionnement de p3 (ou p4) en (0.0,0.0).

3 System.out.println ("p3="+ p3.tostring()); Affichage de p3=pointcartesien(14.0,14.0) p2.translation(4,4); Translation de p2 de (+4.0,+4.0) soit (14.0,14.0) System.out.println("p1=" + p1 + ",p2=" + p2 + ",p3=" + p3 + ", p4=" + p4); Affichage de p1=pointcartesien(14.0,14.0) p2=pointcartesien(14.0,14.0) p3=pointcartesien(14.0,14.0) p4=pointcartesien(14.0,14.0) System.out.println ("\"p2==p3\"="+(p2==p3)); Teste si p2 et p3 sont égaux. La réponse est non, même si ces deux points ont même coordonnées, ce sont des points différents. System.out.println ("\"p3==p4\"="+(p3==p4)); Par contre, p3 et p4 correspondent au même point. Ils sont donc égaux. System.out.println("\"p2.egaleA(p4)\"=" +p2.egalea(p4)); Cette fois-ci pour tester l'égalité, on utilise la méthode egalea () qui elle teste les coordonnées des points. p2 et p4 sont donc bien égaux. System.out.println ("\"p1=p3\"=" + (p1=p3)); b) Que se passe-t-il si on insère après l'étape 1 l'instruction : p1.positionner(10,10); Cela provoquera une erreur à la compilation car p1 est juste une référence et ne pointe sur aucun objet. Il faut créer un objet avant de pouvoir utiliser des méthodes. c) Quelles séquences d'instructions java permettent-elles d'atteindre l'état suivant, sachant que les variables p1, p2 et p3 sont affectées dans cet ordre et que les objets ont été créés dans l'ordre de gauche à droite? public class Test { public static void main(string args[]){ PointCartesien p1;

4 p1 = new PointCartesien(10,14); PointCartesien p2 = new PointCartesien(10,10); PointCartesien p3 = new PointCartesien(p1); p2 = p3; System.out.println("p1=" + p1 + "\np2=" + p2 + "\np3=" + p3); System.out.println("p1 == p2 " + (p1 == p2)); System.out.println("p2 == p3 " + (p2 == p3)); 3.Modification de la classe PointCartesien a) Écrire le corps de la méthode rotation(double a) qui fait effectuer au point une rotation d'un angle a par rapport à l origine. Rappel : la rotation d un point P(x,y) d un angle a par rapport à l origine est un point P'(x,y ) tel que: x' = x. cos(a) y. sin(a) y = x. sin(a) + y. cos(a) public void rotation(double a) { // attention les calculs trigonométriques s'effectuent à l'aide de // valeur exprimées en radians. double xfin, yfin; xfin = x*math.cos(a) - y*math.sin(a); yfin = x*math.sin(a) + y*math.cos(a); x = xfin; y = yfin; /* ou this.x = xfin; this.y = yfin; */

5 b) Écrire le corps de la méthode rotation(pointcartesien pc, double a) qui fait effectuer au point une rotation d'un angle a dont le centre est le point référencé par pc Pour calculer les coordonnées (x',y') d'un point P de coordonnée (x,y) affecté par une telle rotation, on peut décomposer cette opération en trois étapes : 1.Changement de repère pour placer l'origine en Pc 2.Rotation par rapport à l'origine 3.Changement de repère pour replacer l'origine à sa position initiale. Cette opération peut être réalisée en utilisant les opérations de translation et de rotation par rapport à l origine. public void rotation(pointcartesien pc, double angle) { double xpc, ypc; // on effectue une translation de pc vers l'origine // on récupère l'abscisse et l'origine de pc

6 xpc = pc.getx(); ypc = pc.gety(); translation( -xpc, -ypc); // puis la rotation rotation(angle); // puis à nouveau une translation translation(xpc, ypc); Pour tester cette nouvelle méthode, on peut utiliser le fichier Test.java suivant : public class Test { public static void main (String args[]){ PointCartesien p1 = new PointCartesien(10,10); PointCartesien p2 = new PointCartesien(1,1); p1.rotation(p2, 0.2); System.out.println(p1); c) Ajouter à la classe PointCartesien une méthode copie qui renvoie une copie d'un point cartésien. /** * retourne la copie d'un point cartésien retourne le PointCartesien en cours */ public PointCartesien copie(){ return new PointCartesien(this.x,this.y);

7 d) Ajouter à la classe PointCartesien une méthode qui renvoie la distance entre un point et un autre point. /** * calcule la distance entre le point courant * et un point passé en paramètre p le point dont on souhaite connaitre la distance la distance entre p et le point courant */ public double distanceab(pointcartesien p) { double xp, yp; // coordonnées de P double distance; xp = p.getx(); yp = p.gety(); distance = Math.sqrt(Math.abs(xp*xp - x*x) + Math.abs(yp*yp - y*y)); return distance; public class Test { public static void main(string args[]){ PointCartesien p1; p1 = new PointCartesien(10,14); PointCartesien p2 = new PointCartesien(5,5); System.out.println("p1 = " + p1); System.out.println("p2 = " + p2); System.out.println(p1.distanceAB(p2));

8 e) Écrire un programme de test qui effectue les traitements suivants : crée trois points en tirant leurs coordonnées au hasard dans le rectangle de coin inférieur gauche (-10.0,-10.0) et de coin supérieur droit (10.0,10.0). Vous utiliserez la méthode random() pour générer un nombre aléatoire dans l'intervalle [0,1], puis vous le modifierez de manière adéquate pour lui permettre de se trouver dans l'intervalle [-10,+10] ; affiche sous forme de chaîne de caractères (méthode tostring) ces trois points ; et indique les deux points les plus proches. Pour tirer un nombre au hasard on utilisera la méthode random de la classe Math du package java.lang. (cf série précédente) public class TestPoints { public static void main(string args[]){ PointCartesien p1, p2, p3; double x, y; x = retournevaleur(); y = retournevaleur(); p1 = new PointCartesien(x, y); x = retournevaleur(); y = retournevaleur(); p2 = new PointCartesien(x, y); x = retournevaleur(); y = retournevaleur(); p3 = new PointCartesien(x, y); System.out.println("p1 = " + p1); System.out.println("p2 = " + p2); System.out.println("p3 = " + p3); double d12, d23, d13;

9 d12 = p1.distanceab(p2); d23 = p2.distanceab(p3); d13 = p1.distanceab(p3); if (d12 == Math.min(d12,Math.min(d23,d13))) System.out.println("p1 et p2 sont les plus proches"); if (d23 == Math.min(d12,Math.min(d23,d13))) System.out.println("p2 et p3 sont les plus proches"); if (d13 == Math.min(d12,Math.min(d23,d13))) System.out.println("p1 et p3 sont les plus proches"); /** * retourne une valeur aléatoire entre [-10.0,+10.0] * une valeur dans l'intervalle [-10.0,+10.0] */ public static double retournevaleur(){ double x; x = Math.random(); /* on multiplie par 20 et on décale de 10 pour être dans le triangle */ x = x * 20.0; x = x ; return x;

10 4. Écriture d une nouvelle classe Sur le modèle de la classe PointCartesien, écrire une nouvelle classe qui permet de représenter des cercles. Les opérations possibles sur un cercle sont : l'obtention de son rayon ; le changement de son rayon ; l'obtention de son centre ; la translation de son centre ; le calcul de sa surface ; le calcul de son périmètre ; la restitution d'une représentation textuelle du cercle (méthode tostring()). 1) Définir les attributs caractérisant un cercle. Vous utiliserez deux attributs un point et un rayon. 2) Spécifier l'interface publique (signature des constructeurs et méthodes publiques de la classe). 3) Écrire le code java de la classe (on prendra soin pour chaque méthode de définir le commentaire documentant correspondant de façon à générer une documentation automatiquement avec l'outil javadoc). Pour tester votre classe, dotez là d'un programme principal effectuant les opérations suivantes : création d'un cercle de rayon 1 et de centre 10,10 ; affichage de ses caractéristiques ; calcul et affichage de son périmètre et de sa surface ; doublement de son rayon ; à nouveau calcul et affichage de son périmètre et de sa surface ; déplacement du cercle pour ramener son centre à l'origine ; test de l'égalité du cercle avec un autre cercle de centre (0,0) et de rayon 2 ; test de l'égalité du cercle avec un autre cercle de centre (0,0) et de rayon1,5.

UE Programmation C++ 2ème cours. B. Gas. Orientation I3SR en apprentissage.

UE Programmation C++ 2ème cours. B. Gas. Orientation I3SR en apprentissage. 2ème cours B. Gas Les classes: définition Un objet est constitué d'un ensemble de données de type quelconque et d'un ensemble de fonctions permettant de manipuler ces données. La définition d'un type d'objet

Plus en détail

Classes et objets dans JAVA

Classes et objets dans JAVA Classes et objets dans JAVA «Le sage montre la Lune, le sot regarde le doigt.» Lao - Tseu Rappel : Une classe déclare des propriétés communes à un ensemble d'objets. La classe déclare des attributs représentant

Plus en détail

L'3 TP JAVA TP1 JAVA

L'3 TP JAVA TP1 JAVA TP1 JAVA Concepts abordés L'environnement Eclipse Définition de classes, instanciation d'objets Création et exécution d'un programme Java sous Eclipse Opérateurs, expressions Structures de contrôle Tableaux

Plus en détail

TD - TP n 3 correction

TD - TP n 3 correction ING 1 - POO Java année 2015-2016 Premiers exercice sur les classes TD - TP n 3 correction Exercice 1 : Définissez une classe Complexe, pour représenter les nombres de l ensemble C. Un objet complexe aura

Plus en détail

Une introduction a Java 1

Une introduction a Java 1 Une introduction a Java 1 3. Les classes et les objets 3.1. La notion de classe La notion de classe généralise la notion de type On se propose de définir une classe Point destinée à manipuler des points

Plus en détail

PROGRAMMATION ORIENTEE OBJET (JAVA)

PROGRAMMATION ORIENTEE OBJET (JAVA) ÉCOLE SUPERIEURE DE LA ANNEE UNIVERSITAIRE : 2011-20012 STATISTIQUE ET DE L'ANALYSE DE L'INFORMATION PROGRAMMATION ORIENTEE OBJET (JAVA) SERIE N 2 (TD-TP) Classes et Objets ENSEIGNANTS : Z. BRAHMI && W.

Plus en détail

Dans ce chapitre nous présentons comment développer les classes et créer les objets.

Dans ce chapitre nous présentons comment développer les classes et créer les objets. Chapitre 2 La programmation orientée objet est une technique très puissante permettant d exploiter d énormes ressources stockées sous forme de classes et accessibles librement sur Internet. L appellation

Plus en détail

Programmation orientée objet CP 2 TD/TP n 4 année 2015

Programmation orientée objet CP 2 TD/TP n 4 année 2015 Programmation orientée objet CP 2 TD/TP n 4 année 2015 Objectif L'objectif de cette partie du TD est de réaliser un programme plus complexe comportant plusieurs classes. Le but est de jouer au jeu de black-jack.

Plus en détail

Programmation par objets. Objets et Classes

Programmation par objets. Objets et Classes Programmation par objets Objets et Classes Notions du cours comprendre les principes des classes et des objets les constructeurs de classe la méthode tostring() attributs public et private méthodes et

Plus en détail

Créer une simple application Java avec netbeans. Par Ahcène BOUNCEUR

Créer une simple application Java avec netbeans. Par Ahcène BOUNCEUR Créer une simple application Java avec netbeans Par Ahcène BOUNCEUR Janvier 2005 INTRODUCTION Dans cet exemple nous allons vous montrer comment peut-on créer une simple application Java en utilisant l

Plus en détail

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001 Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES en JAVA 1 Programmation orientée objet (POO) Objet : cœur de la POO objet = type de données qui a une structure et un état État de l objet

Plus en détail

Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java.

Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java. IN201 : JUnit SUPAERO 2A Christophe Garion Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java. Le problème principal qui se pose en «informatique»

Plus en détail

L3 MIASHS. INF F5 Héritage.

L3 MIASHS. INF F5 Héritage. L3 MIASHS INF F5 Héritage Daniel.Bardou@upmf-grenoble.fr Sommaire Définitions Constructeurs et héritage Pseudo-variables Ajout d'attributs Ajouts et redéfinitions de méthodes Polymorphisme d'inclusion

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet 1A 2014 / 2015 Programmation Orientée Objet Cours 1 Gérald Oster Présentation du module Objectifs : Connaître les concepts fondamentaux des langages objets Etudier et maîtriser un langage

Plus en détail

Fiches JAVA. 1 Classes et objets. 2 Création et utilisation d un objet

Fiches JAVA. 1 Classes et objets. 2 Création et utilisation d un objet 1 Classes et objets Fiches JAVA Les éléments de base en java sont des objets. On peut avoir différents types d objets en Java. Le type d un objet est appelé sa classe. Chaque fichier java décrit une classe.

Plus en détail

IFT FINAL. Directives: IFT Session Été, Final. Mohamed Lokbani. Inscrivez tout de suite votre nom et code permanent.

IFT FINAL. Directives: IFT Session Été, Final. Mohamed Lokbani. Inscrivez tout de suite votre nom et code permanent. IFT1020 - Session Été, Final Mohamed Lokbani IFT1020 - FINAL Inscrivez tout de suite votre nom et code permanent. Nom: Prénom(s): Signature: Code perm: Date : 29 juillet 2004 Durée: 3 heures (de 18h30

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

Chapitre 5 : Relations entre classes

Chapitre 5 : Relations entre classes Chapitre 5 : Relations entre classes Relation Uses Relation d'héritage Les sous-classes Héritage simple Membres protégés Constructeurs Héritage multiple POO \ N.EL FADDOULI 65 La relation "utilise" La

Plus en détail

Cours 4 : Héritage et polymorphisme

Cours 4 : Héritage et polymorphisme Principe de l héritage Syntaxe DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.fr Cours 4 : Héritage et polymorphisme Besoins : éviter de dupliquer du code (attributs et méthodes)

Plus en détail

Licence Informatique Année Interfaces, polymorphisme

Licence Informatique Année Interfaces, polymorphisme Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 3 - Correction Interfaces, polymorphisme Exercice 1 On veut construire un programme capable d afficher et de déplacer des figures géométriques

Plus en détail

Chapitre 7: Les collections

Chapitre 7: Les collections Chapitre 7: Les collections Définition Les classes: Vector ArrayList L'interface: Comparable POO \ N.EL FADDOULI 104 Les collections: Définition Une collection est un objet unique permettant de gérer un

Plus en détail

1 La notion de package 1. 2 Les chaînes de caractères 2. 3 Retour vers les objets 4

1 La notion de package 1. 2 Les chaînes de caractères 2. 3 Retour vers les objets 4 Plan du cours Table des matières 1 La notion de package 1 2 Les chaînes de caractères 2 3 Retour vers les objets 4 4 Les interfaces 6 1 La notion de package Organisation générale d un projet Java Pour

Plus en détail

Séance Exercices 1. Les exercices suivants sont une série de pointeurs sur les connaissances de base en java. Les connaissances de cette

Séance Exercices 1. Les exercices suivants sont une série de pointeurs sur les connaissances de base en java. Les connaissances de cette Séance Exercices 1 Les exercices suivants sont une série de pointeurs sur les connaissances de base en java. Les connaissances de cette première série d'exercices sont fondamentales. Les corrigés sont

Plus en détail

M2 ISIFAR C# - TP

M2 ISIFAR C# - TP Exercice I : Répondez aux questions suivantes (2 points par bonne réponse : 1 point pour la réponse et 1 point pour la justification). Question 1 public class A private int i; public int geti() return

Plus en détail

Utilisation du moteur de jeu en JAVA.

Utilisation du moteur de jeu en JAVA. Utilisation du moteur de jeu en JAVA. vincent.thomas@loria.fr L'objectif des classes fournies est de proposer un moteur simple pour faire tourner des jeux ou des simulations en java. Récupération des fichiers

Plus en détail

TP N 2 : Classes et Objets Langage JAVA

TP N 2 : Classes et Objets Langage JAVA TP N 2 : Classes et Objets Langage JAVA Exercice 1 Soit le diagramme de classe suivant : Figure 1 : Diagramme de classe 1. Développer la classe User et la classe Profil dans le package «ma.projet». Chaque

Plus en détail

Programmation orientée objet CP 2 TD/TP n 3 année 2016

Programmation orientée objet CP 2 TD/TP n 3 année 2016 Programmation orientée objet CP 2 TD/TP n 3 année 2016 Objectif L'objectif de cette partie du TD est de s'exercer à la spécification et à la programmation de classes élémentaires. En particulier, il s'agit

Plus en détail

Correction TD5 : Le design pattern Composite

Correction TD5 : Le design pattern Composite IUT Villetaneuse M3105 : Conception et programmation objet avancées Année 2016/2017, Formation Initiale Correction TD5 : Le design pattern Composite Nous allons utiliser le design pattern composite pour

Plus en détail

I.U.T. Nice-Côte d'azur Département R & T. TP 1. Introduction à Java (~/I5/TP1/) a) Les outils à utiliser pour écrire des programmes en langage Java

I.U.T. Nice-Côte d'azur Département R & T. TP 1. Introduction à Java (~/I5/TP1/) a) Les outils à utiliser pour écrire des programmes en langage Java TP 1 Introduction à Java (~/I5/TP1/) Avant tout, la première chose à faire est de créer dans votre répertoire d entrée, un répertoire nommé I5. Les différents exercices d une feuille de TP seront regroupés

Plus en détail

TP1 JAVA. Cette commande génère un fichier compilé de nom : nom_fich.class. Et pour lancer l'exécution de ce programme il faut taper :

TP1 JAVA. Cette commande génère un fichier compilé de nom : nom_fich.class. Et pour lancer l'exécution de ce programme il faut taper : TP1 JAVA 1. Présentation de l'ide Netbeans 1.2 Compiler et exécuter : javac et java Pour faire un programme en java il faut taper son code via un éditeur de texte, dans notre cas il s'agit d'emacs, et

Plus en détail

Licence Informatique Année TD sur machine, héritage

Licence Informatique Année TD sur machine, héritage Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 7 - Correction TD sur machine, héritage Exercice 1 La commande javap permet de désassembler le code produit par le compilateur javac. Cela

Plus en détail

TD n 1 - Correction. Premières classes. Licence Informatique Année Exercice 1 Qu affiche le programme suivant?

TD n 1 - Correction. Premières classes. Licence Informatique Année Exercice 1 Qu affiche le programme suivant? Université Paris 7 Java Licence Informatique Année 2005-2006 TD n - Correction Premières classes Exercice Qu affiche le programme suivant? public class Ex { int a = 0 ; public void f() { a++ ; public void

Plus en détail

ING 1 - POO Java année TD-TP n 6. Application à la gestion bancaire Partie sans héritage

ING 1 - POO Java année TD-TP n 6. Application à la gestion bancaire Partie sans héritage ING 1 - POO Java année 2015-2016 TD-TP n 6 Application à la gestion bancaire Partie sans héritage Nous allons commencer par définir une classe Compte et une classe Client, version améliorée du TD/TP précédent.

Plus en détail

Feuille d exercices N 3

Feuille d exercices N 3 USTHB 2014-2015 Licence 2 Académique Semestre 4 TD POO I. Boussaïd & C. Ighilaza Exercice 1 Feuille d exercices N 3 (Héritage et polymorphisme) Gestion de la bibliothèque On modélise une application devant

Plus en détail

Les classes en C# Il est possible d'attribuer des valeurs par défaut aux champs de donnée.

Les classes en C# Il est possible d'attribuer des valeurs par défaut aux champs de donnée. Les classes en C# Nous avons vu qu'en dehors des types de base, tout est classe. Une classe est constituée d'une partie données - les attributs - et d'une partie méthodes. Les membres d'une classe Des

Plus en détail

Introduction à la programmation objet

Introduction à la programmation objet Introduction à la programmation objet CNAM-Paris March 2, 2017 1. Classes, objets et POO Les données en programmation Données élémentaires : une variable contient une donnée simple. Ex: variables avec

Plus en détail

EX 5 : Classes Abstraites

EX 5 : Classes Abstraites IUT d Orsay - DUT Informatique - Jean-Claude MARTIN JEAN-CLAUDE.MARTIN@U-PSUD.FR Objectifs S2 Module M2103 - Programmation Orientée Objet (POO) Comprendre l utilité d une classe abstraite Programmer des

Plus en détail

ANNEE UNIVERSITAIRE 2007/ ère Session de Printemps. Problème.

ANNEE UNIVERSITAIRE 2007/ ère Session de Printemps. Problème. ANNEE UNIVERSITAIRE 2007/2008 1 ère Session de Printemps DISVE Licence Parcours : CSB4, MHT4 UE : INF252 Epreuve : Programmation2 Date : 6 Mai 2008 Heure : 8h Durée : 1h30 Documents : Tous Documents autorisés

Plus en détail

TD : A la découverte de Python

TD : A la découverte de Python TD : A la découverte de Python 1) Environnement de travail a) Qu est-ce qu un IDE? Lorsqu on fait de la programmation, il est agréable d avoir à sa disposition différents outils qui permettent de travailler

Plus en détail

Introduction à la programmation avec Java

Introduction à la programmation avec Java Introduction à la programmation avec Java UFR Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 Frédéric MALLET Jean-Paul ROY COURS 3 Les choix Le bloc conditionnel 3-2 Où en sommes nous? Les objets

Plus en détail

Java Licence Professionnelle CISII,

Java Licence Professionnelle CISII, Java Licence Professionnelle CISII, 2009-10 Cours 3 : Autres types de données (c) http://www.loria.fr/~tabbone/cours.html 1 Les constantes - Contiennent une valeur fixe et sont caractérisées par un identificateur

Plus en détail

NFA023/Android Programmation orientée objet/plan du cours

NFA023/Android Programmation orientée objet/plan du cours NFA023/Android Programmation orientée objet/plan du cours 2011-2012 1 Notion de structure Insuffisance des types primitifs et des tableaux en java : on veut représenter des produits, qui peuvent être périmés

Plus en détail

Conception et programmation avancées TD révisions UML - JAVA

Conception et programmation avancées TD révisions UML - JAVA Conception et programmation avancées TD révisions UML - JAVA I) Partie UML 1) Les instances décrivent-elles des méthodes? Où sont décrites les méthodes? Corr : Non bien sûr. Les méthodes sont décrites

Plus en détail

Examen de programmation par objets

Examen de programmation par objets Examen de programmation par objets Janvier 2000 Licence informatique Responsable J.Ferber Tous documents manuels (cours, polys) autorisés. Livres non autorisés Durée : 2 h Exercice 1: Héritage et instanciation

Plus en détail

IFT 1179 : Programmation en C#

IFT 1179 : Programmation en C# IFT 1179 : Programmation en C# A) Suite de l ENCAPSULATION : 1) Champs d informations (ou attributs ou membres de données): a) variables d instance : des champs d informations d un objet de la classe :

Plus en détail

Exercices dirigés n 5

Exercices dirigés n 5 Exercices dirigés n 5 Design Pattern Composite : étant données 2 schémas de classes représentant des exemples de formes possibles : public class Cercle{ private Point centre; private double rayon; private

Plus en détail

Compléments sur les objets

Compléments sur les objets Programmation en Java 2008-2009 Frédéric Mallet & Jean-Paul Roy L1 Info&Math - Faculté des Sciences de Nice http://deptinfo.unice.fr/~roy Cours n 9 Compléments sur les objets 1 L'objet courant : this Reprenons

Plus en détail

TP de Programmation Orientée Objet : abstraction

TP de Programmation Orientée Objet : abstraction TP de Programmation Orientée Objet : abstraction Expressiez-vous! Équipe pédagogique Programmation Orientée Objet Novembre MMXIV 1 Introduction Ce TP a pour objectif de manipuler des expressions arithmétiques

Plus en détail

Anne Tasso. 3 e édition Groupe Eyrolles, 2000, 2002, 2005, ISBN :

Anne Tasso. 3 e édition Groupe Eyrolles, 2000, 2002, 2005, ISBN : Anne Tasso 3 e édition 2005 Groupe Eyrolles, 2000, 2002, 2005, ISBN : 2-212-11679-9 chapitre n 10 Collectionner un nombre indéterminé d objets Les dictionnaires Pour améliorer la recherche d éléments complexes

Plus en détail

Les méthodes Java et encapsulation

Les méthodes Java et encapsulation Année 2008-2009 Les méthodes Java et encapsulation Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Dans ce cours... Nous avons vu qu'une instance d'une

Plus en détail

Chapitre 4 Approfondissements sur les classes et les objets

Chapitre 4 Approfondissements sur les classes et les objets Chapitre 4 Approfondissements sur les classes et les objets Pascal Lando Faculté de mathématiques et d informatique Amiens http://www.laria.u-picardie.fr/~lando pascal.lando@u-picardie.fr 12 mars 2007

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java Centre CNAM de Paris Première session 2015 semestre 2 Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet (5

Plus en détail

Série d exercices N 2

Série d exercices N 2 Série d exercices N 2 Exercice 1: A/ On considère la classe Etudiant définie par : - les attributs privés suivants : nom, prénom, nombre de notes et un tableau de notes - les méthodes suivantes : Saisie,

Plus en détail

CHAPITRE 6 : PRODUIT SCALAIRE

CHAPITRE 6 : PRODUIT SCALAIRE CHPITRE 6 : PRODUIT SCLIRE I. Produit scalaire de deux vecteurs dans le plan 1. Généralités Définition : Soit u et v deux vecteurs du plan non nuls, et, B, C trois points du plan tels que Le produit scalaire

Plus en détail

P.O.O. - Solution du TD N 3 : Définitions de classes Java

P.O.O. - Solution du TD N 3 : Définitions de classes Java Université A. Belkaïd Tlemcen Faculté des Sciences Département d'informatique 1) a) Erreurs empêchant la compilation : P.O.O. - Solution du TD N 3 : Définitions de classes Java Ligne 1 : L'accolade ouvrante

Plus en détail

Développement Windows avec l environnement Lazarus Séance 2 Manipuler du texte et des formes colorées

Développement Windows avec l environnement Lazarus Séance 2 Manipuler du texte et des formes colorées Développement Windows avec l environnement Lazarus Séance 2 Manipuler du texte et des formes colorées Créer une nouvelle application: Dans Lazarus, utilise la commande «Fichier Fermer tous les fichiers

Plus en détail

Examen 1 ère session page 1 NFA Programmation JAVA Formation CNAM. 1 ère Session NFA 031 CORRECTION

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

Plus en détail

private void remplirrectangle(graphics g, int x,int y,int l,int h)

private void remplirrectangle(graphics g, int x,int y,int l,int h) IFT1025-A2013 Examen Intra (10) 1. Écrire la méthode Java Programmation 2 Date:15 octobre 2013, 15:30-17:30 Guy Lapalme private void remplirrectangle(graphics g, int x,int y,int l,int h) qui remplit un

Plus en détail

Session avril 2015 BACCALAUREAT BLANC. Série : S. Épreuve : Mathématiques ( candidats n ayant pas suivi l enseignement de spécialité )

Session avril 2015 BACCALAUREAT BLANC. Série : S. Épreuve : Mathématiques ( candidats n ayant pas suivi l enseignement de spécialité ) BACCALAUREAT BLANC Session avril 2015 Série : S Épreuve : Mathématiques ( candidats n ayant pas suivi l enseignement de spécialité ) Durée de l'épreuve : 4 heures coefficient : 7 MATERIEL AUTORISE OU NON

Plus en détail

Série 2.2. Exercices 1 : Les variables, les constantes et les opérations mathématiques de base en Java.

Série 2.2. Exercices 1 : Les variables, les constantes et les opérations mathématiques de base en Java. Série 2.2 Objectifs de cette série Définir des variables et des constantes. Définir des opérations mathématiques de bases. Utiliser les opérateurs arithmétiques ++ -- % etc. Utiliser les opérateurs d affectation

Plus en détail

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI?

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI? Programmer java (java se) - niveau 1 Cette formation permet aux développeurs de créer des programmes JAVA SE. Elle peut être réalisée avec les outils suivants : - Eclipse - NetBeans OBJECTIFS Ecrire, compiler,

Plus en détail

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine Introduction à Java Cours 3: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 3: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 Types énumérés Parfois,

Plus en détail

Javadoc. Outil Javadoc. outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java

Javadoc. Outil Javadoc. outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java Javadoc 1 Générer une documentation avec Javadoc Outil Javadoc outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java Utilisation : La syntaxe d appel a plusieurs

Plus en détail

1) Système et architecture. (1/4 heure, 2 points) 2) Programmation fonctionnelle. (1 heure, 9 points)

1) Système et architecture. (1/4 heure, 2 points) 2) Programmation fonctionnelle. (1 heure, 9 points) 1) Système et architecture. (1/4 heure, 2 points) a) Codez les nombres suivants en binaire, sur 8 bits. Pour les nombres négatifs, utilisez le complément à 2. 12 128-5 b) Complétez la table de vérité suivante

Plus en détail

Interface. Chapitre Les formes géométriques sans interface

Interface. Chapitre Les formes géométriques sans interface Chapitre 5 Interface Les interfaces sont une construction du langage JAVA qui permettent d abstraire certains comportements des objets de telle sorte que des objets appartenant à des classes différentes

Plus en détail

TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections

TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections 1 Exercice 1 ArrayList En vous aidant de l annexe (documentation de ArrayList et de Random), réalisez un programme

Plus en détail

POO. Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles.

POO. Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles. 1 JAVASCRIPT POO INTRODUCTION Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles. La programmation orientée objets encapsule les données,

Plus en détail

Le livre de Java premier langage

Le livre de Java premier langage Le livre de Java premier langage Anne Tasso Éditions Eyrolles ISBN : 2-212-09156-7 2000 8 Les principes du concept d objet Au cours du chapitre précédent, nous avons examiné comment mettre en place des

Plus en détail

II. Principes généraux Instanciation

II. Principes généraux Instanciation II. Principes généraux Instanciation Éléments de vocabulaire (rappel) Identificateur : c'est un mot significatif d'un programme. Certains identificateurs sont prédéfinis pour un langage donné (par exemple,

Plus en détail

La compagnie aérienne [oo03] - Exercice

La compagnie aérienne [oo03] - Exercice La compagnie aérienne [oo03] - Exercice Karine Zampieri, Stéphane Rivière Unisciel algoprog Version 29 janvier 2017 Table des matières 1 La compagnie aérienne / pgcompagnie 2 1.1 Classe Aeroport................................

Plus en détail

Dossier 1 Principaux éléments de syntaxe Java

Dossier 1 Principaux éléments de syntaxe Java IUT Montpellier Informatique Licence professionnelle 2009/10 Programmation par objets en Java Dossier 1 Principaux éléments de syntaxe Java Cette partie n'aborde pas les notions de classe et d'objet (et

Plus en détail

Série A : Exercices de récapitulation

Série A : Exercices de récapitulation Série A : Exercices de récapitulation Vous allez réaliser sous Unimozer la classe Fraction qui permet de représenter une fraction définie par un numérateur et un dénominateur. Exemples:, 2 6, 5 7, 3 9,

Plus en détail

ING 1 - POO Java année

ING 1 - POO Java année ING 1 - POO Java année 2015-2016 TD n 2 Exercice préliminaire Écrire en Java tous les exercices vus en cours : discriminant, Exercice 1 Écrire un programme qui affecte des valeurs aléatoires à un tableau

Plus en détail

ING 1 - POO Java année TD-TP n 7

ING 1 - POO Java année TD-TP n 7 ING 1 - POO Java année 2015-2016 TD-TP n 7 Une entreprise de transport de marchandises et de passagers décide de demander aux étudiants d'ing1 de l'aider pour mettre sous forme d'objets sa flotte de véhicules.

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Heritage et polymorphisme Emmanuel Hyon Université Paris Ouest Nanterre UFR SEGMI - L2 MIA - 2010/2011 10 mars 2010 1 / 59 Sommaire 1 Héritage 2 Polymorphisme 3 Classes abstraites

Plus en détail

Chapitre 3 : les Tableaux. Notion de tableau Les tableaux en Java Affectation, égalité entre tableaux Tableaux multidimensionnels

Chapitre 3 : les Tableaux. Notion de tableau Les tableaux en Java Affectation, égalité entre tableaux Tableaux multidimensionnels Chapitre 3 : les Tableaux Notion de tableau Les tableaux en Java Affectation, égalité entre tableaux Tableaux multidimensionnels Notion de tableau Pour pouvoir écrire des programmes un peu plus intéressants,

Plus en détail

Méthodes et variables statiques

Méthodes et variables statiques Année 2008-2009 Méthodes et variables statiques Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 La classe Math Supposons que vous voulez écrire une

Plus en détail

Java débutant. Qua faire quand j'arrive en TP?

Java débutant. Qua faire quand j'arrive en TP? Java débutant Qua faire quand j'arrive en TP? Compilation Le compilateur traduit le programme écrit en programme source Java en programme exécutable par la machine Programme source.java COMPILATEUR Programme

Plus en détail

TD sur les structures (ou type produit) n o 5 (Correction)

TD sur les structures (ou type produit) n o 5 (Correction) Univ. Paris-Sud 11 - Licence MPI L1 Informatique, 2ième sem. 2016-17 TD sur les structures (ou type produit) n o 5 (Correction) Le but de ce TD est de manipuler des structures (type struct en C++) qui

Plus en détail

Prof. Maria-Iuliana Dascălu Assist. Iulia-Cristina Stănică

Prof. Maria-Iuliana Dascălu Assist. Iulia-Cristina Stănică Prof. Maria-Iuliana Dascălu Assist. Iulia-Cristina Stănică iulia.stanica@gmail.com Les fonctions La visibilité des variables: locales vs globales Def: Un bloc de code qui doit être exécuté plusieurs fois.

Plus en détail

NOMBRES RELATIFS. Tout point d'une droite graduée est repéré par un nombre relatif appelé son abscisse. 0,1

NOMBRES RELATIFS. Tout point d'une droite graduée est repéré par un nombre relatif appelé son abscisse. 0,1 NMBRES RELATIFS I vocabulaire Un nombre relatif positif s'écrit avec le signe + ou sans signe. Un nombre relatif négatif s'écrit avec le signe. 0 est le seul nombre à la fois positif et négatif. Deux nombres

Plus en détail

Langages avec des objets : JAVA

Langages avec des objets : JAVA 1 Langages avec des objets : JAVA Robert Cori Buts de ce cours: 1. Comprendre les principes de la programmation 2. Connaître les développements modernes de logiciels et avoir une idée de leur fonctionnement

Plus en détail

Plan. Chaînes de caractères un exemple d objet. Codage Unicode. Définition. Programmation objet. Programmation objet

Plan. Chaînes de caractères un exemple d objet. Codage Unicode. Définition. Programmation objet. Programmation objet Plan Chaînes de caractères un exemple d objet Définition Programmation objet Classe String Classe StringBuilder Université de Nice - Sophia Antipolis Richard Grin Version1.1 10/11/11 Richard Grin Chaînes

Plus en détail

Exercices en langage JAVA

Exercices en langage JAVA Exercices en langage JAVA H. Frezza-Buet et M. Ianotto 10 février 2003 Table des matières 1 Ecrire un programme, le compiler et l exécuter 3 1.1 Calcul de la somme des 100 premiers entiers avec une classe

Plus en détail

L3 Informatique, parcours Recherche et innovation Cours Programmation, 1 er semestre, année TD 8 : Premiers pas en C++

L3 Informatique, parcours Recherche et innovation Cours Programmation, 1 er semestre, année TD 8 : Premiers pas en C++ L3 Informatique, parcours Recherche et innovation Cours Programmation, 1 er semestre, année 2012 2013 TD 8 : Premiers pas en C++ Luc Bougé, Matthieu Dorier 20 novembre 2012 Id: td08.tex 189 2012 11 14

Plus en détail

LES CLASSES ABSTRAITES ET LES INTERFACES

LES CLASSES ABSTRAITES ET LES INTERFACES CHAPITRE 6 : LES CLASSES ABSTRAITES ET LES INTERFACES Objectifs spécifiques 1. Introduire la notion de classe abstraite, les règles de définition et l intérêt pratique 2. Introduire le concept d interfaces,

Plus en détail

Examen final de Programmation Objet : Corrigé-type

Examen final de Programmation Objet : Corrigé-type Université A. Belkaïd Tlemcen Faculté des Sciences Département d'informatique Examen final de Programmation Objet : Corrigé-type Année universitaire 2014-2015 2 e année licence informatique Programmation

Plus en détail

Documentation développeur FullSWOF UI Version 1.00 ( )

Documentation développeur FullSWOF UI Version 1.00 ( ) Documentation développeur FullSWOF UI Version 1.00 (2012-07-19) 2012-07-19 1/5 Création d'un arbre de configuration L'architecture de FullSWOF_UI est destinée à permettre aisément de modifier le nombre

Plus en détail

Trigonométrie 1.0 OLIVIER LÉCLUSE CREATIVE COMMON BY-NC-SA

Trigonométrie 1.0 OLIVIER LÉCLUSE CREATIVE COMMON BY-NC-SA Terminale S Trigonométrie 1.0 OLIVIER LÉCLUSE CREATIVE COMMON BY-NC-SA Octobre 2013 Table des matières Objectifs 5 Introduction 7 I - Définition - dérivabilité 9 A. Construction Sinus et Cosinus...9 B.

Plus en détail

Travaux Pratiques n 1

Travaux Pratiques n 1 1 Programmation Orientée Objet - JAVA Travaux Pratiques n 1 Durant les séances de TP de POO, les notions de base sont abordées et validées. Les saisies de données au clavier seront prises en charge par

Plus en détail

Exercices sur les sous-programmes

Exercices sur les sous-programmes Exercices sur les sous-programmes Exercices sous NetBeans Auteur : Eric Thirion - 12/10/2016 Extrait du site cours.thirion.free.fr Exercices sur les sous-programme - page 1 Les exercices suivants sont

Plus en détail

Programmation avec Java : notions de base

Programmation avec Java : notions de base Programmation avec Java : notions de base (NFA031) Corrigé session du 6 février 2014 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : QCM (2,5 points) Attention : les

Plus en détail

Les énumérations : Définition. Une énumération est un ensemble fini de constantes.

Les énumérations : Définition. Une énumération est un ensemble fini de constantes. Chapitre 9 Les énumérations Les énumérations : Définition Une énumération est un ensemble fini de constantes. Exemple : public enum Jours { LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE La

Plus en détail

Correction du TP2. Exercice Exercice Exercice Université de Tlemcen Département d'informatique

Correction du TP2. Exercice Exercice Exercice Université de Tlemcen Département d'informatique Exercice 2.69 Que renverrait getloginname() pour un étudiant nommé «Henry Martin», dont le numéro d'identité serait «557214». Pour un objet de la classe «Student» créé avec les paramètres respectifs «Henry

Plus en détail

Références et types primitifs en java

Références et types primitifs en java Références et types primitifs en java Mickaël Péchaud Mars 2008 Table des matières 1 Types primitifs 4 1.1 Petite liste............................................... 4 1.2 Variables pour les types primitifs..................................

Plus en détail

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

École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: Automne 2003 École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: Automne 2003 Question 1: (5 points) 1.1 On désire créer et initialiser un tableau

Plus en détail

-> démarche -> prépare une programmation fiable (sans garantir que ce soit la meilleure solution toutefois)

-> démarche -> prépare une programmation fiable (sans garantir que ce soit la meilleure solution toutefois) Qu'est ce qu'un algorithme? 1 Définition Un algorithme est une suite finie d'opérations ou règles à appliquer dans un ordre déterminé, à un nombre fini de données, pour arriver à en un nombre fini d'étapes,

Plus en détail

Programmation avec Java : programmation objet (NFA032)

Programmation avec Java : programmation objet (NFA032) Programmation avec Java : programmation objet (NFA032) Samedi 13 avril 2013 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : exceptions (3 points) p u b l i c c l a s

Plus en détail

JAVA année 2015 CP 2 série n 2. Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques

JAVA année 2015 CP 2 série n 2. Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques JAVA année 2015 CP 2 série n 2 Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques Exercice 1 Écrire un programme Ex0201.java qui lit 3 nombres au clavier, les classes dans

Plus en détail