• Aucun résultat trouvé

Programmation Efficace – Licence 3 Informatique TP : Un probl`eme d’impression

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation Efficace – Licence 3 Informatique TP : Un probl`eme d’impression"

Copied!
2
0
0

Texte intégral

(1)

Programmation Efficace – Licence 3 Informatique TP : Un probl` eme d’impression

M. Schlechtberg, imprimeur de son ´etat, a acquis une imprimante `a pesanteur (ce terme sera expliqu´e plus tard dans l’´enonc´e) d’occasion programmable qui lui permet d’imprimer plusieurs affiches color´ees en mˆeme temps. Cette imprimante est programmable dans le sens o`u on lui fournit une liste ordonn´ee d’affiches `a imprimer, et elle interpr`ete cette liste pour d´ecider de l’ordre r´eel d’impression. Elle poss`ede N (2≤N ≤32) cartouches d’encre, chacune de couleur diff´erente (les couleurs sont num´erot´ees de 0 `a N−1) et peut imprimer simultan´ement plusieurs affiches, `a condition que deux quelconques de ces affiches n’utilisent pas une couleur commune.

L’impression d’une affiche (ou simultan´ement de plusieurs affiches comme expliqu´e ci-dessous) se fait en une unit´e de temps, et comme M. Schlechtberg vient d’acqu´erir cette nouvelle impri- mante, il pr´ef`ere qu’un de ses ouvriers soit en permanence `a cˆot´e de la machine pour v´erifier que tout se passe bien. Pour des raisons syndicales, il ne peut donc faire fonctionner l’imprimante plus de T unit´es de temps dans la journ´ee.

Votre travail est le suivant : chaque jour vers 15h30, M. Schlechtberg vous fournit la liste des commandes du lendemain et vous devez lui fournir le programme destin´e `a son imprimante pour 18h30 au plus tard.

La liste des commandes est fournie sous la forme d’un fichier texte ascii au format suivant :

— sur la premi`ere ligne, s´epar´es par des espaces : le nombre N de cartouches d’encre de l’imprimante, le nombre C de commandes pass´ees pour ce jour-l`a, le temps T d’impression disponible ;

— sur chacune des C lignes suivantes, s´epar´es par des espaces : le nombre K de couleurs `a utiliser pour l’affiche, suivi de la liste des K couleurs utilis´ees.

Exemple de liste de commandes :

6 5 3 6cartouches d’encre, 5commandes pass´ees,3unit´es de temps 4 0 1 3 5 la commande0utilise4couleurs :0,1,3et5

3 0 2 3 la commande1utilise3couleurs :0,2et3 3 1 2 4 la commande2utilise3couleurs :1,2et4 1 4 la commande3utilise1couleur :4

2 1 5 la commande4utilise2couleurs :1et5

Le programme que vous devez fournir prend la forme suivante :

— sur la premi`ere ligne : un entier donnant le nombre A d’affiches `a imprimer ;

— sur chacune des A lignes suivantes, le num´ero de la commande.

Il n’est pas imp´eratif que toutes les commandes soient imprim´ees, mais il est obligatoire que le temps d’impression ne d´epasse pas T car on ne peut pas arrˆeter l’imprimante pendant l’ex´ecution d’un programme. La premi`ere impression se fait au temps 0.

Un exemple de programme fourni `a l’imprimante pour la liste pr´ec´edente de commandes est donn´e en figure 1(a).

Un tel programme est interpr´et´e par l’imprimante comme une partie de Tetris : les pi`eces ob´e¨ıssent `a la pesanteur et les affiches sont imprim´ees en fonction du sch´ema obtenu, comme repr´esent´e en figure 1.

Il s’agit bien entendu d’imprimer le plus d’affiches possibles dans le temps imparti. Malheu- reusement, le vendeur a pr´evenu M. Schlechtberg qu’en raison de son ˆage, l’imprimante a un l´eger

1

(2)

5 5affiches `a imprimer 1

4 0 3 2

(a) programme fourni `a l’impri- mante (colonne de gauche)

0 1 2 3 4 5

1 1 1

4 4

0 0 0 0

3

2 2 2

(b) traduction `a la Tetris

0 1 2 3 4 5

1 4 1 1 4

0 0 0 0

3

2 2 2

(c) ordonnancement apr`es application de la pe- santeur : les affiches1,3et4sont imprim´ees au temps0, l’affiche0au temps1et l’affiche2au temps2

Figure1 – Interpr´etation d’un programme par l’imprimante : toutes les couleurs d’une affiche sont imprim´ees en mˆeme temps.

d´efaut : on ne peut utiliser simultan´ement toutes les couleurs, sans quoi les tuyaux surchauffent et les couleurs bavent sur les affiches.

Chaque affiche imprim´ee rapporte `a M. Schlechtberg 5 euros, tandis que chaque feuille gˆach´ee parce que l’encre a bav´e lui coˆute 2 euros. Le score des programmes que vous fournirez est calcul´e suivant cette r`egle. Toutefois si le temps d’impression d´epasse T, le score est de 0. Le score obtenu pour le programme de la figure 1 est donc de 2×5−3×2 = 4 euros.

2

Références

Documents relatifs

Le processus p`ere et le processus fils doivent chacun ´ecrire dans un meme fichier cinq message successifs de la forme:1. ”message numero xxx du processus p`ere de

[r]

Les deux premi` eres parties sont ind´ ependantes.

La diff´ erence entre les 2 probl` emes vient de la condition aux limites de vitesse nulle sur les parois pour l’´ ecoulement d’un fluide visqueux, qui n’existe pas pour le courant

Dans une biblioth` eque de 6 ´ etag` eres pouvant contenir 40 livres chacune, Iliona souhaite ranger ses 261 livres. Combien de livres ne pourra-t-elle pas ranger dans la

Dans une biblioth`eque de 6 ´etag`eres pouvant contenir 40 livres chacune, Iliona souhaite ranger ses 261 livres. Combien de livres ne pourra-t-elle pas ranger dans

Dans ce dernier cas, donner un contre-exemple et modifier l’´ enonc´ e pour qu’il devienne vrai.. La d´ eriv´ ee d’une fonction f qui est C 1 par morceau sur [a, b],

Une m´ ethode classique pour obtenir des r´ esultats sur une int´ egrale d´ ependant d’un param` etre est de sortir, par tous les moyens possibles, le param` etre de