Page 41 - IT2
P. 41
La liste des cours disponibles est décrite dans un catalogue accessible sur Internet. Les inscriptions
se font généralement en début d'année. Un cours est caractérisé par un enseignant responsable,
un numéro d'identification unique, un titre, un nombre de crédits , un niveau de difficulté, un
contenu (transparents, vidéo, diapositives...) disponible sur le serveur, une liste d'exercices, un
indice qui reflète l'importance du domaine traité par le cours, un prix à payer lors de l'inscription
(déduit de l'indice et du nombre de crédits affectés au cours), une liste d'étudiants inscrits, et un
examen qui se passe via internet. Un exercice est associé à un cours. Il est caractérisé par un
niveau de difficulté, une liste d'exercices pré requis et une solution.
Un étudiant s'inscrit à des cours en temps différé, dans un site quelconque. Pour chaque cours
auquel il est inscrit, il peut envoyer des questions par email à l'enseignant responsable de ce cours
qui doit répondre dans les 3 jours. Il peut aussi faire des remarques sur ce cours. Concernant les
examens, un étudiant suivant un cours doit s'inscrire à son examen à une date qu'il choisit dans la
liste des dates possibles. Dès lors qu'il s'est inscrit, le fait de ne pas passer l'examen équivaut à
une note égale à zéro au cours. Un examen d'un cours se déroule en temps limité via Internet, en
présence distante du responsable du cours qui peut répondre à des questions de compréhension du
sujet.
a. Réaliser un diagramme de classe (4 pts)
b. Déduire un modèle conceptuel de données (3 Pts)
c. Déduire un modèle logique de données (2 Pts)
II – LOGIQUE ET PROGRAMMATION : (11 PTS)
1. On veut pouvoir compter le nombre de doublets (le nombre de paires de lettres doubles)
dans une phrase en français. Par exemple, la phrase suivante contient 5 doublets : (2 Pts)
oolithe est un mot bizarre, assez connu des assidus géologues.
Ecrire un algorithme qui saisit une phrase terminée par un point, et qui compte le
nombre de doublets.
Vérifiez que votre algorithme donne le résultat attendu pour tous les cas particuliers.
Pensez au cas de la phrase « vide », de la phrase à un seul caractère, de la phrase avec
un doublet en début, en fin ou au milieu.
2. Une salle d’attente est représentée par un tableau d’entiers, Salle, contenant les numéros
des clients présents (par exemple leurs numéros de sécurité sociale) de taille maximum
CAPACITE. La variable nbClients donne le nombre de clients présents dans la salle d’attente.
Nous souhaitons développer un programme structuré en C ou C++ permettant de réaliser les
fonctionnalités suivantes : (3 Pts)
Une fonction sallePleine qui retourne VRAI si la salle est pleine, et FAUX sinon.
Une fonction ajouterClient qui ajoute un client dans la salle d’attente s’il reste de la
place. Ce nouveau client occupera alors le premier élément libre du tableau Salle. Un
paramètre devra indiquer si l’ajout a été possible.
Une fonction fairePasserClient qui permet de faire passer en consultation le client le
plus anciennement arrivé dans la salle d’attente (si la salle n’est pas vide), c’est à dire
celui qui occupe la première case du tableau Salle. Pour cela, on retire de Salle[1] le
numéro du client qui part en consultation, et on décale d’un cran vers la gauche les
numéros des clients restants dans le tableau (s’il y en a). Cette procédure devra
2/3
www.itlearning-settat.com
Email: admission@itlearning-settat.com
Tél.:0661077812

