I. 127. Dans une école, une des tâches de la secrétaire est de
préparer les tickets-repas des élèves pour le mois. Chaque mois, elle reçoit un
exemplaire qu’elle photocopie en nombre suffisant puis elle découpe les tickets
ainsi obtenus.
La secrétaire pose dans la photocopieuse les uns à côté des autres
l’exemplaire d’origine et les tickets qui existent déjà pour en copier le plus
possible à la fois. Elle les photocopie un certain nombre de fois puis elle
découpe les tickets à partir des feuilles ainsi obtenues. Elle pose ensuite les
tickets découpés à côtés des autres et répète la procédure. (On considère le
nombre de tickets pouvant être posés dans la photocopieuse illimité.) Chacune
des procédures de la copie et du découpage demandent un certain temps
indépendant du nombre de tickets copiés ou découpés.
Ecrire un programme qui aidera la secrétaire à la préparation du nombre
requis de tickets en un minimum de temps. Le programme doit demander le nombre
de tickets à préparer (l’original y compris), les temps nécessaires pour la
copie et pour le découpage. Il doit calculer à partir de ces données le temps
minimal nécessaire pour préparer les tickets et donner la succession des
étapes. Le programme doit coder les étapes avec des lettres C (copie) et D (découpage) écrites les unes après les autres sans
espacement.
Le nombre de tickets à créer sera 1000 au plus. La secrétaire est très économe,
elle prépare toujours exactement le nombre de tickets demandé et elle n’en
copie jamais plus que nécessaire.
Exemple (les messages écrits par l’ordinateur sont en italique):
Nombre de tickets : 64
Temps de
copie : 1
Temps de
découpage : 8
Temps : 30
Procédure
: CCCCCCCDCCCCCCCD
Envoyer le code source du programme
(i127.pas, i127.cpp, ...).
(10 points)
I. 128. Créer un document
LATeX présentant quelques propriétés importantes des fonctions sinus et
cosinus. Le document doit contenir au moins trois identités ( sans
démonstration ) et les représentations graphiques des deux fonctions. Créer un
tableau contenant trois colonnes, écrire dans la première les angles en degrés
( 0,1,...,90 ), dans la deuxième et la troisième les valeurs correspondantes
des deux fonctions.
En début du texte doit apparaître
l’entête habituelle demandée sur les copies KöMaL (numéro d’exercice, nom,
ville, classe, école, e-mail). Pour la numérotation des tableaux, formules et figure, utiliser les
outils automatiques de LaTeX; dans le texte, créer des renvois vers ces numéros
en utilisant des étiquettes.
Le document doit être converti au
format PDF. Envoyer le code source LaTeX (i128.tex) et le fichier PDF (i128.pdf).
(10 points)
I. 129. Dans une école, on
enregistre les tâches des responsables du système informatique dans une base de
données. Les employés et les élèves signalent les erreurs sur Internet par un
formulaire en ligne. Les erreurs sont enregistrées dans la base de données, les
tâches sont attribuées aux reponsables système par un membre du groupe de
travail informatique. Le signalement d’une erreur comporte un code, la date de
signalement, l’identification de l’outil en panne et une description brève de
l’erreur. C’est après le signalement qu’on décide quel responsable aura pour
tâche la correction de l’erreur. C’est à ce moment-là qu’on détermine aussi la
priorité de la résolution du problème. Au moment du signalement, le statut de
l’erreur est ,,signalé'', après attribution ,,encours'' et après résolution
,,résolu''.
La base de données est composée des
tables suivantes :
|
i129erreur
|
la liste des
erreurs signalées
|
|
i129outil
|
la liste des
outils informatiques utilisés par l’école
|
|
i129resp
|
responsables
système
|
|
Les structures des tables :
i129erreur(
codeerr : entier; code erreur, clé primaire
sigdate : date; la date de signalement de l’erreur (année-mois-jour)
respdate : date; la date d’attribution de l’erreur à un responsable système (année-mois-jour)
coderesp : entier; le code d’identification du responsable système
resdate : date; la date de résolution du problème (année-mois-jour)
etat : énumération de valeurs; valeurs possibles 'signale', 'encours' et 'resolu', l’état de l’erreur
codeoutil : entier; le code de l’outil en erreur
liberr : texte; la description de l’erreur
prior : énumération; les valeurs possibles : 'B','M' és 'H' (basse, moyenne, haute), indique la priorité du problème
)
i129outil(
codeoutil : entier; le code de l’outil, clé primaire
lieu : entier; le numéro de la salle où se trouve l’outil
type : énumération; valeurs possibles : 'pc', 'serveur' et 'imprimante', le type de l’outil
)
i129resp(
coderesp : entier; le code du responsable système, clé primaire
nom : texte; le nom du responsable
tel : texte; le numéro de téléphone du responsable système
)
Donner
une commande SQL pour la résolution de chacune des tâches suivantes. Ecrire des
requêtes SQL (,,SELECT'') pour les 8
premières questions, pour les deux dernières une commande de modification (mise
à jour, ,,UPDATE'') et une commande suppression (,,DELETE'').
· Lister les tâches non résolues de ,,Jean
Petit''.
· Combien y a-t-il de problèmes non résolus
ouverts depuis plus de 30 jours ?
· Dans quelles salles y a-t-il des problèmes à
résoudre ?
· La résolution de quel problème a-t-elle pris
le plus de temps ? (En comptant à partir de son signalement.)
·
Combien y a-t-il de signalement d’erreurs concernant une imprimante ?
·
Lister, par responsable système, le nombre de problèmes non résolus.
·
Lister les noms des responsables système ayant des problèmes non résolus
de haute priorité.
·
Quel est le plus ancien problème non résolu ( selon date signalement ) ?
·
Modifier la priorité des problèmes non résolus en mettant la valeur « haute ».
·
Supprimer de la base de données les problèmes résolus en 2005.
Pour
faciliter votre travail, nous avons créé une base de données exemple sur le
serveur de JML qui est accessible à l’adresse http://www.komal.fr/i129formnn.php
. Cette page vous permet d’exécuter des requêtes SQL, donc de tester les 8
premières questions.
Envoyer
les 10 commandes SQL dans un simple fichier texte (i129.txt).
(10
points)