Informatique TP1 : Découverte de Python CPP 1A

Documents pareils
Présentation du langage et premières fonctions

L informatique en BCPST

Introduction à l informatique en BCPST

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

TP 1. Prise en main du langage Python

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Algorithmique et Programmation, IMA

Initiation à la programmation en Python

STAGE IREM 0- Premiers pas en Python

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Le langage C. Séance n 4

TP1 : Initiation à Java et Eclipse

Chapitre I Notions de base et outils de travail

Au préalable, nous nous plaçons dans l espace au sein duquel nous allons créer notre raccourci vers l ENTG.

1 Lecture de fichiers

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Représentation d un entier en base b

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Découverte de Python

TP1 : Initiation à Java et Eclipse

Initiation à la Programmation en Logique avec SISCtus Prolog

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

TP1 - Prise en main de l environnement Unix.

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Calcul Scientifique avec 3

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Plan du cours. Historique du langage Nouveautés de Java 7

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Licence Sciences et Technologies Examen janvier 2010

V- Manipulations de nombres en binaire

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Introduction à MATLAB R

Cours 1 : La compilation

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

2 Comment fonctionne un ordinateur, dans les grandes lignes

Chapitre 2 Devine mon nombre!

TP 1 Prise en main de l environnement Unix

Guide d installation de MySQL

Exonet : sauvegarde automatisée d une base de données

1. Structure d'un programme FORTRAN 95

Fournier et télécharger des fichiers par FTP

La Clé informatique. Formation Excel XP Aide-mémoire

Outils pour la pratique

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Direction des Systèmes d'information

TP3 : Manipulation et implantation de systèmes de fichiers 1

Introduction à l algorithmique et à la programmation M1102 CM n 3

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Introduction à EasyLanguage

Installation et utilisation de Cobian Backup 8

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Playzilla - Chargement par clé usb

Les structures. Chapitre 3

Créer le schéma relationnel d une base de données ACCESS

Manuel d'installation de GESLAB Client Lourd

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Conventions d écriture et outils de mise au point

Environnements de développement (intégrés)

Chap III : Les tableaux

Comment utiliser RoundCube?

Notions fondamentales du langage C# Version 1.0

DM 1 : Montre Autoquartz ETA

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours d algorithmique pour la classe de 2nde

Installation et prise en main

Solutions du chapitre 4

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

TP1. Outils Java Eléments de correction

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Guide de configuration. Logiciel de courriel

Logiciel de Base. I. Représentation des nombres

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.


Approche Contract First

Instructions d installation de IBM SPSS Statistics pour Windows (licence de site)

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Service de Virtualisation de la DSI UJF

Programmation Web. Madalina Croitoru IUT Montpellier

Créer et partager des fichiers

Instructions d installation de IBM SPSS Statistics pour Windows (mono-utilisateur)

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Boot Camp Guide d installation et de configuration

Transcription:

Informatique TP : Découverte de Python CPP A Thierno Barry, Frederic Devernay, Julie Dumas, Matthieu Moy Mars - avril 206 Découverte de l IDE : Spyder Spyder est un environnement de développement (Integrated Development Environment) pour Python, fourni avec toutes les versions de python. L utilisation de Spyder est très simple, et l interface comporte par défaut une fenêtre avec ces panneaux : Sur la gauche, un éditeur de texte, dans lequel vous pouvez entrer votre programme (avec colorisation et indentation automatique), l enregistrer et l exécuter ; En bas à droite, un shell (ou interprète interactif) permettant de visualiser l exécution du programme, et de lancer le débogueur ; En haut à droite, une fenêtre permettant d afficher des informations sur le programme ; Éventuellement une fenêtre graphique (si on utilise le module turtle ). Quelques présentations sur Spyder sont disponibles sur le site du cours : http://www-verimag. imag.fr/~moy/cours/infocpp-s2/.. L interprète Python Au lancement de Spyder, le shell apparaît en bas à droite de la fenêtre. Dans un premier temps, nous ignorerons tout le reste. Vous pouvez taper des commandes interactives. Exercice (Evaluation de quelques expressions) Évaluez les expressions suivantes dans l interprète : 2 + 2 2-2 -2 2 + 3 * 4 (2 + 3) * 4 2 ** 3 2 ** 4 0 / 3 0 // 3 0 % 3 Que font les opérateurs ** et %? Quelle est la différence entre / et //? Exercice 2 (Utilisation de variables) Évaluez maintenant les expressions suivantes (dans cet ordre) : x = 42 y = x + x y

