Guide Pédagogique

Guide Pédagogique

2de SCIENCES NUMÉRIQUES ET TECHNOLOGIE GUIDE PÉDAGOGIQUE foucherconnect.fr Dans ce manuel, des ressources en accès direct pour tous SCIENCES NUMÉRIQUES ET TECHNOLOGIE 2de GUIDE PÉDAGOGIQUE Coordination : Dominique Lescar Cédric Blivet, professeur de sciences de l’ingénieur, lycée Gustave Monod Enghien-les-Bains (95) Fabrice Danes, professeur de sciences de l’ingénieur, lycée Pierre Mendès-France, Rennes (35) Hassan Dibesse, professeur de sciences de l’ingénieur, lycée Lesage, Vannes (56) Patricia Kerner, professeure de sciences de l’ingénieur, lycée Yves Thépot, Quimper (29) Yannig Salaun, professeur de mathématiques, lycée de l’Élorn, Landerneau (29) Édition : Emmanuelle Mary Mise en page : Grafatom « Le photocopillage, c’est l’usage abusif et collectif de la photocopie sans auto- risation des auteurs et des éditeurs. Largement répandu dans les établissements d’enseignement, le photocopillage menace l’avenir du livre, car il met en danger son équilibre économique. Il prive les auteurs d’une juste rémunération. En dehors de l’usage privé du copiste, toute reproduction totale ou partielle de cet ouvrage est interdite. » ISBN : 978-2-216-15505-7 Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit, des pages publiées dans le présent ouvrage, faite sans autorisation de l’éditeur ou du Centre français du Droit de copie (20, rue des Grands-Augustins, 75006 Paris), est illicite et constitue une contrefaçon. Seules sont autorisées, d’une part, les reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective, et, d’autre part, les analyses et courtes citations justifiées par le caractère scien- tifique ou d’information de l’œuvre dans laquelle elles sont incorporées (Loi du 1er juillet 1992 - art. 40 et 41 et Code pénal-art. 425). © Foucher, une marque des éditions Hatier, Paris, 2019 Sommaire INTRODUCTION À PYTHON................................................................... 5 DE SCRATCH À PYTHON.......................................................................... 10 THÈME 1 Internet........................................................................................ 12 THÈME 2 Le Web......................................................................................... 23 THÈME 3 Les réseaux sociaux.................................................................. 36 THÈME 4 Les données structurées et leur traitement........................ 48 THÈME 5 Localisation, cartographie et mobilité................................. 60 THÈME 6 Informatique embarquée et objets connectés.................... 71 THÈME 7 La photographie numérique.................................................. 91 DÉBUTER EN PROGRAMMATION PYTHON.................................... 103 © Éditions Foucher Sommaire 3 Introduction à Python 1. Installer Python Python a l’avantage d’être libre, gratuit et multi-plateforme, vous avez donc la possibilité de l’installer sur votre ordinateur, et ce, quel que soit votre environnement de travail : Windows, Mac ou Linux. Pour utiliser Python, vous aurez besoin d’un IDE (environnement de développement inté- gré). C’est le logiciel dans lequel vous pourrez saisir vos programmes. Il en existe plusieurs (PyScripter, Geany, Mu, IDLE, Spider, Pyzo, Thonny, Jupyter notebook…). Pour installer Python sur votre ordinateur, vous avez plusieurs possibilités : ••Allez sur le site officiel (https://www.python.org), rubrique Downloads, et téléchargez la dernière version du logiciel correspondant à votre environnement. Cette installation mini- male contient le logiciel IDLE. C’est l’IDE développé par les créateurs de Python. Il peut nécessiter l’installation de modules complémentaires et si vous n’êtes pas à l’aise avec l’ins- tallation de logiciels, mieux vaut privilégier la méthode suivante. ••Il est possible de télécharger des paquets complets qui installeront en une seule opéra- tion Python, les bibliothèques les plus courantes ainsi qu’un IDE plus complet. Parmi ces choix : WinPython (http://winpython.sourceforge.net/ pour Windows uniquement), EduPy- thon (https://edupython.tuxfamily.org/ pour Windows uniquement), Anaconda (https://www. anaconda.com/distribution/) multiplateforme. 2. Choisir un IDE En pratique, on peut écrire un programme Python dans n’importe quel éditeur de texte (le Bloc-notes Windows par exemple), ensuite si on enregistre le programme avec l’extension.py, on peut l’exécuter sur une machine où est installé Python. Cependant l’utili- sation d’un IDE va vous simplifier la tâche. Parmi les critères de choix d’un IDE on trouve : ••la coloration syntaxique (il reconnaît le langage et colore les mots clé) ; ••l’auto-complétion (il fait des propositions dès les premières lettres saisies) ; ••la mise en forme (il signale une erreur d’indentation par exemple) ; ••le gestionnaire de paquets (aide à l’installation de bibliothèques) ; ••le débugueur (permet d’exécuter un programme pas à pas, une instruction à la fois). © Éditions Foucher Introduction à Python 5 Ensuite chacun aura ses préférences pour les options complémentaires (disposition de la fenêtre, menus). L’IDE Mu possède un mode BBC micro:bit qui permet de contrôler directement les cartes du même nom. La distribution EduPython est basée sur l’IDE PyScripter. 3. Installer une bibliothèque avec EduPython Certaines bibliothèques utiles en SNT (folium, Pillow) ne font pas partie des bibliothèques installées de base avec Python et il faudra les installer pour pouvoir les utiliser. (Pour savoir si la bibliothèque folium est déjà installée, on teste >>>import folium dans la console. Si Python ne renvoie pas de message d’erreur, c’est que la bibliothèque est installée.) © Éditions Foucher 6 La plupart des IDE possèdent un gestionnaire de paquets (Package manager) qui vous aidera à installer de nouvelles bibliothèques. Exemple : pour installer la bibliothèque folium avec EduPython : 1. Menu Outils → Outils → Installation d’un nouveau module 2. Choisissez 1 ou 2 (pip et conda sont des logiciels spécifiques d’installation, si l’un ne fonctionne pas vous pouvez tester le second). 3. Saisissez le nom de la bibliothèque à installer. 4. Après l’installation, vous pouvez tester >>>import folium dans la console, il ne devrait rien se passer. © Éditions Foucher Introduction à Python 7 4. Où trouver de l’aide ? Python est un logiciel très répandu et vous devriez trouver une réponse à vos questions les plus courantes en utilisant votre moteur de recherche favori. Le site officiel de Python, éventuellement dans sa version française (https://docs.python.org/ fr/3/), est une source importante d’informations. Enfin, des sites reconnus comme Stackoverflow (https://stackoverflow.com/) contiennent des forums où vous pourrez trouver des réponses à vos questions (quelqu’un a certainement déjà été confronté au même problème que vous). 5. L’approche par fonctions Comparaison de deux méthodes sur un exemple : Problème : A et B sont deux points de coordonnées respectives (xA ; yA) et (xB ; yB) dans un repère orthonormé du plan. Nous souhaitons écrire un programme qui calcule la distance entre ces deux points. 1re approche : le programme va demander à l’utilisateur de saisir successivement les coor- données des deux points, puis va calculer et afficher la distance : 1 from math import * 2 xA=eval(input('Entrez l’abscisse de A :')) 3 yA=eval(input('Entrez l’ordonnée de A :')) 4 xB=eval(input('Entrez l’abscisse de B :')) 5 yB=eval(input('Entrez l’ordonnée de B :')) 6 distance=sqrt((xB-xA)**2+(yX-yA)**2) 7 print('AB = ',distance) Problème : la fonction input() renvoie une variable de type 'str', il faut donc convertir cette variable en nombre décimal, c’est l’objectif de la méthode eval(). Cette méthode va évaluer l’expression saisie par l’utilisateur et lui attribuer une valeur. Cela va fonctionner avec des fractions (1/3), des racines carrées (sqrt(14)). © Éditions Foucher 8 2e approche : on va écrire une fonction distance, qui prendra en paramètres les coordonnées des points A et B. 1 from math import * 2 def distance(xA,yA,xB,yB) : 3 return sqrt((xB-xA)**2+(yB-yA)**2) Problème : lorsqu’on appelle la fonction distance dans la console (ou dans le programme), il faut lui donner les valeurs de xA, yA, xB, yB en respectant l’ordre ! (l’IDE peut vous aider). Avantage : on peut entrer des fractions et des racines carrées, elles seront reconnues par Python. Astuce et bonne pratique : insérer un commentaire dans l’écriture de la fonction. 1 from math import *''' 2 def distance(xA,yA,xB,yB) : 3 ''' la fonction distance prend en paramètres les coordonnées xA, yA, xB, yB des points A et B dans cet ordre''' 4 return sqrt((xB-xA)**2+(yB-yA)**2) Pour lire ce commentaire, on pourra saisir >>>help(distance) dans la console. 6. Quelques notions sur les listes La notion de liste ne figure pas au programme de SNT, néanmoins beaucoup de programmes nécessitent d’en utiliser (récupérer les données d’un capteur, afficher une courbe, parcourir une image). Une liste se note entre crochets, et les éléments de la liste sont séparés par une virgule : a=[] permet de déclarer une variable de type 'list'vide, qui se nomme a. Chaque élément d’une liste est repéré par un indice, le premier a pour indice 0, le deuxième a pour indice 1… Si la liste est de longueur 10, le dernier élément aura pour indice 9. a[2] désigne l’élément d’indice 2 de la liste a (c’est-à-dire le troisième élément). Pour manipuler les listes, il existe de nombreuses méthodes. En voici quelques-unes : l=len(a) l prend pour valeur la longueur de la liste a. a.append(x) ajoute l’élément x à la fin de la liste a. a.insert(i,x) insère l’élément x avant l’élément d’indice i (il prend donc l’indice i). a.remove(x) supprime de la liste a le premier élément dont la valeur est x. a.pop(i) supprime de la liste a l’élément d’indice i. a.clear() supprime tous les éléments de la liste. a.count(x) renvoie le nombre d’éléments dont la valeur est x dans la liste a. a.sort() trie la liste a dans l’ordre croissant. a.reverse() inverse l’ordre des éléments de la liste a. Cette liste n’est pas exhaustive, il existe de nombreuses autres méthodes pour manipuler les listes.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    124 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us