Objectifs du TP. Exercice 1 Opérations élémentaires 1. D après vos souvenirs de cours, remplir uniquement la première colonne vide du tableau suivant.

Documents pareils
Initiation à la programmation en Python

TP 1. Prise en main du langage Python

Présentation du langage et premières fonctions

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

L informatique en BCPST

Découverte de Python

STAGE IREM 0- Premiers pas en Python

2 Comment fonctionne un ordinateur, dans les grandes lignes

Représentation d un entier en base b

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

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

Licence Sciences et Technologies Examen janvier 2010

Cours d algorithmique pour la classe de 2nde

Algorithmique et Programmation, IMA

Le langage C. Séance n 4

Langage Java. Classe de première SI

Introduction à l informatique en BCPST


TP1 : Initiation à Java et Eclipse

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)

TD3: tableaux avancées, première classe et chaînes

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

INF 321 : mémento de la syntaxe de Java

Notions fondamentales du langage C# Version 1.0

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

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

PROJET ALGORITHMIQUE ET PROGRAMMATION II

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

Chapitre 2 Devine mon nombre!

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

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

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

Algorithmique et programmation : les bases (VBA) Corrigé

Conventions d écriture et outils de mise au point

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

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Calcul Scientifique avec 3

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

Les chaînes de caractères

LES TYPES DE DONNÉES DU LANGAGE PASCAL

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

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

Outils pour la pratique

TP1. Outils Java Eléments de correction

Introduction au langage C

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

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

1 Lecture de fichiers

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Calcul Formel et Numérique, Partie I

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

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

Utilisation d objets : String et ArrayList

Initiation à la Programmation en Logique avec SISCtus Prolog

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

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

Solutions du chapitre 4

Chap III : Les tableaux

Approche Contract First

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

CAPTURE DES PROFESSIONNELS

Esterel The french touch star touch esterel advance

Module : Informatique Générale 1. Les commandes MS-DOS

Remote Method Invocation (RMI)

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Introduction à MATLAB R

I. Introduction aux fonctions : les fonctions standards

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

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

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

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

1 - Se connecter au Cartable en ligne

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

IV- Comment fonctionne un ordinateur?

Projet de programmation (IK3) : TP n 1 Correction

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

Leçon N 5 PICASA Généralités

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

GESTION ELECTRONIQUE DE DOCUMENTS

TP1 - Prise en main de l environnement Unix.

ODH. Mon Espace. Manuel d utilisation. MON ESPACE ODH Manuel d utilisation. Une question? Contactez le service client au

Guide d installation de MySQL

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

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Tutoriel Création d une source Cydia et compilation des packages sous Linux

MO-Call pour les Ordinateurs. Guide de l utilisateur

Premiers Pas en Programmation Objet : les Classes et les Objets

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Cours 1 : La compilation

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

Transcription:

TP1 INITIATION À PYTHON ET À LA PROGRAMMATION (1) Objectifs du TP Les buts de TP sont : prise en main du mode CLI pour Interface en Ligne de Commande ; révision des opérations élémentaires et manipulations de nombres, de chaînes de caractères et de listes ; introduction aux variables, à leurs types et aux affectations, changements de types ; prise en main de Spyder; utilisation des instructions conditionnelles if/elif/else. 1 Python comme super calculatrice Lancer l interpréteur Python; pour cela ouvrir le dossier WinPython et lancer IPython Qt Console. Une console Windows s ouvre et une fenêtre de l interpréteur Python. Exercice 1 Opérations élémentaires 1. D après vos souvenirs de cours, remplir uniquement la première colonne vide du tableau suivant. Opérateur Effet (d après vos souvenirs) Correction + - * / // % ** 2. Exécuter les commandes suivantes : 1 2+52 2 2*3 3 2**3 4 153/ 10 5 153//10 6 153% 10 7 2*52-15+3 8 2*52 -(15+3) 9 12+2. 10 12+2 s Python applique les mêmes priorités de calcul que dans les Mathématiques apprises en collège : les parenthèses peuvent être essentielles. (lignes 7 et 8) L opérateur «/» renvoie toujours un float. (ligne 4) 3. Corriger éventuellement le tableau à la lueur des commandes tapées (et éventuellement d autres commandes que vous taperez pour vérifier vos corrections). 4. Expliquer les dernières commandes : quelle(s) différence(s) voyez-vous? à quoi sont-elles dues? En déduire une règle générale sur le fonctionnement de Python. Python permet de faire des calculs basiques avec les opérateurs courants : somme/soustraction, multiplication/division, puissance, division euclidienne etc.

