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