TP 1. Prise en main du langage Python



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

Initiation à la programmation en Python

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

Algorithmique et Programmation, IMA

L informatique en BCPST

STAGE IREM 0- Premiers pas en Python

Découverte de Python

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

Python - introduction à la programmation et calcul scientifique


1 Recherche en table par balayage

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction à MATLAB R

Langage Java. Classe de première SI

LES TYPES DE DONNÉES DU LANGAGE PASCAL

La mémoire. Un ordinateur. L'octet. Le bit

Programmation Web. Madalina Croitoru IUT Montpellier

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Utilisation d objets : String et ArrayList

2 Comment fonctionne un ordinateur, dans les grandes lignes

Initiation à la Programmation en Logique avec SISCtus Prolog

Algorithme. Table des matières

Représentation d un entier en base b

Cours 7 : Utilisation de modules sous python

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

Algorithmique et programmation : les bases (VBA) Corrigé

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

1 Introduction - Qu est-ce que le logiciel R?

Programmer en JAVA. par Tama

Notions fondamentales du langage C# Version 1.0

Maple: premiers calculs et premières applications

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

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)

Logiciel de Base. I. Représentation des nombres

Initiation à LabView : Les exemples d applications :

TP, première séquence d exercices.

Bases de programmation. Cours 5. Structurer les données

DM 1 : Montre Autoquartz ETA

1. Structure d'un programme FORTRAN 95

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Introduction à l informatique en BCPST

Le langage C. Séance n 4

Création et Gestion des tables

Introduction au langage C

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

IV- Comment fonctionne un ordinateur?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Cours d Algorithmique et de Langage C v 3.0

Recherche dans un tableau

Chapitre 2 Devine mon nombre!

INF 321 : mémento de la syntaxe de Java

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

Représentation des Nombres

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

Les chaînes de caractères

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

Informatique Générale

Licence Sciences et Technologies Examen janvier 2010

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

Solutions du chapitre 4

UE Programmation Impérative Licence 2ème Année

Chap III : Les tableaux

I00 Éléments d architecture

Compléments de documentation Scilab : affichage de texte et formatage de nombres

PROJET ALGORITHMIQUE ET PROGRAMMATION II

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Conversion d un entier. Méthode par soustraction

ALGORITHMIQUE ET PROGRAMMATION En C

TP1 : Initiation à l algorithmique (1 séance)

Rappels Entrées -Sorties

V- Manipulations de nombres en binaire

Rappels sur les suites - Algorithme

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

Calcul Formel et Numérique, Partie I

Codage d information. Codage d information : -Définition-

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

Manuel d'installation

Chapitre 10 Arithmétique réelle

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

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

Chapitre I Notions de base et outils de travail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Cours Informatique Master STEP

TP1 : Initiation à Java et Eclipse

Chapitre 1 I:\ Soyez courageux!

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Premiers pas avec Mathematica

Cours 1 : Qu est-ce que la programmation?

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Conventions d écriture et outils de mise au point

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

Transcription:

TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer un dossier infopcsi. Dans ce dossier créer un sous-dossier tp : c est là que vous enregistrerez les fichiers relatifs à ce TP. Python en interactif Lorsque vous ouvrez l environnment IDLE vous obtenez une fenêtre appelée interpréteur (ou console, ou terminal, ou shell). À partir de là nous pouvons utiliser le langage Python en mode interactif. Les expressions sont rédigées à la suite des chevrons >>> puis évaluées avec la commande Entrée. Python 3..5 (default, May 5 03, 3 :06 :03) [MSC v.500 3 bit (Intel)] on win3 Type "copyright", "credits" or "license()" for more information. >>> Exercice. Calculer avec Python. Ouvrir IDLE puis réaliser les opérations suivantes dans l interpréteur. 50 + 3 (, 5 3) =... 3 =... 3 =... 5 =.... Évaluer les expressions suivantes : 3//3 et 3 % 3 ; abs(.3) et abs(-.3). Compléter le tableau ci-dessous : Somme Différence Produit Division numérique // % Puissance Valeur absolue Les fonctions mathématiques usuelles ne sont pas disponibles immédiatement à l ouverture d IDLE ; il faut charger une librairie (ou module) complémentaire : le module math. Nous verrons d autres modules importants au cours de l année. Exercice. Exécuter les commandes ci-dessous. >>> sin(pi) >>> from math import * >>> sin(pi) La commande import donne accès à une nouvelle librairie ; le symbole * signifie que toutes les nouvelles commandes issues du module importé sont désormais accessibles. Exercice 3. Calculer (des valeurs approchées) des expressions suivantes. ln(0) =... ( π ) cos =... 8 + =...

