Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:laboratoare:02_microbit_fr [2021/03/17 12:04]
alexandra.state2607 [Les structures répétitives]
sde2:laboratoare:02_microbit_fr [2021/03/24 10:43] (current)
ioana_maria.culic [TP 3 - Set up BBC micro:bit]
Line 1: Line 1:
-====== TP 3 - Set up BBC micro:bit ======+====== TP 03 - Set up BBC micro:bit ======
  
 ==== Support pour TP ==== ==== Support pour TP ====
Line 46: Line 46:
 </​code>​ </​code>​
  
-Pour accéder le simulateur ​si vous utilisez Linux ou MacOS, tapez la commande: +Pour accéder le simulateur ​ouvrir un browser et ouvrez''​http://​localhost:​8000/​editor.html''​
-<​code>​ +
-$ firefox ​editor.html +
-</​code>​+
  
-Si vous utilisez Windows, vous pouvez soit utiliser la commande précédente,​ soit aller dans le dossier "​PythonEditor"​ et cliquer sur "​editor.html"​. 
  
 Pour simuler le code, cliquez sur "​Sim"​. Testez l '** Exemple 1 ** du section suivante. Pour simuler le code, cliquez sur "​Sim"​. Testez l '** Exemple 1 ** du section suivante.
Line 665: Line 661:
 Quel est votre nom? "​Ana"​ Quel est votre nom? "​Ana"​
 Bienvenue, Ana! Bienvenue, Ana!
 +</​code>​
 +
 +<note important>​
 +Exécuter l'​exemple ci-dessus sur BBC micro:bit. Connectez la plaque et ouvrir l'​éditeur du code. Connecter le micro:bit et puis appuyez //Flash//. Après quelques secondes vous devez ouvrir //Open Serial// clique sur l'​icône. Vous avez avoir un output similaire avec celui ci-dessous. Maintenait, vous devez taper l'​input. Pour revenir au vôtre code appuyez //Close Serial//.
 +
 +{{ :​sde2:​laboratoare:​open_serial.png?​450 |}}
 +</​note>​
 +
 +===== Exceptions en Python =====
 +
 +En Python, on a 2 types d'​erreurs:​ //erreurs de syntaxe// et //​exceptions//​.
 +
 +Les **erreurs de syntaxe**, connues aussi sur le nom d'​erreurs d'​analyse (parsing error) sont les plus communes:
 +
 +<code python>
 +>>>​ while True print('​Hello world'​)
 +  File "<​stdin>",​ line 1
 +    while True print('​Hello world'​)
 +                   ^
 +SyntaxError:​ invalid syntax
 +</​code>​
 +
 +Les **exceptions** sont détectées au moment de l'​exécution:​
 +
 +<code python>
 +>>>​ 10 * (1/0)
 +Traceback (most recent call last):
 +  File "<​stdin>",​ line 1, in <​module>​
 +ZeroDivisionError:​ division by zero
 +</​code>​
 +
 +=== Gestion des exceptions ===
 +
 +Pour gérer les exceptions en Python, on utilise le bloc **try - except**, comme dans l'​exemple suivant:
 +
 +<code python>
 +while True:
 +    try:
 +        x = int(input("​Please enter a number: "))
 +        break
 +    except ValueError:
 +        print("​Oops! ​ That was no valid number. ​ Try again..."​)
 </​code>​ </​code>​
  
Line 670: Line 708:
 ===== Exercices ===== ===== Exercices =====
  
