Exercices de révision pour l'examen intra

21 déc. 2006 ... Examen de décembre 2006 (2 heures avec documents) .... la plate-forme Java (
vous pouvez faire cette question que vous ayez corrigé ou pas ...

Part of the document


IFT1170 (Exercices de révision pour l'intra)
Exercice 1
Il s'agit de définir une classe représentant un tableau trié d'entiers.
La classe, appelée TriSimple, aura un attribut privé qui sera un tableau
d'entiers.
Au moment de la construction d'une instance de la classe, le tableau aura
une capacité qui aura une valeur par défaut donnée par le programmeur et
pourra aussi être indiquée par le constructeur. Le tableau initial ne
contiendra aucun élément.
Les méthodes suivantes seront prévues :
. void inserer(int entier) : insére un entier dans le tableau en
respectant un ordre croissant sur les entiers.
. void retirer(int entier) : retire un entier donné, si un tel entier
est dans le tableau. Si l'entier figure plusieurs fois, une seule
occurrence est retirée.
Exercice 2
On s'interesse à noter dans un fichier une suite de scores sous la forme
d'un suite de lignes ; chaque ligne contient un nom et un entier ; l'entier
représente un score obtenu par la personne dont le nom est indiqué. On aura
par exemple :
irene 12
olivier 8
david 19
Il s'agit de réaliser un programme qui permette de prendre à partir de
l'entrée standard des lignes constituées d'un nom et d'un score pour
actualiser le fichier. Au départ on charge le fichier dans un Vector. Tout
le traitement se fera à partir de celui-ci.
. Si le nom n'existait pas, une nouvelle ligne est créée pour mettre ce
nouveau nom et son score.
. Si le nom existait déjà, le score est actualisé.
Dans une même exécution du programme, l'utilisateur pourra entrer
successivement plusieurs lignes comportant chacune nom et score. Il
terminera en retournant une ligne blanche. Quand on termine on enregistre le Vector dans le fichier.
Exercice 3
Écrire une programme Java que lit une chaîne de caractères et une chaîne de
délimiteurs et qui affiche à l'écran la liste de tous les jetons contenus
dans la chaîne. Exercice 4
Vous devez créer un programme Java qui permettra de : > lire à l'écran les données suivantes :
< numéro d'un étudiant (taille maximale 4)
< nom (40 caractères incluse également le prénom mais
une seule variable pour le référencer);
< note (nombre réel ).
( Insérer les données dans un Vector étudiant.
Enregistrer les informations dans le fichier etudiant.txt (à partir du
Vector etudiant). Vous devez vérifier si le fichier n'existe pas déjà. Si
tel est le cas affichez fichier existe déjà.
Cas 1) Attention comment vous allez l'enregistrer dans le fichier
puisque avec substring vous aurez besoin qu'ils soient tous alignés.
Cas2 ) Données pas alignés (utiliser StringTokenizer).
Exercice 5
Écrivez un programme qui lit une suite d'entiers au clavier, et remplit un
Vector avec ces nombres. Après vous allez enregistrer les éléments de ce
Vector dans un fichier en utilisant la notion de sérialisation. Vous devez
obligatoirement enregistrer élément pas élément. Exercice 6 Écrivez une méthode (en Java) afficherDécompte, capable d'afficher un
décompte à partir de n'importe quel entier positif ou nul passé en
paramètre (si un entier négatif est passé en paramètre, la méthode
n'affichera rien du tout). Exemples d'appel : afficherDécompte (5) afficherait : 5 4 3 2 1 0
afficherDécompte (3) afficherait : 3210
afficherDécompte (-4) n'afficherait rien du tout static void afficherDécompte (int noInitial)
{
...
} Exercice 7 Écrire le code pour déclarer un tableau de 20 nombres entiers, lire ce
tableau à l'écran et afficher la moyenne de tous les nombres positifs de ce
tableau.
Exercice 8
Écrivez un programme java qui, étant donnée une expression arithmétique
(opérateurs binaires +,-,* et /) entrée au clavier en affiche les
opérandes.
Par exemple, si la chaîne est
[pic]
, le programme affichera :.
[pic]
Votre programme doit utiliser obligatoirement StringTokenizer. Exercice 9 Soient les classes suivantes: class Personne {
public void parler() {
System.out.println("hum!");
}
}
class Adulte extends Personne{
public void parler() {
System.out.println("Bonjour tout le monde!");
}
}
class AdulteDistinguee extends Adulte {
public void parler() {
System.out.println("Mes chers amis, bonjour!");
}
}
class Jeune extends Personne {
}
class Ado extends Jeune {
public void parler() {
System.out.println("salut les mecs!");
}
}
class Enfant extends Jeune {
}
class Bebe extends Enfant {
public void parler() {
System.out.println("J'chui pas un bebe!");
}
}
class BebeCadum extends Bebe {
public void parler() {
System.out.println("Agheu, agheu!");
}
} Donner le diagramme de classes UML. Exercice 10
Donnez ce qui est affiché par le programme suivant (si erreur l'indiquer):
main() {
Personne P1 = new Personne();
Personne P2 = new AdulteDistinguee();
Adulte P3 = new AdulteDistingue();
Personne P4 = new Bebe();
Jeune P5 = new Ado();
Enfant P6 = new BebeCadum();
BebeCadum P7 = new BebeCadum();
Enfant P8 = new Bebe();
P1.parler();
P2.parler();
P3.parler();
P4.parler();
P5.parler();
P6.parler();
P7.parler();
P8.parler();
}
|Appel |Affiche |
|P1.parler(); | |
|P2.parler(); | |
|P3.parler(); | |
|P4.parler(); | |
|P5.parler(); | |
|P6.parler(); | |
|P7.parler(); | |
|P8.parler(); | |
FIN DES EXERCICES