C1-ALGO-09 : L’horloge de la gare de St-Gallen#
Objectifs#
Mobiliser les concepts de représentation numérique de l’information
Mobiliser la notation binaire
Appliquer un organigramme
Introduction#
L’horologe de la gare de St-Gall a été mise en service en 2018.
De prime abord, il est très difficile de comprendre que c’est une horloge
Exercice 1#
Quelle heure est-il ?
Exercice 2#
Dessinez le motif qui apparaîtra à :
10h45 et 12 secondes
minuit
16h15 et 1 seconde
Exercice 3#
Montrez que le nombre maximum de symboles allumés est de 14
Combien de fois cela arrive-t-il dans une journée ?
Exercice 4#
Dessinez l’algorigramme qui prend en entrée l’heure écrite sous forme “standard” (ex: 13h45 et 12 secondes) et qui renvoie la valeur écrite sur l’horloge de la gare de St-Gall
(Pour aller beaucoup plus loin)#
Une fois l’algorigramme dessiné, on peut le coder en Python. Voici le code pour la conversion des heures en binaire (cela fonctionne aussi pour les minutes et les secondes mais p = 5
)
h = int(input("heure : "))
p = 4
while p >= 0 :
if h - 2**p >= 0:
print("Lumière",p,"ON")
h = h - 2**p
else:
print("Lumière",p,"OFF")
p = p - 1
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
Cell In[1], line 1
----> 1 h = int(input("heure : "))
2 p = 4
3 while p >= 0 :
File ~/.local/pipx/venvs/jupyter-book/lib/python3.11/site-packages/ipykernel/kernelbase.py:1274, in Kernel.raw_input(self, prompt)
1272 if not self._allow_stdin:
1273 msg = "raw_input was called, but this frontend does not support input requests."
-> 1274 raise StdinNotImplementedError(msg)
1275 return self._input_request(
1276 str(prompt),
1277 self._parent_ident["shell"],
1278 self.get_parent("shell"),
1279 password=False,
1280 )
StdinNotImplementedError: raw_input was called, but this frontend does not support input requests.
Il est finalement possible d’utiliser la tortue pour dessiner les différents éléments et obtenir quelque chose qui simule complètement l’horloge de la gare de St-Gall (mais il faudra attendre la fin de la deuxième année pour acquérir toutes les compétences en programmation pour le faire)