École Polytechnique
Département de Génie Informatique
INF-4100, Sujets spéciaux: le langage JAVA
Examen intratrimestriel: Automne 2003
Question 1: (5 points)
1.1
On désire créer et initialiser un tableau bidimensionnel non rectangulaire constitué de
500 rangées; chaque rangée contient un nombre variable de colonnes, chaque
emplacement contenant une valeur de type "float"; le nombre de colonnes d'une
rangée est fixé comme suit:
- si le numéro de rangée est compris entre zéro et 249, le nombre de colonnes
de cette rangée est égal au numéro de rangée plus un;
- si le numéro de rangée est plus grand que 249, le nombre de colonnes est égal
à 500 moins le numéro de rangée.
Une fois le tableau créé, il doit être initialisé en plaçant dans chaque Tableau[i][j] une
valeur donnée par la formule 8.75 * i + 6.29*j
Écrivez les instructions requises.
Réponse:
float Tableau [][] = new float[500][];
for(int i = 0; i<500; i++)
if(i<250)Tableau[i] = new float[i+1];
else Tableau[i] = new float[500-i];
for(int i=0; i<500; i++)
for(int j=0; j< Tableau[i].length; j++)
Tableau[i][j] = 8.75f*i + 6.29f*j;
1.2
Étant donné ce même tableau, et un entier K compris entre 0 et 499, comment obtient
on le nombre d'éléments de la rangée K sans refaire le calcul décrit ci-haut?
int TailleRangeeK = Tableau[K].length;
Question 2: (4 points)
Écrivez une méthode qui reçoit un nom complet de fichier et le sépare en ses
éléments; la spécification détaillée est comme suit:
- nom de la méthode: Separe