Sujet UE NFA032: Programmation avec Java : programmation objet

Documents pareils
Corrigé des exercices sur les références

Premiers Pas en Programmation Objet : les Classes et les Objets

Programme Compte bancaire (code)

Programmation Objet Java Correction

Synchro et Threads Java TM

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Java Licence Professionnelle CISII,

Remote Method Invocation (RMI)

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Programmer en JAVA. par Tama

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Objets et Programmation. origine des langages orientés-objet

F. Barthélemy. 17 mai 2005

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

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Remote Method Invocation en Java (RMI)

RMI le langage Java XII-1 JMF

PROGRAMMATION PAR OBJETS

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP1 : Initiation à Java et Eclipse

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

Package Java.util Classe générique

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

ACTIVITÉ DE PROGRAMMATION

TP, première séquence d exercices.

TD/TP PAC - Programmation n 3

Programmation par les Objets en Java

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Java 1.5 : principales nouveautés

Utilisation d objets : String et ArrayList

Projet de programmation (IK3) : TP n 1 Correction

Auto-évaluation Programmation en Java

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Remote Method Invocation Les classes implémentant Serializable

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Serveur d'archivage 2007 Installation et utilisation de la BD exist

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

Développement Logiciel

Corrigés des premiers exercices sur les classes

Héritage presque multiple en Java (1/2)

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

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Un ordonnanceur stupide

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

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

GOL502 Industries de services

INF 321 : mémento de la syntaxe de Java

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

Exercices sur les interfaces

Java DataBaseConnectivity

OpenPaaS Le réseau social d'entreprise

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Desktop Intégration. Rémi Forax

Applet pour visualiser les variables «automate» notifiées

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

Calcul Parallèle. Cours 5 - JAVA RMI

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

Initiation à JAVA et à la programmation objet.

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Généralités sur le Langage Java et éléments syntaxiques.

Dis papa, c est quoi un bus logiciel réparti?

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Support de cours et TD Programmation Orientée Objet

TD2 Programmation concurrentielle

Langage Java. Classe de première SI

1 Définition d une classe en Java

Programmation Par Objets

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Plan du cours. Historique du langage Nouveautés de Java 7

Notes de cours Practical BigData

7 Développement d une application de MapReduce

Programmation avec des objets : Cours 7. Menu du jour

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

LOG4430 : Architecture logicielle et conception avancée

Flux de données Lecture/Ecriture Fichiers

Cours 1: Java et les objets

as Architecture des Systèmes d Information

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Introduction au langage Java

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

INITIATION AU LANGAGE JAVA

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Traitement de données

Utiliser Java sans BlueJ

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Création d une application JEE

Java 7 Les fondamentaux du langage Java

Transcription:

Année universitaire 2015 2016 Sujet UE NFA032: Programmation avec Java : programmation objet Examen deuxième session : 21/04/2016 Responsable : F. Barthélemy Durée : 3 heures Consignes Aucun document n est autorisé. Calculatrice non autorisée Les téléphones mobiles et autres équipements communicants (exemple : PC, tablettes, etc) doivent être éteints et rangés dans les sacs pendant toute la durée de l épreuve. Sujet de 5 pages, celle-ci comprise. Le barème est donné à titre purement indicatif. Il est susceptible de changer Vérifiez que vous disposez de la totalité des pages du sujet en début d épreuve et signalez tout problème de reprographie le cas échéant. 1

