C1-ALGO-09 : L’horloge de la gare de St-Gallen

stgallenbahnhofsuhr

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

Référence

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

horloge-st-gall-algo

(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)

st-gall-tortue