Please enable JavaScript to access this page. Recherche :: Examens Fin Passage - Corrigés :: - Techniques de Développement Informatique
Showing posts with label Examens Fin Passage - Corrigés. Show all posts
Showing posts with label Examens Fin Passage - Corrigés. Show all posts

Examen de Passage Session Juillet 2012 - Théorique


Examen de Passage Session Juillet 2012 - Théorique

Dossier 1 (5 pts)

1. Donner une définition succincte aux termes suivants : 
     a. Informatique ;   (0,25pt)
     b. Développement Informatique ;  (0,25pt)
     c. Algorithme ;  (0,25pt)
     d. Compilateur.  (0,25pt)

2.  Soient les fonctions logiques F et G, des variables logiques A, B, C et D, définies algébriquement par :


Examen de Passage Session Juillet 2012 - Théorique
Examen de Passage Session Juillet 2012 - Théorique


     a. Représenter sur une table de vérité les fonctions F et G ;  (0,5pt)
     b. Simplifier algébriquement, la fonction F ;  (0.5 pt)
     c. Simplifier graphiquement la fonction G ;  (0,5pt)

3. Dans la nouvelle immatriculation des véhicules, chaque plaque est composée d’un nombre (de 1 à 99 999) qui correspond au numéro d'enregistrement du véhicule, suivi d'une lettre (en arabe), et se termine par un numéro identifiant de la préfecture (de 1 à 87).
     a. Quel est le nombre total de numéros matricule qu’offre cette immatriculation ?  (0,5pt)
     b. Quel en est le nombre maximum qu’on peut enregistrer dans une préfecture ?  (0,5pt)
4. Convertir en binaire, octal et hexadécimal les nombres décimaux suivants :
     a. (2011)10 (1pt)
     b. (2012)10 (0,5pt)

Dossier 2  (4 pts)

1. Ecrire un programme, dans un langage de programmation structurée, qui permet de saisir un nombre entier N (quelconque) et affiche N ligne(s) ayant l’allure suivante : (1,25pt)


Examen de Passage Session Juillet 2012 - Théorique
Examen de Passage Session Juillet 2012 - Théorique


C’est le résultat pour N = 5.
2. Ecrire un programme qui lit une chaîne de caractères quelconque et affiche des lignes ayant l'allure suivante : (1,25pt)


Examen de Passage Session Juillet 2012 - Théorique
Examen de Passage Session Juillet 2012 - Théorique


C'est le résultat pour chaîne = " SALUT ".
3. On veut obtenir une bonne approximation du nombre e (qui est la valeur de la fonction exponentielle de 1). Pour cela, on construit une suite de nombres réels de cette façon :
     U0 = 1 et pour chaque entier n>0, Un = Un-1 + (1/n!). Avec n! = 1 x 2 x…x n
     Cette suite va tendre vers le nombre e quand n tend vers l’infini (+∞).
     Ainsi, U1 = U0 + (1/1!) = 1 + 1 = 2 et U2 = U1 + (1/2!) = 2 + (1/2) = 2,5…
Il faut savoir que le terme (1/n!) va tendre rapidement vers zéro et donc pour une certaine valeur de n, nous aurons Un = Un-1 du fait des imprécisions dans la représentation des nombres réels dans l’ordinateur.
Ecrire un programme qui permet de calculer et d’afficher les valeurs de e (= Un) et du premier n qui vérifie Un = Un-1. (1,5pt)

Dossier 3  (4 pts)
Lors du travail sur son ordinateur, on se retrouve rapidement avec un grand nombre de fichiers.
On voudrait réaliser une application de gestion de ces fichiers, qui permettrait de compléter celles déjà offertes par les gestionnaires des systèmes d’exploitation (SE). 
On aborde dans cette partie, la phase d’analyse ; et on s’intéresse plus particulièrement aux données.
Conformément aux règles de gestion communément utilisées par les SE, tout fichier est caractérisé par les caractéristiques habituelles (nom, type, taille et date de création ou mise à jour …) ; et se trouve bien sûr dans un dossier ; lui-même pouvant être un sous-dossier d’un dossier parent.
L’ensemble des dossiers, constituant une telle arborescence, sont enregistrés  sur un support de stockage qui peut être un disque (physique ou logique), un CD ou DVD, une clé USB …
On ajoutera, pour chaque fichier ou dossier, une ou plusieurs catégories, qui les regroupent logiquement par centre d’intérêt (livre, polycopié, image, programme,…).
Une catégorie pouvant être une sous catégorie d’une autre, un fichier appartenant à une catégorie, appartient par conséquent à toutes ses sous catégories.
D’autre part, un fichier, ou même un dossier dans son intégralité appartient à un, voir plusieurs utilisateurs.
Il vous est demandé de :
     a. Créer un modèle conceptuel de donnée, pour cette organisation ;  (3 pts)
     b. Etablir le modèle logique correspondant. (1 pt)

Dossier 4  (7 pts)
On voudrait réaliser une application simplifiée, pour la gestion du SI précédent. Dans le cadre de ce projet, il vous est demandé d’implémenter :
1. Une classe « Propriétaire », (1,25pt)
     a. Déclarer les attributs refProp (entier), nomProp(chaine) ;
     b. Ajouter les accesseurs ou propriétés correspondants à ces attributs ;
     c. Ajouter des constructeurs, dont un d’initialisation ayant pour paramètres les deux attributs.
     d. Ajouter une méthode « equals », qui permet de vérifier si deux utilisateurs sont égaux. (Deux utilisateurs seront considéré égaux, s’ils ont la même référence).
     e. Ajouter une fonction « toString », qui retourne une chaine représentative d’un propriétaire.
2. Une classe « Catégorie », (1pt)
     a.  Déclarer les attributs nomCat (chaine) et catégorie (instance du même Dossier) ;
     b. Ajouter un accesseur ou propriété correspondant à ces attributs ;
     c. Ajouter des constructeurs, dont un d’initialisation ayant des paramètres qui correspondent à ces deux attributs ;
     d. Ajouter une fonction « toString », qui retourne une chaine représentative d’une instance de cette classe : nom de la catégorie, suivi de toutes les sous catégories.
