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

Examens de Passage - 2010 - Pratique - V7 - V8 - V9


Examens de Passage - 2010 - Pratique - Variante 7

PARTIE I :  PROGRAMMATION STRUCTURÉE EN C OU C++

1. Ecrire  un programme qui permet d’insérer une valeur X dans un tableau T, supposé trié, de façon à respecter l’ordre des éléments de T. le tableau T contient N éléments et sera dimensionné à N+1 (pour permettre de ranger X). (1 Pt)
     Si N=10 et T =  17 17 21 23 24 26 27 30 30 38
     Si X =25  on doit obtenir : T =  17 17 21 23 24 25 26 27 30 30 38
2. Écrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine toutes les occurrences de X dans A en tassant les éléments restants (décalage). (1 Pt)
3. Écrire un programme permettant de calculer le Poids Idéal (PI) obtenue par la formule de Lorentz (1 Pt)
     Pour les femmes : PI = t - 100 - [ ( t - 150 ) / 2 ]
     Pour les hommes : PI = t - 100 - [ ( t - 150 ) / 4 ]
     t = taille en centimètre
4. Faire un programme pour le calcul et l’affichage suivant : (2 Pts)



Examens de Passage - 2010 - Pratique - V7 - V8 - V9
Examens de Passage - 2010 - Pratique - V7 - V8 - V9

PARTIE II :  LOGICIELS D’APPLICATION

On veut développer une application qui gère les réparations  des  clients. Pour assurer cette gestion, le  modèle relationnel suivant a été établi :
     CLIENT (NumCli, NomCli, PrenomCli, AdresseCli, VilleCli)
     TECHNICIEN (NumTech, NomTech, AdresseTech, DateEmbaucheTech, VilleTech)
     REPARATION (NumRept, MontantRep, DateRépot, DateReprise, NumCli, NumTech)

1. Créez la base de données sous MS Access  (1 Pt)              
     - Définir la clé primaire pour chaque table
     - Définir les clés étrangères
     - Définir les relations entre les tables
     - Saisir un jeu  d’enregistrements significatif pour chaque table.
2. Créer les requêtes suivantes :  (1 Pt)     
     - Afficher la liste de tous les clients
     - Afficher les clients dont la deuxième lettre du nom est la lettre B
     - Afficher des clients ayant demandé plus que 3 réparations
     - Afficher les   techniciens embauchés entre 2001 et 2009
3. Créer un formulaire pour mettre à jour la table REPARATION (1 Pt)

PARTIE III :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

Un centre de formation professionnelle souhaite mettre en place système de gestion de parrainage des stagiaires.
Soit la class Formateur qui comporte les attributs suivants :
     codeIdentifiant int
     nom   String
     prenom  String
     sexe   char (‘M’,’F’)
     age   int
     spacialité  String

1) Codage de la class Formateur : (1.5 Pts)
     - Ecrire la class Formateur.
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Formateur.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeIdentifiant de la class Formateur ; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Formateur.
     - Ajouter une méthode afficher () qui afficher toutes les informations d’un formateur.
2) Créer une exception nommée erreurAge qui se déclenche lors de la saisie d’un âge négatif d’un formateur.  (0.5 Pt)
Soit la classe Stagiaire qui modélise un stagiaire et qui comporte les attributs suivants :
     codeStagiaire  int
     nom    String
     prenom  String
     niveau   int

3) Codage de la class Stagiaire : (1 Pt)
     - Ecrire la class Stagiaire
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Stagiaire.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeStagiaire de la class Stagiaire ; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Stagiaire.
Soit la classe Parrain qui reprend tous les attributs de la classe Formateur et qui y ajoute une collection d’objets Stagiaire (liste des stagiaires parrainés par le formateur identifiés par leurs codeStatgiaire).
4) Codage de la class Parrain : (1 Pt)
     - Ecrire la classe Parrain.
     - Ajouter une méthode afficher() qui affiche toutes les informations sur un parrain.
5) Ajouter une méthode ajouterStagiaire() qui ajoute un Stagiaire à la collection des stagiaires parrainés par le formateur. (1 Pt)
6) Ajouter une méthode supprimerStagiaire() qui supprime un stagiaire de la collection des stagiaires parrainés par le formateur. (1 Pt)

PARTIE IV :  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 parrainage des stagiaires.
1) Créer un formulaire permettant de mettre à jour les informations relatives à un formateur (1 Pt)
2) Créer un formulaire permettant de mettre à jour les informations relatives à un stagiaire (1 Pt)
3) Créer un formulaire qui permet :
     a. Ajouter un stagiaire à la collection des stagiaires parrainés par un formateur. (0.5 Pt)
     b. Supprimer un stagiaire de la collection des stagiaires parrainés par un formateur. (0.5 Pt)
     c. Afficher la collection des stagiaires parrainés par un formateur donné. (0.5 Pt)
     d. Afficher le nombre de stagiaires parrainés par un formateur donné. (0.5 Pt)
4) Nous souhaitons enregistrer l’ensemble des stagiaires parrainés par un formateur dans un ficher texte. Ecrire le programme permettant de réaliser cette fonctionnalité. (1 Pt)
5) Proposer une animation de démarrage de votre application avec votre nom de famille (0.5 Pt)
6) Protéger l’accès à cette application par : (0.5 Pt)
     Nom d’utilisateur : ADMIN
     Mot de passe : t-d-info

Examens de Passage - 2010 - Pratique - Variante 8

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Écrire un programme permettant de calculer le Poids Idéal (PI) obtenue par la formule de Lorentz (1 Pt)
     Pour les femmes : PI = t - 100 - [ ( t - 150 ) / 2 ]
     Pour les hommes : PI = t - 100 - [ ( t - 150 ) / 4 ]
     t = taille en centimètre
2. Ecrire  un programme qui permet d’insérer une valeur X dans un tableau T, supposé trié, de façon à respecter l’ordre des éléments de T. le tableau T contient N éléments et sera dimensionné à N+1 (pour permettre de ranger X). (1 Pt)
    Si N=10 et T =  17 17 21 23 24 26 27 30 30 38
    Si X =25  on doit obtenir : 17 17 21 23 24 25 26 27 30 30 38
3. Écrire un programme de recherche de la valeur maximale d'une matrice de réels de taille n x m. (1 Pt)
4. Faire un programme pour le calcul et l’affichage suivant : (2 Pts)



Examens de Passage - 2010 - Pratique - V7 - V8 - V9
Examens de Passage - 2010 - Pratique - V7 - V8 - V9

PARTIE II :  LOGICIELS D’APPLICATION

On vous demande de développer une application sous MS Access  pour gérer  les  réservations des clients :
    Client (numCli, nomCli, AdresseCli, VilleCli)
    Chambre (numChambre, prixChambre, typeChambre)
    Réservation (numRes, dateDébut, dateFin, numCli#, NumChambre #)

NB : numCli# et NumChambre # sont deux clés étrangères
1.  Créez la base de données sous MS Access  (1 Pt) 
     - Définir la clé primaire pour chaque table
     - Définir les clés étrangères 
     - Définir les relations entre les tables
     - Saisir un jeu  d’enregistrements significatif pour chaque table.  
2. Créer les requêtes suivantes :   (1 Pt)
     - Afficher la liste des clients de Rabats 
     - Afficher le prix moyen de toutes les chambres
     - Afficher le prix moyen par type Chambre 
     - Afficher les réservations de l’année 2009   
3. Créer un formulaire pour mettre à jour la table Réservation (1 Pt)

PARTIE III :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

La faculté des sciences et techniques de Settat souhaitent mettre en place système de gestion de parrainage des étudiants.
Soit la class Enseignant qui comporte les attributs suivants :
    codeIdentifiant int
    nom   String
    prenom  String
    sexe   char (‘m’,’f’)
    age   int
    affectation  String

1) Codage de la class Enseignant : (1.5 Pts)
     - Ecrire la class Enseignant.
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Enseignant.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeIdentifiant de la class Enseignant ; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Enseignant.
     - Ajouter une méthode afficher () qui afficher toutes les informations d’un Enseignant.
2) Créer une exception nommée erreurAge qui se déclenche lors de la saisie d’un âge négatif d’un Enseignant.  (0.5 Pt)
Soit la classe Etudiantqui modélise un Etudiant et qui comporte les attributs suivants :
    codeÉtudiant  int
    nom    String
    prenom  String
    niveau   int

3) Codage de la class Etudiant: (1 Pt)
     - Ecrire la class Etudiant
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Étudiant.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeEtudiant de la class Etudiant; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Étudiant.
Soit la classe Parrain qui reprend tous les attributs de la classe Enseignant et qui y ajoute une collection d’objets Etudiant(liste des étudiants parrainés par l’Enseignant identifiés par leurs codeEtudiant).
4) Codage de la class Parrain : (1 Pt)
     - Ecrire la classe Parrain.
     - Ajouter une méthode afficher() qui affiche toutes les informations sur un parrain.
5) Ajouter une méthode ajouterÉtudiant() qui ajoute un Etudiant à la collection des étudiants parrainés par un enseignant. (1 Pt)
6) Ajouter une méthode supprimerÉtudiant() qui supprime un Etudiant de la collection des Etudiants parrainés par un enseignant. (1 Pt)

PARTIE IV :  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 parrainage des étudiants.
1) Créer un formulaire permettant de mettre à jour les informations relatives à un Enseignant (1 Pt)
2) Créer un formulaire permettant de mettre à jour les informations relatives à un Etudiant (1 Pt)
3) Créer un formulaire qui permet :
    a. Ajouter un Etudiant à la collection des étudiants parrainés par un enseignant. (0.5 Pt)
    b. Supprimer un Etudiant de la collection des étudiants parrainés par un Enseignant. (0.5 Pt)
    c. Afficher la collection des étudiants parrainés par un Enseignant donné. (0.5 Pt)
    d. Afficher le nombre d’ étudiants parrainés par un Enseignant donné. (0.5 Pt)
4) Nous souhaitons enregistrer l’ensemble des étudiants parrainés par un Enseignant dans un ficher texte. Ecrire le programme permettant de réaliser cette fonctionnalité. (1 Pt)
5) Proposer une animation de démarrage de votre application avec votre nom de famille (0.5 Pt)
6) Protéger l’accès à cette application par : (0.5 Pt)
    Nom d’utilisateur : ADMIN
    Mot de passe : t-d-info

Examens de Passage - 2010 - Pratique - Variante 9

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Écrire un programme de recherche de la valeur maximale d'une matrice de réels de taille n x m. (1 Pt)
2. Faire un programme pour le calcul et l’affichage suivant : (2 Pts)



Examens de Passage - 2010 - Pratique - V7 - V8 - V9
Examens de Passage - 2010 - Pratique - V7 - V8 - V9


3. Un nombre parfait est un entier positif supérieur a 1, égal à la somme de ses diviseurs
    NB : on compte 1 comme diviseur, mais on ne compte pas comme diviseur le nombre lui-même.
    Exemple :
    6 est un nombre parfait puisque : 6 = 3 + 2 + 1.
1. Ecrire une fonction qui prend pour argument un nombre entier n et retourne Vrai si n est parfait ou Faux sinon. (1 Pt)
2. Ecrire un programme permettant de lister les 500 premiers nombres parfaits (1 Pt)

PARTIE II :  LOGICIELS D’APPLICATION

Soit le modèle relationnel suivant :
    MEDECIN (Matricule, nom)
    PATIENT (NumPat, Nom)
    MEDICAMENTS (Code, Libelle, prix)
    CONSULTATION (NumConsult, date, prix, Matricule, N°_SS)
    PRESCRIT (Code, NumPat)

(Pour simplifier l’analyse la base suppose qu’un patient peut voir un médecin une seule fois pour une date donnée.)
1. Créez la base de données sous MS Access  (1 Pt)              
     - Définir la clé primaire pour chaque table
     - Définir les clés étrangères
     - Définir les relations entre les tables
     - Saisir un jeu  d’enregistrements significatif pour chaque table.
2. Créer les requêtes suivantes :  (1 Pt)
     - Afficher la liste des médecins dont la première lettre est saisie au clavier
     - Déterminer le nombre de consultations pour chaque patient
     - Afficher les caractéristiques de toutes les consultations effectuées entre deux dates saisies au clavier (les champs à afficher sont : N°consultation, date, prix, nom du patient et le nom du médecin
     - Afficher le nombre de consultations effectuées par chaque médecin et trier le résultat par ordre décroissant.
3. Créer un formulaire pour mettre à jour la table CONSULTATION (1 Pt)

PARTIE III :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

Une école privée souhaite mettre en place un système de gestion de parrainage des élèves.
Soit la class Professeur qui comporte les attributs suivants :
    codeIdentifiant int
    nom   String
    prenom  String
    sexe   char (‘M’,’F’)
    age   int
    affectation  String

1) Codage de la class Professeur : (1.5 Pts)
     - Ecrire la class Professeur.
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Professeur.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeIdentifiant de la class Professeur ; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Professeur.
     - Ajouter une méthode afficher () qui afficher toutes les informations d’un Professeur.
2) Créer une exception nommée erreurAge qui se déclenche lors de la saisie d’un âge négatif d’un Professeur.  (0.5 Pt)
Soit la classe Elève qui modélise un Elève et qui comporte les attributs suivants :
    codeEleve  int
    nom    String
    prenom  String
    niveau   int

3) Codage de la class Elève: (1 Pt)
     - Ecrire la class Elève
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Elève.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeEleve de la classe Elève; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Elève.
Soit la classe Parrain qui reprend tous les attributs de la classe Professeur et qui y ajoute une collection d’objets Eleve (liste des Elèves parrainés par le Professeur identifiés par leurs codeEleve).
4) Codage de la class Parrain : (1 Pt)
     - Ecrire la classe Parrain.
     - Ajouter une méthode afficher() qui affiche toutes les informations sur un parrain.
5) Ajouter une méthode ajouterEleve() qui ajoute un Elève à la collection des Elèves parrainés par un Professeur. (1 Pt)
6) Ajouter une méthode supprimerEleve() qui supprime un Elève de la collection des Elèves parrainés par un Professeur. (1 Pt)

PARTIE IV :  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 parrainage des Elèves.
1) Créer un formulaire permettant de mettre à jour les informations relatives à un Professeur (1 Pt)
2) Créer un formulaire permettant de mettre à jour les informations relatives à un Elève (1 Pt)
3) Créer un formulaire qui permet :
    a. Ajouter un Elève à la collection des Elèves parrainés par un Professeur. (0.5 Pt)
    b. Supprimer un Elève de la collection des Elèves parrainés par un Professeur. (0.5 Pt)
    c. Afficher la collection des Elèves parrainés par un Professeur donné. (0.5 Pt)
    d. Afficher le nombre d’élèves parrainés par un Professeur donné. (0.5 Pt)
