IN101 : Sujet du TD6
Groupe ESIEE, Denis BUREAU, décembre 2005.
Attention ! Le sujet peut être modifié jusqu'à la veille du TD.

1  Les objectifs

Savoir déclarer, définir, et utiliser des tableaux mono- ou bi- dimensionnels de taille fixée à l'exécution, et savoir utiliser les collections (en particulier : ArrayList).

2  Notions abordées dans le cours 6

3  Références dans le "Petit mémento de syntaxe Java"

4  Exercices liés à ce TD

5  Tableaux: Traduire en Java

Aide : pour saisir le ième entier, on peut écrire :
n = Integer.parseInt( JOptionPane.showInputDialog( "Entier numero "+i ) );
Debut CLASSE Tableaux

PROCEDURE run()

  Soient t1 et t2 deux tableaux d'entiers.
  t1 <--- saisirTableau( "premier" )
  afficheTableau( t1 )
  t2 <--- saisirTableau( "second" )
  afficheTableau( t2 )
  
  
  
  SI tabEgal( t1, t2 )
    ALORS  AFFICHER "identiques".
    SINON  AFFICHER "differents".
  FINSI
FIN PROCEDURE

FONCTION saisirTableau( une Chaine: qt ) RETOURNERA un tableau d'entiers
  Soit n un entier.
  AFFICHER "Taille du " qt " tableau ?"
  SAISIR la taille dans n
  ALLOUER un tableau d'entiers t
  Soit r un entier.
  POUR  i  DE  1  A  n  FAIRE
    AFFICHER  "Element"  i  " : "
    SAISIR r
    t[i-1] <--- r
  FIN POUR
  RETOURNER t
FIN FONCTION

PROCEDURE afficheTableau( un tableau d'entiers: t )
  Soit une Chaine vide s.
  SI  t n'est pas vide
    ALORS
      AJOUTER  t[0]  A  s
  FINSI
  POUR  i  DE  1  A  (taille de t)-1  FAIRE
    AJOUTER  ", " t[i]  A  s
  FIN POUR
  AFFICHER  s
FIN PROCEDURE

FONCTION tabEgal( 2 tableaux d'entiers: t1 et t2 ) RETOURNERA un booleen
  Soit r un booleen initialise a VRAI.
  SI  les 2 tailles sont differentes
    ALORS  r <--- FAUX
    SINON
      i <--- 0
      TANTQUE  i < taille de t1  ET  r
        SI  t1[i] different de t2[i]  ALORS  r <--- FAUX  FINSI
        INCREMENTER i
      FIN TANTQUE
  FINSI
  RETOURNER r
FIN FONCTION

Fin CLASSE

6  Écrire en Java

6.1  Moyenne

Écrire une fonction moyenne qui retourne la moyenne de nombres réels positifs ou nuls (des notes sur 20 par exemple) passés en paramètre.
  1. ère version : les paramètres sont un tableau de réels et son nombre d'éléments utiles.
  2. ème version : le seul paramètre est une ArrayList.
  3. ème version : même paramètre, mais il faut utiliser la nouvelle boucle POUR CHAQUE.

6.2  Minimum

Écrire une fonction minimum qui prend en paramètre un tableau de réels et son nombre d'éléments, et qui retourne la plus petite valeur présente dans le tableau.

6.3  Matrice

  1. Créer une classe Matrice sans attribut, mais avec une méthode statique test() qui déclarera un tableau bi-dimensionnel de réels mat, puis qui appellera les 2 méthodes suivantes (n=20).
  2. Écrire une fonction statique initMat (à un paramètre n) qui crée, initialise, et retourne un tableau de réels de n lignes x 5 colonnes comme suit : la 3ème colonne contiendra les nombres de 1 à n ; les colonnes 1, 2, 4, et 5 contiendront respectivement la racine cubique, la racine carrée, le carré et le cube du nombre de la 3ème colonne.
  3. Écrire une procédure statique affMat d'affichage de la matrice sur n lignes de 5 colonnes, avec seulement 3 chiffres après la virgule (un simple calcul suffit pour cela). Pour la beauté de la présentation, on peut utiliser le caractère '\t' qui affiche une tabulation sur l'écran.

6.4  En travail personnel

  1. Écrire (sans utiliser ni tableau ni collection) une fonction estPalindrome prenant en entrée une chaîne de caractères et retournant une valeur booléenne suivant que cette chaîne est un palindrome ou non. Rappel : un palindrome est un mot ou une phrase se lisant de la même manière de gauche à droite et de droite à gauche.
    Exemples : "Radar", "Esope reste ici et se repose."
    On peut donc constater d'après ces exemples que les minuscules et les majuscules sont équivalentes, et que seuls les caractères alphabétiques sont pris en compte.
    Rappels :
  2. Avec tableau :
    Refaire cet exercice en convertissant la chaîne de caractères en tableau de caractères, avant d'entamer les vérifications.
  3. Avec collection :
    Refaire cet exercice en construisant une ArrayList de caractères, avant d'entamer les vérifications.



File translated from TEX by TTH, version 3.70.
On 12 Dec 2005, 22:18.