La compagnie aérienne [oo03] - Exercice

Documents pareils
alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

Programme Compte bancaire (code)

Programmation Orientée Objet

Programmation par les Objets en Java

Premiers Pas en Programmation Objet : les Classes et les Objets

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

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

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

Cours 1: Java et les objets

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

as Architecture des Systèmes d Information

Chapitre 10. Les interfaces Comparable et Comparator 1

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

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

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

Corrigé des exercices sur les références

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

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

Langage Java. Classe de première SI

Java Licence Professionnelle CISII,

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

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

TD/TP PAC - Programmation n 3

Une introduction à Java

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 Cours 7 : Classes et méthodes abstraites

TD/TP PAC - Programmation n 3

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

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

Projet de programmation (IK3) : TP n 1 Correction

Package Java.util Classe générique

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

TP, première séquence d exercices.

TP1 : Initiation à Java et Eclipse

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Exercices sur les interfaces

Utilisation d objets : String et ArrayList

Utiliser Java sans BlueJ

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

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

Auto-évaluation Programmation en Java

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

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Programmer en JAVA. par Tama

ACTIVITÉ DE PROGRAMMATION

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

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 )

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

Java - la plateforme

Claude Delannoy. 3 e édition C++

Corrigés des premiers exercices sur les classes

Design patterns. Design patterns - définition. Design patterns - avantages

TP1 : Initiation à Java et Eclipse

UE C avancé cours 1: introduction et révisions

Classe Interne, Anonyme & Enumération

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

1.6- Génération de nombres aléatoires

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

C f tracée ci- contre est la représentation graphique d une

I. Introduction aux fonctions : les fonctions standards

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

Introduction au pricing d option en finance

RMI le langage Java XII-1 JMF

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

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

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

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

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Programmation avec des objets : Cours 7. Menu du jour

Machines Virtuelles. et bazard autour. Rémi Forax

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Initiation à JAVA et à la programmation objet.

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

Les structures de données. Rajae El Ouazzani

Programmation en Java IUT GEII (MC-II1) 1

Chapitre 2. Classes et objets

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Application 1- VBA : Test de comportements d'investissements

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Synchro et Threads Java TM

Solutions du chapitre 4

INITIATION AU LANGAGE JAVA

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

Remote Method Invocation (RMI)

Programmation Par Objets

= constante et cette constante est a.

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Développement Logiciel

Plateforme PAYZEN. Définition de Web-services

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Un ordonnanceur stupide

IRL : Simulation distribuée pour les systèmes embarqués

TP1. Outils Java Eléments de correction

1 Définition d une classe en Java

Transcription:

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................................ 2 1.2 Classe Vol................................... 3 1.3 Mise en place du tout............................. 4 2 Références générales 5 Java - La compagnie aérienne (Solution) Mots-Clés Classes Requis Structures de base, Structures conditionnelles, Algorithmes paramétrés, Classes Difficulté (30 min) Objectif Cet exercice calcule le seuil de rentabilité des vols d une compagnie aérienne. 1

Unisciel algoprog La compagnie aérienne [oo03] 2 1 La compagnie aérienne / pgcompagnie 1.1 Classe Aeroport Un aéroport est déterminé par : Un nom de code (chaîne de caractères). Une longitude x (entier). Une latitude y (entier). Écrivez une classe Aeroport munie des attributs nécessaires. Écrivez un constructeur prenant en paramètres les données nécessaires à son initialisation. Écrivez un accesseur getnom du nom de code de l aéroport. Écrivez une méthode distance(aero2) qui calcule et renvoie la distance d qui sépare deux aéroports : d = (x 2 x 1 ) 2 + (y 2 y 1 ) 2 Outil C++ La fonction racine carrée sqrt(x) est définie dans la bibliothèque <cmath>. Validez votre classe et vos méthodes avec la solution. @[Aeroport.java] public class Aeroport { private String m_nom; // nom de code private int m_x; // longitude private int m_y; // latitude public Aeroport(String n, int x, int y){ m_nom = n; m_x = x; m_y = y; public String getnom(){ return m_nom; public double distance(aeroport aero2){ double dx = (m_x - aero2.m_x); double dy = (m_y - aero2.m_y);

Unisciel algoprog La compagnie aérienne [oo03] 3 return Math.sqrt(dx*dx + dy*dy); 1.2 Classe Vol Pour simplifier, on suppose que le coût d un vol est indépendant du nombre de passagers transportés : il est uniquement fonction de la capacité k de l avion, du nombre de membres d équipage m et de la distance d entre les aéroports selon la formule : cout = 100 d k + m + 50 d Un vol sera donc constitué de : Un nom (chaine de caractères). Le nombre maximum de passagers k (entier positif) que l avion peut transporter. Le nombre de membres d équipage m (entier positif). La distance d (réel) entre les aéroports de départ et de destination. Écrivez une classe Vol munie des attributs nécessaires. Écrivez un constructeur prenant en paramètre les données nécessaires à son initialisation. Écrivez une méthode eval qui calcule et renvoie le coût du vol : cout = 100 d k + m + 50 d Validez votre classe et vos méthodes avec la solution. @[Vol.java] public class Vol { private String m_nom; // nom du vol private int m_k; // capacite (# de passagers) private int m_m; // # de membres d equipage private double m_d; // distance public Vol(String n, int k, int m, double d){ m_nom = n; m_k = k; m_m = m; m_d = d; public double eval(){

Unisciel algoprog La compagnie aérienne [oo03] 4 return 100 * m_d * Math.sqrt((double)(m_k + m_m)) + 50 * Math.sqrt(m_d); 1.3 Mise en place du tout La compagnie aérienne se pose la question suivante : «Les billets étant vendus PRIX_BILLET euros, combien de passagers faut-il au minimum pour que le vol soit rentable?». Écrivez un programme qui utilise vos classes en considérant le vol EPF 123 entre Bâle/Mulhouse (code MLH, coordonnées x = 2 et y = 46) et New-York (code JFK, coordonnées x = 40 et y = 73). L avion prévu pour ce vol a une capacité de 300 places et nécessite 8 membres d équipage. Aide simple Votre programme doit : Instancier deux Aeroports et les initialiser avec les aéroports de Mulhouse et de New-York. Calculer et afficher la distance entre les aéroports. Instancier le Vol correspondant. Calculer et afficher le coût du vol. Demander le prix du billet. Calculer et afficher le nombre de passagers minimum pour que le vol soit rentabilisé. Testez. Exemple d exécution. Distance entre MLH et JFK = 46.6154 Cout du vol = 82151.2 Prix du billet? 400 Nombre de billets a vendre = 206 Validez votre programme avec la solution.

Unisciel algoprog La compagnie aérienne [oo03] 5 @[pgcompagnie.java] import java.util.scanner; import java.util.locale; public class PGCompagnie{ public static void main(string[] args) { Scanner cin = new Scanner(System.in); cin.uselocale(locale.us); Aeroport a1 = new Aeroport("MLH", 2, 46); Aeroport a2 = new Aeroport("JFK", 40, 73); double d = a1.distance(a2); System.out.println("Distance entre "+a1.getnom() +" et "+a2.getnom() +" = "+d); Vol vol = new Vol("EPF 123", 300, 8, d); double c = vol.eval(); System.out.println("Cout du vol = "+c); System.out.print("Prix du billet? "); double prixbillet = cin.nextdouble(); int np = (int)(math.ceil(c / prixbillet)); System.out.println("Nombre de billets a vendre = "+np); 2 Références générales Comprend