4) Nous souhaitons enregistrer l’ensemble des Elèves parrainés par un Professeur dans un ficher texte. Ecrire le programme permettant de réaliser cette fonctionnalité. (1 Pt)
5) Proposer une animation de démarrage de votre application avec votre nom de famille (0.5 Pt)
6) Protéger l’accès à cette application par : (0.5 Pt)
    Nom d’utilisateur : ADMIN
    Mot de passe : t-d-info

Télécharger Les Examens de Passage - 2010 - Pratique - V7 - V8 - V9 :
en format .pdf sur le lien suivant :

Examens de Passage - 2010 - Pratique - V7 - V8 - V9


Lire la suite

Examens de Passage - Pratique 2010 - Jour 2 - V4 - V5 - V6


Examens de Passage - Pratique 2010 - Jour 2 - Variante n° 4

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Ecrire un programme qui permet de comparer et de calculer la somme de deux nombres. Pour ce faire ce menu doit être affiché. (1 Pt)
Entrez le nombre correspondant à votre choix
     1. Comparer deux entiers
     2. Somme de deux entiers
     3. Quitter
2. On modélise un nombre entier de la base octale par un tableau d’entiers de dimension 10. Chaque élément du tableau contient un chiffre de 0 à 7. Le chiffre du poids faible occupera la case d’indice 9 du tableau. (2 Pts)
     Exemple : 3406
     0        0        0        0        0        0        3        4        0        6
Le nombre est saisi en entrant successivement les chiffres du poids plus faible au poids plus fort, on marque la fin par un chiffre qui n’est pas compris entre 0 et 7.
3. Soit un tableau de 100 valeurs ordonnées de manière croissante. Ecrire un programme permettant  de créer deux nouveaux tableaux ordonnés de manière croissante, contenant l’un les valeurs paires, l’autre les valeurs impaires. (2 Pts)
Exemple :
     Tableau initial
     2        4        10        13        15        21        28        55        44        77
     Tableau des valeurs paires
     2        4        10        28        44
     Tableau des valeurs impaires
     13        15        21        55        77

PARTIE II :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

On désire programmer une application de gestion de petit commerce. Pour cela, on va écrire une classe Produit et une classe Magasin.
Dans notre commerce, chaque produit est caractérisé par son nom, son prix d'achat, son prix de vente, le nombre d'exemplaires en stock, et sa description.
A la création du produit, on fixe son nom, son prix d'achat et son prix de vente, c'est-à-dire que ces données son fournies en argument au constructeur de la classe. Par défaut, la description du produit est « Pas de description », et la quantité de produits en stock est nulle.
La classe Produit dispose d'un certain nombre de méthodes, qui lui permettent d'afficher la description du produit, de l'éditer, d'augmenter ou de diminuer le nombre d'exemplaires en stock, ainsi que d'obtenir les valeurs des différents attributs.
     Ecrivez la classe Produit (1.5 Pts)
Un magasin se caractérise par son solde et par son stock de produits. Le stock de produit est représenté par un tableau ou un vecteur d'objets « Produit ».
Avant de pouvoir acheter ou vendre un produit, il faut l'avoir ajouté dans le stock. Pour cela, la classe Magasin doit disposer d'une méthode AjouterProduit
L'indice de la case du tableau (ou du vecteur) dans laquelle on a stocké le produit devient alors la référence de ce produit. Pour acheter ou vendre ce produit, on utilise alors la référence comme argument des méthodes:
     acheterProduit(int referenceProduit,int nombreExemplaires)
     vendreProduit(int referenceProduit,int nombreExemplaires)
La classe Magasin dispose également des méthodes habituelles d'accès à ses attributs, et d'une méthode Bilan qui permet d'afficher un bilan du magasin.
     Ecrivez la classe Magasin. Testez-la. (1.5 Pts)
- Différents types de produits
Jusque là, les produits disposent d'une description qui est une simple chaine de caractère. Cela Peut être insuffisant dans certains cas.
     Par exemple, on aimerait avoir une classe Livre qui ait le même comportement que la classe Produit, mais qui dispose d'un attribut auteur et d'un attribut éditeur.