3. Une classe abstraite « F-D », (1pt)
     a. Déclarer les attributs nom (String), cat (instance de « Categorie ») et prop (instance de «Proprietaire»;
     b. Ajouter les accesseurs ou propriétés correspondants à ces attributs ;
     c. Ajouter des constructeurs, dont un d’initialisation ayant pour paramètre le nom ;
     d. Ajouter une fonction « toString », qui retourne une chaine représentative d’une instance de cette classe.
4. Une classe « Fichier », qui hérite de la classe précédente, (1pt)
     a. Déclarer deux nouveau attributs taille (entier) et dossier (instance de la classe « Dossier ») ;
     b. Ajouter les accesseur ou propriété correspondant à ces attributs ;
     c. Ajouter des constructeurs, dont un d’initialisation ayant pour paramètres le nom et la taille et le dossier;
     d. Ajouter une fonction « toString », qui retourne une chaine représentative d’une instance de cette classe : Nom du fichier, sa taille et le dossier qui le contient.
5. Une classe « Dossier », qui hérite de la classe « F-D », (1pt)
     a.  Déclarer un attribut dossierParent (instance de la classe Dossier) ;
     b. Ajouter un accesseur ou propriété correspondant à cet attribut ;
     c. Ajouter des constructeurs, dont un d’initialisation ayant pour paramètres le nom et le dossierParent ;
     d. Ajouter une fonction « toString », qui retourne une chaine représentative d’une instance de cette classe : nom du dossier précédé de son chemin à partir de la racine.
6. Dans un module application, effectuer les opérations suivantes : (1,75pt)
     a.  Instanciation les catégories : « Général »,  « Cours », « Programmation » (sous catégorie de Cours) et « POO » (sous catégorie de Programmation) ;
     b. Afficher cette 3ème  catégorie ;
     c. Instancier les dossiers : Racine ("\"), « dossier1 » (à la racine), « dossier2 » sous dossier de dossier1) ;
     d. Afficher ce dernier dossier ;
     e. Instancier deux fichiers : « fichier1 » (à la racine), « fichier2 » (dans le dossier2) ;
     f. Afficher les deux fichiers et leurs catégories respectives.
Voici un aperçu de l’exécution de ce module d’application sur la figure suivante :


Examen de Passage Session Juillet 2012 - Théorique
Examen de Passage Session Juillet 2012 - Théorique


Télécharger L'Examen de Passage Session Juillet 2012 - Théorique :
en format .pdf sur le lien suivant :

Examen de Passage Session Juillet 2012 - Théorique


Lire la suite

EP - Examens de Passage Pratique TDI 2011 V7-V8-V9


EP - Examens de Passage Pratique TDI 2011 Variante 7

Partie 1 : Programmation structurée

Exercice 1 : (3 pts)
Ecrire un programme qui permet d’entrer deux nombres réels et d’afficher l’une des deux mentions :  « positif » ou « négatif » , suivant le signe de leur produit, sans toutefois le calculer.

Exercice 2 : (6 pts)
Ecrire un programme qui simule une caisse enregistreuse. Le programme permettra à l’utilisateur d’entrer une série de prix des achats d’un client ; et arrêter la lecture quand l’utilisateur entre 0. Il affichera ensuite le montant total qui correspond à ces achats.
Le programme permettra par la suite d’entrer la somme d’argents présentée par le client, et de calculer le montant qu’on doit lui remettre, écrit en nombre de billets et pièces qui le constituent, de manière qu’on en utilisera un minimum, soit d’utiliser les billets et pièces dans le sens décroissant de leurs valeurs.
Exemple d’exécution :



EP - Examens de Passage Pratique TDI 2011 V7-V8-

V9
EP - Examens de Passage Pratique TDI 2011 V7-V8-V9


Exercice 3 : (6 pts)
Un nombre palindrome est un nombre symétrique (qui peut être lu de gauche à droite, comme de droite à gauche) ; soit sous la forme c1 c2 c3 … | … c3 c2 c1, où les ci sont les chiffres du nombre.
Tous les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sont des palindromes à un chiffre.
Il y en a 9 palindromes à deux chiffres : 11, 22, 33, 44, 55, 66, 77, 88, 99.
Ecrire un programme qui calcule et affiche, de la même manière, le nombre des nombres palindromes de trois chiffres ; suivi de ceux de quatre chiffres.

Partie 2 : Programmation orientée objet

L’objectif de cette application est de gérer l'inventaire par un suivi des flux d'équipements (création, modification, sortie) et gérer les équipements durant toute leur durée de vie en terme de planifications d'entretien et de remplacement (maintenance) et disponibilité d'équipement (prêt, utilisation multiple, etc.).
1. Créer une classe abstraite Equipement caractérisée par son code, date d’acquisition, Etat (opérationnel ou non), prix d’achat. Ajouter un constructeur à 2 paramètres : code et Etat et des accesseurs pour tous les champs et une méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
2. Créer une classe Ordinateur qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires : une marque et taille de l’écran. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
3. Crée une classe Table qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires sa longueur et sa largeur. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2pts)
4. Crée une classe chaise qui hérite de la classe Equipement, elle aura comme caractéristique supplémentaire une couleur. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
Une entreprise se compose de plusieurs bureaux, une fiche d'inventaire est établie pour chaque bureau, un bureau est caractérisé par un code, une description, et une liste  d’équipements.
5. classe Bureau (8pts)
     a. Créer une classe Bureau, écrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le code et la description de bureau ainsi que le nombre d’équipements sans forme d’une chaine de caractères. (1 pt)
     b. Ajouter une méthode ajouterEquipenent  qui permet d’ajouter un équipement (ordinateur, table ou chaise)  à la liste des équipements.  (1 pt)
     c. Créer une classe d’exception equipementInexistantException. (1 pt)
     d. Ajouter une méthode rechercheEquipement qui permet de rechercher un équipement par son code et qui le renvoie et de lever l’exception définie dans la question c) s’il n’existe pas dans la liste. (2 pts)
     e. Ajouter une méthode ficheInventaire qui affiche la liste des équipements. (1 pt)
     f. Ajouter une méthode supprimerEquipement qui permet de supprimer un équipement par code. (2 pts)
6. classe Entreprise (9pts)
     a. Crée une classe Entreprise qui se caractérise par un nom, adresse, téléphone et une liste des Bureaux. écrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le nom de l’entreprise  ainsi que le nombre de Bureaux sous forme d’une chaine de caractères . (2 pts)
     b. Ajouter une méthode ajouterBureau  qui permet d’ajouter un bureau  à la liste.  (1 pt)
     c. Ajouter une méthode rechercheEquipement qui permet de rechercher un équipement  par son code dans tous les Bureaux de la liste  et qui le renvoie et de lever l’exception définie dans la question 5. c) s’il n’existe pas. (1,5 pts)
     d. Ajouter une méthode localisation qui recherche un équipement par code et affiche la description de son bureau d’affectation. (1,5 pts)
     e. Ajouter une méthode TransferEquipement  qui permet de transférer un équipement d’un bureau à un autre. (1,5 pts)
     f. Ajouter une méthode Exporter qui permet de sauvegarder les données de l’application dans un fichier. (1,5 pts)

Partie 3 : Programmation événementielle

Soit à développer une application de gestion de stock. Le stock est composé de plusieurs Produits.
Un Produit est caractérisé par :
     • Un Numéro de type entier,
     • Un nom de type chaine de caractère,
     • Une catégorie de type chaine de caractère,
     • Un prix d’achat de type réel ,
     • Un prix de vente de type réel,
     • Une quantité en stock de type entier.
1- Créer la classe Produit avec ses attributs et constructeurs nécessaires. (2 pts) 
2- Ajouter une classe ListeProduits qui contient un tableau d’objets Produit afin de gérer les Produits. (2 pts)
3- Créer une interface avec des boutons de navigation (Premier      • Précédent      • Suivant      • Dernier) qui permet de consulter les informations des produits qui existent. (4 pts)
4- Ajouter un bouton charger qui permet de charger les informations sur les produits à partir d’un fichier dont voici un extrait: (2 pts)
     1 ; Ordinateur ; informatique ; 6000 ; 7000 ; 20
     2 ; Télévision LCD ; électronique ; 7000 ; 7500 ; 30  
5- Ajouter à cette interface un bouton Nouveau qui permet de vider les champs pour entrer les informations d’un nouveau produit et un bouton Ajouter qui permet d’ajouter ce produit dans la collection. Si l’utilisateur saisie un prix de vente qui est inferieur au prix d’achat, le produit ne doit pas être ajouté et on doit lui afficher une boite de dialogue en l’informant que le prix de vente est inférieur au prix d’achat. (3 pts)
6- Ajouter un bouton Supprimer qui permet de supprimer le produit en cours avec confirmation. (2 pts).
7- Créer une interface qui permet d’afficher dans une grille les produits d’une catégorie choisie à partir d’une liste déroulante. (2 pts)
8- Créer une interface de simulation de vente : on choisi le produit dans une liste déroulante et on indique la quantité. Le programme affiche dans un Libellé le prix à payer et le gain = (prix de vente – prix d’achat) * quantité. (3 pts)

EP - Examens de Passage Pratique TDI 2011 Variante 8

Partie 1 : Programmation structurée

Exercice 1 : (5 pts)
Soit la suite numérique définie par A0 = 1 ; et An = nAn-1 (pour tout n1).
Ecrire un programme qui calcule la valeur numérique du polynôme de degré n :
P(x) = Anxn - An-1xn-1 + ... - A1x + A0
Pour un couple (x , n) donné par l’utilisateur.

Exercice 2 : (6 pts)
Ecrire un programme permettant à l’utilisateur d’entrer une suite de valeurs numériques, indifféremment positives et négatives, terminées par un 0 (zéro) ;  puis de regrouper les valeurs négatives au début du tableau, et celles qui sont positives à la suite des valeurs négatives, toujours dans l’ordre où elles étaient entrées pour chaque groupe. Le programme procédera en fin à l’affichage de la série dans ce nouvel ordre.
Exemple :



EP - Examens de Passage Pratique TDI 2011 V7-V8-

V9
EP - Examens de Passage Pratique TDI 2011 V7-V8-V9


Exercice 3 : (4 pts)
Ecrire un programme qui inverse l’ordre des chiffres d’un nombre donné par l’utilisateur.
     Exemple : le nombre 1234 deviendra 4321.

Partie 2 : Programmation orientée objet

L’objectif de cette application est de gérer l'inventaire par un suivi des flux d'équipements (création, modification, sortie) et gérer les équipements durant toute leur durée de vie en terme de planifications d'entretien et de remplacement (maintenance) et disponibilité d'équipement (prêt, utilisation multiple, etc.).
1. Créer une classe abstraite Equipement caractérisée par son code, date d’acquisition, Etat (opérationnel ou non), prix d’achat. Ajouter un constructeur à 2 paramètres : code et Etat et des accesseurs pour tous les champs. Et une méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractère. (2 pts)
2. Créer une classe Ordinateur qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires : une marque et taille de l’écran. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractère. (2 pts)
3. Créer une classe Bureau qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires sa longueur et sa largeur. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractère. (2 pts)
4. Créer une classe Placard  qui hérite de la classe Equipement, elle aura comme caractéristique supplémentaire une couleur. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractère. (2 pts)
Un établissement se compose de plusieurs locaux, une fiche d'inventaire est établie pour chaque local, un local est caractérisé par un code, description, et une liste des équipements.
5. classe Local (6pts)
     a. Créer une classe Local, écrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le code et la description du local ainsi que le nombre d’équipements sans forme d’une chaine de caractères. (1 pt)
     b. Créer une classe d’exception EquipementexistantException. (1 pt)
     c. Ajouter une méthode AjouterEquipenent permet d’ajouter un équipement (ordinateur, Placard ou Bureau)  à la liste de ce local et de lever l’exception définie dans la question b) s’il  existe déjà un équipement dans  la liste qui a le même code. (1 pt)
     d. Ajouter une méthode RechercheEquipement qui permet de rechercher un équipement par son code et qui le renvoie. (2 pts)
     e. Ajouter une méthode FicheInventaire  qui affiche la liste des équipements. (1 pt)
6. classe Etablissement (11pts)
     a. Crée une classe Etablissement qui se caractérise par un nom, adresse, téléphone et une liste des locaux. écrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le nom de l’établissement ainsi que le nombre de locaux sans forme d’une chaine de caractères. (2 pts)
     b. Ajouter une méthode AjouterLocal qui permet d’ajouter un local. Le code est attribué automatiquement par l’application. (1 pt)
     c. Ajouter une méthode RechercheEquipement qui permet de rechercher un équipement par son code dans tous les locaux de la liste. (2 pts)
     d. Ajouter une méthode EquipementNonOpérationnel qui recherche et affiche le code local et le code d’équipement non opérationnel. (1,5 pts)
     e. Ajouter une méthode TransferEquipement  qui permet de transférer un équipement d’un local à un autre. (1,5 pts)
     f. Ajouter une méthode SupprimerLocal  qui permet de supprimer un local par code. (1,5 pts)
     g.  Ajouter une méthode Exporter qui permet de sauvegarder les données de l’application dans un fichier. (1,5 pts)

Partie 3 : Programmation événementielle

Soit à développer une application de gestion de stock. Le stock est composé de plusieurs articles. Un article est caractérisé par :
     • numéro de type entier,
     • son nom de type chaine de caractère,
     • sa famille de type chaine de caractère,
     • son prix d’achat de type réel
     • son prix de vente de type réel
     • et sa quantité dans le stock de type entier.
1- Créer la classe Article avec ses attributs et constructeurs nécessaires.  (2 pts)
2- Ajouter dans le projet une Hashtable d’objets Article afin de gérer les articles. (2 pts)
3- Créer une interface avec des boutons de navigation (Premier      • Précédent      • Suivant      • Dernier) qui permet de consulter les informations des articles qui existe. (4 pts)
4- Ajouter à cette interface un bouton Nouveau qui permet de vidé des champs pour entrer les informations d’un nouveau article et un bouton  Ajouter qui permet d’ajouter cet article dans la collection. Si l’utilisateur saisie un prix de vente qui est inferieur au prix d’achat, l’article ne doit pas être ajouté et on doit lui afficher une boite de dialogue en lui informant que le prix de vente est inferieur au prix d’achat. (3 pts)
5- Ajouter un bouton Modifier qui permet d’enregistrer les modifications sur l’article en cours. (2 pts)
6- Ajouter un bouton supprimer qui permet de supprimer l’article en cours avec confirmation. (2 pts)
7- Créer une interface qui affiche les articles en rupture de stock. (2 pts)
8- Créer une interface de simulation de vente : on choisi l’article d’une liste déroulante et on indique la quantité. Le programme affiche dans un Libellé le prix à payer HT(quantité *prix de vente) , le prix à payer TTC (quantité *prix de vente+TVA) et le gain = (prix de vente – prix d’achat)* quantité. (3 pts)
     Remarque : Taux de TVA = 20%

EP - Examens de Passage Pratique TDI 2011 Variante 9

Partie 1 : Programmation structurée

Exercice 1 : (5 pts)
Soit la suite numérique définie par            

EP - Examens de Passage Pratique TDI 2011 V7-V8-

V9
EP - Examens de Passage Pratique TDI 2011 V7-V8-V9

Ecrire un programme qui calcule la valeur numérique du polynôme de degré n :



EP - Examens de Passage Pratique TDI 2011 V7-V8-

V9
EP - Examens de Passage Pratique TDI 2011 V7-V8-V9


Pour un couple (x , n) donné par l’utilisateur.

Exercice 2 : (4 pts)
Un nombre parfait est un nombre entier naturel qui est égal à la somme de ses diviseurs stricts ; c à d, ses diviseurs entiers positifs, autres que lui même.
Le premier nombre parfait est 6, puisque la somme de ses diviseurs stricts 1, 2 et 3 est égale à 6 (1 + 2 + 3 = 6).
Ecrire un programme qui cherche tous les nombres parfaits inférieurs à une limite donnée par l’utilisateur.

Exercice 3 : (6 pts)
Ecrire un programme qui permet de trouver les couples de nombres amis inférieurs à une limite, donné par l’utilisateur.
Deux nombres sont dits « amis » si la somme des diviseurs stricts de l'un est égale à l'autre et inversement.
C’est le cas, par exemple, de 220 et 284, puisque :
220 a pour diviseurs : 1, 2, 4,5, 10, 11, 20, 22, 44, 55, 110 (somme=284) ;
et 284 a pour diviseurs : 1, 2, 4, 71 et 142 (somme=220).

Partie 2 : Programmation orientée objet

L’objectif de cette application est de gérer l'inventaire par un suivi des flux d'équipements (création, modification, sortie) et gérer les équipements durant toute leur durée de vie en terme de planifications d'entretien et de remplacement (maintenance) et disponibilité d'équipement (prêt, utilisation multiple, etc.).
1. Créer une classe abstraite Equipement caractérisée par son code, date d’acquisition, Etat (opérationnel ou non), prix d’achat et durée de garantie. Ajouter un constructeur à 2 paramètres : code et Etat et des accesseurs pour tous les champs. Ajouter une méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractère. (2 pts)
2. Crée une classe Ordinateur qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires : une marque et taille de l’écran. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
3. Crée une classe Téléphone qui hérite de la classe Equipement, elle n’aura aucune caractéristique supplémentaire. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
4. Crée une classe Imprimante qui hérite de la classe Equipement, elle aura comme caractéristiques supplémentaires une marque et un numéro de série. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie les informations sur l’équipement sous forme d’une chaine de caractères. (2 pts)
Une administration se compose de plusieurs sites, une fiche d'inventaire est établie pour chaque site, un site est caractérisé par un code, description, et une liste des équipements.
5. Classe Site (6pts)
     a. Créer une classe Site, écrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le code et le description de site ainsi que le nombre d’équipements sans forme d’une chaine de caractères. (1 pt)
     b. Ajouter une méthode AjouterEquipenent qui permet d’ajouter un équipement (ordinateur, Téléphone ou Imprimante)  à la liste de ce site. (1 pt)
     c. Ajouter une méthode RechercheEquipement qui permet de rechercher les équipements achetés à une date passée comme paramètre. (2 pts)
     d. Ajouter une méthode FicheInventaire qui affiche la liste des équipements de ce site. (1 pt)
     e. Ajouter une méthode SupprimerEquipement qui permet de supprimer un équipement  par code. (1 pts)
6. Classe Administration (11 pts)
     a. Créer une classe Administration qui se caractérise par un nom, adresse, téléphone et une liste des sites. Ecrire le constructeur correspondant ainsi que sa méthode toString() qui renvoie le nom de l’administration  ainsi que le nombre des sites sous forme d’une chaine de caractères. (2 pts)
     b. Ajouter une méthode AjouterSite  qui permet d’ajouter un site. (2 pts)
     c. Ajouter une méthode RechercheEquipement qui permet de rechercher les équipements qui ont plus de 5 ans. (1 pt)
     d. Ajouter une méthode EquipementNonOpérationnel qui recherche et affiche les codes Site et les codes d’équipements non opérationnels et qui sont encore sous garantie. (1,5 pts)
     e. Créer une classe d’exception EquipementException. (1,5 pts)
     f. Ajouter une méthode SupprimerSite qui permet de supprimer un site par code et de lever l’exception définie dans la question e) s’il existe déjà un équipement dans  la liste d’équipement de ce site (la liste des équipements doit être vide avant de supprimer un site). (1,5 pts)
     g.  Ajouter une méthode Exporter qui permet de sauvegarder les données de l’application dans un fichier. (1,5 pts)

Partie 3 : Programmation événementielle

Soit à développer une application de gestion de stock. Le stock est composé de plusieurs articles. Un article est caractérisé par :
     • numéro de type entier,
     • son nom de type chaine de caractère,
     • sa famille de type chaine de caractère,
     • son prix d’achat de type réel,
     • son prix de vente de type réel,
     • et sa quantité dans le stock de type entier.
1- Créer la classe Article avec ses attributs et constructeurs nécessaires. (2 pts)
2- Ajouter dans le projet une collection d’objets Article afin de gérer les articles. (2 pts)
3- Créer une interface avec des boutons de navigation (Premier      • Précédent      • Suivant      • Dernier) qui permettent de consulter les informations des articles qui existent. (4 pts)
4- Ajouter à cette interface un bouton Nouveau qui permet de vider des champs pour entrer les informations d’un nouvel article et un bouton  Ajouter qui permet d’ajouter cet article dans la collection. Si l’utilisateur saisie un prix de vente qui est inferieur au prix d’achat, l’article ne doit pas être ajouté et on doit lui afficher une boite de dialogue en l’informant que le prix de vente est inferieur au prix d’achat. (3 pts)
5- Ajouter un bouton Modifier qui permet d’enregistrer les modifications sur l’article en cours. (2 pts)
6- Ajouter un bouton supprimer qui permet de supprimer l’article en cours avec confirmation. (2 pts)
7- Créer une Interface qui affiche les articles en rupture de stock. (2 pts)
8- Créer une interface de simulation de vente : on choisi l’article d’une liste déroulante et on indique la quantité. Le programme affiche dans un Libellé le prix à payer et le gain = (prix de vente – prix d’achat)* quantité. (3 pts)

Télécharger L'EP - Examens de Passage Pratique TDI 2011 V7-V8-V9 :
en format .pdf sur le lien suivant :

EP - Examens de Passage Pratique TDI 2011 V7-V8-V9


Lire la suite

EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


EP - Examens de Passage Pratique 2011 - TDI - Variante 1

Partie 1 : Programmation structurée

Exercice 1 : (5 pts)
Ecrire un programme en C (ou dans un langage équivalent) qui permet d’entrer un tableau de n valeurs numériques ; et de les afficher sur deux colonnes, de manière à retrouver ces valeurs dans leur ordre initial, si on les lit colonne par colonne.
Exemples d’exécution :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


N.B. chaque ligne est affichée par une même et seule instruction de sortie.

Exercice 2 : (6 pts)
Ecrire un programme en C ou équivalent qui permet de saisir et de trier les éléments (entiers) d’un tableau au fur et à mesure de la saisie de ces éléments (c'est-à-dire, Le programme permettra au début de son exécution la saisie de la taille et des valeurs du tableau, en insérant chaque valeur reçue, de manière à ce que en fin de la saisie, le tableau soit trié, par ordre croissant. Les tableaux intermédiaires triés doivent être affichés au fur et à mesure de la saisie des valeurs).
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


Exercice 3 : (4 pts)
Écrire un programme qui permet de chercher et afficher tous les entiers « cubiques » ayant trois chiffres.
Un entier naturel de trois chiffres (compris entre 100 et 999) est cubique s'il égal à la somme des cubes de ses trois chiffres.
Exemple : 153 est cubique puisque 153 = 13+53+33.

Partie 2 : Programmation orientée objet

L’objectif de cet exercice est de développer une application de gestion des demandes de congé des salariés d’une entreprise.
1. Classe Employe (3,5pts)
     a. Créer une classe Employe qui se caractérise par : Numéro de matricule, nom, prénom, date d’embauche et solde de jours de congés de l’employé. (0,5 pt)
     b. Créer un constructeur à 2 paramètres : nom et prénom,  ce constructeur initialise le numéro de matricule (affecté de façon incrémentale par rapport au nombre des employés), et la date d’embauche par la date système. (1 pt)
     c. Ajouter des  accesseurs pour tous les champs. (1 pt)
     d. Ajouter une méthode toString  qui renvoie les informations d’un employé. (1 pt)
2. Classe Manager (8pts)
     a. Créer une classe Manager sous-classe de la classe Employe. elle  comporte  une liste  des employés.  Ecrire  le  constructeur  correspondant  ainsi  que  sa méthode toString qui renvoie  les informations du manager. (2 pts)
     b. Ajouter une méthode listeEmployes qui affiche la liste des noms des employés. (2 pts)
     c. Ajouter une méthode ajouterEmploye  qui permet d’ajouter un employé à la liste des employés. (2 pts)
     d. Ajouter une méthode getEmployeByCode ayant comme paramètre le numéro de matricule d’un employé et qui renvoie l’employé correspondant. (2 pts)
3. Classe DemandeConge (2,5pts)
     a. Créer une classe DemandeConge caractérisée par : code employé, date début, durée, motif, Etat (En cours, Validé, Refusé). (0,5 pt)
     b. Ajouter un constructeur à 4 paramètres : code employé, date début, durée et motif, et initialise l’état par la valeur « En cours ». (0,5 pt)
     c. Ajouter des  accesseurs pour tous les champs. (0,5 pt)
     d. Ajouter les méthodes valider et refuser qui permet de modifier l’état de la demande. (1 pt)
4. Classe GestionCongé (11pts)
     a. Créer une classe GestionCongé qui se caractérise par une liste des Manager et une liste des DemandeConge  et ajouter un constructeur sans paramètre. (1 pt)
     b. Ajouter une méthode ajouterDemandeConge qui permet d’ajouter un objet DemandeConge à la liste des demandes. (2 pts)
     c. Ajouter une méthode listeDemandeCongeEnCours qui retourne la liste des objets DemandeConge qui ont un état « en cours ». (2 pts)
     d. Ajouter une méthode listeDemandeCongeParEmploye qui retourne une liste des demandes de congé d’un employé, cette méthode a comme paramètre le code de l’employé. (3 pts)
     e. Ajouter une méthode listeDemandeCongeParManager qui retourne une liste des demandes de congé des employés d’un manager, cette méthode a comme paramètre le code du manager. (3 pts)

Partie 3 : Programmation événementielle

On souhaite développer une application pour la gestion des Notes de l’examen de passage.
Chaque stagiaire est identifié par les informations suivantes :
     - Nom et prénom
     - Groupe
     - Moyenne EFM
     - Note arabe
     - Note français
     - Note anglais
     - Note Théorie
     - Note pratique
1. Créer la classe Stagiaire. (2 pts)
2. Créer une classe Liste Stagiaire qui contient une Collection d’objets  Stagiaire. (2 pts)
3. Créer l’interface ci-dessous :  (4 pts)


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


4. Ecrire le code correspondant au bouton Valider permettant de valider les données saisies par l’utilisateur et de les stocker dans une collection d’objets Liste Stagiaire : les valeurs doivent être valides c'est-à-dire comprises dans les bons intervalles. exemple : la note Théorie doit être comprise entre 0 et 40. Si une erreur est détectée, un message d’erreur doit être affiché.  (4 pts)
5. Ecrire le code correspondant au bouton Calculer permettant de calculer : (2 pts)
     • La moyenne de l’examen de communication qui vaut (Note Arabe + Note Français + Note Anglais)/4) .
     • La moyenne générale qui vaut (Moyenne de l’examen de communication + Moyenne EFM + Pratique + Théorie)/180).
6. Ajouter une interface qui permet de lister tous les stagiaires triés par ordre alphabétique des noms avec leurs notes dans une grille. (3 pts)
7. Ajouter dans cette même interface un bouton Export qui permet d’enregistrer ces données dans un fichier. (3 pts)


