TD 4 : Tableaux et boucles
Pour commencer
Premier programme
Créez un fichier TD4.java qui contient ceci. Exécutez-le, après avoir compris le code présenté dans ce fichier.
Initialisation
Créez les fonctions tabInit (oui, on peut en faire deux avec le même nom si elle n'ont pas le même profile....).
double value,min,max;
double[] t;
...
tabInit(t,value);   // Toutes les cases valent value
tabInit(t,min,max); // Toutes les cases sont aléatoires dans [min,max[
Duplication
Créez une fonction tabCopie qui produit un nouveau tableau, identique à celui qu'on lui passe en argument.
Permutation
A l'aide d'un raisonnement par récurrence sur la taille du tableau, définissez une fonction tabPermute qui mélange les éléments du tableau.
Histogrammes
Définition et construction
On considère maintanant des tableaux d'entiers, qui représente des histogrammes sur l'intervalle [0,1]. Ainsi, un tableau de n cases correspond à un histogramme qui divise [0,1] en n intervalles identiques. Faites les fonctions histoNew et histoHit, la première fournissant un histogramme vierge à n intervalles, et la seconde permettant de soumettre une valeur à l'histogramme.
Affichage
Faites une fonction histoDisplay qui affiche l'histogrammme comme suit:
public static void test() {
  int[] histo; 
  int i;
  int nb_toss;
  double x;

  histo = histoNew(10);
  for(i = 0 ; i < 200 ; ++i) {
    x = Math.random();
    histoHit(histo,x*x);
  }
  histoDisplay(histo);
}

0
-|##################################################################
-|################################
-|###############
-|################
-|#############
-|###########
-|###############
-|#############
-|#########
-|##########
1

Densité de probabilités
Faites une fonction histoToss qui tire une valeur dans [0,1] en fonction de la densité de probabilités représentée par l'histogramme. Comment la tester ?