De même, un cd se caractérise par son auteur, son interprète, et l'ensemble des titres de ses pistes.
     Ecrivez la classe Livre qui hérite de la classe Produit. Certaines méthodes doivent être surchargées (c'est-à-dire réécrites) (1 Pt)
     Ecrivez la classe Cd qui hérite de la classe Produit. (1 Pt)
Il va maintenant falloir faire les modifications nécessaires dans la classe Magasin, mais elles sont minimes. En effet, Livre étant une sous classe de Produit, les objets de type Livre sont également de type Produit, donc le tableau (ou le vecteur) de produits peut également contenir des livres ou des cds.
C'est à la création des objets que les choses changent. En plus de la méthode ajouterProduit, la classe Magasin doit également contenir une méthode ajouterLivre et une méthode ajouterCd.
     Modifier la classe Magasin pour tenir compte des nouveaux objets. (1.5 Pts)
Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin, d'une méthode d'interaction permettant de proposer à l'utilisateur d'ajouter un livre, un cd ou un produit standard, d'acheter, de vendre, d'obtenir ou d'éditer la description d'un produit déjà existant, d'afficher un bilan général.
     Ecrivez la méthode interaction de la classe Magasin (1.5 Pts)
- Recherche d’un produit
Dans l'exercice précédent, pour acheter, vendre, éditer ou afficher la description d'un produit existant, il fallait le spécifier par sa référence, c'est-à-dire par son indice dans le tableau. Ce n'est pas un moyen très pratique d'aller chercher les produits, surtout si il y en a un très grand nombre.
Nous allons écrire les deux méthodes suivantes :
     La méthode public Produit rechercherProduit(String nom) qui renvoie un objet Produit dont le nom est spécifié en argument.
     la méthode public Produit rechercherProduitParMot(String mot) qui renvoie un objet Produit dont la description contient le mot spécifié en argument.
Pour écrire ces méthodes, nous allons avoir besoin d'un outil capable de comparer deux chaines de caractères, et d'un outil capable de dire si une chaine est incluse dans une autre. C'est la classe String elle-même qui est capable de faire cela. En effet, String est une classe à part entière qui a ses attributs et ses méthodes.
     Ecrivez la méthode rechercherProduit ( 2Pts)

PARTIE III :  PROGRAMMATION EVENEMENTIELLE EN VB.NET, C# OU JAVA

Nous allons maintenant nous intéresser à la création d’interfaces qui vont nous permettre d’interagir et de communiquer avec notre application en mode graphique.
1. Créer une interface permettant la mise à jour d’un produit.
     a. Ajout d’un produit (0.5 Pt)
     b. Suppression d’un produit (0.5 Pt)
     c. Modification d’un produit (0.5 Pt)
     d. Rechercher un produit (0.5 Pt)
     e. Afficher la liste des produits (0.5 Pt)
     f. Afficher le nombre de produits dans le stock (0.5 Pt)
2. Construisez une interface permettant de créer un magasin et de lui affecter un stock de produit. Lors de l’affectation, le système propose à l’utilisateur les différentes possibilités (produit standard, livre, cd) (1 Pt)
3. Créer une interface permettant de rechercher un produit (1 Pt)

Examens de Passage - Pratique 2010 - Jour 2 - Variante n° 5

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Dans un magasin les caissières saisissent pour chaque produit : 
     • Le prix unitaire
     • La quantité achetée
     • La catégorie du produit
Il y a une taxe pour chaque catégorie du produit


Examens de Passage - Pratique 2010 - Jour 2 - V4 - V5 - V6
Examens de Passage - Pratique 2010 - Jour 2 - V4 - V5 - V6


     Ecrire un programme qui permet d’afficher le prix à payer pour un client  (2 Pts)
2. Ecrire un programme qui permet d’afficher tous les nombres abondants inférieurs à 50. Un nombre abondant est un nombre entier naturel n qui est strictement inférieur à la somme de ses diviseurs stricts. (2 Pts)
     Exemple : 
     12 est abondant car 1+2+3+4+6>12
3. Un palindrome est une chaîne de caractères qui se  lit de gauche a droit ou de droit a gauche et donne la même résultat.
     Exemple : « radar »,  « Laval ».
     Ecrire un programme  qui permet de tester si un mot est un palindrome ou non. (1 Pt)

PARTIE II :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

Nous allons développer une application pour gérer les différents types de produits dans un magasin. Pour cela, on va écrire une classe Article et une classe Magasin.
Dans notre commerce, chaque Article est caractérisé par son nom, son prix d'achat, son prix de vente, le nombre d'exemplaires en stock, et sa description.
A la création d’un article, on fixe son nom, son prix d'achat et son prix de vente, c'est-à-dire que ces données son fournies en argument au constructeur de la classe. Par défaut, la description de l’article est « Pas de description », et la quantité de Articles en stock est nulle.
La classe Article dispose d'un certain nombre de méthodes, qui lui permettent d'afficher la description du Article, de l'éditer, d'augmenter ou de diminuer le nombre d'exemplaires en stock, ainsi que d'obtenir les valeurs des différents attributs.
     Ecrivez la classe Article (1.5 Pts)
Un magasin se caractérise par son solde et par son stock de Articles. Le stock de Article est représenté par un tableau ou un vecteur d'objets « Article ».
Avant de pouvoir acheter ou vendre un Article, il faut l'avoir ajouté dans le stock. Pour cela, la classe Magasin doit disposer d'une méthode AjouterArticle
L'indice de la case du tableau (ou du vecteur) dans laquelle on a stocké le Article devient alors la référence de ce Article. Pour acheter ou vendre ce Article, on utilise alors la référence comme argument des méthodes:
     acheterArticle(int referenceArticle,int nombreExemplaires)
     vendreArticle(int referenceArticle,int nombreExemplaires)
La classe Magasin dispose également des méthodes habituelles d'accès à ses attributs, et d'une méthode Bilan qui permet d'afficher un bilan du magasin.
     Ecrivez la classe Magasin. Testez-la. (1.5 Pts)
- Différents types de Articles
Jusque là, les Articles disposent d'une description qui est une simple chaine de caractère. Cela Peut être insuffisant dans certains cas.
     Par exemple, on aimerait avoir une classe Livre qui ait le même comportement que la classe Article, mais qui dispose d'un attribut auteur et d'un attribut éditeur.
De même, un cd se caractérise par son auteur, son interprète, et l'ensemble des titres de ses pistes.
     Ecrivez la classe Livre qui hérite de la classe Article. Certaines méthodes doivent être surchargées (c'est-à-dire réécrites) (1 Pt)
     Ecrivez la classe Cd qui hérite de la classe Article. (1 Pt)
Il va maintenant falloir faire les modifications nécessaires dans la classe Magasin, mais elles sont minimes. En effet, Livre étant une sous classe de Article, les objets de type Livre sont également de type Article, donc le tableau (ou le vecteur) de Articles peut également contenir des livres ou des cds.
C'est à la création des objets que les choses changent. En plus de la méthode ajouterArticle, la classe Magasin doit également contenir une méthode ajouterLivre et une méthode ajouterCd.
     Modifier la classe Magasin pour tenir compte des nouveaux objets. (1.5 Pts)
Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin, d'une méthode d'interaction permettant de proposer à l'utilisateur d'ajouter un livre, un cd ou un Article standard, d'acheter, de vendre, d'obtenir ou d'éditer la description d'un Article déjà existant, d'afficher un bilan général.
     Ecrivez la méthode interaction de la classe Magasin (1.5 Pts)
     Recherche d’un Article
Dans l'exercice précédent, pour acheter, vendre, éditer ou afficher la description d'un Article existant, il fallait le spécifier par sa référence, c'est-à-dire par son indice dans le tableau. Ce n'est pas un moyen très pratique d'aller chercher les Articles, surtout si il y en a un très grand nombre.
Nous allons écrire les deux méthodes suivantes :
     La méthode public Article rechercherArticle(String nom) qui renvoie un objet Article dont le nom est spécifié en argument.
     la méthode public Article rechercherArticleParMot(String mot) qui renvoie un objet Article dont la description contient le mot spécifié en argument.
Pour écrire ces méthodes, nous allons avoir besoin d'un outil capable de comparer deux chaines de caractères, et d'un outil capable de dire si une chaine est incluse dans une autre. C'est la classe String elle-même qui est capable de faire cela. En effet, String est une classe à part entière qui a ses attributs et ses méthodes.
     Ecrivez la méthode rechercherArticle ( 2Pts)

PARTIE III :  PROGRAMMATION EVENEMENTIELLE EN VB.NET, C# OU JAVA

Nous allons maintenant nous intéresser à la création d’interfaces qui vont nous permettre d’interagir et de communiquer avec notre application en mode graphique.
1. Créer une interface permettant la mise à jour d’un Article.
     a. Ajout d’un Article (0.5 Pt)
     b. Suppression d’un Article (0.5 Pt)
     c. Modification d’un Article (0.5 Pt)
     d. Rechercher un Article (0.5 Pt)
     e. Afficher la liste des Articles (0.5 Pt)
     f. Afficher le nombre de produits dans le stock (0.5 Pt)
2. Construisez une interface permettant de créer un magasin et de lui affecter un stock de Article. Lors de l’affectation, le système propose à l’utilisateur les différentes possibilités (Article standard, livre, cd) (1 Pt)
3. Créer une interface permettant de rechercher un Article (1 Pt)

Examens de Passage - Pratique 2010 - Jour 2 - Variante n° 6

PARTIE I :  PROGRAMMATION STRUCTURÉE EN C OU C++

1. Un palindrome est une chaîne de caractères qui se  lit de gauche a droit ou de droit a gauche et donne la même résultat.
     Exemple : « radar »,  « Laval ».
     Ecrire un programme  qui permet de tester si un mot est un palindrome ou non. (1 Pt)
2. Ecrire un programme permettant de modéliser un nombre entier binaire par un tableau d’entiers de dimension 10. Chaque élément du tableau contient un bit 0 ou 1. Le bit du poids faible occupera la case d’indice 9 du tableau.
     Exemple : 10010
     0      0      0      0      0      1      0      0      1      0
Le nombre est saisi en entrant successivement les bits du poids plus faible au poids plus fort, on marque la fin par un chiffre différent de 0 et 1. (2 Pts)
3. Ecrire un programme qui permet d’afficher tous les nombres abondants inférieurs à 50. Un nombre abondant est un nombre entier naturel n qui est strictement inférieur à la somme de ses diviseurs stricts. (2 Pts)
     Exemple : 
     12 est abondant car 1+2+3+4+6>12

PARTIE II :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

Mr. Alami, propriétaire d’un petit commerce souhaite mettre en place un système pour la gestion de son magasin afin de mieux contrôler les entrées/sorties et le stock.
     Pour cela, on va écrire une classe Article et une classe Magasin.
Dans notre commerce, chaque Article est caractérisé par son nom, son prix d'achat, son prix de vente, le nombre d'exemplaires en stock, et sa description.
A la création d’un article, on fixe son nom, son prix d'achat et son prix de vente, c'est-à-dire que ces données son fournies en argument au constructeur de la classe. Par défaut, la description de l’article est « Pas de description », et la quantité de Articles en stock est nulle.
La classe Article dispose d'un certain nombre de méthodes, qui lui permettent d'afficher la description du Article, de l'éditer, d'augmenter ou de diminuer le nombre d'exemplaires en stock, ainsi que d'obtenir les valeurs des différents attributs.
     Ecrivez la classe Article (1.5 Pts)
Un magasin se caractérise par son solde et par son stock de Articles. Le stock de Article est représenté par un tableau ou un vecteur d'objets « Article ».
Avant de pouvoir acheter ou vendre un Article, il faut l'avoir ajouté dans le stock. Pour cela, la classe Magasin doit disposer d'une méthode AjouterArticle
L'indice de la case du tableau (ou du vecteur) dans laquelle on a stocké le Article devient alors la référence de ce Article. Pour acheter ou vendre ce Article, on utilise alors la référence comme argument des méthodes:
     acheterArticle(int referenceArticle,int nombreExemplaires)
     vendreArticle(int referenceArticle,int nombreExemplaires)
La classe Magasin dispose également des méthodes habituelles d'accès à ses attributs, et d'une méthode Bilan qui permet d'afficher un bilan du magasin.
     Ecrivez la classe Magasin. Testez-la. (1.5 Pts)
- Différents types de Articles
Jusque là, les Articles disposent d'une description qui est une simple chaine de caractère. Cela Peut être insuffisant dans certains cas.
Par exemple, on aimerait avoir une classe Livre qui ait le même comportement que la classe Article, mais qui dispose d'un attribut auteur et d'un attribut éditeur.
De même, un cd se caractérise par son auteur, son interprète, et l'ensemble des titres de ses pistes.
     Ecrivez la classe Livre qui hérite de la classe Article. Certaines méthodes doivent être surchargées (c'est-à-dire réécrites) (1 Pt)
     Ecrivez la classe Cd qui hérite de la classe Article. (1 Pt)
Il va maintenant falloir faire les modifications nécessaires dans la classe Magasin, mais elles sont minimes. En effet, Livre étant une sous classe de Article, les objets de type Livre sont également de type Article, donc le tableau (ou le vecteur) de Articles peut également contenir des livres ou des cds.
C'est à la création des objets que les choses changent. En plus de la méthode ajouterArticle, la classe Magasin doit également contenir une méthode ajouterLivre et une méthode ajouterCd.
     Modifier la classe Magasin pour tenir compte des nouveaux objets. (1.5 Pts)
Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin, d'une méthode d'interaction permettant de proposer à l'utilisateur d'ajouter un livre, un cd ou un Article standard, d'acheter, de vendre, d'obtenir ou d'éditer la description d'un Article déjà existant, d'afficher un bilan général.
     Ecrivez la méthode interaction de la classe Magasin (1.5 Pts)
     Recherche d’un Article
Dans l'exercice précédent, pour acheter, vendre, éditer ou afficher la description d'un Article existant, il fallait le spécifier par sa référence, c'est-à-dire par son indice dans le tableau. Ce n'est pas un moyen très pratique d'aller chercher les Articles, surtout si il y en a un très grand nombre.
Nous allons écrire les deux méthodes suivantes :
     La méthode public Article rechercherArticle(String nom) qui renvoie un objet Article dont le nom est spécifié en argument.
     la méthode public Article rechercherArticleParMot(String mot) qui renvoie un objet Article dont la description contient le mot spécifié en argument.
Pour écrire ces méthodes, nous allons avoir besoin d'un outil capable de comparer deux chaines de caractères, et d'un outil capable de dire si une chaine est incluse dans une autre. C'est la classe String elle-même qui est capable de faire cela. En effet, String est une classe à part entière qui a ses attributs et ses méthodes.
     Ecrivez la méthode rechercherArticle ( 2Pts)

PARTIE III :  PROGRAMMATION ÉVÉNEMENTIELLE EN VB.NET, C# OU JAVA

Nous allons maintenant nous intéresser à la création d’interfaces qui vont nous permettre d’interagir et de communiquer avec notre application en mode graphique.
1. Créer une interface permettant la mise à jour d’un Article.
     a. Ajout d’un Article (0.5 Pt)
     b. Suppression d’un Article (0.5 Pt)
     c. Modification d’un Article (0.5 Pt)    
     d. Rechercher un Article (0.5 Pt)
     e. Afficher la liste des Articles (0.5 Pt)
     f. Afficher le nombre de produits dans le stock (0.5 Pt)
2. Construisez une interface permettant de créer un magasin et de lui affecter un stock de Article. Lors de l’affectation, le système propose à l’utilisateur les différentes possibilités (Article standard, livre, cd) (1 Pt)
3. Créer une interface permettant de rechercher un Article (1 Pt)

Télécharger Les Examens de Passage - Pratique 2010 - Jour 2 - V4 - V5 - V6 :
en format .pdf sur le lien suivant :

Examens de Passage - Pratique 2010 - Jour 2 - V4 - V5 - V6


Lire la suite

Examens de Passage - Pratique - TDI - 2010 - Jour 1 - V1 - V2 - V3


Examens de Passage - Pratique - TDI - 2010 - Jour 1 - Variante 1


PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++


1. La  Direction d’un supermarché  a décidé d’accorder des réductions à ses clients selon le montant d’achat      
 La réduction est calculée selon les règles suivantes :
      - 20% pour un montant d’achat de plus de 5000 dhs
      - 15% pour un montant d’achat entre  3000 dhs < MonantAchat ≤5000 dhs  
      - 10% pour un montant d’achat entre  1000 dhs  < MonantAchat ≤3000 dhs
      - Aucune réduction pour un montant d’achat inférieur à 1000 dhs
Ecrire un programme qui permet de calculer et d’afficher la réduction et montant à payer. (1 Pt)     
2. 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)

PARTIE II :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

On souhaite gérer la répartition des modules entre les formateurs d’un institut de formation professionnelle.
Soit la classe module qui modélise un module et qui comportera les attributs suivants :
      reference
      intitule 
      formateur  (matricule du Formateur qui enseigne ce module)
Soit la classe Formateur qui modélise un Formateur 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 Formateur
      a. Ecrire la classe Formateur avec un compteur des objets créés. (1pt)
3- Ajouter la méthode compare qui teste l’égalité de 2 objets Formateur (2 objets Formateur 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 formateur qui n’est pas comprise entre 1 et 20. (1pt)
5- Ajouter une méthode choixEnseignant qui désigne l’enseignant d’un module. (1pt)
6- Ajouter une méthode supprimerFormateur qui annule le choix de l’enseignant d’un module. (1pt)
7- Ajouter une méthode ajouterFormateur qui ajoute un module à la liste des modules pris en charge un formateur. (1pt)
8- Ajouter une méthode  supprimerModule qui supprime un module de la liste des modules d’un formateur. (1pt)
9- Ecrire un programme de test qui crée 4 formateurs et 5 modules : (1pt)
10-  Ecrire un programme permettant d’enregistrer les objets crées dans deux fichiers texte : Formateurs.txt et Modules.txt (1pt)

PARTIE III :  PROGRAMMATION ÉVÉNEMENTIELLE EN VB.NET, C# OU JAVA

Pour plus 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 formateurs.
      a. Ajouter un formateur. (0.5pt)
      b. Supprimer un formateur selon son matricule. (0.5pt)
      c. Modifier les informations d’identité d’un formateur. (0.5pt)
      d. Rechercher un formateur selon son matricule. (0.5pt)
      e. Afficher l’ensemble des formateurs dans une grille (0.5pt)
3- Créer un menu permettant d’accéder à ces différentes fonctionnalités. (0.5pt)

Examens de Passage - Pratique - TDI - 2010 - Jour 1 - 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
      ***
      **
      *

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)

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)

Examens de Passage - Pratique - TDI - 2010 - Jour 1 - Variante 3

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Ecrire un programme permettant de saisir le prix unitaire  et la quantité commandée d’un article. Le programme affichera le prix à payer, le port, et la remise sachant que :
      -Le port est gratuit si le montant hors taxe est supérieur à 1000 dh
      -Le port est 3%  dans le cas contraire
      -la remise est de 5 % si le  montant hors taxe  est compris entre 300 et 1000 et de 10% au      -delà de 1000 (1 pt)
NB : Montant hors Taxe = prix unitaire  x  quantité commandée                  
2. 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).
3. Ecrire un programme qui demande un entier N positif, et deux entiers Bd et Ba (compris entre 2 et 10) et convertit N de la base Bd en base Ba. (2 pts)

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 enseignants dans une Ecole privée.
Soit la classe module qui modélise un module et qui comportera les attributs suivants :
      reference
      intitule 
      enseignant   (matricule de l’enseignant qui enseigne ce module)
Soit la classe Enseignant qui modélise un Enseignant 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 Enseignant
      a. Ecrire la classe Enseignant avec un compteur des objets créés. (1pt)
3- Ajouter la méthode compare qui teste l’égalité de 2 objets Enseignant (2 objets Enseignant 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 enseignant qui n’est pas comprise entre 8 et 11. (1pt)
5- Ajouter une méthode choixEnseignant qui désigne l’enseignant d’un module. (1pt)
6- Ajouter une méthode supprimerEnseignant 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 enseignant. (1pt)
8- Ajouter une méthode  supprimerModule qui supprime un module de la liste des modules d’un enseignant. (1pt)
9- Ecrire un programme de test qui crée 4 enseignants et 5 modules : (1pt)
10-  Ecrire un programme permettant d’enregistrer les objets crées dans deux fichiers texte : Enseignants.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 enseignants.
      a. Ajouter un enseignant. (0.5pt)
      b. Supprimer un enseignant selon son matricule. (0.5pt)
      c. Modifier les informations d’identité d’un enseignant. (0.5pt)
      d. Rechercher un enseignant selon son matricule. (0.5pt)
      e. Afficher l’ensemble des enseignants dans une grille (0.5pt)
3- Créer un menu permettant d’accéder à ces différentes fonctionnalités. (0.5pt)

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

Examens de Passage - Pratique - TDI - 2010 - Jour 1 - V1 - V2 - V3


Lire la suite

Examen de Passage - Théorie 2010 - TDI


Examen de Passage - Théorie 2010 - TDI

I – CONNAISSANCES GÉNÉRALES ET LOGIQUE :

1. Donner une définition aux termes suivants :
        BIOS     (0,25 Pt)
        SDRAM PC133  (0,25 Pt)
        PCI    (0,25 Pt)
        AGP     (0,25 Pt)
2. Votre ordinateur affiche le message suivant : No CPU installed
        - Que signifie le message ?     (0,25 Pt)
        - Comment vous allez remédier à ce problème ? (0,25 Pt)
3. Votre ordinateur affiche le message suivant : System failed memory test
- Que signifie le message et comment vous allez remédier à ce problème ? (0,5 Pt)  
4. Convertir en binaire  le nombre  décimal  37                             (0,25 Pt)
5. Convertir le nombre hexadécimal  B12  en un nombre décimal (0,25 Pt)
6. Effectuer les opérations suivantes :
        a. Multiplication :   (0,25 Pts)
                11111111 * 110001
        b. Division :   (0,25 Pts)
                111101100111  /  111111
7. Soit la fonction F définie par la table de vérité ci-contre :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


        a) Proposer une expression de F à partir de la table de vérité. (1 Pt)
        b) Donner l'expression simplifiée de la fonction F en utilisant la méthode de Karnaugh. (1 Pt)

II – ALGORITHMES ET PROGRAMMATION STRUCTURÉE  EN C OU C++

IMPORTANT : Les programmes doivent être écrits en C ou C++, aucun autre langage de programmation ne sera accepté pour la programmation structurée
1) On souhaite écrire un algorithme qui permet de convertir un nombre entier naturel entré par l’utilisateur en binaire.
        a) Ecrire une fonction  qui retourne le nombre de bits nécessaires pour représenter un entier naturel n en binaire. (1pt)
        b) Ecrire un algorithme qui permet d’afficher la représentation binaire d’un entier naturel n entré par l’utilisateur. (0.5pt)
2) Ecrire un algorithme qui permet de chercher toutes les occurrences d'une valeur donnée dans un tableau de N éléments. (1pt)
Exemple :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


3) On donne en entrée un tableau de N éléments de type entier. Donner le programme qui affiche les éléments du tableau qui possèdent leur carrés (t(i)*t(i)) dans le même tableau. Les éléments sont rangés dans un ordre aléatoire à l’intérieur du tableau. (1pt)
Exemple :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


les éléments dont les carrés sont présents : 1,2,4,5

4) Pour un entier n strictement positif on associe n/2 si n est pair et 3n+1 si n est impair. En réappliquant cette transformation à l'entier obtenu, on définit un algorithme dit de Syracuse. On admettra que pour tout entier strictement positif de départ on finisse toujours par arriver à 1.
On demande d'écrire un programme qui, pour une valeur de départ proposée par l'utilisateur, affiche la liste des entiers obtenus jusqu'à 1, ainsi que le nombre de fois qu'il est nécessaire d'appliquer la transformation pour y arriver. (1.5pts)
Voici un exemple de déroulement de cet algorithme :
Valeur de départ (entier strictement positif) ?  12
        6   3   10   5   16   8   4   2   1
On doit appliquer 9 fois la transformation avant d'arriver à 1
5) Quelle est la valeur de s après exécution des instructions suivantes (0.5 Pt)
int i;
int S = 0;
for (i=1; i < 6; i=i+2)
    S = S + i;

        a. 7
        b. 9
        c. 11
        d. Erreur
6) Écrire un programme qui transfère une matrice M à deux dimensions L et C dans un tableau V à une seule dimension. (1.5pts)

III – PROGRAMMATION ORIENTÉE OBJET EN VB.NET, C # OU JAVA

On veut construire un programme capable d’afficher et de déplacer des figures géométriques colorées dans un repère en deux dimensions.
Un graphique est un ensemble de figures affichables et déplaçables par translation. On veut pouvoir afficher des segments, des triangles, et des rectangles. Ces trois éléments graphiques sont définis à l’aide de points.
Après une première analyse, on décide de modéliser l’application de la manière suivante :
        – une classe Point représentera les coordonnées d’un point qui serviront à créer des figures.
        – une classe Segment sera définie par deux points et une couleur, codée par un entier positif.
        – une classe Triangle sera définie par trois points et une couleur, codée par un entier positif.
        – une classe Rectangle sera définie par quatre points et une couleur, codée par un entier positif.
        – la classe Graphique est la classe principale et permettra d’afficher un ensemble d’objets graphiques.
Comme nous pensons devoir ajouter ultérieurement de nouveaux types de figures géométriques, nous décidons d’utiliser des interfaces pour décrire leurs comportements communs.
1. Après avoir étudié les différences et les points communs entre les quatre premières classes que nous avons distinguées, décrivez la ou les interfaces utiles et précisez les classes qui les implémenteront. (1Pt)
2. Décrire la méthode static de la classe Graphique qui permet d’afficher un tableau de figures géométriques. (0.5 Pt)
3. Ecrire la  classe Point en précisant ses constructeurs qui seront utilisés dans le reste du programme et la méthode toString (0.5 Pt)
4. Donnez le constructeur de la classe Segment, et la méthode qui effectuera une translation.
(Attention : le constructeur doit recopier le point en utilisant le constructeur par copie de la classe Point. En effet, un point est modifiable par translation et peut servir à la création d’autres figures elles mêmes translatables.) (1Pt)
5. Ecrire le code de la classe Triangle. (1Pt)
6. Ecrire le code de la classe Rectangle (1Pt)

IV – ANALYSE DE SI :

Le document ci-dessous représente un bon de commande établit par la société NTIC Company pour la fourniture des articles.
Les adresses de livraison et de facturation présentent respectivement  le lieu de livraison des articles et l’adresse de règlement de la facture


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


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

Télécharger L'Examen de Passage - Théorie 2010 - TDI :
en format .pdf sur le lien suivant :

Examen de Passage - Théorie 2010 - TDI


Lire la suite

Examens de Passage - TSDI - Pratique 2009 - V7 - V8 - V9


Examen de Passage - TSDI - Pratique 2009 Variante 7

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Ecrire un programme qui saisit une chaîne pouvant contenir des espaces et qui affiche chaque mot de la chaîne, le séparateur étant l'espace.
    Exemple, on tape : je pense donc je suis
Le programme affiche :
    mot 1 : je
    mot 2 : pense
    mot 3 : donc
    mot 4 : je
    mot 5 : suis
2. Écrire un programme qui demande à l'utilisateur de taper le prix HT d'un kilo de tomates, le nombre de kilos de tomates achetés, le taux de TVA. Le programme affichera le prix TTC des marchandises.
3. Ecrire une fonction f ayant en paramètres un tableau t1 de taille quelconque et un entier n indiquant la taille du tableau, ainsi qu'un tableau t2 de la même taille que t1. f doit renvoyer par un return un entier nb indiquant le nombre de valeurs comprises entre 0 et 10 dans le tableau t1. f doit mettre dans le tableau t2 les différentes valeurs comprise entre 0 et 10 qu'il a rencontrées dans le tableau t1.
4. Ecrire un programme de recherche de la valeur maximale et minimale d'un tableau [N][M] de réels de taille N x M.
5. On considère une séquence d'entiers s de longueur L représentée dans un tableau T d'entiers défini sur l'intervalle [1…Lmax], 0 < L < Lmax.
On veut écrire un programme qui remplace dans T la suite s par la suite s' de longueur L' (avec L' <= L), déduite de s en supprimant tous les éléments redondants. Un élément de s est redondant s'il est égal à un autre élément de s. Le programme ne doit pas utiliser de tableau intermédiaire pour créer s'. L'ordre des éléments reste celui de la séquence de départ.  Etudier tout d'abord le problème en supposant que T peut ne pas être trié en ordre croissant.
    Exemple : si s = [15, 4, 19, 4, 8, 11, 11, 3, 4, 19] et L = 10 alors s' = [15, 4, 19, 8, 11, 3] et L = 6

PARTIE II :  PROGRAMMATION ORIENTEE OBJET ET EVENEMENTIELLE

Un commerçant désire automatiser la gestion des commandes de ces clients.  Il désire avoir la possibilité de mettre à  jour quotidiennement ces commandes clients.
Pour gérer les commandes, il a besoin des données citées ci-dessous :


Examens de Passage - TSDI - Pratique 2009 - V7 - V8 - V9
Examens de Passage - TSDI - Pratique 2009 - V7 - V8 - V9


Toutes ces informations seront enregistrées en mémoire, à vous de choisir les structures de données qui conviennent à leur stockage.
Travail à faire :
1- Créer la classe Produit avec éventuellement des constructeurs et des accesseurs.
2- Créer la classe Commande avec éventuellement des constructeurs et des accesseurs.
3- Réaliser une interface pour ajouter des produits.
4- Réaliser une interface de mise à jour des commandes :
    a- Ajout en contrôlant la saisie.
    b- Recherche : la recherche se fait en saisissant le N° de la commande dans un InputBox).
    c- La recherche peut se faire aussi en sélectionnant le N° de la commande dans un combo.
    d- Suppression avec confirmation.
5- Réaliser une interface d’enregistrement des détails commande ( la commande est choisie à partire d’un Combo.
6- Ajouter dans la même feuille, un Label pour afficher le montant total de la commande.
7- Ajouter une feuille permettant de lister les commandes entre deux dates, calculer et afficher dans un Label, le montant total des ventes entre les même dates.

Examen de Passage - TSDI - Pratique 2009 Variante 8

PROGRAMMATION STRUCTUREE EN C OU C++.

1. Ecrire un programme qui lit le fichier VotreNom.txt créé dans votre dossier d’examen, et affiche son contenu. Le programme doit vérifier l’existence de ce fichier.
2. Faire un programme permettant d’écrire dans ce fichier, le programme ne doit pas sauvegarder dans le fichiers des donnés null.
3. Ecrire un programme qui demande à l'utilisateur de taper 10 entiers compris entre 0 et 20 qui seront stockés dans un tableau et qui affiche le nombre de fois qu'on a tapé un 0, le nombre de 1, le nombre de 2, ..., le nombre de 20.
4. Considérant un tableau numérique «T» de N éléments, et un deuxième tableau numérique «V» de M  éléments. Concevoir un programme qui permet de poser les éléments des deux tableaux dans un troisième tableau numérique «R» de telle façon à l’avoir trié en ordre croissant.

Examen de Passage - TSDI - Pratique 2009 Variante 9

PROGRAMMATION STRUCTUREE EN C OU C++.

1. Ecrire un programme de faire le tri dans l’ordre croissant et décroissant d’une matrice de taille N x M.
2. Écrire un programme qui demande à l'utilisateur de taper le prix HT d'un kilo de tomates, le nombre de kilos de tomates achetés, le taux de TVA. Le programme affichera le prix TTC des marchandises.
3. Ecrire un programme qui lit le fichier VotreNom.txt créé dans votre dossier d’examen, et affiche son contenu. Le programme doit vérifier l’existence de ce fichier.
4. On considère la suite : u(0)=a (a entier)
    si u(n) pair alors u(n+1)=u(n)/2 sinon u(n+1)=3*u(n)+1
    Pour toutes les valeurs a, il existe un entier N tel que u(N)=1
Ecrire un programme qui demande à l'utilisateur de taper a et qui affiche toutes les valeurs de u(n) de n=1 à n=N.
5. Ecrire un programme qui demande de saisir 10 entiers et qui affiche le nombre d'occurrences de la note la plus haute.


Télécharger Les Examens de Passage - TSDI - Pratique 2009 - V7 - V8 - V9 :
en format .pdf sur le lien suivant :

Examens de Passage - TSDI - Pratique 2009 - V7 - V8 - V9


Lire la suite

Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


Examen Passage - TDI - 2009 - Pratique - Variante 4

PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Faire un programme ayant cet effet : saisir deux vecteurs de dimension N puis tester s'il sont égaux ou non. Deux vecteurs sont égaux s'ils ont pour chaque indice la même valeur. (1 Pt)



Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6
Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


2. Faire un programme permettant de calculer d’afficher la table des produits pour N variant de 1 à 10 : (1 Pt)



Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6
Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


3. Faire un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre N est à entrer au clavier. (1,5 Pts)
4. Faire un programme qui calcule le produit scalaire de deux vecteurs d'entiers U et V (de même dimension). (1,5 Pts)
Exemple:



Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6
Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


5. On dispose de deux tableaux A et B (de dimensions respectives N et M), triés par ordre croissant. Fusionner les éléments de A et B dans un troisième tableau FUS trié par ordre croissant. (1,5 Pts)
6. Faire un programme qui construit le triangle de PASCAL de degré N et le mémorise dans une matrice carrée P de dimension N+1. (1,5 Pts)
Exemple: Triangle de Pascal de degré 6 :



Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6
Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


PARTIE II :  PROGRAMMATION ORIENTEE OBJET ET EVENEMENTIELLE

on souhaite développer une application pour la gestion d’un club sportif.
• Un adhérent peut s’inscrire pour pratiquer diverses disciplines (Natation, Musculation, Arts martiaux).
• Lors de l’inscription, l’adhérent fournit les informations suivantes :
         - Nom
         - Prénom
         - Adresse
         - Date de naissance
         - Code d’identification. (généré automatiquement par l’application)
         - Discipline(s) choisie (s).
• Toutes les disciplines sont définies par un code, un nom et une description.

Travail à faire :
1) Développer une classe Adherent, avec les  constructeurs adéquats, les propriétés, et une méthode d’affichage Affchei_adherent(….) (1 Pt)
2) Développer une classe Disciplines, avec les  constructeurs adéquats, les propriétés, et une méthode d’affichage Affchei_Disciplines(….) (1 Pt)
3) Développer une méthode Saisie_Adherent(….) permettant de saisir au clavier les informations d’un nouveau adhérent (1 Pt)
4) Développer une méthode Choix_Disciplines(….) permettant un à un adhérent donné, de choisir une au plusieurs disciplines. L’adhérent ne peut choisir que une des disciplines citées dans l’énoncé  (1 Pt)
5) Créer un formulaire, permettant de mettre à jour les objets Adhérents créés :
         a. Ajout (Code généré automatiquement avec contrôle de saisie) (1 Pt)
         b. Suppression avec confirmation (1 Pt)
         c. Recherche par nom ou par prénom (1 Pt)
6) Créer un formulaire permettant à un adhérent donné, de choisir une ou plusieurs disciplines. Les disciplines choisies sont affichées automatiquement dans une liste (2 Pts)
7) Sachant que pour chaque discipline pratiquée, l’adhérent doit payer 200 Dhs mensuellement. Faire un programme permettant de lister l’ensemble des adhérents avec les disciplines pratiquées ainsi que les gains mensuels du club (3 Pts)


Examen Passage - TDI - 2009 - Pratique - Variante 5

PROGRAMMATION ORIENTEE OBJET ET EVENEMENTIELLE

on souhaite développer une application pour la gestion des club de soutien proposés  . par une association scolaire.
• Un élève peut s’inscrire pour bénéficier de divers cours de soutien (Math, Français, Arabe).
• Lors de l’inscription, l’élève fournit les informations suivantes :
         - Nom
         - Prénom
         - Adresse
         - Date de naissance
         - Code d’identification. (généré automatiquement par l’application)
         - Matière(s) choisie (s).
• Toutes les matières sont définies par un code, un nom et une description.

Travail à faire :
1) Développer une classe Elève, avec les  constructeurs adéquats, les propriétés, et une méthode d’affichage Affchei_Elève(….) (1 Pt)
2) Développer une classe Matière, avec les  constructeurs adéquats, les propriétés, et une méthode d’affichage Affchei_Matière(….) (1 Pt)
3) Développer une méthode Saisie_Elève(….) permettant de saisir au clavier les informations d’un nouveau adhérent (1 Pt)
4) Développer une méthode Choix_Matière(….) permettant un à un élève donné, de choisir une au plusieurs matière. L’èlève ne peut choisir que une des matières citées dans l’énoncé  (1 Pt)
5) Créer un formulaire, permettant de mettre à jour les objets élèves créés :
         a. Ajout (Code généré automatiquement avec contrôle de saisie) (1 Pt)
         b. Suppression avec confirmation (1 Pt)
         c. Recherche par nom ou par prénom (1 Pt)
6) Créer un formulaire permettant à un élève donné, de choisir une ou plusieurs matières. Les matières choisies sont affichées automatiquement dans une liste (2 Pts)
7) Sachant que pour chaque matière, l’élève doit payer 100 Dhs mensuellement. Faire un programme permettant de lister l’ensemble des élèves avec les matières dont ils sont inscrits, ainsi que les revenus générés mensuellement par l’association (3 Pts)


Examen Passage - TDI - 2009 - Pratique - Variante 6

PROGRAMMATION ORIENTEE OBJET ET EVENEMENTIELLE

1. Créer une classe Ouvrier dont les données membre privées  sont cités ci-après et ajouter un constructeur d'initialisation et un constructeur par défaut  (1Pt)
         CodeOuv : Entier
         Nom :   Chaîne de caractères
         Prénom :  Chaîne de caractères
         GSM :   Chaîne de caractères
2. Créer des accesseurs get et set pour chaque donnée membre (1 Pt)
3. Ajouter  une méthode AfficheOuv() qui permet l’affichage des données relatives à un ouvrier (1 Pt)
4. Dans une classe de teste :
         a. Créer une méthode ranger(…) permettant de ranger une liste des ouvriers dans un tableau (1Pt)
         b. Créer une méthode trier(…) permettant de trier ce tableau par CodeOuv dans l'ordre croissant (2 Pts)
         c. Créer une méthode CopieVersfichier() qui copie la liste des ouvriers dans un fichier (1 pt)
Sachant que chaque ouvrier peut être affecté dans un ou plusieurs projets selon les besoins. Chaque projet est identifié par un code, un titre, une description, le lieu et la durée.
5. Créer un formulaire pour mette à jour les objets ouvriers créés :
         a. Ajout (Code généré automatiquement avec contrôle de saisie) (1 Pt)
         b. Suppression avec confirmation (1 Pt)
         c. Recherche par nom ou par prénom (1 Pt)
6. Créer un formulaire permettant d’affecter un ouvrier dans un ou plusieurs projets. Les projets d’affectation de chaque ouvrier sont affichés automatiquement dans une liste (2 Pts)
7. Chaque ouvrier a un salaire de 2000 Dhs et une prime de 300 dhs par projet. Créer une interface permettant de lister les ouvriers et leurs salaires globaux. (2 Pts)

Télécharger Les Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6 :
en format .pdf sur le lien suivant :

Examens Passage - TDI - 2009 - Pratique - V4 - V5 - V6


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