Exercice 1 : programmation objet (5 points) Ecrivez une classe permettant de représenter une entrée de dictionnaire et qui comporte les informations suivantes : le mot ; sa catégorie grammaticale (nom, verbe, adjectif, etc) ; sa définition. Cette classe comportera un constructeur et une méthode d affichage. Question 2 On veut maintenant représenter des formes fléchies des mots, c est-à-dire des formes conjuguées des verbes et des formes accordées des noms et adjectifs. Une forme fléchie comprendra une entrée de dictionnaire (un objet de la classe définie à la question 1) et des informations de flexion (temps, personne, genre, nombre, etc). Cette classe comportera un constructeur et une méthode d affichage. Question 3 Donnez une méthode main qui crée et affiche des objets des deux classes écrites précédemment. Exercice 2 : références (3 points) class Grand{ int[] tab; Grand(int x){ tab = new int[x]; for (int i=0; i<x; i++){ tab[i]=x+i; public class Ref17{ public static void main(string[] args){ Grand[] chose; chose = new Grand[1]; chose[0] = new Grand(2); Représentez au moyen d un petit dessin les objets et tableaux existant à la fin de l exécution du programme donné ci-dessus. Chaque objet et chaque tableau sera représenté par un rectangle et chaque référence par une flèche ou une adresse. Attention : on ne vous demande pas un diagramme de classe. C est chaque objet créé, chaque tableau et chaque référence qui doit être représenté. 2

Question 2 Donnez le code java permettant d afficher à l écran tous les entiers contenus dans des tableaux. Pour cette question, il n est pas permis de changer le code de la classe Grand. Exercice 3 : exceptions (3,5 points) p u b l i c c l a s s Excep8 { p u b l i c s t a t i c void m2( i n t x, i n t y ) throws Err1, Err2 { i f ( x ==1) throw new E rr1 ( ) ; e l s e i f ( x>y ) { throw new E rr2 ( ) ; T e r m i n a l. e c r i r e S t r i n g l n ( " Fin normale m2" ) ; p u b l i c s t a t i c void m1( i n t x, i n t y ) throws Err1, Err2 { t r y { m2( x, y ) ; T e r m i n a l. e c r i r e S t r i n g l n ( " Fin normale m1" ) ; catch ( E rr1 e ) { T e r m i n a l. e c r i r e S t r i n g l n ( " R e c u p e r a t i o n Err1 " ) ; catch ( E rr2 e ) { m2( x 1,y ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) throws Err1, Err2 { i n t a = T e r m i n a l. l i r e I n t ( ) ; i n t b = T e r m i n a l. l i r e I n t ( ) ; m1( a, b ) ; T e r m i n a l. e c r i r e S t r i n g l n ( " Fin programme " ) ; c l a s s Err1 extends E x c e p t i o n { c l a s s Err2 extends E x c e p t i o n { Donnez les messages affichés par l exécution de ce programme si les valeurs lues pour les variables a et b sont respectivement : 1. a=1 et b=2 2. a=2 et b=1 3. a=2 et b=2 4. a=3 et b=2 5. a=4 et b=2 3

Exercice 4 : interface/héritage (4,5 points) i n t e r f a c e V e g e t a l { void e s t I n g é r é ( ) ; i n t e r f a c e H e r b i v o r e { void mange ( V e g e t a l v ) ; void meurt ( ) ; c l a s s Animal { boolean v i v a n t = t rue ; i n t p o i d s ; Animal ( i n t p ) { p o i d s =p ; p u b l i c void meurt ( ) { v i v a n t = f a l s e ; c l a s s Mouton extends Animal implements H e r b i v o r e { Mouton ( i n t p ) { super ( p ) ; p u b l i c void mange ( V e g e t a l v ) { v. e s t I n g é r é ( ) ; void b e l e ( ) { System. o u t. p r i n t l n ( " b ê ê êêê " ) ; Lesquelles des lignes suivantes sont correctes? 1. Vegetal veg = new Vegetal() ; 2. Vegetal veg = new Mouton() ; 3. Animal an = new Animal() ; 4. Animal an = new Mouton() ; 5. Animal an = new Herbivore() ; 6. Mouton mou = new Animal ; 7. Herbivore herb = new Animal() ; 8. Herbivore herb = new Mouton() ; Question 2 Animal andre = new Animal(); 4

Animal paul = new Mouton(); Herbivore sylvie = new Mouton(); Donnez la liste des variables et des méthodes de chacun des trois objets créés. Question 3 Avec les mêmes déclarations qu à la question précédente, donnez la liste des méthodes que l on peut appeler sur les variables andre, paul et sylvie. Exercice 5 : structures récursives (4,5 points) On donne la classe récursive suivante qui sert à représenter un élément d une liste de course. On la représente au moyen d objets instances de la classe UnArticle : chaque objet représente un article à acheter et contient aussi une référence à l article suivant. class UnArticle{ String nom,unite; // unite: kg, litre, piece, douzaine double quantite; UnArticle articlesuivant; UnArticle(String n, double q, String u, UnArticle ua){ nom = n; unite = u; quantite = q; articlesuivant=ua; public static void main(string[] args){ UnArticle una = new UnArticle("oranges",3.0,"kg",null); una = new UnArticle("lait",0.75,"litre",una); una = new UnArticle("steaks",2.0,"pièce",una); public static void main2(string[] args){ UnArticle una1 = new UnArticle("oranges",3.0,"kg",null); UnArticle una2 = new UnArticle("lait",0.75,"litre",una1); UnArticle una3 = new UnArticle("steaks",2.0,"pièce",una1); 1. écrivez une méthode d affichage à ajouter à la classe UnArticle. 2. dessinez la structure una construite dans la méthode main. 3. le code de la méthode main2 est-il correct? Si oui, donnez un dessin illustrant le contenu des variables una1, una2 et una3 en fin d exécution de la méthode. 5