Examens de Passage - Pratique - TDI - 2010 - TDI - Variante 2
PARTIE I : PROGRAMMATION STRUCTUREE EN C OU C++
1. La Direction d’une entreprise désire automatiser le calcul de l’indemnité à verser aux cadres en cas de licenciement.
Après un an d’ancienneté dans l’entreprise, il sera alloué aux cadres licenciés une indemnité tenant compte de leur ancienneté et s’établissant comme suit :
- la moitié du salaire d’un mois par année d’ancienneté : pour la tranche d’ancienneté entre 1 et 10 ans
- au delà de 10 ans un mois de salaire par année d’ancienneté
- une indemnité supplémentaire serait allouée aux cadres âgés de plus de 45 ans de :
- 2 mois si le cadre est âgé de 46 à 49 ans
- 5 mois si le cadre est âgé de plus de 50 ans.
Ecrire un programme qui permet de saisir l’âge, l’ancienneté et le dernier salaire et d’afficher l’indemnité du cadre. (1.5 pts)
2. Ecrire un programme permettant de trier un tableau de n réels dans un ordre croissant en utilisant la méthode de tri bulle (1 pt)
3. Ecrire un algorithme qui effectue la lecture d’une matrice carrée A ainsi que sa taille n et affiche la trace de A. (1 pt)
(Pour une matrice A(ai,j), Trace(A)=Σai,i la somme des éléments sur la diagonale).
4. Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante sous forme des étoiles. (0.5 pt)
N=3
***
**
*
Après un an d’ancienneté dans l’entreprise, il sera alloué aux cadres licenciés une indemnité tenant compte de leur ancienneté et s’établissant comme suit :
- la moitié du salaire d’un mois par année d’ancienneté : pour la tranche d’ancienneté entre 1 et 10 ans
- au delà de 10 ans un mois de salaire par année d’ancienneté
- une indemnité supplémentaire serait allouée aux cadres âgés de plus de 45 ans de :
- 2 mois si le cadre est âgé de 46 à 49 ans
- 5 mois si le cadre est âgé de plus de 50 ans.
Ecrire un programme qui permet de saisir l’âge, l’ancienneté et le dernier salaire et d’afficher l’indemnité du cadre. (1.5 pts)
2. Ecrire un programme permettant de trier un tableau de n réels dans un ordre croissant en utilisant la méthode de tri bulle (1 pt)
3. Ecrire un algorithme qui effectue la lecture d’une matrice carrée A ainsi que sa taille n et affiche la trace de A. (1 pt)
(Pour une matrice A(ai,j), Trace(A)=Σai,i la somme des éléments sur la diagonale).
4. Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante sous forme des étoiles. (0.5 pt)
N=3
***
**
*
PARTIE II : PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA
On souhaite développer une application pour la gestion des modules enseignés par des professeurs dans une Ecole privée.
Soit la classe module qui modélise un module et qui comportera les attributs suivants :
reference
intitule
professeur (matricule du Professeur qui enseigne ce module)
Soit la classe Professeur qui modélise un Professeur et qui comportera les attributs suivants :
matricule
nom
prenom
echelle
listeModule
Travail à faire :
1- Codage de la classe Module
a. Ecrire la classe Module avec un compteur des objets créés. (1pt)
2- Codage de la classe Professeur
a. Ecrire la classe Professeur avec un compteur des objets créés. (1pt)
3- Ajouter la méthode compare qui teste l’égalité de 2 objets Professeur (2 objets Professeur sont égaux s’ils ont le même matricule). (1pt)
4- Créer une exception nommée erreurEchelle qui se déclenche lors de la saisie d’une échelle de professeur qui n’est pas comprise entre 8 et 11. (1pt)
5- Ajouter une méthode choixProfesseur qui désigne l’enseignant d’un module. (1pt)
6- Ajouter une méthode supprimerProfesseur qui annule le choix de l’enseignant d’un module. (1pt)
7- Ajouter une méthode ajouterModule qui ajoute un module à la liste des modules pris en charge par un professeur. (1pt)
8- Ajouter une méthode supprimerModule qui supprime un module de la liste des modules d’un professeur. (1pt)
9- Ecrire un programme de test qui crée 4 professeurs et 5 modules : (1pt)
10- Ecrire un programme permettant d’enregistrer les objets crées dans deux fichiers texte : Professeurs.txt et Modules.txt (1pt)
Soit la classe module qui modélise un module et qui comportera les attributs suivants :
reference
intitule
professeur (matricule du Professeur qui enseigne ce module)
Soit la classe Professeur qui modélise un Professeur et qui comportera les attributs suivants :
matricule
nom
prenom
echelle
listeModule
Travail à faire :
1- Codage de la classe Module
a. Ecrire la classe Module avec un compteur des objets créés. (1pt)
2- Codage de la classe Professeur
a. Ecrire la classe Professeur avec un compteur des objets créés. (1pt)
3- Ajouter la méthode compare qui teste l’égalité de 2 objets Professeur (2 objets Professeur sont égaux s’ils ont le même matricule). (1pt)
4- Créer une exception nommée erreurEchelle qui se déclenche lors de la saisie d’une échelle de professeur qui n’est pas comprise entre 8 et 11. (1pt)
5- Ajouter une méthode choixProfesseur qui désigne l’enseignant d’un module. (1pt)
6- Ajouter une méthode supprimerProfesseur qui annule le choix de l’enseignant d’un module. (1pt)
7- Ajouter une méthode ajouterModule qui ajoute un module à la liste des modules pris en charge par un professeur. (1pt)
8- Ajouter une méthode supprimerModule qui supprime un module de la liste des modules d’un professeur. (1pt)
9- Ecrire un programme de test qui crée 4 professeurs et 5 modules : (1pt)
10- Ecrire un programme permettant d’enregistrer les objets crées dans deux fichiers texte : Professeurs.txt et Modules.txt (1pt)
PARTIE III : PROGRAMMATION EVENEMENTIELLE EN VB.NET, C# OU JAVA
Pour plus de convivialité, on souhaite développer quelques fonctionnalités de l’application de gestion de la répartition des modules en mode graphique.
1- Créer une interface qui permet la gestion des modules.
a. Ajouter un module (0.5pt)
b. Supprimer un module selon sa référence. (0.5pt)
c. Modifier un module selon sa référence. (0.5pt)
d. Rechercher un module selon sa référence ou son intitulé. (1pt)
e. Afficher dans un label le nombre des modules créés (0.5pt)
2- Créer une interface qui permet la gestion des professeurs.
a. Ajouter un professeur. (0.5pt)
b. Supprimer un professeur selon son matricule. (0.5pt)
c. Modifier les informations d’identité d’un professeur. (0.5pt)
d. Rechercher un professeur selon son matricule. (0.5pt)
e. Afficher l’ensemble des professeurs dans une grille (0.5pt)
3- Créer un menu permettant d’accéder à ces différentes fonctionnalités. (0.5pt)
1- Créer une interface qui permet la gestion des modules.
a. Ajouter un module (0.5pt)
b. Supprimer un module selon sa référence. (0.5pt)
c. Modifier un module selon sa référence. (0.5pt)
d. Rechercher un module selon sa référence ou son intitulé. (1pt)
e. Afficher dans un label le nombre des modules créés (0.5pt)
2- Créer une interface qui permet la gestion des professeurs.
a. Ajouter un professeur. (0.5pt)
b. Supprimer un professeur selon son matricule. (0.5pt)
c. Modifier les informations d’identité d’un professeur. (0.5pt)
d. Rechercher un professeur selon son matricule. (0.5pt)
e. Afficher l’ensemble des professeurs dans une grille (0.5pt)
3- Créer un menu permettant d’accéder à ces différentes fonctionnalités. (0.5pt)
Aucun commentaire:
Enregistrer un commentaire