2 Variables et types On continue à travailler dans la console. Exercice 2 Nombres Exécuter les commandes suivantes. 1 a=3 2 a 3 type (a) 1. Quelle est la différence entre les variables a et alpha? 4 alpha = float (a) 2. Quel est le type de c? Comment l expliquez-vous? 5 type ( alpha ) 3. Quel est le type de gamma? 6 b=a/7 7 c =14* b 4. Comment pourrait-on trouver la variable gamma en un nombre flottant? 8 gamma = int (c) Python n affiche pas la valeur de la variable lorsqu on la définit (lignes 1, 4 etc). Pour connaître la valeur d une variable, il faut demander à Python de l afficher en tapant le nom de la variable (ligne 2). Exercice 3 Chaînes de caractères (1) Exécuter les commandes suivantes. 1 msg =" bonjour " 1. Quel est le type de la variable msg? Comment vérifie-t-on cela? 2 msg2 ='tout le monde ' 2. Que réalise l opérateur + sur les chaînes de caractères? 3 msg + msg2 3. Pourquoi la commande de ligne 3 affiche-t-elle quelque chose? 4 3 msg =" coucou " 4. Expliquer la commande de la ligne 4 ; que se passe-t-il? Il y a des règles pour choisir le nom des variables : choisir des noms cohérents ; les variables mot, Mot et MOT sont différentes : Python distingue les lettres majuscules et les minuscules; les noms de variables sont constituées de lettres, de chiffres et de l underscore «_» ; la ponctuation, les caractères spéciaux, les accents et la cédille ne sont pas autorisés. On définit une variable en donnant directement son nom et sa valeur ; chaque variable a un type. Pour l instant nous avons rencontré les entiers int, les réels ou nombres flottants float et les chaînes de caractères str pour string. Il existe certaines règles impératives et des règles tacites pour choisir le nom des variables. On demande à Python le type d une variable à l aide de la fonction type(...); la réponse est alors de la forme <class nomdutype >. Pour changer le type d une variable, il suffit d utiliser le nom du type souhaité. Exercice 4 Chaînes de caractères (2) Pour délimiter une chaîne de caractères, on peut opter parmi quatre possibilités : une paire de guillemets "... ", une paire d apostrophes..., une paire de triplets de guillemets """... """ ou une paire de triplets d apostrophes.... 1. Créer une variable dial1 contenant la chaîne de caractères «il dit : "bonjour"». 2. Créer une variable dial2 contenant la chaîne de caractères «il l observe». 3. Créer une variable dial3 contenant la chaîne de caractères «, lui répond "bonjour" et s en va.». Exercice 5 Chaînes de caractères (3) 1 msg1 =" Mon nom est Bond." 2 msg2 =' James Bond.' 3 print (msg1, msg2 ) 4 replique = msg1 + msg2 5 replique Exécuter les commandes suivantes. 6 type ( replique ) 7 len ( replique ) 8 replique [0] 9 replique [ 29] 10 replique [ 15] 11 replique [ -1] 12 replique [ -29] 13 replique [ -10] 14 replique [15:29:3] 15 replique [ 10] Sommaire -2- A.LAURENT Lycée Descartes

3 AFFECTATION 1. Que fait la fonction len? 2. Que fait la fonction print? 3. En regardant les lignes 6 à 10, expliquer comment on peut isoler un caractère d une chaîne? comment choisir le nombre à mettre dans les crochets? 4. Proposer une seconde approche pour isoler un certain caractère d une chaîne en considérant les instructions 11 à 13. 5. En changeant les valeurs, comprendre ce que fait l instruction de la ligne 14. 6. Sans taper d instruction supplémentaire, préciser le type de replique[-10]. Justifier. Un string est constitué de caractères. On peut accéder aux différents caractères en mettant entre crochet l indice du caractère qu on souhaite obtenir. Le nombre de caractères d un string est obtenu par la fonction len(...) pour length. La fonction print permet d afficher un message à l écran. 3 Affectation Exercice 6 Affectation (1) On considère les instructions suivantes : 1 a,b=5,2 2 a=a+1 3 b=a+1 4 b +=1 5 a,b=b,a 6 a=b 1. Sans avoir tapé les instructions, remplir les deux premières colonnes du tableau suivant avec les valeurs prises par a et b. 1 2 3 4 5 6 Avant correction Après correction a b a b 2. Vérifier votre tableau en tapant les commandes et corriger éventuellement le tableau. 3. Par quoi aurait-on pu remplacer la ligne 4 pour avoir le même effet? 4. Quelle est l effet de l instruction a,b=b,a? Par quelles instructions aurait-on pu remplacer cette instruction? Tester votre réponse. Exercice 7 Affectation (2) On exécute la commande b=0. Quels sont les effets des instructions successives b+=5? b*=2? b-=1? b/=2? Comment aurait-on pu taper ses instructions autrement? A.LAURENT Lycée Descartes -3- Sommaire

4 Hello the world En informatique, Hello world est souvent le premier programme que l on tape lorsque l on apprend un nouveau langage de programmation : il s agit de faire dire «bonjour» par la machine. Lancer Spyder, ouvrir et enregistrer un nouveau fichier «helloworld.py» dans un répertoire de travail sur une clé USB (donner un nom cohérent au répertoire comme TP1). A présent tous les exercices seront faits dans un fichier en «.py». Exercice 8 1. Écrire des lignes de codes pour que le programme affiche «bonjour» puis, dans un second temps, affiche «au revoir». Tester. Avant d exécuter un fichier pour la première fois, on peut régler les options d exécution. Pour cela, il suffit de faire [F6] (mais on peut aussi utiliser les menus ou les raccourcis). Les options conseillées sont : «Exécuter dans un terminal système externe» ; «Interagir avec la console Python après l exécution» ; «Afficher un avertissement à l interruption d un processus». La deuxième option permet de laisser le terminal ouvert après l exécution du fichier pour éventuellement exécuter des instructions supplémentaires. Pour fermer cette fenêtre, tu pourras utiliser le raccourcis clavier «Ctrl+D». Pour exécuter un fichier, on peut utiliser le menu «Exécution/Exécution», le raccourcis dans la barre du haut mais on utilisera la touche [F5] pour gagner en efficacité. 2. Modifier le programme pour qu entre le «bonjour» et l «au revoir», il demande si l utilisateur est une femme ou un garçon que l on désignera par F et G. La réponse donnée sera stockée dans une variable au nom intelligemment choisi. Syntaxe La fonction input(...) prend en entrée optionnelle une chaîne de caractères. Elle affichera cette chaîne à l écran et attendra que l utilisateur tape et valide quelque chose au clavier. La sortie de cette fonction est toujours une chaîne de caractère. Selon, cette chaîne pourra ensuite être transformée en un autre type. 3. Modifier le programme pour qu au lieu d afficher simplement «au revoir», le programme affiche «au revoir jeune homme» ou «au revoir jeune femme» selon la réponse à la question précédente. Syntaxe La syntaxe d une instruction conditionnelle est la suivante : if ( exp booleenne 1) : instructions 1... elif ( exp booleenne 2) : instructions 2... else : instructions 3... suite des instructions... exécutée... dans tout les cas... le elif (contraction de "else if", autrement si) et le else sont optionnels ; il peut y avoir plusieurs elif; si l expression booléenne 1 donne True, le bloc d instructions 1 est réalisé. Sinon et si l expression booléenne 2 donne True, le bloc d instructions 2 est réalisé. Dans tout les autres cas, le troisième bloc d instructions est exécuté. Ici on utilisera un test d égalité sur les chaînes de caractères de la forme «if...== F». (a) Dans un premier temps, on utilisera simplement if/else : une réponse G sera correctement comprise, n importe quelle autre réponse correspondra à F. (b) Puis on modifiera en utilisant if/elif/else de manière à ce qu un message d erreur s écrive en cas de réponse incorrecte. Sommaire -4- A.LAURENT Lycée Descartes

5 EXERCICES SUPPLÉMENTAIRES 4. Faire de même pour que l âge soit demandé et modifier le programme pour qu il écrive : «tu es trop jeune» si l âge donné est en dessous de 14 ans. On impose que le test soit fait sur des entiers. 5. Modifier le programme pour qu il demande le nom de l utilisateur puis pour qu il affiche le prénom dans les questions et dans le message final. Ex : le programme affichera «Bonjour James, quel est ton age?» Attention Les instructions d entrée/sortie input et print sont utiles, ludiques et interactives pour débuter. Néanmoins, il ne faut pas en abuser. Il est plus simple de rentrer les paramètres dans un fichier que de les demander à l utilisateur : en pratique, on n utilise pas du tout input et très peu print. 5 Exercices supplémentaires Exercice 9 Année bissextile ou non Une année bissextile est une année comptant 366 jours au lieu de 365 i.e. une année comprenant un 29 février. Depuis l ajustement du calendrier grégorien, sont bissextiles les années : soit divisibles par 4 mais pas par 100; soit divisibles par 400. 1. Les années 1900, 2000, 2008 et 2014 étaient-elles bissextiles? 2. Écrire un programme qui demande a l utilisateur d entrer une année et qui renvoie True si cette année est bissextile et False sinon. Exercice 10 Tri Écrire un programme qui demande a l utilisateur d entrer une liste de trois nombres et qui es affiche triées dans l ordre croissant. Exercice 11 Conversion de durée 1. Écrire un programme demandant le nombre d heures, de minutes et de secondes et retourne la même durée en secondes. Deux programmes sont demandés : Ex : en répondant la chaîne de caractères «"01h41mn1s"», le programme doit afficher «6061s». (a) le premier pose trois questions (une pour le nombre d heures, une pour les minutes et une pour les secondes) et affiche la durée en secondes ; (b) le second ne pose qu une seule question, demande en réponse une chaîne de caractères de la forme «"..h..mn..s"» et affiche la durée en seconde. 2. Écrire un programme demandant un nombre entier de secondes et qui retourne le nombre d heures, de minutes et de secondes correspondant. Ex : en répondant «6061s», le programme doit afficher la chaîne de caractères «"01h41mn1s"». Exercice 12 Somme de nombres Écrire un programme qui calcule la somme de tous les nombres à au plus 5 chiffres qui n ont que des chiffres pairs dans leurs écritures décimales. A.LAURENT Lycée Descartes -5- Sommaire