Please enable JavaScript to access this page. Examens de Passage Pratique 2012 - TDI - V1-V2-V3 - Techniques de Développement Informatique

Examens de Passage Pratique 2012 - TDI - V1-V2-V3



Examen de Passage Pratique 2012 - TDI - Variante 1

Dossier 1 : (2,5 pts)
1. Ecrire un programme qui permet de calculer et d’afficher la somme des trente premiers éléments de la série suivante : 25, 36, 47, 58, 69 … (S = 25 + 36 + 47 + 58 + 69 + …), sachant que la différence entre deux éléments successifs de cette série est toujours égale à 11. (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 divise 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 :
     20        12        16        4        2
Le nombre recherché est 2, car il divise toutes les autres valeurs.
     b- Pour N=4 et le tableau comprenant les éléments suivants :
     20        12        16        5
Dans ce cas, le programme affiche "Pas de solution", car aucun élément du tableau ne divise tous les autres.

Dossier 2 : (15,25 pts)
L’objet de cette application est la gestion informatisée des voyages organisés par une société possédant des bus. Chaque voyage est assuré par un seul chauffeur.
Recommandation : utiliser des listes génériques (List<T> : listes typées) de préférence.Mais vous pouvez utiliser des ArrayList ou des Collections.
1- Classe Chauffeur.
      a. Définir une classe Chauffeur dont les caractéristiques sont : CIN, 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 Bus.
      a. Définir une classe Bus dont les caractéristiques sont : Immatriculation, Marque,  Type.(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 bus séparées par tabulation. (0,5 pt)
3- Classe Voyage
      a. Définir une classe Voyage dont les caractéristiques sont : (0,75 pt)
     - Numéro voyage : le numéro du 1er voyage créé est 1 et à chaque création d’un nouveau voyage, ce numéro doit être automatiquement incrémenté de 1. Faire le nécessaire (données+ code) pour y arriver.
     - Vchauffeur  : c’est le chauffeur qui a assuré le voyage courant.
     - Vbus : C’est le bus conduit par Vchauffeur au cours de ce voyage.
     - Date Voyage : date où a eu lieu ce voyage.
     - Ville de départ.
     - Ville d’arrivée.
     - Nombre de voyageurs : nombre des personnes qui ont effectué ce voyage.
     - Prix du billet : prix payé par chaque voyageur de ce voyage (le même prix pour tous).
     b. Ecrire un constructeur sans aucun paramètre permettant de définir la valeur du numéro du voyage et d’affecter la date système à Date voyage.(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 voyage, la date du voyage, le nom et le prénom du chauffeur, l’immatriculation et la marque du bus, ville de départ, ville d’arrivée et recette du voyage tous séparés par tabulation. (1 pt)
La recette du voyage = Nombre de voyageurs * Prix du billet du voyage en cours.
4- Programme principal
      a. Déclarer une liste de chauffeurs, une liste de bus et une liste de voyages accessibles par toutes les méthodes du programme principal. (0,5 pt)
      b. Ajouter une méthode rechercherChauffeur() qui recherche un chauffeur par son CIN. Si trouvé, elle retourne le chauffeur correspondant dans la liste des chauffeurs. Sinon, elle retourne la valeur null. (0,5 pt)
      c. Ajouter une méthode rechercherBus() qui recherche un bus par son immatriculation. Si trouvée, elle retourne le bus correspondant dans la liste des bus. Sinon, elle retourne la valeur null. (0,5 pt)
      d. Ajouter une méthode rechercherVoyage() qui recherche un voyage par son numéro. Si trouvé, elle retourne l’indice correspondant dans la liste des voyages. Sinon, elle retourne la valeur -1. (0,5 pt)
      e.Ajouter par code (en mode conception) trois chauffeurs à la liste des chauffeurs. (0,5 pt)
      f. Ajouter par code trois bus à la liste des bus. (0,5 pt)
     g. Ajouter par code deux voyages à la liste des voyages. 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 bus. (0,75 pt)
2- Ajouter voyage.(1 pt)
3- Lister tous les voyages. (0,75 pt)
4- Lister les voyages 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 bus :
Saisir les données nécessaires et faire le nécessaire pour que deux bus dans la liste n’aient pas la même immatriculation.
     • Ajouter voyage :
     - Le numéro du nouveau voyage est automatiquement affecté par programme et la date voyage correspond à la date système.
     - Saisir le CIN du chauffeur qui doit correspondre à un chauffeur de la liste des chauffeurs et si trouvé, le chauffeur ainsi trouvé correspond à Vchauffeur du voyage à ajouter, sinon le programme vous demandera de saisir un autre CIN.
     - Saisir l’immatriculation du bus qui doit correspondre à un bus de la liste des bus et si trouvée, le bus ainsi trouvé correspond à Vbus  du voyage à ajouter, sinon le programme vous demandera de saisir une autre immatriculation.
     - 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 voyages : Imprimer la liste de tous les voyages de la manière suivante :


Examens de Passage Pratique 2012 - 

TDI - V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


Indication : la date en haut à droite correspond à la date système.
     • Lister les voyages passés entre deux dates : Imprimer une liste des voyages semblable au niveau de la présentation à celle de la question précédente mais contenant uniquement  les voyages 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 voyages 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 bus 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.


Examens de Passage Pratique 2012 - 

TDI - V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


1- Reproduire l’interface ci-dessus. (0,5 pt)
2- Ecrire le code de chaque bouton radio (couleur). (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)

Examen de Passage Pratique 2012 - TDI - Variante 2

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<T> : 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 :


Examens de Passage Pratique 2012 - TDI 

- V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


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.


Examens de Passage Pratique 2012 - TDI 

- V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


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)

Examen de Passage Pratique 2012 - TDI - Variante 3

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<T> : 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 :


Examens de Passage Pratique 2012 

- TDI - V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


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.


Examens de Passage Pratique 2012 - TDI 

- V1-V2-V3
Examens de Passage Pratique 2012 - TDI - V1-V2-V3


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)

Télécharger Les Examens de Passage Pratique 2012 - TDI - V1-V2-V3 :
en format .pdf sur le lien suivant :

Examens de Passage Pratique 2012 - TDI - V1-V2-V3


Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse