Please enable JavaScript to access this page. Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6) - Techniques de Développement Informatique

Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6)


Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 4 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 = (Un  + (n+1))  /  Un-1
    Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.
Exercice 2 : (6 points)
    Soit T un tableau d’entiers. Ecrivez un sous-programme qui permet de créer un deuxième tableau S ou chaque case S[i] est la somme des éléments de T [0] à T[i]. Créer un programme de test.
Exemple :
Examen Passage Pratique Session 2013 Variante 4
Examen Passage Pratique Session 2013 Variante 4

Exercice 3 : (8 points)
a. Ecrire la fonction   int  EstFacteurGauche(chat * f, char *s) qui vérifie si le mot f est un facteur gauche de s.
    Par exemple « poly » est un facteur gauche de « polycopie ». Tester cette fonction dans un programme. (4points)
b. Ecrire la fonction   int EstFacteur(char *f, char *s)  qui vérifier si le mot f est un facteur de s.
    Par exemple « poly », « cop », « polycop » sont des facteurs de « polycopie ». Tester cette fonction dans un programme. (4points)

Partie 2 : Programmation Orientée Objet : (30 pts)

L’objet de cette application est la gestion informatisée d’une agence de location de voiture.
L’agence possède un parc de voiture, chaque voiture est caractérisée par un numéro de châssis, matricule, la marque, le carburant utilisé, nombre de chevaux, et la puissance fiscale.
1. Créer la classe voiture. Prévoir un constructeur sans paramètre et un constructeur qui reçoit tous les paramètres. Créer les méthodes d’accès (les get et les set) pour l’ensemble des propriétés. (2pts)
2. Le carburant ne peut prendre pour valeur que « essence » ou « diesel». Créer une exception ExpIllegalleCarburant qui sera déclenchée si on veut affecter à la propriété carburant une valeur autre que « essence » ou « diesel». (1,5pts)
3. Le numéro de matricule est composé de six chiffres au maximum suivies d’ espace, suivi d’une lettre majuscule suivi d’espace suivi de deux chiffres au maximum (exp 333333 A 11,  666 B 2). Créer une expression régulière qui permet de vérifier si le matricule d’une voiture respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleMatricule (que vous devez créer) doit être déclenchée. (2pts)
4. Prévoir une méthode toString() pour afficher l’ensemble des propriétés d’une voiture. (0,5pt)
        Un client est identifié par son téléphone, adresse et adresse mail. Dans le cas d’un client particulier on ajoute CIN, nom et prénom. Pour le cas d’une entreprise on ajoute le numéro de registre de commerce.
5. Créer une classe abstraite client. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes ClientParticulier et ClientEntreprise par héritage de la classe client. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ AdresseMail vérifier le modèle d’une adresse mail  (exemple : aaaaaaa@bbbbb.ccc ). (1pt)
        Une location est effectuée par un client (particulier ou entreprise) elle concerne une voiture. Chaque location est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), le client ayant effectué la location, la voiture concernée, date début et  date fin de la location, le montant journalier de la location ainsi qu’un champ retour de type booléen qui prend true lorsque le client retourne la voiture auprès de l’agence de location, par défaut ce champ est initialisé a false.
8. Créer la classe location. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString() (2pts)
9. Créer une exception qui sera déclenchée si la durée de la location ne dépasse pas une journée. (1,5pts)
10. Créer une méthode qui permet de calculer le montant d’une location. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque la voiture est retournée par le client. (1pt)
        Pour gérer les locations on propose de créer  la classe EnsembleLocation qui contient une liste des locations L.
