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

Exercices de Programmation Java TP 14

Le document présente 10 exercices sur Java portant sur des fonctions, boucles, tableaux et matrices. Les exercices demandent d'écrire du code pour calculer des valeurs minimales, nombres d'apparitions, puissances et factorielles.

Transféré par

Bilelbh
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)
127 vues2 pages

Exercices de Programmation Java TP 14

Le document présente 10 exercices sur Java portant sur des fonctions, boucles, tableaux et matrices. Les exercices demandent d'écrire du code pour calculer des valeurs minimales, nombres d'apparitions, puissances et factorielles.

Transféré par

Bilelbh
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

TP 14 Java

Exercice 1 Utiliser le code ci-dessous pour écrire un fichier [Link] qui permet d’afficher la valeur minimale
du tableau tab. Il faut écrire que la fonction principale main .
class . . . . {
public . . . void main ( S t r i n g [ ] . . . ) {
int [ ] tab = { 3 , 9 , 2 3 , 1 , 2 9 , 1 3 4 , 1 2 , 6 6 7 , 4 3 , 2 , 1 2 0 , 3 2 , 1 2 3 } ;
int min = tab [ 0 ] ;
int a p p a r i t i o n s m i n =1;
for ( int i ; i <tab . l e n g t h ; . . . )
i f ( min==tab [ i ] ) {
a p p a r i t i o n s m i n ++; // une a p p a r i t i o n de p l u s de l a v a l e u r min
}
if ( . . . . . ) {
min=tab [ i ] ;
a p p a r i t i o n s m i n = 1 ; // 1 è r e a p p a r i t i o n de l a n o u v e l l e v a l e u r min
}
}
}

Exercice 2 Continuer le programme précédent dans un nouveau fichier [Link]. L’objectif est de calculer
apparitions min d’une autre manière.
Écrire d’abord une fonction int nbVals(int[] tab, int valeur) qui renvoie le nombre d’apparitions de la
valeur valeur dans le tableau tab . Utiliser cette fonction pour afficher le nombre d’apparitions de la valeur
min calculée dans le main .

Exercice 3 Écrire une classe Exo3 avec une fonction une fonction i puissance i(int i) qui renvoie ii à
l’aide d’une boucle for.

Exercice 4 Écrire une classe Exo4 avec une fonction sommePuissances(int n) qui renvoie la somme 11 +22 +
33 +. . . nn . Par exemple, pour n = 5, il faut renvoyer 12 +22 +33 +44 +55 = 1+4+27+256+3125 = 3413. N’hésitez
pas à utiliser la fonction i puissance i(int i) de l’exercice précédent pour écrire la nouvelle fonction.

Exercice 5 Écrire une classe Exo5 avec une fonction puissance parfaite(int x) qui renvoie true si x
i
peut s’écrire sous la forme x = i (ex, 256 = 44 , 3125 = 55 ) ou false sinon.

Astuce Il y a un exercice similaire dans le TP précédent, voir les corrections en-ligne pour la fonction
cubeParfait(...). Vous pouvez faire une boucle for pour parcourir les valeurs i = 1, 2, 3 . . . , x . S’il y a
un seul i tel que ii = x, alors il faut renvoyer true .

Exercice 6 Écrire un programme [Link] et une fonction int compterPuissancesParfaites(int[] t)


qui calcule le nombre de puissances parfaites dans le tableau t. Cette fonction doit faire appel à la fonction
puissance parfaite de l’exo précédent. Tester la fonction dans le main sur un tableau comme :

int[] tab = {8, 1, 27, 9,-1,2,7,4,3125};

Exercice 7 Écrire un programme [Link] qui demande à l’utilisateur de saisir 5 valeurs ; vous pouvez vous

CNAM – Java 2
inspirez du code ci-dessous. Pour chaque saisie, il faut indiquer à l’utilisateur s’il a saisit une puissance parfaite
ou pas.
double [ ] v a l s = new double [ 5 ] ;
Scanner s c a n = new Scanner ( System . i n ) ;
System . out . p r i n t l n ( ” E n t r e r 5 v a l e u r s ” ) ;
f o r ( int i =0; i <5; i ++)
v a l s [ i ] = s c a n . nextDouble ( ) ;

Exercice 8 Écrire une fonction statique d’en-tête


int trouveMinMat(int[][] m)
qui renvoie la valeur minimale d’une matrice carré m. Tester cette méthode sur une matrice comme par exemple :
public s t a t i c void main ( . . . ) {
int [ ] [ ] m a t r i c e = { { 2 , 8 , 9} ,
{90 ,2 , 70} ,
{0 , 1 , 3}};
. . p r i n t l n ( trouveMinMat ( . . . ) );
}
Vous pouvez vous inspirer du code ci-après :
}
s t a t i c int . . . {
. . . n = m. l e n g t h ;
min = . .
for ( int i =0; i <n ; i ++){
for ( int j =0; j <n ; j ++)
i f (m[ i ] [ j ] . . . min ) {
min =
}
}
}

Exercice 9 Écrire un programme [Link] avec une fonction double somme(n) qui renvoie la somme 1 +
2 + · · · + n. Continuer le programme et ajouter une deuxième fonction qui renvoie :
1 1 1 1
+ + + ...··· +
somme(1) somme(2) somme(3) somme(n)

Regardez si la valeur renvoyée par cette fonction se raproche de 2 lorsque n devient très grand.

Exercice 10 Écrire un programme [Link] avec une fonction double fact(n) qui calcule le produit
1 · 2 · · · · · n. Si n ≤ 0, la fonction doit renvoyer 1. Continuer le programme et ajouter une deuxième fonction qui
renvoie :
1 1 1 1 1
+ + + + ...··· +
fact(0) fact(1) fact(2) fact(3) fact(n)
Regardez si la valeur renvoyée par cette fonction se raproche de Math.E lorsque n devient très grand.

CNAM – Java 2

Vous aimerez peut-être aussi