Vous êtes sur la page 1sur 2

Programmation orientée objet en Java

Filières: MA-S5 & SMI-S5 A.U:2020/2021.

Méthodes en Java: TD

Exercice 1
Si l’on déclare les méthodes(fonctions) suivantes :
int fctA(int x) { return x;}
int fctB(int x) { return ++x;}
int fctC(int x) { return x- -;}
Que contiennent les variables r et n après chacune des instructions suivantes.
Instructions r n
int n=1, r = fctA(n++); ............... ...............
int n=2, r = fctA(++n);
int n=3, r = fctB(n- -);
int n=4, r = fctB(- -n);
int n=5, r = fctC(n);

Exercice 2
1. Écrivez un programme se servant des méthodes Math.min et Math.max pour déterminer le mini-
mum et le maximum de quatre nombres réels entrés au clavier.
2. Écrivez une méthode int dixPuissance(int k) qui à k associe 10k . L’utilisation de Math.pow est
interdite.
3. Écrivez une méthode int supprimeDroite(int n) qui retourne l’entier obtenu en supprimant le
chiffre le plus à droite de n. Si n ne comporte qu’un seul chiffre, le résultat est 0.
Exemple : le résultat de supprimeDroite(3432) est 343.
4. Écrivez une méthode double sommesFractions(int n) qui, pour n donné, retourne la somme:
1 1 1 1
1+ 1
+ 2 + 3 + ... + n
2 2 2 2
5. Écrivez une méthode int sommePairs(int n) qui retourne la somme des entiers pairs inférieurs
ou égaux à un entier n donné.

Exercice 3
1. Écrivez une méthode récursive
 double suite_bizarre(int n) qui calcule le n-ième terme de la suite
1
 3
 si n=0
bizarre, définie par : un =

n−1 − 1
 4u si n>0

1/2
2

2. Écrivez une méthode récursive pgcd(int x, int y) qui calcule le plus grand commun diviseur de
deux nombres entiers positifs.
L’algorithme d’Euclide est basé sur le principe suivant :

 x
 si y=0
pgcd(x, y) =

 pgcd(y,x%y) sinon

3. Écrivez une méthode récursive int fibonacci(int n) qui calcule les valeurs de la série de Fibonacci,
définie par :


 0 si n = 0
un = 1 si n = 1

 un−1 + un−2 si n>1

2/2

Vous aimerez peut-être aussi