.2 Écriture d un programme avec l éditeur de texte, exécution Au lancement, l éditeur de texte (partie gauche de la fenêtre) est ouvert sur un fichier Python vide. Il est fortement déconseillé d utiliser ce fichier ouvert par défaut : il se trouve caché dans un répertoire spécifique à Spyder, vous risquez de ne pas le retrouver si vous y mettez des choses importantes. La première action à faire après le lancement de Spyder est donc de créer un nouveau fichier (menu «Fichier», «Nouveau Fichier») et de l enregistrer pour lui donner un nom. Il y a également la possibilité d ouvrir un fichier.py directement avec Spyder depuis l explorateur (Windows) ou le Finder (Mac OS X). Exercice 3 (Premier programme) Entrez dans l éditeur le programme suivant (vu dans le premier cours) : a = 0 b = while b < 0: print (b) c = a + b a = b b = c Pour l exécuter, tapez la touche F5 (en haut du clavier). Spyder vous proposera d enregistrer le fichier, faites-le et si ce n est pas déjà fait, donnez-lui un nom explicite, par exemple fibonacci.py. Vous devriez voir apparaître dans le panneau «Console» (en bas à droite de la fenêtre Spyder) quelque chose comme : In []: runfile( fibonacci.py, wdir=r /tmp ) 2 3 5 8 In [2]: Essayez d ajouter une erreur dans ce programme, par exemple remplacer print(b) par print(b (suppression de la parenthèse fermante). Enregistrez le fichier. Spyder vous signale une erreur avec un symbole dans la marge à côté du print. On peut tout de même tenter une exécution : Spyder vous signale alors une erreur de syntaxe dans le panneau «Console». En cliquant sur le message d erreur, le curseur se positionne à la bonne ligne du fichier concerné. Corrigez l erreur (la parenthèses fermante manquante du print) et exécutez le programme. 2 Rappels et compléments sur les bases de Python 2. Affichage : print Exercice 4 (Entrées sorties avec print et input) Créez un nouveau fichier dans l éditeur de texte de Spyder (menu «Fichier», «Nouveau Fichier»), et entrez le programme suivant : print (" Bonjour, quelle est ton ann ée de naissance?") annee = int ( input ()) print ("Tu as", 205 - annee, " ans.") Exécutez ce programme. Essayez avec une vraie année de naissance. Essayez avec autre chose qu un nombre entier. Que se passe-t-il? 2

Exercice 5 (Importance de print) Essayez d entrer les expressions ou instructions suivantes dans l interprète interactif : "Bonjour" print("bonjour") 2 + 2 print(2 + 2) Essayez maintenant d entrer ces 4 lignes dans un programme, dans la fenêtre de l éditeur de texte. Exécutez ce programme. Que voyez-vous? Pourquoi? 2.2 Les commentaires Un commentaire est une portion du programme qui est ignorée par Python. Les commentaires sont là pour aider la relecture du programme par un être humain. En Python, un commentaire commence par le caractère # et va jusqu à la fin de la ligne. Exercice 6 (Commentaires) Modifiez le programme précédent pour en faire, par exemple : # Cette ligne n' affiche rien : " Bonjour " print (" Bonjour ") # Encore un commentaire 2 + 2 print (2 + 2) # Commentaire # sur plusieurs # lignes. Vérifiez en exécutant le programme que son comportement n a pas changé. 2.3 Les erreurs Les programmeurs sont des êtres humains comme les autres, et ils ont droit à l erreur! Plusieurs types d erreurs peuvent se produire : Les erreurs de syntaxe, qui correspondent à des programmes qui ne sont pas grammaticalement corrects. Dans ces cas, Python refuse de commencer l exécution du programme (il ne comprend pas ce qu on lui demande). Les erreurs à l exécution peuvent arriver après le début de l exécution du programme (Python comprend ce qu on lui demande, mais il y a un problème lors de l exécution du programme). Exercice 7 (Erreur de syntaxe) Essayez d entrer le programme suivant (dans l interprète interactif ou dans l éditeur de texte) : print ("Dé but du programme ") x = 2 + print (" Fin du programme ") Essayez d exécuter le programme. Que se passe-t-il? Exercice 8 Modifiez le programme ci-dessus comme ceci : print ("Dé but du programme ") x = / 0 print (" Fin du programme ") Essayez d exécuter le programme. Que se passe-t-il? En Python, les vérifications d existence et de types des variables sont faites à l exécution. Les erreurs suivantes sont donc des erreurs à l exécution : 3

x = ' Bonjou r' + 42 # Can' t convert ' int' object to str implicitly x = y + z # name ' y' is not defined (D autres langages comme C ou Java font ces deux vérifications au même moment que les vérification de syntaxe) 3 Applications 3. Calcul simples sur un circuit électrique On considère le circuit de la figure. L objectif de cet exercice est de calculer le courant I 2 en fonction de la tension V et des résistances R, R 2 et R 3. R 3 V R I 2 R 2 V I total à : Mathématiquement, on peut écrire : Figure Circuit électrique R total = R + I total = V R total V = R I total V 2 = V V R 2 + R 3 I 2 = V 2 R 2 On va maintenant traduire ces formules en un programme Python. Le programme ressemble donc R = 2 R2 = 4.2 R3 = 0 V = 2 R_total =... I_total =... V =... V2 =... I2 =... print ("L' intensit é I2 vaut ", I2) Il faut bien sûr remplacer les... par les expressions correctes. Quelques remarques : Par défaut, on manipule des nombres sans unités. C est au programmeur de choisir sa convention (par exemple, si les résistances sont en megohm et les tensions en Volts, alors le résultat sera en milliampères). 4

Les notations mathématiques doivent être exprimés en Python donc en texte sans mise en forme. On ne peut pas écrire I total mais on écrit par exemple I_total. La multiplication doit être explicitée avec l opérateur *, on ne peut pas écrire R I_total par exemple. Exercice 9 (Calcul de I 2 ) Complétez le programme ci-dessus pour calculer I2. Exécutez-le et vérifiez qu il fonctionne (avec les valeurs ci-dessus, le résultat doit être.7045...). Essayez de modifier les valeurs d entrée et de ré-exécutez le programme : on peut bien sûr refaire le calcul plusieurs fois. 3.2 Manipulations de variables x = 42 y = 3 On considère le squelette de programme suivant : print (" avant : x =", x, " y =", y) #... print (" apr ès : x =", x, " y =", y) Exercice 0 (Échange des valeurs de deux variables) Écrire (à la place du #...) un programme qui échange les valeurs de x et de y. Vérifiez que votre programme fonctionne correctement. 4 Si le temps le permet : Structure conditionnelle : if/else Tous les programmes réalisés jusqu ici sont inconditionnels : les lignes du programmes sont toutes exécutées, les unes après les autres. On peut bien sûr écrire des programmes qui n exécutent certaines parties que quand une condition est vraie. La syntaxe générale est : if condition : une ou plusieurs instructions suite du programme La partie une ou plusieurs instructions ne sera exécutée que si condition est vraie. Par exemple : print (" Entrez un nombre ") x = int ( input ()) if x >= 0: print ("x est positif ou nul ") if x <= 0: print ("x est né gatif ") print ("ou bien x est nul ") if x == 0: print ("x est nul ") print (" fin du programme ") Attention : L indentation est importante : il faut des espaces (par convention, 4 espaces) avant une ou plusieurs instructions. La fin du if correspond à la fin du bloc indenté. L opérateur == est l opérateur de comparaison («est-ce que x est égal à 0?»), différent de l opérateur d affectation (x = 0, pour «x devient égal à zero»). Exercice Entrez ce programme dans l éditeur de texte, et exécutez-le. Essayez avec des valeurs de x négative, positives, et avez 0. Essayez de remplacer >= et <= par < et >. Quelle est la différence? 5

5 Solution des exercices Exercice : ** est l opérateur «puissance» (x ** y calcule x y ), et % est l opérateur «modulo» (ou reste de la division entière). L opérateur / est la division flottante, alors que // est la division entière (le résultat est un nombre entier). Exercice 4 : si on entre autre chose qu un entier, la conversion int(...) échoue avec le message «invalid literal for int() with base 0 :...». Exercice 5 : entrer une expression dans l interprète évalue l expression et affiche son résultat. Dans un vrai programme, le fait de faire un calcul n implique pas d afficher son résultat (imaginez si les logiciels que vous utilisez vous affichaient tous les résultats de tous les calculs qu ils font!). Depuis un programme, il faut donc demander explicitement, avec l instruction print, si on veut faire un affichage. A noter qu évaluer "Bonjour" dans l interprète affiche Bonjour, avec les guillemets (pour que l utilisateur puisse voir qu il s agit de «la chaîne de caractère Bonjour ), alors que l instruction print n affiche pas les guillemets : l utilisateur final du programme n a pas besoin de savoir comment sont représentées les chaînes en Python! Exercice 7 : il n y a aucun affichage, l erreur de syntaxe arrive avant le premier print. Exercice 8 : cette fois, on voit bien le premier affichage Début du programme, mais la division par zéro entraîne un arrêt du programme : on voit un message d erreur (qui doit indiquer la ligne 2 de notre programme), et la ligne print("fin du programme") n est jamais exécutée. Exercice 9 : R = 2 R2 = 4.2 R3 = 0 V = 2 R_total = R + / (/ R2 + / R3) I_total = V / R_total V = R * I_total V2 = V - V I2 = V2 / R2 print ("L' intensit é I2 vaut ", I2) x = 42 y = 3 Exercice 0 : print (" avant : x =", x, " y =", y) tmp = x x = y y = tmp print (" apr ès : x =", x, " y =", y) Exercice : <= et >= sont les opérateurs d inégalités larges (supérieur/inférieur ou égal), alors que < et > sont les inégalités strictes. 6