B › 11 - Tableaux

Pour débuter

Les codes ci-dessous tentent de déclarer et utiliser des tableaux, mais ils contiennent des erreurs. Les détecter et les corriger. Tester les codes corrigés dans Processing.

  • Exemple 1

    int[] tableau={34,42.5,5.6,14.6} ;

    println(tableau[0]);

    println(tableau[4]);

  • Exemple 2

    float[] prix={34.0,42.5,5.6,14.6} ;

    int valeur=(prix[3]);

    println(valeur);

  • Exemple 3

    String[] saisons={"printemps","été","automne","hiver"} ;

    String chaine=(saisons[4]);

    println("chaine");

Plus grand élément d'un tableau

Déterminer un algorithme pour créer une fonction intitulée maxDuTableau, qui prend en paramètre un tableau d'entiers et renvoie la plus grande valeur contenue dans le tableau. Le programmer et compléter le programme ci-dessous, afin de tester la fonction créée.

int [] tableauTest={24,42,56,46,87,32} ;

void setup(){

  size(200,200);

  noLoop();

}

void draw(){

  println(maxDuTableau(tableauTest)); // doit afficher 87 dans la console

}

... maxDuTableau(int[] tableau ){ // définition de la fonction maxDuTableau

  // à compléter

}

Indice du plus grand élément d'un tableau

Déterminer un algorithme pour créer une fonction intitulée indiceDuMax, qui prend en paramètre un tableau d'entiers et renvoie l'indice de la plus grande valeur contenue dans le tableau. On suppose que le tableau contient des valeurs distinctes 2 à 2. Le programmer et compléter le programme ci-dessous, afin de tester la fonction créée.

int [] tableauTest={24,42,56,46,87,32} ;

void setup(){

  size(200,200);

  noLoop();

}

void draw(){

  println(indiceDuMax(tableauTest)); // doit afficher 4 dans la console

}

... indiceDuMax(int[] tableau ){ // définition de la fonction indiceDuMax

  // à compléter

}

Application

Reprendre le programme qui illustrait par un histogramme un tableau d'entiers. (voir A>11 ou ci-dessous).

Le modifier pour qu'il affiche la barre correspondant au plus grand effectif en rouge. On suppose que le tableau contient des valeurs distinctes 2 à 2.

int[] effectifs={116, 97, 105, 158, 192, 173} ;

void setup(){

  size(250,250);

  background(255);

}

void draw(){

  int indice = ... ; // à compléter

  for( int i=0; i < effectifs.length ; i=i+1) {

    if (i != indice) {

      fill(0, 50, 200) ;

    }

    else fill(200, 50, 0) ;

    rect (10+i*39, 240-effectifs[i], 35, effectifs[i]);

  }

}

... ???(int[] tableau ){ // définition de la fonction ???

  // à compléter

}