Série A : Exercices de récapitulation

Documents pareils
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Glossaire des nombres

Initiation à l algorithmique

Projet de programmation (IK3) : TP n 1 Correction

avec des nombres entiers

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

Initiation à la programmation en Python

Java Licence Professionnelle CISII,

Représentation d un entier en base b

Licence Sciences et Technologies Examen janvier 2010

Package Java.util Classe générique

L ALGORITHMIQUE. Algorithme

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Cours d algorithmique pour la classe de 2nde

STAGE IREM 0- Premiers pas en Python

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

Algorithmes récursifs

Cours Informatique Master STEP

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Présentation du langage et premières fonctions

Programmer en JAVA. par Tama

Maple: premiers calculs et premières applications

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

4. Groupement d objets

TP 1. Prise en main du langage Python

Algorithmique et Programmation, IMA

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

TP, première séquence d exercices.

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Bases de programmation. Cours 5. Structurer les données

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

Technique opératoire de la division (1)

Examen Médian - 1 heure 30

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

TD/TP PAC - Programmation n 3

V- Manipulations de nombres en binaire

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

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

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

Conventions d écriture et outils de mise au point

2. Comprendre les définitions de classes

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Programmation en Java IUT GEII (MC-II1) 1

Programme Compte bancaire (code)

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

Les structures de données. Rajae El Ouazzani

Organigramme / Algorigramme Dossier élève 1 SI

Programmation Par Objets

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Corrigé des TD 1 à 5

as Architecture des Systèmes d Information

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

TD/TP PAC - Programmation n 3

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Chapitre VI - Méthodes de factorisation

Programmation C++ (débutant)/instructions for, while et do...while

Architecture des ordinateurs

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

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

Cours de Systèmes d Exploitation

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Chapitre 2 Devine mon nombre!

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

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Découverte de Python

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo Hello world!

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Programmation avec Xcas ou Python

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

Cours 1 : La compilation

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

Cours d arithmétique Première partie

Le langage C. Séance n 4

Programmation avec des objets : Cours 7. Menu du jour

Enseignement secondaire technique

INF 321 : mémento de la syntaxe de Java


Présentation du PL/SQL

Rapport de Mini-Projet en ArcGIS Engine

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

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

Puissances d un nombre relatif

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

Qualité du logiciel: Méthodes de test

Une introduction à Java

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

Problèmes liés à la concurrence

Introduction à MATLAB R

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Un ordonnanceur stupide

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Introduction à l algorithmique et à la programmation M1102 CM n 3

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

LES TYPES DE DONNÉES DU LANGAGE PASCAL

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Transcription:

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, 3, 0 6, 7 0 Appeler le projet Fraction. Veillez à indenter votre code correctement et à documenter la classe par l'utilisation de Javadoc. Répondez sur papier aux questions marquées du symbole. Classes et attributs ) Quelle est la différence entre la notion de classe et la notion d objet (ou instance)? Donnez des exemples. 2) Définissez sous Unimozer la classe Fraction et ajoutez les attributs nécessaires. Quelle visibilité définissez-vous pour ces attributs? Quels types de données attribuez-vous aux attributs de la classe Fraction? 3) Expliquez les visibilités public et private. ) Remplissez le tableau avec les types de données que vous connaissez. Type Explication 22/09/20 INFORMATIQUE Page /5

Méthodes Accesseurs («Getters») et manipulateurs («Setters») 5) Pourquoi utilise-t-on des accesseurs et des manipulateurs? 6) Réalisez des accesseurs utiles pour la classe Fraction. 7) Réalisez un manipulateur utile pour la classe Fraction. 8) Créez une instance de la classe Fraction représentant le quotient. Comment procédez-vous? Qu est-ce qui permettrait de simplifier cette tâche? Constructeurs 9) A quoi sert un constructeur? Est-il nécessaire de définir un constructeur pour une classe donnée? Une classe peut-elle avoir plusieurs constructeurs? 0) Réalisez un constructeur pour la classe Fraction. Conventions de noms ) Quelles conventions de noms sont utilisées en Java pour: les classes, les attributs, les méthodes, les paramètres et les variables locales? La structure alternative 2) Donnez un exemple d une expression booléenne (condition). 3) Indiquez la condition qui permet de vérifier que la variable x contient un nombre compris dans l intervalle [, 60]. ) Indiquez la valeur de la variable x après l'exécution des lignes de code suivantes : int x=-5; if (x < 0) x = -x; else; x = 2 * x; 5) Réalisez la méthode tostring qui retourne la représentation d une fraction sous forme de chaînes de caractères. Exemples : Pour la fraction Pour la fraction 9 6 la méthode retourne " / 9" la méthode retourne "6" 22/09/20 INFORMATIQUE Page 2/5

6) Réalisez la méthode getdecimal qui retourne la représentation décimale de la fraction. 7) Réalisez la méthode isnegative qui indique si la fraction représente un nombre négatif ou non. Veillez à définir le type de données adéquat pour le résultat de la méthode! La structure répétitive (boucles) 8) Indiquez le code qui permet d'afficher à la console les nombres de à 0 (par ordre croissant). Utilisez une boucle for! 9) Indiquez le code qui permet d'afficher à la console les nombres de 0 à (par ordre décroissant). Utilisez une boucle for! 20) Réalisez la méthode gcd (pour greatest common divisor) qui calcule le plus grand commun diviseur (ou PGCD) du numérateur et du dénominateur d'une fraction en traduisant le structogramme suivant : 22/09/20 INFORMATIQUE Page 3/5

2) Dessinez un tableau des variables (tableau d'exécution) pour l'appel à gcd pour chacune des fractions suivantes : i. / 6 ii. 6 / iii. - / 6 22) Modifiez la méthode gcd pour qu'elle fonctionne avec des nombres négatifs. 23) Indiquez quand on utilise une boucle for et quand on utilise une boucle while. 22/09/20 INFORMATIQUE Page /5

2) Donnez un exemple d'une boucle vide (aucune itération) et d'une boucle infinie (infinité d'itérations). 25) En analysant les deux premiers cas d'exécution de la méthode gcd du point 2, réalisez une méthode gcd plus performante. 26) Réalisez une méthode gcd encore plus performante en utilisant la méthode de la division euclidienne. Exemple : PGCD(2, 27) = 3 a b a % b 2 27 5 27 5 2 5 2 3 2 3 0 => on a trouvé le résultat 27) Réalisez la méthode lcm (pour least common multiple) qui permet de calculer le plus petit commun multiple (ou PPCM) du numérateur et du dénominateur d'une fraction sachant que: a b PPCM (a, b)= PGCD(a, b) 28) Réalisez la méthode reduce qui permet de simplifier la fraction. Veillez à ce que la méthode fonctionne dans tous les cas! Utilisation d'une classe comme paramètre 29) Réalisez la méthode add qui permet d'additionner à la fraction une fraction passée comme paramètre. Réalisez également les méthodes subtract, multiply et divide. Pour avancés 30) Vous voulez pouvoir créer des fractions à partir de nombres décimaux. Exemple: 0,25 => Comment pouvez-vous procéder? Effectuez les réalisations nécessaires. Indications: 25 Procédez par étapes! Exemple: 0,25 => 00 => Pour obtenir la partie entière d'un nombre décimal de type double vous pouvez utiliser la conversion suivante : (int) decimal 22/09/20 INFORMATIQUE Page 5/5