EP - Examens de Passage Pratique 2011 - TDI - Variante 2

Partie 1 : Programmation structurée

Exercice 1 : (4 pts)
Ecrire un programme (en langage C ou équivalent) qui permet d’entrer un tableau de n valeurs numériques ; et de les afficher sur deux colonnes, de manière à retrouver ces valeurs dans leur ordre initial, si on les lit ligne par ligne.
Exemples d’exécution :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


N.B. chaque ligne est affichée par une même et seule instruction de sortie.

Exercice 2 :  (6 pts)
Ecrire une fonction qui calcule le factoriel d’un entier n donné (le factoriel d’un entier n s’écrit n! et n! = 1 x 2 x 3 x…n. Exemple : 3! = 1 x 2 x 3 = 6).
Ecrire une fonction qui permet de calculer le nombre de combinaisons de p parmi n éléments.
     Rappel :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


Ecrire un programme utilisant ces fonctions, pour les tester.

Exercice 3 : (5 pts)
Ecrire un programme qui permet d’entrer un tableau de n valeurs numériques ; puis de chercher et afficher toutes ses valeurs, distinctes, avec pour chacune les positions où elle apparaît.
Exemple :
     Soit le tableau : 1 - 2 - 3 - 1 - 2 - 10 - 1
     Le résultat :
     les positions de 1 sont : 1, 4, 7
     les positions de 2 sont : 2, 5
     les positions de 3 sont : 3
     les positions de 10 sont : 6

Partie 2 : Programmation orientée objet

L’objectif de cet exercice est de développer une application de gestion des demandes de congé d’une entreprise.
1. Classe Salarie (3,5pts)
     a. Créer une classe Salarie  qui se caractérise par : Numéro de  matricule, nom, prénom, date d’embauche et solde des jours de congés d’un salarié. (0,5 pt)
     b. Créer un constructeur à 2 paramètres : nom et prénom, ce constructeur initialise le n° de matricule (affecté de façon incrémentale par rapport au nombre des salariés), et la date d’embauche par la date système. (1 pt)
     c. Ajouter des accesseurs pour tous les champs. (1 pt)
     d. Ajouter une méthode afficher () qui affiche les informations d’un salarié. (1 pt)
2. Classe Directeur (8pts)
     a. Créer une classe Directeur sous-classe de la classe Salarie, elle comporte  une liste  des salariés.  Ecrire  le  constructeur  correspondant  ainsi  que  sa méthode afficher qui affiche  les informations d’un Directeur. (2 pts)
     b. Ajouter une méthode ajouterSalarie  qui permet d’ajouter un salarié à la liste des salariés. (2 pts)
     c. Ajouter une méthode getSalarieByNom qui recherche et renvoie le Numéro de matricule d’un salarié par nom et prénom. (2 pts)
     d. Ajouter une méthode getSodeConge qui renvoie le solde de jours de congé d’un salarié, ou le chiffre « -1 » si ce numéro de matricule n’existe pas dans la liste des salariés. Cette méthode a comme paramètre le numéro de matricule du salarié. (2 pts)
3. Classe DemandeConge (2,5pts)
     a. Créer une classe DemandeConge caractérisée par : code salarié, date début, durée, motif, Etat (En cours, Validé, Refusé). (0,5 pt)
     b. Ajouter un constructeur à 4 paramètres : code salarié, date début, durée et motif, et initialise l’état par la valeur « En cours ». (0,5 pt)
     c. Ajouter des accesseurs pour tous les champs. (0,5 pt)
     d. Ajouter les méthodes valider et refuser qui permettent de modifier l’état de la demande. (1pt)
4. Classe GestionCongé(11pts)
     a. Créer une classe GestionConge qui se caractérise par une liste des Directeur et une liste des DemandeConge  et ajouter un constructeur sans paramètre. (1 pt)
     b. Ajouter une méthode listeSalaries qui affiche la liste des noms des Salariés d’un  Directeur, cette méthode a comme paramètre le code du directeur. (2 pts)
     c. Ajouter une méthode ajouterDemandeConge qui permet d’ajouter un objet DemandeConge à la liste des demandes, cette méthode doit vérifier si le salarié a un solde de jours de congé suffisant si non la demande est refusée automatiquement et un message d’erreur doit être affiché. (2 pts)
     d. Ajouter une méthode listeCongeParMois qui retourne les noms des salariés qui ont bénéficié d’un congé pour le mois en cours. (3 pts)
     e. Ajouter une méthode listeDemandeCongeParSalarie qui retourne une liste des demandes de congé d’un salarié, cette méthode a comme paramètre le code d’un salarié. (3 pts)

Partie 3 : Programmation événementielle

On souhaite développer une application pour la gestion des Notes de l’examen de fin de formation.
Chaque stagiaire est identifié par les informations suivantes :
     - Nom et prénom
     - Groupe
     - Niveau
     - Moyenne EFM
     - Note arabe
     - Note français
     - Note anglais
     - Note Théorie
     - Note pratique
     - Moyenne de passage
1. Créer la classe Stagiaire. (2 pts)
2. Créer une classe Liste Stagiaire qui contient une Collection d’objets Stagiaire. (2 pts)
3. Créer l’interface ci-dessous : (4 pts)


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


4. Ecrire le code correspondant au bouton Valider permettant de valider les données saisies par l’utilisateur et de les stocker dans une collection d’objets Liste Stagiaire : les valeurs doivent être valides c'est-à-dire comprises dans les bons intervalles. exemple : la note Théorie doit être comprise entre 0 et 40. Si une erreur est détectée un message d’erreur doit être affiché.  (4 pts)
5. Ecrire le code correspondant au bouton Calculer permettant de calculer : (2 pts)
     • La moyenne de l’examen de communication qui vaut (Note Arabe + Note Français + Note Anglais)/4) .
     • La moyenne générale qui vaut (Moyenne de l’examen de communication + Moyenne EFM + Pratique + Théorie + Moyenne de passage)/200).
6. Ajouter une interface qui permet de lister tous les stagiaires triés par ordre de mérite (par ordre décroissant de leurs moyennes générales) avec leurs notes dans une grille. (3 pts)
7. Ajouter dans cette interface un bouton Export qui permet d’enregistrer ces données dans un fichier. (3 pts)


EP - Examens de Passage Pratique 2011 - TDI - Variante 3

Partie 1 : Programmation structurée

Exercice 1 : (4 pts)
Ecrire un programme qui permet d’entrer un tableau de n valeurs numériques ; puis d’inter changer ses éléments de manière que la 1ère valeur devienne la dernière, la deuxième devienne l’avant dernière, … ; et l’afficher, dans ce nouvel ordre.
Exemples d’exécution :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


N.B. Les éléments doivent être inter changés, et non simplement affichés, dans cet ordre.

Exercice 2 : (6 pts)
Ecrire une fonction qui calcule le factoriel d’un entier n donné (le factoriel d’un entier n s’écrit n! et n! = 1 x 2 x 3 x…n. Exemple : 3! = 1 x 2 x 3 = 6).
Ecrire une fonction qui permet de calculer le nombre d’arrangements de p parmi n éléments,  .
Rappel :


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


Ecrire un programme utilisant ces fonctions, pour les tester.

Exercice 3 : (5 pts)
Ecrire un programme qui permet d’entrer un tableau de n valeurs numériques ; puis de compter et afficher le nombre de ses valeurs distinctes.

Partie 2 : Programmation orientée objet

L’objectif de cet exercice est de développer une application de gestion des demandes de congé d’une entreprise.
1. Classe Fonctionnaire (3,5pts)
     a. Créer une classe Fonctionnaire qui se caractérise par : Numéro de  matricule, nom, prénom, date de naissance et solde des jours de congés du fonctionnaire. (0,5 pt)
     b. Créer un constructeur à 2 paramètres : nom et prénom, ce constructeur initialise le numéro de matricule (affecté de façon incrémentale par rapport au nombre des fonctionnaires), et la date d’embauche par la date système. (1 pt)
     c. Ajouter des accesseurs pour tous les champs. (1 pt)
     d. Ajouter une méthode toString () qui renvoie les informations d’un fonctionnaire. (1 pt)
