OFPPT Office de la Formation Professionnelle et de la Promotion du ...
Examen de Passage, session Juillet 2012 ... Ecrire un programme qui permet de
remplir un tableau de N entiers et qui cherche et affiche le premier élément, ....
des voyageurs ayant utilisé les bateaux de la société pendant 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-3
Niveau : TS
Durée : 4h30mn Barème : /20 pts
[pic]
Variante 3 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
vingt premiers éléments de la série suivante : 30, 43, 56, 69, 82 ... (S =
30 + 43 + 56 + 69 + 82 + ...), sachant que la différence entre deux
éléments successifs de cette série est toujours égale à 13. (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 égal à la somme 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 : |-30 |2 |5 |27 |0 | Le nombre recherché est 2, car 2 = -30 + 5 + 27 + 0. b- Pour N=4 et le tableau comprenant les éléments suivants : |-30 |2 |5 |0 | Dans ce cas, le programme affiche "Pas de solution", car aucun élément du
tableau n'est égal à la somme de tous les autres.
Dossier 2 : (15,25 pts) L'objet de cette application est la gestion informatisée des traversées
organisées par une société possédant des bateaux. Chaque traversée est
assurée par un seul capitaine.
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 Capitaine.
a. Définir une classe Capitaine dont les caractéristiques sont : Code,
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 Bateau.
a. Définir une classe Bateau dont les caractéristiques sont : Numéro, Nom
Bateau. (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 du bateau
séparées par tabulation. (0,5 pt)
3- Classe Traversee
a. Définir une classe Traversee dont les caractéristiques sont : (0,75
pt)
- Numéro traversée : le numéro de la 1ère traversée créée est 1 et à
chaque création d'une nouvelle traversée, ce numéro doit être
automatiquement incrémenté de 1. Faire le nécessaire (données + code)
pour y arriver.
- Tcapitaine : c'est le capitaine qui a assuré la traversée courante.
- Tbateau : C'est le bateau conduit par Tcapitaine au cours de cette
traversée.
- Date Traversée : date où a eu lieu cette traversée.
- Pays de départ.
- Pays d'arrivée.
- Nombre de voyageurs : nombre des personnes qui ont effectué cette
traversée.
- Prix du billet : prix payé par chaque voyageur de cette traversée
(le même prix pour tous).
b. Ecrire un constructeur sans aucun paramètre permettant de définir la
valeur du numéro de la traversée et d'affecter la date système à Date
traversée. (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 de la traversée,
la date de la traversée, le nom et le prénom du capitaine, le numéro
et le nom du bateau, pays de départ, pays d'arrivée et recette de la
traversée tous séparés par tabulation. (1 pt)
La recette de la traversée = Nombre de voyageurs * Prix du billet de
la traversée en cours.
4- Programme principal
a. Déclarer une liste de capitaines, une liste de bateaux et une liste de
traversées accessibles par toutes les méthodes du programme principal.
(0,5 pt)
b. Ajouter une méthode rechercherCapitaine() qui recherche un capitaine
par son code. Si trouvé, elle retourne le capitaine correspondant dans
la liste des capitaines. Sinon, elle retourne la valeur null. (0,5 pt)
c. Ajouter une méthode rechercherBateau() qui recherche un bateau par son
numéro. Si trouvé, elle retourne le bateau correspondant dans la liste
des bateaux. Sinon, elle retourne la valeur null. (0,5 pt)
d. Ajouter une méthode rechercherTraversee() qui recherche une traversée
par son numéro. Si trouvé, elle retourne l'indice correspondant dans
la liste des traversées. Sinon, elle retourne la valeur -1. (0,5pt).
e. Ajouter par code (en mode conception) trois capitaines à la liste des
capitaines. (0,5 pt)
f. Ajouter par code trois bateaux à la liste des bateaux. (0,5 pt)
g. Ajouter par code deux traversées à la liste des traversées. 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 bateau. (0,75 pt) 2- Ajouter traversée. (1 pt) 3- Lister toutes les traversées. (0,75 pt) 4- Lister les traversées passées 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 bateau :
Saisir les données nécessaires et faire le nécessaire pour que deux
bateaux dans la liste n'aient pas le même numéro. . Ajouter traversée :
- Le numéro de la nouvelle traversée est automatiquement affecté par
programme et la date traversée correspond à la date système.
- Saisir le code du capitaine qui doit correspondre à un capitaine de
la liste des capitaines et si trouvé, le capitaine ainsi trouvé
correspond à Tcapitaine de la traversée à ajouter, sinon le programme
vous demandera de saisir un autre code.
- Saisir le numéro du bateau qui doit correspondre à un bateau de la
liste des bateaux et si trouvé, le bateau ainsi trouvé correspond à
Tbateau de la traversée à 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 toutes les traversées : Imprimer la liste de toutes les
traversées de la manière suivante :
Date :
../../.... N° Date travers. Nom Prénom N° bat. Nom Bateau P.
départ P. arrivée Recette
... ../../.... ....... .......... .......
................ ......... ......... ......... Indication : la date en haut à droite correspond à la date système.
. Lister les traversées passées entre deux dates : Imprimer une liste
des traversées semblable au niveau de la présentation à celle de la
question précédente mais contenant uniquement les traversées qui se
sont déroulées entre deux dates que l'utilisateur de l'application
devra saisir. En bas de la liste ainsi imprimée, indiquer le nombre
des traversées listées. . 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
bateaux 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 (taille). (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)