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)
Input In [1], in <cell line: 1>()
----> 1 h    = int(input("heure    : "))
      2 p = 4
      3 while p >= 0 :

File ~/.local/lib/python3.9/site-packages/ipykernel/kernelbase.py:1174, in Kernel.raw_input(self, prompt)
   1167 """Forward raw_input to frontends
   1168 
   1169 Raises
   1170 ------
   1171 StdinNotImplementedError if active frontend doesn't support stdin.
   1172 """
   1173 if not self._allow_stdin:
-> 1174     raise StdinNotImplementedError(
   1175         "raw_input was called, but this frontend does not support input requests."
   1176     )
   1177 return self._input_request(
   1178     str(prompt),
   1179     self._parent_ident["shell"],
   1180     self.get_parent("shell"),
   1181     password=False,
   1182 )

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