OFPPT Office de la Formation Professionnelle et de la Promotion du ...

Examen de Passage, session Juillet 2012 ... (1,25 pt). 2. Ecrire un programme
qui permet de remplir un tableau de N entiers et qui cherche et affiche le premier
élément, lorsqu'il existe, de ce .... 5- Nombre de voyageurs de l'année en cours.

Part of the document


|[pic] | [pic] |
|OFPPT | |
| | Office de la Formation Professionnelle |
| |et de la Promotion du Travail |
Direction Recherche et Ingénierie de la Formation Examen de Passage, session Juillet 2012 Filière : Techniques de Développement Informatique
Epreuve : Pratique - V1-2
Niveau : TS
Durée : 4h30mn Barème : /20 pts
[pic]
Variante 2 Important : assurez-vous que tous les éléments de vos projets sont
sauvegardés dans un dossier portant votre nom et prénom et le numéro de la
variante de l'examen comme suit "NOM_PRENOM_Variante". Dossier 1 : (2,5 pts)
1. Ecrire un programme qui permet de calculer et d'afficher la somme des
quarante premiers éléments de la série suivante : 13, 21, 29, 37, 45 ... (S
= 13 + 21 + 29 + 37 + 45 + ...), sachant que la différence entre deux
éléments successifs de cette série est toujours égale à 8. (1,25 pt) 2. Ecrire un programme qui permet de remplir un tableau de N entiers et qui
cherche et affiche le premier élément, lorsqu'il existe, de ce tableau qui
est multiple de tous les autres éléments du tableau. Lorsqu'un tel élément
n'existe pas, le programme affiche le message suivant : " Pas de solution
". (1,25 pt) Exemples : a- Pour N=5 et le tableau comprenant les éléments suivants : |25 |10 |5 |50 |2 | Le nombre recherché est 50, car il est multiple de toutes les autres
valeurs. b- Pour N=4 et le tableau comprenant les éléments suivants : |25 |10 |5 |40 | Dans ce cas, le programme affiche "Pas de solution", car aucun élément du
tableau n'est multiple de tous les autres.
Dossier 2 : (15,25 pts) L'objet de cette application est la gestion informatisée des vols organisés
par une société possédant des avions. Chaque vol est assuré par un seul
pilote.
Recommandation : utiliser des listes génériques (List : listes typées)
de préférence. Mais vous pouvez utiliser des ArrayList ou des Collections. 1- Classe Pilote.
a. Définir une classe Pilote dont les caractéristiques sont : Matricule,
Nom, Prénom. (0,5 pt)
b. Écrire un constructeur avec tous les paramètres. (0,5 pt)
c. Écrire les accesseurs des champs et la méthode toString() qui renverra
tous les champs séparés par tabulation. (0,5 pt)
2- Classe Avion.
a. Définir une classe Avion dont les caractéristiques sont : Numéro
avion, Marque, Type, Capacité (c'est le nombre maximum de voyageurs
que peut transporter l'avion courant). (0,5pt)
b. Écrire un constructeur avec tous les paramètres. (0,5 pt)
c. Écrire les accesseurs des champs. (0,5 pt)
d. Écrire la méthode toString() qui renverra les informations de l'avion
séparées par tabulation. (0,5 pt)
3- Classe Vol
a. Définir une classe Vol dont les caractéristiques sont : (0,75 pt)
- Numéro vol : le numéro du 1er vol créé est 1 et à chaque création
d'un nouveau vol, ce numéro doit être automatiquement incrémenté de 1.
Faire le nécessaire (données + code) pour y arriver.
- Vpilote : c'est le pilote qui a assuré le vol courant.
- Vavion : C'est l'avion conduit par Vpilote au cours de ce vol.
- Date Vol : date où a eu lieu ce vol.
- Ville de départ.
- Ville d'arrivée.
- Nombre de voyageurs : nombre des personnes qui ont pris ce vol.
- Prix du billet : prix payé par chaque voyageur de ce vol (le même
prix pour tous).
b. Ecrire un constructeur sans aucun paramètre permettant de définir la
valeur du numéro du vol et d'affecter la date système à Date vol.
(0,75 pt)
c. Ecrire un constructeur permettant de définir les valeurs des autres
champs. Ce constructeur doit faire d'abord appel au constructeur
précédent. (0,75 pt)
d. Écrire les accesseurs des champs. (0,5 pt)
e. Ecrire la méthode toString() qui renverra le numéro du vol, la date du
vol, le nom et le prénom du pilote, le numéro et la marque de l'avion,
ville de départ, ville d'arrivée et recette du vol tous séparés par
tabulation. (1 pt)
La recette du vol = Nombre de voyageurs * Prix du billet du vol en
cours.
4- Programme principal
a. Déclarer une liste de pilotes, une liste d'avions et une liste de vols
accessibles par toutes les méthodes du programme principal. (0,5 pt)
b. Ajouter une méthode rechercherPilote() qui recherche un pilote par son
matricule. Si trouvé, elle retourne le pilote correspondant dans la
liste des pilotes. Sinon, elle retourne la valeur null. (0,5 pt)
c. Ajouter une méthode rechercherAvion() qui recherche un avion par son
numéro. Si trouvé, elle retourne l'avion correspondant dans la liste
des avions. Sinon, elle retourne la valeur null. (0,5 pt)
d. Ajouter une méthode rechercherVol() qui recherche un vol par son
numéro. Si trouvé, elle retourne l'indice correspondant dans la liste
des vols. Sinon, elle retourne la valeur -1. (0,5pt).
e. Ajouter par code (en mode conception) trois pilotes à la liste des
pilotes. (0,5 pt)
f. Ajouter par code trois avions à la liste des avions. (0,5 pt)
g. Ajouter par code deux vols à la liste des vols. Utiliser certains
constructeurs et certaines méthodes déjà conçus. (0,75 pt)
h. Concevoir le menu suivant : (en prenant en compte les indications ci-
dessous) 1- Ajouter avion. (0,75 pt) 2- Ajouter vol. (1 pt) 3- Lister tous les vols. (0,75 pt) 4- Lister les vols passés entre deux dates. (0,75 pt) 5- Nombre de voyageurs de l'année en cours. (0,75 pt) 6- Fin. (0,25 pt) Indications concernant les traitements à réaliser dans le menu ci-
dessus : . Ajouter avion :
Saisir les données nécessaires et faire le nécessaire pour que deux
avions dans la liste n'aient pas le même numéro. . Ajouter vol :
- Le numéro du nouveau vol est automatiquement affecté par programme
et la date vol correspond à la date système.
- Saisir le matricule du pilote qui doit correspondre à un pilote de
la liste des pilotes et si trouvé, le pilote ainsi trouvé correspond à
Vpilote du vol à ajouter, sinon le programme vous demandera de saisir
un autre matricule.
- Saisir le numéro de l'avion qui doit correspondre à un avion de la
liste des avions et si trouvé, l'avion ainsi trouvé correspond à
Vavion du vol à ajouter, sinon le programme vous demandera de saisir
un autre numéro.
- Saisir les autres données restantes et chaque fois qu'une donnée
saisie n'est pas valide, le programme vous demandera de la saisir de
nouveau. . Lister tous les vols : Imprimer la liste de tous les vols de la
manière suivante :
Date :
../../.... N° Date vol Nom Prénom N° Avion Marque Ville départ
Ville arrivée Recette
... ../../.... ....... .......... ...........
......... .......... .......... ......... Indication : la date en haut à droite correspond à la date système.
. Lister les vols passés entre deux dates : Imprimer une liste des vols
semblable au niveau de la présentation à celle de la question
précédente mais contenant uniquement les vols qui se sont déroulés
entre deux dates que l'utilisateur de l'application devra saisir. En
bas de la liste ainsi imprimée, indiquer le nombre des vols listés. . Nombre de voyageurs de l'année en cours :
Le programme va calculer et afficher le nombre de voyageurs de l'année
en cours (utiliser la date système pour récupérer l'année en cours).
Ce nombre correspond au nombre total des voyageurs ayant utilisé les
avions de la société pendant l'année en cours.
Dossier 3 : (2,25 pts) On cherche à appliquer différentes mises en forme au contenu d'une zone de
texte.
[pic] 1- Reproduire l'interface ci-dessus. (0,5 pt)
2- Ecrire le code de chaque bouton radio (police). (0,75 pt)
3- Ecrire le code de chaque case à cocher (style). (0,75 pt)
Les cases à cocher sont indépendantes : on peut combiner les effets de
deux ou des trois cases.
4- Ajouter une case à cocher « Normal » pour que le texte de la zone de
texte redevienne normal lorsqu'elle est activée. Lorsque cette case
n'est pas activée, ce sont les autres cases qui sont prises en
considération. (0,25 pt)