LICENCE MASS 2002-2003

P.O.O : langage JAVA

 

Travaux dirigés

Série n°2


This document is the API specification for the Java 2 Platform, Standard Edition, version 1.3.1.


EXERCICE 1 : Sélectionner pour trier

EXERCICE 2 : PGCD

EXERCICE 3 : Ésope reste ici et se repose

EXERCICE 4 : Fusionner


EXERCICE 1 : Sélectionner pour trier Test1.java


a)      On considère un tableau de nombres entiers. Ecrire un algorithme qui permette de lire au clavier les éléments de ce tableau, qui trie le tableau en utilisant la méthode de tri par SELECTION et qui affiche le tableau trié. Traduire cet algorithme en Java (fichier source Test1.java). En plus de la méthode main, on définira les quatre méthodes suivantes :

static void lireTableau(int t[])

static void trierParSelection(int t[])

static void afficherTableau(int t[])

static void echanger(int t[], int a, int b)

 

b)      Remplacer votre méthode static void trierParSelection(int t[]) par la méthode prédéfinie

Public static void sort(int[] a)
 
Sorts the specified array of ints into ascending numerical order. The sorting algorithm is a tuned quicksort. This algorithm offers n*log(n) performance on many data sets that cause other quicksorts to degrade to quadratic performance
Parameters: a - the array to be sorted

Consulter la documentation sur classe java.util.Arrays dans …\jdk1.3\docs\api\index.html

 


EXERCICE 2 : Plus Grand Commun Diviseur ! Test2.java


Nous allons coder trois versions du programme qui calcule et affiche le PGCD de deux nombres entiers (cf. cours)

a)      Les deux nombres à traiter sont déclarés et initialisés dans le programme : int a=34 ; int b=66 ;

b)      Les deux nombres à traiter sont passés en argument de la ligne de commande

Sous LINUX on lancera le programme avec

$ java Test1 34 66

Le PGCD de 34 et 61 est 2

c)      Les deux nombres à traiter sont lus au clavier après le lancement du programme

$ java Test1

Entrez un nombre entier :

Entrer un nombre entier :

Le PGCD de 34 et 66 est

 


EXERCICE 3 :

É s o p e r e s t e i c i e t s e r e p o s e     Test3a.java           Test3b.java


On veut déterminer si une phrase est un palindrome. Par exemple « bob » est un palindrome, « Ésope reste ici et se repose » est un palindrome (en faisant abstraction des accents et des blancs) alors que ni  « bobo », ni « palindrome » ne sont des palindromes.

a)      Proposer une première version qui traite une chaîne constituée uniquement de lettres minuscules ou majuscules. Elle renvoie vrai si le paramètre est un palindrome et qui compare les lettres une à une. Traduire cet algorithme en Java (fichier source Test3a.java). On pourra utiliser la méthode Console.readLine() de la classe console.

 

b)      Proposer une seconde version, qui utilise la méthode reverse() de la classe StringBuffer. De plus, la chaîne pourra contenir indifféremment des lettres minuscules et MAJUSCULES. Traduire cet algorithme en Java (fichier source Test3b.java).

 


EXERCICE 4 : Fusionner Test4.java


On dispose de deux tableaux de nombres entiers déjà triés. Ces tableaux n’ont pas nécessairement la même taille. Ecrire un algorithme qui permette de fusionner ces deux tableaux en un unique tableau trié. Traduire cet algorithme en Java (fichier source Test4.java).

Par exemple, on pourra avoir l’exécution suivante :

-1 3 5 27 48 55

14 21 27 47 49 56 72

tableau fusionné : -1 3 5 14 21 27 27 47 48 49 55 56 72

Exit code: 0

No Errors

 


Haut du document