12. Créer la classe EnsembleLocation. (1pt)
13. Prévoir une méthode pour ajouter une location a la liste L, vérifié que la voiture est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’ afficher, pour un client donné, les locations qu’il a effectuées, le montant de chaque location ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les clients n’ayant pas encore retourné les voitures loues malgré que la date fin de location est expire. (3pts)
16. Créer le main de test prévoir une liste de 5 voitures, une liste de 3 clients, effectuer un ensemble de location. Vérifier le cas de la question 15. (3pts)

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes. (3pts)
2. Créer une feuille qui permet d’ajouter une voiture a la liste des voitures. (3pts)
3. Créer une feuille qui permet d’ajouter un client a la liste des clients. (3pts)
4. Créer une feuille qui permet d’effectuer une location. L’utilisateur effectuera les tâches suivantes : (8pts)
    a. Sélectionner le client dans une liste déroulante.
    b. Choisir date début de location et date fin de location.
    c. Le programme va remplir une liste des voitures disponibles pour la période choisie.
    d. Une fois la voiture est sélectionnée un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider la location.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur des voitures en respectant le modèle suivant (8pts)
Examen de Passage Pratique Session 2013 Variante 4 - TDI
Examen de Passage Pratique Session 2013 Variante 4 - TDI

    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de carburant doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifie la valeur d’un critère.


Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 5 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 =  3*Un  -  2*Un-1
Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.
Exercice 2 : (8 points)
    Ecrire une fonction qui reçoit un tableau d’ entiers strictement positifs de taille n et vérifie que chaque élément sauf le premier est la somme d’un certain nombre d’éléments consécutifs de t qui le précèdent immédiatement.
Exemple :
Pour le tableau suivant :

Examen  Passage Pratique 2013 Variante 5 - Tech Dev Info


La fonction retourne 1 car.
3=3 ;   6 = 3 + 3 ;  9 = 6 + 3 ;  15 = 9 + 6 ; 36 = 15 + 9 + 6 + 3 + 3 ; 51 = 36 + 15 ; 51 = 51
Pour le tableau suivant :

Examen  Passage Pratique 2013 Variante 5 - TDI


La fonction retourne 0. La condition n’est pas vérifier pour 28.
28 ≠ 15 ;  28 ≠ 15 + 9 ;  28 ≠ (15 + 9 + 6 = 30)    >  28 on peut arrêter la vérification.
Exercice 3 : (6 points)
    Le javanais était une « langue » parlée, par certains jeunes qui voulaient utiliser un langage secret entre eux. Pour parler javanais on rajoute   « av » après une consonne lorsque elle est suivie d’une voyelle.
Exemple :
Le mot bonjour  devient  bavonjavour.
    Ecrire la fonction   void Javanais(char *m)   qui permet de traduire le mot m en javanais. Tester la fonction.

Partie 2 : Programmation Orientée Objet : (30pts)

L’objet de cette application est la gestion informatisée d’une bibliothèque universitaire qui emprunte des documents à des étudiants. Les Documents sont soit des livres, ou des Revues spécialisés (Médecine, Mathématiques, Informatiques, ….).
Chaque document est identifié par un numéro d’exemplaire et une date d’achat. En plus pour les livres on mémorise le numéro d’ISBN le nom de l’auteur, la maison d’édition, et le nombre de pages. Pour le cas d’une revue on mémorise le nom de la revue la spécialité et le numéro d’édition.
1. Créer la classe Abstraite « Document ». Prévoir un constructeur sans paramètres, un constructeur avec tous les paramètres, les méthodes d’ accès (les get et set ) ainsi que la méthode toString()  (2pts)
2. Créer les deux classes Livre et Revue par héritage de la classe document. Ajouter toString() a ces deux classes. (1,5pt)
3. Créer une nouvelle exception ExpIllegalleSpecialite qui sera déclenchée si on veut affecter à la propriété spécialité une valeur autre que Médecine, Mathématique ou  Informatique. (1pts)
4. L’ISBN est un numéro à 10 chiffres ou 13 chiffres. Créer une expression régulière qui permet de vérifier si L’ISBN d’un livre respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleISBN (que vous devez créer) doit être déclenchée. (2pts)
        Un emprunteur est identifié par son CIN, téléphone, adresse, adresse mail. Dans le cas d’un étudiant on ajoute le niveau d’étude et spécialité étudier. Pour le cas d’un professeur on ajoute la spécialité enseignée.
5. Créer une classe abstraite emprunteur. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes Etudiant et Professeur par héritage de la classe emprunteur. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ CIN commence par une ou deux lettres majuscules suivie de six chiffres au maximum. (1pt)
        Un Emprunt est effectuée par un emprunteur (étudiant  ou professeur) il concerne un Document. Chaque emprunt est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), l’emprunteur, le document concerne, date début, date fin, un montant symbolique de 2Dh par jour pour le cas d’un étudiant et de 5Dh par jour pour le cas d’un professeur et un champ retour de type booléen qui prend true lorsque l’emprunteur retourne le document, par défaut ce champ est initialiser a false.
8. Créer la classe Emprunt. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString(). (2 pts)
9. Créer une exception qui sera déclenchée si la durée de l’emprunt dépasse cinq jours pour le cas d’un livre. (1pts)
10. Créer une méthode qui permet de calculer le montant d’un emprunt. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque le document est retourné par l’ emprunteur. (1pt)
        Pour gérer les emprunts on propose de créer  la classe EnsembleEmprunt qui contient une liste des emprunts L.
12. Créer la classe EnsembleEmprunt. (1pt)
13. Prévoir une méthode pour ajouter un emprunt a la liste L, vérifié que le document est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’afficher, pour un emprunteur donné, les emprunts qu’il a effectués le montant de chaque emprunt ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les emprunteurs n’ayant pas encore retourné les documents empruntés malgré que la date fin d’ emprunt est expire. (3pts)
16. Créer un main de test prévoir une liste de 8 documents, une liste de 3 emprunteurs, effectuer un ensemble d’emprunt. Vérifier le cas de la question 15. (3pts).

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes (3pts)
2. Créer une feuille qui permet d’ajouter un document a la liste des documents. (3pts)
3. Créer une feuille qui permet d’ajouter un emprunteur a la liste des emprunteurs. (3pts)
4. Créer une feuille qui permet d’effectuer un emprunt. L’utilisateur doit effectuer les tâches suivantes : (8pts)
    a. Sélectionner l’emprunteur dans une liste déroulante.
    b. Choisir date début et date fin de l’emprunt.
    c. Le programme va remplir une liste des documents disponible pour la période choisie.
    d. Une fois le document est sélectionné un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider l’emprunt.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur des documents en respectant le modèle suivant  (8pts)
Pratique 2013 Examen Passage Variante 5 - TDI
Pratique 2013 Examen Passage Variante 5 - TDI

    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de Spécialité doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifier la valeur d’un critère.


Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 6 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 =  Un  + (Un-1)/n
    Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.

Exercice 2 : (6 points)   
    Ecrire une fonction qui remplace dans un tableau  chaque entier par la plus grande valeur qui le précède dans le tableau, si cette valeur existe. Si ce n’ est pas le cas, la nouvelle valeur sera la même que l’ancienne. Par exemple si la fonction reçoit le tableau suivant :
Pratique 2013 Examen Passage Variante 6 - TDI
Pratique 2013 Examen Passage Variante 6 - TDI

Exercice 3 : (8 points)
    Rot13 est une technique de cryptage dont le principe consiste à exercer une rotation de l’alphabet de 13 positions vers l’avant. Cette transformation ne concerne que les majuscules et minuscules non accentuées. Les lettres accentuées, les nombres et tous les autres signes demeurent inchangés.
Par exemple ‘a’ est transformé en ‘n’, ‘g’ en ‘t’,  ‘z’ en ‘m’  etc …
Une transformation similaire s’applique aux majuscules : ‘A’ en ‘N’ etc…
1. Ecrire la fonction    char *  Crypter(char  *s) qui permet de  retourner le résultat de cryptage de la chaine s selon le principe de Rot13. Tester cette fonction.
2. Ecrire la fonction   char *  Decrypter(char  *s) qui permet de décrypter un message s. Tester cette fonction.

Partie 2 : Programmation Orientée Objet : (30pts)

