\begin{exercise}[subtitle={Découverte de la carte Micro:bit}, step={1}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
\begin{enumerate}
\item Observer la carte micro:bit puis identifier les éléments présents en les reportant sur le schéma ci-dessous
\begin{center}
\includegraphics[scale=0.5]{./fig/micro-bit}
\end{center}
\item Classer ces éléments dans l'une des trois catégories suivantes: capteur, actionneur, autre. Imaginer une utilité possible de ces éléments.
\item Trouver la documentation officielle (en français) de la programmation de cette carte en python (micropython ici).
\item Faire parcourir au point toute la matrice led.
\item Faire clignoter 5 fois chaque led de la première colonne de la matrice.
\item (*) Faire 5 relevés de température à une seconde d'intervalle, ajouter ces 5 valeurs, puis afficher la température moyenne sur les 5 secondes écoulées.
\end{enumerate}
On peut aussi faire une boucle sur des éléments d'une liste
Le Queulorior a ceci de particulier que de la peinture s'écoule au bout de sa queue. Ainsi, lorsqu'il se déplace, il laisse une trace.
\end{minipage}
Sacha sait que vous avez un Queulorior et pour communiquer avec vous, il vous envoie des instructions à donner au Queulorior. Ces instructions forment une séquence assez longue composée de 4 lettres : N, S, O et E. La lettre N indique au Queulorior de faire un pas vers le nord, la lettre S lui indique de faire un pas vers le sud, la lettre E un pas vers l'est et la lettre O un pas vers l'ouest.
Par exemple, donnez ces instructions au Queulorior :
\begin{center}
NNEESOOEES
\end{center}
Il va faire deux pas vers le nord, deux pas vers l'est, un pas vers le sud, deux pas vers l'ouest, deux pas vers l'est et un pas vers le sud, ce qui dessinera un A approximatif :
On souhaite coder un prototype du jeu snake sur le micro:bit. Vous pouvez le commencer seul ou suivre les étapes suivantes
\begin{enumerate}
\item Pour le moment le serpent a une taille de 1 pixel. Le faire avancer en ligne droite sur la matrice. Quand il sort de la matrice, tout l'écran doit clignoter.
\item On veut pouvoir le faire tourner à droite ou à gauche avec les boutons A et B. Ajouter cette possibilité de changement de direction.
\item Ajouter une choses à manger (un pixel). La matrice doit afficher un cœur quand la chose est touché par le serpent puis la chose réapparait à un autre endroit.
\item (*) Faire en sorte que le serpent face 2 pixels de long.
\item (*) Le serpent doit s'allonger de 1 pixel à chaque fois qu'il mange un pixel.
\item (*) La partie doit être perdue quand la tête du serpent touche une partie de son corps.
Ci-dessous quelques exercices techniques pour se faire la main avec Python. À vous de choisir les bons outils dans le corpus pour les résoudre.
Les exercices peuvent être faire dans l'ordre de votre choix.
\begin{enumerate}
\item\textbf{Mot de passe:} Étant donné un mot de passe stocké dans une variable. Le programme demande à l'utilisateur de rentrer un mot de passe tant que ce dernier n'est pas identique à celui stocké. Quand le mot de passe est trouvé, on afficher "accès autorisé"
\item\textbf{Plus ou moins}: Étant donné un nombre stocké dans une variable. Le programme demande à l'utilisateur de le deviner. Tant qu'il ne la pas trouvé, le programme lui dira si la proposition est plus grande ou plus petite que la valeur stockée.
\item\textbf{Questionnaire à une question:} Étant données une question et la réponse associée stockées dans deux variables. Le programme demande à l'utilisateur la réponse à la question et affiche si la réponse est bonne ou non. \textit{(On pourra amélioré ce programme en stockant plusieurs réponses possibles)}.
\item\textbf{QCM:} Étant donnée une liste de questions fermées (qui se répondent pas oui ou non). Le programme pose les questions successivement et à la fin donne le nombre de bonnes réponses.
\item\textbf{Table de ...:} Étant donné un nombre ainsi qu'une limite. Affiche tous les multiples de ce nombre juqu'à atteindre la limite.
\item\textbf{Table de multiplication:} Étant donné un nombre limite. Affiche la table de multiplication de tous les nombres de 0 à cette limite.
\item\textbf{Multiples de 3 ou 5:} Étant donné un nombre limite. Afficher tous les multiples de 3 ou de 5 inférieur à cette limite.
\item\textbf{Pyramide de lettres:} Étant donnée une chaine de caractères. Afficher un fois la première lettre, puis deux fois la deuxième puis 3 fois la 3e...
\item\textbf{Moyenne interactive:} Le programme demande des nombres jusqu'à ce que l'utilisateur entre "s" (pour stop) puis affiche la moyenne des nombres entrés.
\item\textbf{Max interactif:} Le programme demande des nombres jusqu'à ce que l'utilisateur entre "s" (pour stop) puis affiche le max des nombres entrés.