2. Classe Directeur (8pts)
     a. Créer une classe Directeur sous-classe de la classe Fonctionnaire, elle  comporte  une liste des fonctionnaires.  Ecrire  le  constructeur  correspondant  ainsi  que  sa méthode toString qui renvoie  les informations  d’un Directeur ainsi que les noms des fonctionnaires. (2 pts)
     b. Ajouter une méthode ajouterFonctionnaire  qui permet d’ajouter un Fonctionnaire à la liste des Fonctionnaires. (2 pts)
     c. Ajouter une méthode getFonctionnaireParNom qui recherche et renvoie le Numéro de matricule d’un Fonctionnaire par nom et prénom. (2 pts)
     d. Ajouter une méthode getFonctionnairesParAge qui renvoie la liste des fonctionnaires qui atteignent l’âge de 60 ans cette année. (2 pts)
3. Classe DemandeConge (2,5pts)
     a. Créer une classe DemandeConge caractérisé par : code fonctionnaire, date début, durée, motif, Etat (En cours, Validé, Refusé). (0,5 pt)
     b. Ajouter un constructeur à 4 paramètres : code fonctionnaire, date début, durée et motif, et initialise l’état par la valeur « En cours ». (0,5 pt)
     c. Ajouter une méthode CalcDateFin qui calcule la date de fin à partir de la date début et durée. (0,5 pt)
     d. Ajouter des accesseurs pour tous les champs. (1 pt)
4. Classe GestionCongé (11pts)
     a. Créer une classe GestionConge qui se caractérise par une liste des Directeur et une liste des DemandeConge  et ajouter un constructeur sans paramètre. (1 pt)
     b.  Ajouter une méthode listeFonctionnaires qui affiche la liste des noms des Fonctionnaires qui ont demandé des congés cette année. (2 pts)
     c. Ajouter une méthode ajouterDemandeConge qui permet d’ajouter un objet DemandeConge à la liste des demandes. (2 pts)
     d. Ajouter une méthode listeFoncEnConge qui retourne les noms des fonctionnaires qui sont en congé. (3 pts)
     e. Ajouter une méthode listeDemandeCongeParFonctionnaire  qui retourne une liste des demandes de congé d’un fonctionnaire, cette méthode a comme paramètre le code d’un Fonctionnaire. (3 pts)

Partie 3 : Programmation événementielle

On souhaite développer une application pour la gestion des Notes de l’examen de passage.
Chaque stagiaire est identifié par :
     - Nom et prénom
     - Groupe
     - Niveau
     - Moyenne EFM
     - Note arabe
     - Note français
     - Note anglais
     - Note Théorie
     - Note pratique
1. Créer la classe Stagiaire. (2 pts)
2. Créer une classe Liste Stagiaire qui contient une Collection d’objets Stagiaire. (2 pts)
3. Créer l’interface ci-dessous :  (4 pts)


EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI
EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


4. Ecrire le code correspondant au bouton Valider permettant de valider les données saisies par l’utilisateur et de les stocker dans une collection d’objets Liste Stagiaire : les valeurs doivent être valides c'est-à-dire comprises dans les bons intervalles. exemple : la note Théorie doit être comprise entre 0 et 40. Si une erreur est détectée, un message d’erreur doit être affiché.  (4 pts)
5. Ecrire le code correspondant au bouton Calculer permettant de calculer : (2 pts)
     • La moyenne de l’examen de communication qui vaut (Note Arabe + Note Français + Note Anglais)/4) .
     • La moyenne générale qui vaut (Moyenne de l’examen de communication + Moyenne EFM + Pratique + Théorie)/180).
6. Ajouter une interface qui permet de lister dans une grille tous les stagiaires avec leurs notes et décision (ADMIS si Moyenne générale >=10 ou REDOUBLE dans le cas contraire). (3 pts)
7. Ajouter dans cette interface un bouton Export qui permet d’enregistrer ces données dans un fichier. (3 pts)

Télécharger L'EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI :
en format .pdf sur le lien suivant :

EP - Examens de Passage Pratique 2011 V4-V5-V6 - TDI


Lire la suite

EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


EP - Examens de Passage Pratique 2011 - TDI - Variante 1

Partie 1 : Programmation Structurée