Variables et affectations Pour manipuler des données, il peut être utile de manipuler des variables qui représentent ces données. Les objets manipulés par Python, au moment où ils sont créés, sont stockés dans la mémoire de l ordinateur. Un nom de variable est une suite de caractères qui renvoie à une adresse mémoire où a été créé un objet. Pour affecter (ou assigner) une valeur à une variable on utilise le signe égal. La commande ci-contre signifie que désormais le caractère x renvoie à la valeur. Le signe égal doit être distingé de l égalité mathématique. On peut écrire en pseudo-code : x >>> x= >>> x Exercice 4. Examiner la série de commandes ci-dessous. Prédire le résultat puis confirmer-le à l aide d IDLE. >>> x= >>> y= >>> x=x+y >>> y=x**y >>> y? Règle. Les noms de variables autorisés sont des séquences de lettres (majuscules ou miniscules) et de chiffres qui débute toujours par une lettre. La casse est significative. Il existe quelques mots réservés ne pouvant faire office de nom de variable (def, if, while, True, False...). La fonction print() permet également d afficher la valeur d une ou plusieurs variables séparées par des virgules. >>> x= >>> y=.5 >>> print(x,y).5 Affectations multiples. Le langage Pyhton offre la possibilité de réaliser en une seule instruction plusieurs affectations. >>> y=x= Affectations successives. La commande ci-contre signifie que x représente la valeur et y représente la valeur x >>> y (donc ). >>> x Affectations parallèle. La commande ci-contre signifie que a représente la valeur et b représente la valeur. >>> a,b=, >>> a >>> b Remarque. La commande ci-dessous permet d échanger deux noms de variables. >>> x,y=y,x Exercice 5. Examiner la série de commandes ci-dessous. Prédire le résultat puis confirmer-le à l aide d IDLE. >>> var,var=, >>> var,var=var,var+var >>> var3=var**var >>> print(var,var,var3)?

3 Premier programme Python L utilisation de Python en ligne de commande dans l interpréteur ne permet pas de sauvegarder vos lignes de calcul : ce n est pas très pratique si vous souhaitez relancer une même série de calculs avec des valeurs différentes pour les variables. Pour conserver nos programmes on va donc sauvegarder les lignes de code dans un fichier texte : on parlera d un script Python. À partir d une console IDLE la procédure est la suivante :. Ouvrir une nouvelle fenêtre : File New Window.. Écrire et enregistrer le script. Le nom du fichier doit se terminer par l extension.py. 3. Exécuter le script : Run Run Module ou F5. Le résultat est donné dans l interpréteur. Exercice 6. On souhaite rédiger un programme élémentaire qui calcule le prix d une commande de livres. Les trois valeurs suivantes sont représentées par les variables : nbr = entier désignant le nombre de livres commandés prix = prix unitaire d un livre reduc = coefficient (entre 0 et ) représentant la réduction dont bénéficie le client Le programme affiche le montant de la facture m = nbr * prix * reduc.. Ouvrir un nouveau fichier que vous sauvegardez sous le nom de facturelivres.py.. Affecter les variables comme indiqué ci-dessus dans le cas d une commande de 7 livres dont le prix unitaire est de 30,5 e pour un client bénéficiant de 5 % de réduction. 3. Afficher le résultat dans l interpréteur. Pour afficher un résultat il faut faire appel à la fonction print. Pour afficher une phrase on peut utiliser par exemple la syntaxe : print( Le montant de la commande est de,m, euros ). Pour aller plus loin : vous afficherez la valeur tronquée de m à deux chiffres après la virgule. Remarques.. Vous pouvez afficher des commentaires dans votre script en les rédigeant précédés d un symbole # ; ils ne seront pas exécutés.. La fonction input() permet d interagir avec l utilisateur : elle interrompt le programme jusqu à ce que l utilisateur rentre une valeur et appuie sur Entrée. Cela nous impose d en apprendre un peu plus sur les types des variables... 4 Premiers types simples Dans les parties précédentes nous avons manipulé des objets de nature numérique (entiers, décimaux). Pour désigner la nature d un objet manipulé par Python, on parle de type. Voici les types les plus simples :. int : les entiers relatifs. Cf chapitre.. float : les nombres en virgule flottante. Cf chapitre. 3. str : les chaines de caractères. Une chaine de caractères est une séquence de caractères les uns à >>> message= bonjour la suite des autres ; pour les définir il faut les écrire entre quotes >>> print(message) (simples ou doubles). Les éléments d une chaine sont numérotés bonjour à partir de 0. Pour extraire un caractère, il suffit d accoler à la >>> message[] chaine (ou la variable qui la représente) son indice entre crochet. o Si cela a un sens, les commandes int et float convertissent une chaine de caractères en une donnée numérique. 3

