100% ont trouvé ce document utile (1 vote)
496 vues5 pages

Exercise 1: Public Static Void

Ce document contient une série d'exercices sur la programmation orientée objet en Java traitant de sujets comme la déclaration et manipulation de tableaux et de matrices. Les exercices proposent des programmes à écrire ou à analyser et demandent dans certains cas de créer des classes utilitaires.

Transféré par

Laaouissi Azed
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
100% ont trouvé ce document utile (1 vote)
496 vues5 pages

Exercise 1: Public Static Void

Ce document contient une série d'exercices sur la programmation orientée objet en Java traitant de sujets comme la déclaration et manipulation de tableaux et de matrices. Les exercices proposent des programmes à écrire ou à analyser et demandent dans certains cas de créer des classes utilitaires.

Transféré par

Laaouissi Azed
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
Vous êtes sur la page 1/ 5

Module/Elément : POO : JAVA

Nom de l’enseignant : Youssef Baddi


Niveau : 2éme année

TP4

Exercise 1
Quelles erreurs ont été commises dans le début de programme suivant ?

1 public static void main (String args[])
2 {
3 int n=10 ;
4 final int p=5 ;
5 int t1[] = {1, 3, 5};
6 int t2[] = {n-1, n, n+1};
7 int t3[] = {p-1, p, p+1}
8 int t4[] ;
9 t4 = {1, 3, 5} ;
10 float x1[] = {1, 2, p, p+1} ;
11 float x2[] = {1.25, 2.5, 5} ;
12 double x3[] = {1, 2.5, 5.25, 2*p} ;
13 .....


Exercise 2
Écrire un programme qui crée un tableau comportant les valeurs des carrés des n premiers nombres impairs,
la valeur de n étant lue au clavier et qui en affiche les valeurs sous la forme suivante :

1 combien de valeurs : 5
2 1 a pour carre 1
3 3 a pour carre 9
4 5 a pour carre 25
5 7 a pour carre 49
6 9 a pour carre 81


Exercise 3
Écrire un programme qui :
— lit dans un tableau 5 valeurs flottantes fournies au claviera,
— en calcule et en affiche la moyenne, la plus grande et la plus petite valeur.

Exercise 4
Que se passera-t-il si l’on exécute le programme suivant ?

1

1 public class Affec1
2 {
3 public static void main (String args[])
4 {
5 int t1[] = {1, 2, 3} ;
6 int t2[] = new int[4] ;
7 for (int i=0 ; i<4 ; i++ ) t2[i] = 2*i ;
8 t2 = t1 ;
9 for (int i=0 ; i<4 ; i++) System.out.println (t2[i]) ;
10 }
11 }


Exercise 5
Quels résultats fournit le programme suivant ?

1 public class Affec
2 {
3 public static void main (String args[])
4 {
5 final int N = 4 ;
6 int t1[] = new int [N] ;
7 int t2[] = new int [N] ;
8 for (int i=0 ; i<N ; i++) t1[i] = i+1 ;
9 for (int i=0 ; i<N ; i++) t2[i] = 2*i+1 ;
10 // affichage des valeurs de t1 et de t2
11 System.out.print ("t1 = ") ;
12 for (int i=0 ; i<N ; i++) System.out.print (t1[i] + " ") ;
13 System.out.println () ;
14 System.out.print ("t2 = ") ;
15 for (int i=0 ; i<N ; i++) System.out.print (t2[i] + " ") ;
16 System.out.println () ;
17
18 t1 = t2 ;
19 t1[0] = 10 ; t2[1] = 20 ; t1[2] = 30 ; t2[3] = 40 ;
20 // affichage des valeurs de t1 et de t2
21 System.out.print ("t1 = ") ;
22 for (int i=0 ; i<N ; i++) System.out.print (t1[i] + " ") ;
23 System.out.println () ;
24 System.out.print ("t2 = ") ;
25 for (int i=0 ; i<N ; i++) System.out.print (t2[i] + " ") ;
26 System.out.println () ;
27 }
28 }


Exercise 6
Quels résultats fournit le programme suivant ?

1 public class Affec2
2 {
2
3 public static void main (String args[])
4 {
5 char t1[] = {’b’, ’o’, ’n’, ’j’, ’o’, ’u’, ’r’} ;
6 char t2[] = {’h’, ’e’, ’l’, ’l’, ’o’} ;
7 char t3[] = {’x’, ’x’, ’x’, ’x’} ;
8 t3 = t1 ; t1 = t2 ; t2 = t3 ;
9
10 System.out.print ("t1 = ") ;
11 for (int i=0 ; i<t1.length ; i++) System.out.print (t1[i]) ;
12 System.out.println () ;
13 System.out.print ("t2 = ") ;
14 for (int i=0 ; i<t2.length ; i++) System.out.print (t2[i]) ;
15 System.out.println () ;
16 System.out.print ("t3 = ") ;
17 for (int i=0 ; i<t3.length ; i++) System.out.print (t3[i]) ;
18 System.out.println () ;
19 }
20 }


Exercise 7
Récrire le programme de l’exercice numéro 5, en prévoyant une méthode statique destinée à afficher les
valeurs d’un tableau reçu en argument.

Exercise 8
Écrire une classe utilitaire UtilTab disposant des méthodes statiques suivantes :
— somme qui fournit la somme des valeurs d’un tableau de réels (double) de taille quel- conque,
— incre qui incrémente d’une valeur donnée toutes les valeurs d’un tableau de réels (double).

Écrire un petit programme d’essai. Pour faciliter les choses, on pourra également doter la classe UtilTab
d’une méthode d’affichage des valeurs d’un tableau de réels.

Exercise 9
Écrire une classe utilitaire UtilTab disposant des méthodes statiques suivantes :
— genere qui fournit en retour un tableau des n premiers nombres impairs, la valeur de n étant fournie en
argument
— somme qui reçoit en argument deux vecteurs d’entiers de même taille et qui fournit en retour un tableau
représentant la somme de ces deux vecteurs.

Écrire un petit programme d’essai. Pour faciliter les choses, on pourra également doter la classe UtilTab
d’une méthode d’affichage des valeurs d’un tableau de réels.

Exercise 10
Quels résultats fournit le programme suivant ?

3

1 public class Tab2Ind1
2 {
3 public static void main (String args[])
4 {
5 int [] [] t = new int [3][] ;
6 for (int i=0 ; i<3 ; i++)
7 {
8 t[i] = new int [i+1] ;
9 for (int j=0 ; j<t[i].length ; j++)
10 t[i][j] = i+j ;
11 }
12 for (int i=0 ; i<3 ; i++)
13 {
14 System.out.print ("tableau numero " + i + " = ") ;
15 for (int j=0 ; j<t[i].length ; j++)
16 System.out.print (t[i][j] + " ") ;
17 System.out.println () ;
18 }
19 }
20 }


Exercise 11
Réaliser une classe nommée Aleat permettant de disposer de suites de nombres entiers aléatoires. On y
prévoira les méthodes suivantes
— constructeur Aleat (int n, int lim), n représentant le nombre de valeurs souhaitées, appartenant à l’inter-
valle [0, lim] ;
— getValeur (int n) qui fournit la valeur de rang n de la suite ;
— getValeurs () qui fournit un tableau contenant toutes les valeurs de la suite,
— histo() qui fournit un histogramme des valeurs de la suite, c’est-à-dire un tableau de lim+1 valeurs dans
lequel un élément de rang i représente le nombre de fois où la valeur i est présente dans la suite.

Écrire un petit programme d’utilisation.

Exercise 12
Réaliser une classe Vecteur permettant de manipuler des vecteurs ayant un nombre quel- conque de compo-
santes de type double. On y prévoira :
— un constructeur Vecteur (int n), n représentant le nombre de composantes qui seront alors initialisées à
zéro,
— un constructeur Vecteur (int n, double x), n représentant le nombre de composantes qui seront alors
toutes initialisées à la valeur x,
— un constructeur Vecteur (double [ ] v) qui créera un vecteur par recopie du tableau v,
— une méthode (non statique) prods calf ournissantleproduitscalairededeuxvecteurs(ici, silesdeuxvecteursne
— une méthode affiche affichant les composantes d’un vecteur.

Écrire un petit programme d’utilisation.

4
Exercise 13
Réaliser une classe utilitaire concernant des tableaux de tableaux de valeurs de type double et contenant les
méthodes statiques suivantes :
— affiche (double t [ ] [ ]) : affiche les valeurs de t, à raison d’une ligne d’écran pour une ligne du tableau,
— boolean regulier (double t [ ] [ ]) : teste si le tableau t est régulier, c’est-à-dire si toutes ses lignes ont la
même taille,
— double [ ] sommeLignes (double t [ ] [ ]) : fournit un tableau de double correspondant aux sommes des
différentes lignes de t,
— double [ ] [ ] somme (double [ ] [ ] t1, double [ ] [ ] t2) : s’assure que les tableaux t1 et t2 sont réguliers
et de mêmes dimensions et fournit dans ce cas leur somme en résultat ; dans le cas contraire, elle fournit
une référence nulle.

Écrire un petit programme de test.

Bon courage ! ! !

Vous aimerez peut-être aussi