Correction du TP n°3

Exercice 1

Ecrire en Java et valider une fonction d'affichage des valeurs contenues dans un tableau d'entiers.

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class AffichageTableau {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction d'affichage de tous les entiers contenus */
/* dans un tableau d'entiers */
public static void affichageTableau(int [] t) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ )
System.out.println(t[i]);
}
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Definition et allocation de 1 tableau de 15 entiers */
int [] t1 = new int[15];
System.out.println("Le tableau 1 contient les valeurs suivantes:");
/* Appel a la fonction d'affichage sur le premier tableau */
affichageTableau(t1);
System.out.println();
/* Definition et initialisation de 1 tableau de 6 entiers */
int [] t2 = { 1,-1,3,-5,7,9 };
System.out.println("Le tableau 2 contient les valeurs suivantes:");
/* Appel a la fonction d'affichage sur le deuxieme tableau */
affichageTableau(t2);
}
}

AffichageTableau.java

Exercice 2

Ecrire en Java et valider une fonction de remplissage d'un tableau d'entier avec des valeurs tirées au hasard entre 0 et 9.

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class RemplissageHasardTableau {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction d'affichage de tous les entiers contenus */
/* dans un tableau d'entiers */
public static void affichageTableau(int [] t) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ )
System.out.println(t[i]);
}
/* Fonction d'initialisation de tous les entiers */
/* contenus dans un tableau d'entiers */
/* avec une valeur tiree au sort entre 0 et max inclus */
public static void initialisationTableau(int [] t,int max) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ ) {
/* Initialisation de t[i] avec un entier tire */
/* au hasard entre 0.0 (inclu) et max+1 (exclu) */
t[i] =(int) ((max+1)*Math.random()); }
}
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Definition et allocation d'un tableau de 10 entiers */
/* tires au sort entre 0 et 5 */
int [] tab = new int[10];
initialisationTableau(tab,5);
System.out.println("Le tableau contient les valeurs suivantes:");
/* Appel a la fonction d'affichage */
affichageTableau(tab);
}
}

RemplissageHasardTableau.java

Exercice 3

Implanter et tester la 1ère question du TD n°4 adaptée aux tableaux d'entiers.

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class ProduitScalaire {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction d'affichage de tous les reels contenus */
/* dans un tableau de reels */
public static void affichageTableau(double [] t) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ )
System.out.println(t[i]);
}
/* Fonction d'initialisation de tous les reels */
/* contenus dans un tableau de reels */
/* avec une valeur tiree au sort entre 0 et max */
public static void initialisationTableau(double [] t,double max) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ ) {
/* Initialisation de t[i] avec un reel tire */
/* au hasard entre 0.0 et max */
t[i] = max*Math.random(); }
}
public static double produitScalaire(double [] ta,double [] tb) {
double ps = 0.0;
for ( int i = 0 ; i < ta.length ; i++ )
ps = ps + ta[i]*tb[i];
return(ps);
}
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Definition et allocation de 2 tableaux de 3 reels */
double [] t1 = new double[3];
double [] t2 = new double[3];
/* Appel a la fonction d'initialisation */
initialisationTableau(t1,1.0);
initialisationTableau(t2,1.0);
System.out.println("Le tableau 1 contient les valeurs suivantes:");
/* Appel a la fonction d'affichage sur le premier tableau */
affichageTableau(t1);
System.out.println();
System.out.println("Le tableau 2 contient les valeurs suivantes:");
/* Appel a la fonction d'affichage sur le deuxieme tableau */
affichageTableau(t2);
System.out.println();
/* Calcul et affichage du produit scalaire */
System.out.println("Le produit scalaire est "+produitScalaire(t1,t2));
}
}

ProduitScalaire.java

Exercice 4

Implanter et tester la 4ème question du TD n°4.

/* Auteur: Nicolas JANEY */
/* nicolas.janey@univ-fcomte.fr */
/* Fevrier 2005 */
import java.io.*;
public class InversionTableau {
static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
/* Fonction d'affichage de tous les entiers contenus */
/* dans un tableau d'entiers */
public static void affichageTableau(int [] t) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ )
System.out.println(t[i]);
}
/* Fonction d'initialisation de tous les entiers */
/* contenus dans un tableau d'entiers */
/* avec une valeur tiree au sort entre 0 et max inclus */
public static void initialisationTableau(int [] t,int max) {
int i;
/* Pour toutes les valeurs d'indice 0 a t.length-1 inclus */
for ( i = 0 ; i < t.length ; i++ ) {
/* Initialisation de t[i] avec un entier tire */
/* au hasard entre 0.0 (inclu) et max+1 (exclu) */
t[i] =(int) ((max+1)*Math.random()); }
}
/* Fonction d'inversion de l'ordre des entiers presents */
/* dans un tableau */
public static void inversionTableau(int [] t) {
int i;
/* Definition d'une variable auxiliaire utilisee */
/* pour la permutation de deux autres variables */
int aux;
/* Pour les t.length/2 couples d'entiers a permuter */
for ( i = 0 ; i < t.length/2 ; i++ ) {
/* Permutation des valeurs d'indice i et t.length-1-i */
aux = t[i];
t[i] = t[t.length-1-i];
t[t.length-1-i] = aux; }
}
/* Fonction principale */
public static void main(String [] args) throws IOException {
/* Definition, allocation et initialisation de 1 tableau */
/* de 7 entiers tires au hasard entre 0 et 100 */
int [] tab = new int[7];
initialisationTableau(tab,100);
System.out.println("Le tableau 1 contient les valeurs suivantes:");
/* Appel a la fonction d'affichage sur le tableau */
affichageTableau(tab);
System.out.println();
/* Inversion du tableau tab */
inversionTableau(tab);
/* Nouvel appel a la fonction d'affichage sur le tableau */
affichageTableau(tab);
}
}

InversionTableau.java

Auteur: Nicolas JANEY
UFR Sciences et Techniques
Université de Besançon
16 Route de Gray, 25030 Besançon
nicolas.janey@univ-fcomte.fr