-   ​- ​Écrivez un programme qui en appuyant simultanément les boutons A et Bva afficher ​une image qui représente ​"OUI"​. ​Si pas de boutons est appuyé sur l'​écran va affiche ​une image qui représente ​"NON" "NON". Voir les image sur [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/images.html|documentation]]. +   ​- ​Créez 3 variables de types différentscomme il suit: **(0.5p)** 
-   ​-Modifier l’exercice antérieur tel que en appuyant le bouton A va afficher sur l’écran la lettre ​"A" et en appuyant le bouton B va afficher sur l’écran la lettre ​"B". +     ​- ​une variable "​int", ​qui va recevoir la valeur 80 
-   -Écrivez ​un programme qui affiche ​le nombre actuel de secousses ​sur lécran. Lorsque ​le micro-bit enregistre 9 secousses, une image apparaît sur l’affichage+     - une variable ​"float", ayant la valeur 20.
-   ​-Créez ​un programme qui enregistre le nombre ​des inclinaisons à gauche et à droiteChaque fois que le microbit est pointé ​dans l’un des deux côtésil doit  afficher sur l’écran ​le nombre actuel ​d’inclinaisons de ce côté//Hint//: utilisez ​la méthode [[https://​microbit-micropython.readthedocs.io/en/v1.0.1/​microbit.html#​microbit.sleep|sleep]] +     ​- ​une variable ​"string", qui va retenir la chaîne ​"python" 
-   -Écrivez ​un programme qui en atteignant ​le logo (le capteur tactile) va faire toggle entre une image avec un diamant ​et une image avec un petit diamant+   - En utilisant la fonction ​[[https://docs.python.org/2/library/functions.html#type|type]], déterminez le types des variables suivantes: **(0.5p)** 
-   -Écrivez ​un programme qui, lors de l’enregistrement ​d’un son, affichera ​une image sur lécran ​et parlera avec la parole "​ON"​. Si aucun son n’est pas enregistrél’affichage reste vide. Affichez ​le niveau sonore pour une action ​votre choix (appui sur un boutonlogo tactile, inclinaison,​ etc.) +     ​var1 = 80 
-   ​-Changer le code de [[https://​ocw.cs.pub.ro/​courses/​sde/​laboratoare/​02_microbit_ro?&#​senzorul_de_temperatura_si_de_lumina|exemple 7]] pour que le micro:bit détecte ​la lumière ​pour utiliser ​le haut-parleur ​pour lire de la musique JUMP_UP, et lorsque la lumière est éteinte ​pour lire de la musique JUMP_DOWNPour accéder ​à la bibliothèque "​musique",​ voir la [[https://microbit-micropython.readthedocs.io/​en/v2-docs/tutorials/music.html|documentation]].+     - var2 = 20.2 
 +     - var3 = "microbit
 +   ​- ​Ecrivez ​un programme qui recoit comme parametres de la ligne de commande 4 nombres (a,b,c,d) et affiche sur l'écran le résultat de l'​opération **a+b*c+d****(1p)** 
 +   - Créez ​une liste avec les noms des camarades de classeLes noms peuvent ne pas etre distincts. Résolvez les demandes suivantes**(2p)** 
 +     - Copier la liste intaille dans une autre liste appelle copyList et trier lui dans l ordre alphabétique. 
 +     - Déterminez le numéro d'​occurrences du chaque nom en utilisant une liste auxiliaire, qui contient ​des éléments distincts. 
 +     - Déterminez le nomqui a le numéro maxime ​d'​occurrences dans la liste initiale et le nom avec le numéro minime d'​occurrence (sil y a plusieurs éléments qui respect la condition toutes vont être affichées) 
 +     - Inversez ​la liste de copyList et supprimez le dernier élément de la liste initiale. 
 +   Créez une base de données d'un magasin avec des appareils électroménagers à l'aide du dictionnaireAjoutez des fonctionnalités:​ lorsqu'​un produit est lu à partir du clavier, son prix soit affichéUne erreur s'​affichera si le produit n'​existe pas "​Erreur"​ et les produits seront recherchés jusqu'​à ce que le texte "​stop"​ soit entré
 +   ​- ​Ecrivez ​un programme qui affichera ​le résultat retourne par la fonction // digitize ​(n//. Cette fonction ​va recevoir ​un int comme paramètre ​et va retourner ​une liste de chiffres du nombre dans l'​ordre inverse** (1p) ** Exemple: 348597 => [7,​9,​5,​8,​4,​3] 
 +   ​- ​Créez une classe Capteurs utilisée pour stocker les valeurs des capteurs suivants: température,​ lumière, humidité. Pour chaque capteur, vous pouvez lire et modifier les valeurs par des appels de fonction. ** (1p) ** 
 +   - Créez ​un programme qui, en utilisant la classe définie ci-dessus, stocker des valeurs provenant du différent ensembles ​de capteurs pour les suivantes chambres ​d'une maison et les affiche à l'écranla cuisine, le hall, la chambre ​couchéla salle a mangéLe programme effectue les opérations en recevant les commandes de la console comme suit: ** (2p**  ​ 
 +     * ''​insert <​chambre>​ <​capteru>​ <​valeur>'' ​où ''<​chambre>''​ , ''<​capteur>''​ et ''<​valeur>''​ vont être remplacés avec un de les 3 capteurs et une valeur - insérer une nouvelle valeur ​pour le capteur respectif 
 +     * ''​delete <​chambre>​ <​chambre>​ <​capteru>​ <​valeur>''​ - supprimer ​la valeur de ce capteur, la valeur après suppression sera 0 
 +     * ''​print <​chambre><​sensor>''​ - afficher la valeur ​pour le capteur de la chambre précise 
 +     * ''​print <​chambre>'' ​afficher tous capteurs el les valerus correspondantes ​pour la chambre spécifiée 
 +     * ''​add_room <​chambre>''​ - ajoute un nouvel ensemble de capteurs ​pour une nouvelle chambre 
 +     * ''​del_room <​chambre>''​ - efface l'​ensmeble ​de capteurs pour une chambre 
 +   ​S’il va être introduit une autre commande, le programme lèvera ​ une exception. 
 +    
 +== Bonus == 
 +  - Modifiez les programmes précédents pour afficher les valeurs sur micro: bit, pas sur la console. 
 +  - Créez un programme qui allume tour à tour chaque LED du micro:​bit. 
 +  - Créez un programme qui lit la température ambiante à l'aide du capteur existant sur micro:bit et l'​affiche à l'aide des LED. 
 + 
 + 
 +==== ==== 
 + 
 +[[https://github.com/UPB-FILS-SdE2/Solutions/tree/​main/​TP3|Solutions]] 
 + 
 + 
 + 
 + 
sde2/laboratoare/02_microbit_fr.1615975457.txt.gz · Last modified: 2021/03/17 12:04 by alexandra.state2607
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0