1. Ecrire un programme en C ou équivalent permettant de compter le nombre de diviseurs d’un nombre entier donné par l’utilisateur, puis de les afficher du plus grand au plus petit. (5 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


2. Ecrire un programme en C ou équivalent permettant de saisir un tableau de 10 valeurs entières, et de diviser l’ensemble des éléments du tableau par la valeur du nème élément du tableau, n étant saisi par l’utilisateur. (4 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


3.
     a- Ecrire une fonction nommée « puissance(x,y) » permettant de retourner xy, avec x et y des réels passés en paramètres . (2 pts)
     b- Ecrire un programme qui utilise la fonction « puissance» de la question a) pour calculer l’équivalent décimal d’un nombre binaire. (4 pts)
Rappel : (101101)2 = 1x20 + 0x21 + 1x22 + 1x23 + 0x24 + 1x25 = (45)10
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI

Partie 2 : Programmation Orientée Objet

L’objet de cette application est la gestion informatisée du cabinet médical, Elle doit procéder à la gestion informatisée des dossiers médicaux des patients et elle s'occupe également de la gestion des rendez-vous et des visites.
1. Classe Patient.  (2,5 pts)
     a. Définir une classe Patient dont les caractéristiques sont : Code patient (affecté de façon incrémentale par rapport au nombre de patients), Nom, Prénom, Date de naissance, Adresse, Tél, E-mail. (0.5 pt)
     b. Ecrire un constructeur à deux paramètres : Nom et prénom. (0.5 pt)
     c. Écrire un deuxième constructeur avec tous les paramètres. (0.5 pt)
     d. Écrire les accesseurs des champs et la méthode toString() qui renverra les informations d’un patient . (1 pt)
2. Classe Visites. (2,5 pts)
     a. Définir une classe Visites dont les caractéristiques sont Date visite, Heure visite, Code patient, Montant payé. (0.5 pt)
     b. Ecrire un constructeur à deux paramètres : Date visite et Heure visite. (0.5 pt)
     c. Écrire un deuxième constructeur sans paramètres qui appelle le premier avec la date et l’heure actuelle. (0.5 pt)
     d. Écrire les accesseurs des champs et la méthode toString() qui renverra les informations de cette visite . (1 pt)
3. Classe RendezVous (2 pts)
     a. Définir une classe RendezVous dont les caractéristiques sont : Date RendezVous, Heure RendezVous , Code patient, Observation. (0.5 pt)
     b. Ecrire un constructeur à trois paramètres : Date RendezVous , Heure RendezVous et code de patient. (0.5 pt)
     c. Écrire les accesseurs des champs et la méthode toString() qui renverra les informations de ce rendez-vous. (1 pt)
4. Classe CabinetMedical (18 pts)
     a. Définir une classe CabinetMedical dont les caractéristiques sont : une liste des patients, une liste des visites et une liste des rendez-vous (collection ou tableaux). (1 pt)
     b. Ajouter une méthode ajouterPatient qui ajoute un patient à l'ensemble des patients du cabinet. (2 pts)
     c. Ajouter une méthode patientExitant ayant comme paramètre le nom et le prénom et qui retourne le code du patient s’il existe et le chiffre « -1 » sinon. (2 pts)
     d. Définir une classe d’exception : exceptionMedecinOccupe. (1 pt)
     e. Ajouter une méthode ajouterRDV qui ajoute un rendez-vous, et lève l'exception définie en d) s’il coïncide avec un autre rendez-vous. (2 pts)
     f. Ajouter une méthode afficherRDVDuJour qui va, pour une date donnée comme paramètre, afficher la liste des rendez-vous de ce jour. (2 pts)
     g. Ajouter une méthode patientAyantDesVisites qui affiche la liste des patients (code, nom et prénom) ayant visité le cabinet pendant la dernière semaine. (3 pts)
     h. Ajouter une méthode supprimerPatient qui permet de supprimer un patient ainsi que ses visites et rendez-vous. (2 pts)
     i. Ajouter une méthode enregistrerPatients qui permet d’enregistrer la liste des patients dans un fichier. (3 pts)

               

Partie 3 : Programmation Evénementielle

Soit l’interface d’inscription suivante :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


1- Créer cette interface. (4 pts)
2- Créer une classe Stagiaire caractérisée par : Nom, prénom, sexe, option et âge. (2 pts)
3- Ecrire le code correspondant au bouton Ajouter qui permet d’ajouter un stagiaire dans une collection d’objets Stagiaires et de l’afficher dans la grille. (3 pts)
4- Ecrire le code correspondant au bouton Supprimer qui permet de supprimer un stagiaire sélectionné dans la grille, l’application doit afficher un message de confirmation avant de supprimer le stagiaire et un message d’erreur si aucune ligne n’est sélectionnée. (4 pts)
5- Ajouter un bouton Rechercher qui permet de rechercher un stagiaire par nom saisi dans la zone de texte « Nom » et d’afficher toutes les informations concernant ce stagiaire au niveau des zones correspondantes de l’interface. (4 pts)
6- Créer un bouton Afficher qui permet d’afficher dans la grille la liste des stagiaires d’une option donnée choisie dans la liste déroulante « Option ». (3 pts)

EP - Examens de Passage Pratique 2011 - TDI - Variante 2

Partie 1 : Programmation Structurée

1. Ecrire un programme en C ou équivalent permettant de compter le nombre de multiples (inférieurs à 1000)  d’un nombre entier donné par l’utilisateur, puis de les afficher du plus grand au plus petit. (5 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


Ecrire un programme en C ou équivalent permettant de saisir un tableau de 10 valeurs entières, et de multiplier l’ensemble des éléments du tableau par la valeur du nème élément du tableau, n étant saisi par l’utilisateur. (4 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


3.
     a- Ecrire une fonction nommée « puissance(x,y) » permettant de retourner xy, avec x et y des réels passés en paramètres . (2 pts)
     b- Ecrire un programme qui utilise la fonction « puissance» de la question a) pour calculer l’équivalent décimal d’un nombre octal . (4 pts)
Rappel : (177)8 = 7x80 +7x81 + 1x82 = (127)10
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI

Partie 2 : Programmation Orientée Objet

L’objet de cette application est la gestion informatisée du cabinet d’avocat, Elle doit procéder à la gestion informatisée des dossiers des clients et elle s'occupe également de la gestion des rendez-vous et des visites.
1. Classe Client. (2,5pts)
     a. Définir une classe Client dont les caractéristiques sont : Code client (affecté de façon incrémentale par rapport au nombre de clients), Nom, Prénom, Date de naissance, Adresse, Tél, E-mail. (0,5 pt)
     b. Ecrire un constructeur à deux paramètres : Nom et prénom. (0,5 pt)
     c. Écrire un deuxième constructeur avec tous les paramètres. (0,5 pt)
     d. Écrire les accesseurs des champs et la méthode toString qui renverra les informations d’un client. (1 pt)
2. Classe Visites. (2,5pts)
     a. Définir une classe Visites dont les caractéristiques sont Date visite, Heure visite, Code client, sujet de visite. (0,5 pt)
     b. Ecrire un constructeur à deux paramètres : Date de  visite et Heure visite. (0,5 pt)
     c. Écrire un deuxième constructeur sans paramètres qui appelle le premier avec la date et l’heure actuelle. (0,5 pt)
     d. Écrire les accesseurs des champs et la méthode toString qui renverra les informations de cette visite. (1 pt)
3. Classe Dossier(2pts)
     a. Définir une classe Dossier dont les caractéristiques sont : Code client, tribunal, sujet, jugement, et statut (en cours ou clôturé). (0,5 pt)
     b. Ecrire un constructeur à deux paramètres : Code client et sujet. (0,5 pt)
     c. Écrire les accesseurs des champs et la méthode toString qui renverra les informations d’un dossier. (1 pt)
4. Classe CabinetAvocat (18pts)
     a. Définir une classe CabinetAvocat dont les caractéristiques sont : une liste des clients, une liste des visites et une liste des dossiers (collection ou tableaux). (1 pt)
     b. Ajouter une méthode ajouterClient qui ajoute un client à l'ensemble des clients du cabinet. (2 pts)
     c. Ajouter une méthode clientExitant ayant comme paramètre le nom et le prénom et qui retourne « vrai » si l’existe et « faux » sinon. (2 pts)
     d. Définir une classe d’exception : exceptionClient. (1 pt)
     e. Ajouter une méthode ajouterVisite  qui ajoute une visite, et lève l'exception définie en d) si le code du client n’existe pas. (2 pts)
     f. Ajouter une méthode afficherDossier qui affiche la liste des dossiers d’un client donné. (2 pts)
     g. Ajouter une méthode clientAyantDesVisites qui affiche la liste des clients (code, nom et prénom) ayant visité le cabinet pendant la dernière semaine. (3 pts)
     h. Ajouter une méthode supprimerDossiers qui permet de supprimer les dossiers clôturés. (2 pts)
     i. Ajouter une méthode enregistrer qui permet d’enregistrer la liste des clients, liste des dossiers dans un fichier. (3 pts)

Partie 3 : Programmation Evénementielle

Soit l’interface d’inscription suivante :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


1- Créer cette interface. (4 pts)
2- Créer une classe Voiture caractérisée par : Matricule, Marque, Carburant (Essence ou Diesel), Couleur et Puissance. (2 pts)
3- Ecrire le code correspondant au bouton Ajouter qui permet d’ajouter une voiture dans une collection d’objets Voitures et de l’afficher dans la grille. (3 pts)
4- Ecrire le code correspondant au bouton Supprimer qui permet de supprimer une voiture sélectionnée dans la grille, l’application doit afficher un message de confirmation avant de supprimer la voiture et un message d’erreur si aucune ligne n’est sélectionnée. (4 pts)
5- Ajouter un bouton Rechercher qui permet de rechercher une voiture par Matricule saisi dans la zone de texte « Matricule » et d’afficher toutes les informations concernant cette voiture au niveau des zones correspondantes de l’interface. (4 pts)
6- Créer un bouton Afficher qui permet d’afficher dans la grille la liste des voitures d’une marque donnée saisie dans la zone « Marque ». (3 pts)

EP - Examens de Passage Pratique 2011 - TDI - Variante 3

Partie 1 : Programmation Structurée

1. Ecrire un programme en C ou équivalent permettant de compter le nombre de puissances successives (inférieurs à 1000) d’un nombre entier donné par l’utilisateur, puis de les afficher du plus grand au plus petit. (5 pts)
Rappel : Les puissances successives de 2 sont : 20 = 1, 21 = 2, 22 = 4, 8, 16, 32, 64, 128…
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


Ecrire un programme en C ou équivalent permettant de saisir un tableau de 10 valeurs entières, et d’ajouter à l’ensemble des éléments du tableau la valeur du nème élément du tableau, n étant saisi par l’utilisateur. (4 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


3.
     a- Ecrire une fonction nommée « puissance(x,y) » permettant de retourner xy, avec x et y des réels passés en paramètres . (2 pts)
     b- Ecrire un programme qui utilise la fonction « puissance» de la question a) pour calculer la somme :
1/x0 + 1/x1 + 1/x2 + … + 1/xn pour x réel donné et n entier donné saisis au clavier. (4 pts)
Exemple d’exécution :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI

Partie 2 : Programmation Orientée Objet

L’objet de cette application est la gestion informatisée du cabinet médical, Elle doit procéder à la gestion informatisée des dossiers médicaux des patients et elle s'occupe également de la gestion des rendez-vous et des visites.
1. Classe Patient. (2,5pts)
     a. Définir une classe Patient dont les caractéristiques sont : Code patient (affecté de façon incrémentale par rapport au nombre de patients), Nom, Prénom, Date de naissance, Adresse, Tél, E-mail. (0,5 pt)
     b. Ecrire un constructeur à deux paramètres : Nom et prénom. (0,5 pt)
     c. Écrire un deuxième constructeur avec tous les paramètres. (0,5 pt)
     d. Écrire les accesseurs des champs et la méthode afficher qui affiche les informations d’un patient. (1 pt)
2. Classe Visites. (2,5pts)
     a. Définir une classe Visites dont les caractéristiques sont Date visite, Heure visite, Code patient, Montant payé. (0,5 pt)
     b. Ecrire un constructeur à trois paramètres : Date visite et Heure visite et code patient. (0,5 pt)
     c. Écrire un deuxième constructeur à un seul  paramètre : code client et qui initialise la date et l’heure avec la date et l’heure actuelle. (0,5 pt)
     d. Écrire les accesseurs des champs et la méthode afficher qui affiche les informations de cette visite. (1 pt)
3. Classe RendezVous(2pts)
     a. Définir une classe RendezVous dont les caractéristiques sont : Date RendezVous, Heure RendezVous , Code patient, Observation. (0,5 pt)
     b. Ecrire un constructeur à trois paramètres : Date RendezVous ,Heure RendezVous et code de patient. (0,5 pt)
     c. Écrire les accesseurs des champs et la méthode afficher qui affiche les informations de ce rendez-vous. (1 pt)
4. Classe CabinetMedical (18pts)
     a. Définir une classe CabinetMedical dont les caractéristiques sont : une liste des patients, une liste des visites et une liste des rendez-vous. (1 pt)
     b. Ajouter une méthode ajouterPatient qui ajoute un patient à l'ensemble des patients du cabinet. (2 pts)
     c. Ajouter une méthode patientExitant ayant comme paramètre le nom et le prénom et qui retourne « vrai » si le patient existe et « faux » sinon. (2 pts)
     d. Définir une classe d’exception : exceptionMontant. (1 pt)
     e. Ajouter une méthode ajouterVisite qui ajoute une visite, et lève l'exception définie en d) si le montant payé est négatif. (2 pts)
     f. Ajouter une méthode recetteDuJour qui, pour une date donnée comme paramètre, affiche  la somme d'argent encaissée ce jour. (2 pts)
     g. Ajouter une méthode patientAyantDesVisites qui affiche la liste des patients ayant visité le cabinet pendant la dernière semaine. (3 pts)
     h. Ajouter une méthode annulerRDV qui permet d’annuler un rendez-vous. (2 pts)
     i. Ajouter une méthode exporterRDV qui permet d’enregistrer la liste des rendez-vous dans un fichier. (3 pts)

Partie 3 : Programmation Evénementielle

Soit l’interface d’inscription suivante :


EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI
EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


1- Créer cette interface. (4 pts)
2- Créer une classe Stagiaire caractérisée par : Nom, prénom, sexe, option et âge. (2 pts)
3- Ecrire le code correspondant au bouton Ajouter qui permet d’ajouter un stagiaire dans une collection d’objets Stagiaires et de l’afficher dans la grille. (3 pts)
4- Ecrire le code correspondant au bouton Supprimer qui permet de supprimer un stagiaire sélectionné dans la grille, l’application doit afficher un message de confirmation avant de supprimer le stagiaire et un message d’erreur si aucune ligne n’est sélectionnée. (4 pts)
5- Ajouter un bouton Rechercher qui permet de rechercher un stagiaire par nom saisi dans la zone de texte « Nom » et d’afficher toutes les informations concernant ce stagiaire au niveau des zones correspondantes de l’interface. (4 pts)
6- Créer un bouton Afficher qui permet d’afficher dans la grille la liste des stagiaires d’une option donnée choisie parmi les boutons d’options. (3 pts)

Télécharger L'EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI :
en format .pdf sur le lien suivant :

EP - Examens de Passage Pratique 2011 V1-V2-V3 - TDI


Lire la suite

EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


EP - Examen Passage  2011 - TDI -Théorie - Algo - C - POO - Merise

Partie 1: Connaissances générales et logique :

1- Définissez brièvement les termes suivants:
     ROM
     UAL
     MIPS
     CMOS
2- Quelle est la différence entre les deux mémoires vives DRAM et SRAM?
3- Remplir les cases du tableau suivant par les nombres correspondants, écrits dans les systèmes de numération spécifiés.



EP - Examen 

Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


Chaque colonne correspondant au système spécifié; et chaque ligne au même nombre.
4- Soit la table de vérité suivante :



EP - 

Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


a- Donner les expressions algébriques des deux fonctions logiques F1 et F2.
b- Simplifier, par la méthode de Karnaugh, la fonction F2.

Partie 2: Techniques et langages de programmation structurée:

Exercice 1:
Donner la syntaxe du schéma itératif "Tanque"; et expliquer son fonctionnement
Exercice 2:
Pour chaque des deux séquences algorithmiques suivantes, dire s'il est possible de simplifier son écriture. Si oui, comment; et sinon pourquoi?



EP - Examen 

Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise

Exercice 3:
une matrice carrée est un tableau à deux dimensions dont le nombre de lignes est égale au nombre de colonnes.
Une matrice est dite équilibrée si la somme de éléments de chaque ligne est égale à zéro, la somme des éléments de chaque colonne est égale à zéro et la somme de éléments de deux diagonales est égale à zéro aussi.
Écrire un algorithme qui lit une matrice carrée d'entiers et vérifie si elle est équilibrée ou non.
Vous devez afficher soit la mention "Votre matrice et équilibrée" ou la mention "Votre matrice est non équilibrée".
Exercice 4:
Écrire un programme dans un langage de programmation structurée, qui permet de trouver les nombres premiers inférieurs ou égaux à un entier N donné par l'utilisateur.
La méthode consiste à remplir un tableau, dans l'ordre du plus petit au plus grand, par les entiers compris entre 2 et N (N étant l'entier limite précisé par l'utilisateur); puis de parcourir le tableau depuis le début, en gardant un entier rencontré et éliminant tous les multiples, par leur mise à zéro par exemple. A la fin du parcours, tous les entier restants (non nuls) ont des nombres premiers.

Partie 3: Programmation orientée objet:

Dan une application Windows tous les contrôles (fenêtres, bouton, zones de texte, cases à cocher ...) sont caractérisés par un nom (de type chaine de caractères), une position haut et une position gauche (de type entier) de l'objet sur l'écran. Une fenêtre et un contrôle comme les autres, caractérisée en plu d'un titre et d'une couleur d'arrière plan (de type entier).
1- Créer les classe Contrôle et Fenêtre avec un constructeur d'initialisation, un constructeur de copier, sachant que la classe Fenêtre hérite de la classe Contrôle.
2- Doter la classe Contrôle par la méthode Display qui permet d'afficher la mention suivante:
"Le contrôle Texte1 et situé à la position 12x25"
Avec Texte1 est le nom du contrôle et 12,25 représentent respectivement la position gauche, haut du contrôle sur l'écran.
3- Redéfinir la méthode Display pour la classe Fenêtre pour afficher la mention suivante:
"Le contrôle Text1 est situé à la position 12x25, ayant comme titre "titre1" et une couleur d'arrière plan de 240".
On souhaite ajouter à la classe Fenêtre une propriété type collection qui permet de gérer une liste de contrôles que l’utilisateur peut ajouter sur une fenêtre (zones de texte, lite déroulante, ...).
4- Donner le modifications à apporter à la classe Fenêtre et la méthode AjoutControle qui permet d'ajouter un contrôle à la collection.
5- Implémenter pour la classe Fenêtre la méthode RetireControle qui permet du supprimer un contrôle de la collection connaissant son nom.
6- Implémenter pour le classe Fenêtre la méthode DisplayTout qui permet d'afficher tous les contrôles ajouté à la fenêtre.

Partie 4: Conception de Systèmes d'informations:

Gestion d'un cabinet d'architecture
Vous êtes appelé à concevoir un système de gestion pour un cabinet d'architecture, au sein duquel on réalise de projets architecturaux. l'étude préalable résulte des contacts suivants :
Le personnel du cabinet est constitué de plusieurs architectes, dessinateurs et du personnel administratifs, pour lesquels on enregistre un matricule, un nom, un prénom, une fonction, et une date d'embauche.
La cabinet et chargé par le client, appelé maître d'ouvrage, de concevoir le projet architectural. les maître d'ouvrage peuvent être des particuliers, des institutions publiques et privées, des promoteurs, entre autre. Pour le uns, comme pour les autres, on affecte une référence; et on enregistre le nom ou l'intitulé, l'adresse et le numéro de téléphone.
Un maître d'ouvrage, et enregistré lors de son première contact avec le cabinet, et il garde la référence, qui lui est affectée au début pour tous le projets qu'il a passé au cabinet.
Un projet est caractérisé par un numéro de référence, une date de dépôt, une date de remise prévisionnelle, un type (maison, immeuble, ...), une adresse, une superficie totale et bâtie, le type des travaux envisagés (construction ou aménagement), et une rémunération (prix du projet).
Un seul architecte est chargé du projet, mais plusieurs dessinateurs peuvent intervenir dans la réalisation du projet. le personnel administratif du cabinet intervient dan le projet au niveau de la constitution du dossier auprès des autorités sous les directives de l'architecte considéré comme chef du projet.
A la remise du projet, la date de fin effective de sa réalisation est enregistrée.

Travail à faire :
1- Donner un modèle conceptuel de données.
2- Déduire le modèle logique de données.

Télécharger L'Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise :
en format .pdf sur le lien suivant :

EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


Lire la suite
Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse