0% ont trouvé ce document utile (0 vote)
77 vues2 pages

Exercices POO Java: Algorithmes et Calculs

Transféré par

maryem sousita
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
77 vues2 pages

Exercices POO Java: Algorithmes et Calculs

Transféré par

maryem sousita
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Faculté des Sciences

Département d’Informatique Filière : SMI - S6


Module : P.O.O en JAVA 2021-2022

Travaux pratiques N°1


Chapitre 1 : Introduction et éléments de base du Java
Exercice 1 :
Ecrire un programme qui permet d’afficher « Bonjour nom »
nom : Chaine de caractère passé en argument de la méthode main() . Passer plusieurs noms par la ligne de commande.
Exemple de l'exécution :
Bonjour Fatima
Bonjour Ahmed
Bonjour Samir
...
Exercice 2 :
Ecrire un programme permettant de lire la largeur et la hauteur d'un rectangle.
Ce programme devra afficher, à la demande, le périmètre ou la surface du rectangle.
Le programme devra être bien modularisé de sorte à ce que la méthode main se présente comme suit:
public static void main(String args[]) {
double largeur = lireDonnee("largeur");
double hauteur = lireDonnee("hauteur");
boolean donneesOk = testerDonnees(largeur, hauteur);
if (donneesOk) {
calculer(largeur, hauteur);
} else {
afficherErreur();
}}
Exemples d'exécutions:
Entrez la largeur: 15
Entrez la hauteur: 13,8
Surface ('s/S') ou périmètre ('p/P')?: s
La surface est 207.0
ou encore:
Entrez la largeur: 9
Entrez la hauteur: -4
Erreur: vous avez introduit une largeur ou une hauteur négative!
Exercice 3 :
Écrire un programme permettant d'évaluer un polynôme du 3ème degré de la forme :

( )
a+b
2
x + (a + b) x + a + b + c
3 2 2

Si (a+b)=0 il faut afficher un message d’erreur.


Exemple d'exécution:
Entrez a (int) : 1
Entrez b (int) : 2
Entrez c (int) : 3
Entrez x (double) : 3.5
La valeur du polynôme est : 180.5625
Exercice 4 :
Ecrire un programme qui permet de lire un entier positif N et de déterminer les nombres premiers inférieurs à N.
Utiliser une méthode booléenne "premier" qui retourne Vrai si le nombre passé en paramètre est premier.
Exercice 5 :
Ecrire un programme permettant de calculer le factoriel d’un entier saisi au clavier.
1- en utilisant une méthode récursive.
2- en utilisant une méthode itérative.
Exercice 6 :
Deux entiers sont dits amiables si chacun d’eux est égal à la somme des diviseurs de l’autre (par exemple 220 et 284 sont
amiables.
Ecrire un programme qui permet de lire un entier positif N et de déterminer et afficher toutes les paires de nombres amiables
inférieurs à N.
Utiliser :
- Une méthode "sommeDiviseurs" qui retourne la somme des diviseurs d’un entier passé en paramètre.
- Une méthode booléenne "amiable" qui reçoit deux entiers et qui retourne Vrai si les deux entiers sont amiables ; faux
sinon.
Exercice 7:
Écrire un programme récursif et itératif qui calcule le nième terme de la suite de Fibonacci :
F0 =0 ; F1 = 1 ;
Fn = Fn-1 + Fn-2 pour n ≥ 2
Exercice 8:
Les égyptiens de l’antiquité savaient :
– additionner deux entiers strictement positifs,
– soustraire 1 à un entier strictement positif,
– multiplier par 1 et 2 tout entier strictement positif,
– diviser par 2 un entier strictement positif pair.
Ils se basent sur ces opérations pour calculer le produit de deux entiers strictement positifs
Voici un exemple de calcul du produit 14 x 13, en utilisant uniquement ces opérations :
14 × 13 = 14 + 14 × (13 - 1) = 14 + 14 × 12
= 14 + (14 × 2) × (12 / 2) = 14 + 28 × 6
= 14 + (28 × 2) × (6 / 2) = 14 + 56 × 3
= 14 + 56 + 56 × (3 - 1) = 70 + 56 × 2
= 70 + (56 × 2) × (2 / 2) = 70 + 112 × 1
= 70 + 112 = 182
Donner le corps de la méthode multiplicationEgyptienne qui calcule le produit de a par b.
Exercice 9 :
La suite de Syracuse est définie selon une condition de parité comme suit:
un / 2 si un est pair
u0  N*, un +1 = 
3un + 1 si un est impair
La « conjecture tchèque » énonce que pour toute valeur initiale u0  N * il existe un rang n pour lequel un = 1
Par exemple, si u0 = 6 alors n = 8
n 0 1 2 3 4 5 6 7 8 9 10 ...

un 6 3 10 5 16 8 4 2 1 4 2 ....
Ecrire un programme qui demande à l’utilisateur la saisie de la valeur initiale u0 et qui détermine et affiche la plus petite valeur
de n vérifiant un = 1.
Exercice 10 :
Soit la suite ( X n ) n suivante X0 = A

  A 
 X n =  X n −1 + X  2 n 1
  n −1 
A est un nombre réel positif.
• Implémenter la suite suivante en utilisant les deux méthodes
• La première méthode est récursive.
• La deuxième est itérative.
• Que calculent ces méthodes ?
• Le point d’arrêt des itérations est |Xn-Xn-1|<10-9
Exercice 11 :
On considère l’ensemble Ha suivant :
Ha={nIN /𝟐𝒏 >a} ; aIN
1- Ecrire le programme de la méthode minEnsemble qui permet de déterminer le minimum de l’ensemble Ha :
Public static int minEnsemble (int a)
2- Utiliser le résultat de la méthode minEnsemble pour écrire le programme de la méthode decimalBinaire qui permet
de convertir un entier de la base décimale à la base binaire (le résultat renvoyé est stocké dans un tableau) :
Public static int [] decimalBinaire (int a)
Exercice 12 :
Ecrire un programme Java basé sur une méthode récursive appelée : « inverserTableau » qui permet de réarranger les
éléments d’un tableau en ordre inverse.
Exercice 13:
Ecrire un algorithme et le programme correspondant en langage Java qui permet :
- d'additionner deux matrices.
- de multiplier une matrice par un réel.
- de déterminer la transposé d’une matrice.
- de multiplier deux matrices.

- 2/2 -

Vous aimerez peut-être aussi