Voici une liste non exhaustive d opérations autorisées sur les chaines de caractères. Concaténation + Répétition * Extraction de fragment Chaine[n:m] Longueur len(chaine) 4. bool : les booléens. Cf TP. Structures conditionnelles. Il s agit d expressions dont la valeur est True ou False. >>> >0 True >>> ==0 False Les booléens peuvent être construits avec les opérateurs suivants : Égal == Différent!= Strictement supérieur > Strictement inférieur < Supérieur ou égal >= Inférieur ou égal <= ou or et and non not La commande bool() évalue l argument comme un booléen selon la règle suivante : si la donnée est booléenne elle retourne sa valeur, si la donnée est elle retourne True sinon elle retourne False Exercice 7. Prédire la valeur des booléens suivants et confirmer votre résultat avec l interpréteur Python. A = not(>0 and 0>)... B =!=0 or ==... 5. tuples : les tuples. Il s agit de séquences d objet séparés par des virgules. Pour extraire une opérande, il suffit d accoler à la chaine (ou la variable qui la représente) son indice entre crochet (on commence à 0). >>> x= coucou,,>0 >>> x[] True La commande type permet d obtenir le type d un objet. Sous Python, il n est pas nécessaire de définir le type d une variable avant de l utiliser : on dit que le langage est à typage dynamique. Exercice 8. Reprendre l exercice 6 en utilisant la fonction input pour interroger l utilisateur et lui retourner le montant de la facture. Indication. La commande input récupère les entrées de l utilisateur sous forme de chaine de caractère. >>> X=input( Quel âge avez-vous? ) Quel âge avez-vous? 7 >>> X,type(X) ( 7, <class str >) 4

Exercice 9. Qu est-ce q un bon mot de passe? Vu sur le site securite-informatique.gouv.fr : «Un mot de passe est bon quand il exploite au maximum les possibilités de choix laissées par le mécanisme de déverrouillage pour qu il soit plus difficile à retrouver, soit directement, soit par «ingénierie sociale», soit à l aide d outils automatisés. Un mot de passe est d autant plus faible qu il est court ou qu il est composé à partir d un alphabet réduit. Sur un simple PC un outil de «craquage par force brute»mettrait environ heure pour craquer un mot de passe de 8 caractères alphabétiques [A-Z]. Mais il faudrait environ mois à ce même PC pour craquer un mot de passe de 0 caractères alphabétiques ou un mot de passe de 8 caractères alphanumériques [A-Za-z0-9]. Avec les capacités techniques actuelles, la taille d un mot de passe doit être d au moins 0 caractères non signifiants, composés de lettres majuscules, minuscules, de chiffres et si possible de caractères spéciaux.» En Python la fonction randrange() permet de générer des entiers de façon (pseudo)-aléatoire. Elle doit être importée du module random. Réaliser un programme mdp.py dont l exécution affiche aléatoirement un mot de 0 caractères composés de lettres majuscules, minuscules, de chiffres et si possible de caractères spéciaux. Exercice 0. Réaliser un programme horaire.py qui demande à l utilisateur : l horaire de départ de son train, l horaire d arrivée de son train et qui affiche la durée du trajet en minutes. On suppose que l utilisateur rentre les horaires sous le format : XXhYY (exemples : 9h5, 08h0). Tester votre programme pour les entrées : départ 7h5 ; arrivée 9h38. Dans l interpréteur votre résultat ressemble à ça : >>> Horaire de départ? 7h5 Horaire d arrivée? 9h38 Votre trajet dure 07 minutes. Quels sont les inconvénients de votre programme? 5