L’objet de cette application est la gestion informatisée d’une entreprise de location de matériels informatiques. La location concerne soit des Ordinateurs ou des imprimantes.
Chaque matériel est identifié par une référence, marque et une date d’achat. En plus pour les Ordinateurs on mémorise type de microprocesseur, capacité de disque dur, et la capacité de la RAM. Pour le cas d’une imprimante on mémorise la vitesse d’impression, technique d’impression utilise (jet d’encre, laser, …)
1. Créer la classe Abstraite « Materiel ». Prévoir un constructeur sans paramètres, un constructeur avec tous les paramètres, les méthodes d’accès (les get et set ) ainsi que la méthode toString(). (2pts)
2. Créer les deux classes Ordinateur et Imprimante par héritage de la classe Materiel . Ajouter toString() a ces deux classes. (1,5pt)
3. Créer une nouvelle exception ExpIllegalleMicroPro qui sera déclenchée si on veut affecter à la propriété microprocesseur une valeur autre que  i3, i5 ou i7. (1pts)
4. La référence d’un matériel contient deux lettres (PC : pour ordinateur et PR pour imprimante) suivi de huit chiffres. Créer une expression régulière qui permet de vérifier si la référence respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleReference (que vous devez créer) doit être déclenchée. (2pts)
        Un organisme  qui loue le matériel informatique est identifié par son téléphone, adresse, adresse mail.
        Dans le cas d’un organisme à but non lucratif comme des écoles ou des associations on ajoute une propriété qui indique l’activité de l’organisme. Pour le cas d’une entreprise on ajoute le numéro de registre de commerce.
5. Créer une classe abstraite Organisme. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes OrganismeNonLucratif et OrganismeEntreprise par héritage de la classe Organisme. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ numero de regitre de commerce commence par une lettre majuscule suivie d’exactement neuf chiffres. (1pt)
        Une location est effectuée par un organisme elle concerne un matériel. Chaque location est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), l’organisme ayant effectué la location, le matériel concerne, date début, date fin, le montant de location par jour, et un champ retour de type booléen qui prend true lorsque l’organisme retourne la matériel, par défaut ce champ est initialiser a false.
8. Créer la classe location. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString(). (2pts)
9. Créer une exception qui sera déclenchée si la durée de la location ne dépasse pas sept jours. (1pts)
10. Créer une méthode qui permet de calculer le montant d’une location. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque le materiel est retournée par l’organisme. (1pt)
        Pour gérer les locations on propose de créer  la classe EnsembleLocation qui contient une liste des locations L.
12. Créer la classe EnsembleLocation. (1pt)
13. Prévoir une méthode pour ajouter une location a la liste L, vérifié que le matériel objet de la location est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’afficher, pour un organisme donné, les locations qu’il a effectuées, le montant de chaque location ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les organismes n’ayant pas encore retourné le matériel loues malgré que la date fin de location est expire. (3pts)
16. Créer un main de test prévoir une liste de 6 ordinateurs, 3 imprimantes une liste de 3 organismes, effectuer un ensemble de location. Vérifier le cas de la question 15. (3pts).

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes.(3pts)
2. Créer une feuille qui permet d’ajouter un matériel à la liste du matériel. (3pts)
3. Créer une feuille qui permet d’ajouter un organisme à la liste des organismes. (3 pts)
4. Créer une feuille qui permet d’effectuer une location. L’utilisateur effectuer les tâches suivantes : (8pts)
    a. Sélectionner l’organisme dans une liste déroulante.
    b. Choisir date début et date fin de la location.
    c. Le programme va remplir une liste du matériel disponible pour la période choisie.
    d. Une fois le matériel est sélectionné un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider la location.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur du matériel en respectant le modèle suivant. (8pts)
Pratique 2013 Examen Passage Variante 5 - TDI
Pratique 2013 Examen Passage Variante 6 - TDI

Categories peut prendre soit ordinateur ou imprimante.
    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de Categories doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifier la valeur d’un critère.
Télécharger Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6) :
en format .pdf sur le lien suivant :

Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6)
Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse