I. 166. Créer à l’aide d’un tableur un
diagramme de relief aléatoire mais d’apparence réaliste, semblable à celui de
l’illustration ci-dessous. Le dessin du relief doit être créé par un diagramme
à partir des données d’altitudes comprises entre 0 et 10 d’une zone de 40×40
d’une feuille de calcul. Dans la feuille de calcul contenant les données,
placer un bouton de commande au-dessous des données. Suite à un clic sur ce
bouton, le tableur doit recréer les données et dessiner un nouveau relief.
L’image du relief doit apparaître sur un diagramme placé en-dessous des données
et du bouton.
Envoyer le classeur (i166.xls, i166.ods,
...) ainsi qu’une documentation brève (i166.txt,
i166.pdf, ...) qui contient le
nom du tableur utilisé, sa version et la description brève de la solution.

(10 points)
I. 167. La Pupuce Fofolle est capable
d’exécuter l’attraction suivante: elle sautille de 0 à 7 sur les chiffres
indiquant les centimètres entiers d’une règle, selon l’algorithme suivant: elle
saute par seconde sur le chiffre qui est le reste de la division par 8 de la
somme de sa position actuelle et précédente.
La pupuce est tellement petite qu’on ne la voit
pas mais on sait qu’en ce moment aussi elle est en train de sautiller sur la
règle. On aimerait la remettre dans sa boîte c’est pourquoi on essaye de
l’attraper à chaque seconde à une de ses positions possibles.
Donner une suite de chiffres la plus courte
possible d’une longueur maximum de 30, selon laquelle en essayant par seconde
les positions correspondantes aux chiffres, à la fin on peut attraper la puce
avec certitude. Le nombre de points obtenu dépendra aussi de la longueur de la
suite de chiffres. Pour effectuer le contrôle de la suite de chiffres, un
tableau Excel peut être téléchargé à partir du site www.komal.fr.
Le problème peut être résolu par les outils de
votre choix: écriture de programme, tableau, ...
Envoyer la suite de chiffres, si possible dans le
tableau téléchargé (puce) ,
compressé, et les étapes de la solution en quelques phrases (i167.txt, i167.pdf,
...).
(10 points)
I. 168. Dans une salle rectangulaire,
trois bornes ,,sans fil'' (WiFi) ont été installées. Les ordinateurs des
collaborateurs travaillant dans cette salle devraient être reliés en réseau à
l’aide de ces bornes. On peut supposer que l’intensité du signal d’un émetteur
diminue proportionnellement au carré de la distance par rapport à cet émetteur
et que les ordinateurs se connectent automatiquement à l’émetteur dont ils
reçoivent le plus fort signal. Pour simplifier le problème, on suppose que la
salle peut être couverte par des carrés de côté 1 mètre. Chaque émetteur et
chaque ordinateur se trouve à l’intérieur d’un de ces carrés. Entre deux
carrés, on mesure la distance en comptant le nombre minimum de carré qu’on doit
toucher en passant de l’un à l’autre. La distance d’un carré par rapport à
lui-même est ainsi 1. L’intensité de signal ainsi calculée sera arrondi à un
entier près.
Par exemple, dans une salle de 4x3 m2,
dans le cas où un émetteur d’intensité de signal 90 est placé dans le carré (1 ;1),
un émetteur d’intensité de signal 70 est placé dans le carré (4 ;3), un
émetteur d’intensité de signal 60 est placé dans le carré (1 ;3), on obtient le tableau de ,,couverture''
suivant:

Ce qui signifie que l’intensité de signal dans le
carré (4;3) est 90, puisque la distance est égale ici à 1 unité. Dans les
carrés voisins (comme leur distance est égale à 2 unités) l’intensité de
signal est de
, arrondi à 23.
Ecrire un programme qui crée le tableau ci-dessus
pour des salles de dimensions quelconques mais au maximum de 25×25. Le
programme doit demander à l’utilisateur la saisie des dimensions de la salle
puis les coordonnées et les intensités de signal des trois émetteurs. Le
programme doit ensuite afficher sur la sortie standard le tableau ci-dessus
avec les nombres sur trois positions et arrondis à l’unité.
Envoyer le code source du programme (i168.pas, i168.cpp,
...), ainsi que sa documentation brève (i168.txt,
i168.pdf, ...) qui contient
aussi le nom et la version du compilateur utilisé (par exemple Free Pascal 2.0,
Borland C++ 3.1, ...).
(10 points)