TP1 : VARIABLES, TESTS, BOUCLES

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

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

Initiation à la programmation en Python

STAGE IREM 0- Premiers pas en Python

L informatique en BCPST

Découverte de Python

Cours 3 : Python, les conditions

Chapitre 2 Devine mon nombre!

Cours d algorithmique pour la classe de 2nde

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)

TP 1. Prise en main du langage Python

Licence Sciences et Technologies Examen janvier 2010

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Algorithmique et Programmation, IMA

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

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

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

Cours Informatique Master STEP

1. Structure d'un programme FORTRAN 95

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

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

CORRECTION EXERCICES ALGORITHME 1

1. Utilisation du logiciel Keepass

Conventions d écriture et outils de mise au point

Programmation linéaire

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Du Premier au Second Degré

Glossaire des nombres

CAPTURE DES PROFESSIONNELS

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

Structures algébriques

Algorithme. Table des matières

KeePass - Mise en œuvre et utilisation

Procédure de sauvegarde pour AB Magique

3 L'arborescence Windows

Présentation du PL/SQL


Compter à Babylone. L écriture des nombres

Initiation à LabView : Les exemples d applications :

Mon aide mémoire traitement de texte (Microsoft Word)

Introduction à l informatique en BCPST

Coefficients binomiaux

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

TP, première séquence d exercices.

Représentation d un entier en base b

Résolution de systèmes linéaires par des méthodes directes

Solutions du chapitre 4

TP1 - Prise en main de l environnement Unix.

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

COMPTABILITE SAGE LIGNE 30

Le langage C. Séance n 4

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

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Programmation C++ (débutant)/instructions for, while et do...while

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

III- Raisonnement par récurrence

Traitement de texte : Quelques rappels de quelques notions de base

1 TD 2 : Construction d'une chier Acrobat et envoi par

TP 1 Introduction à Matlab Février 2009

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

Langage Java. Classe de première SI

Définitions. Numéro à préciser. (Durée : )

Organigramme / Algorigramme Dossier élève 1 SI

EVALUATIONS MI-PARCOURS CM2

COMPTABILITE SAGE LIGNE 100

Algorithmique et programmation : les bases (VBA) Corrigé

Programmation avec Xcas ou Python

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Chapitre 4 Pierre, papier, ciseaux

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER

Rappels sur les suites - Algorithme

LES GENERATEURS DE NOMBRES ALEATOIRES

Exercices sur le chapitre «Probabilités»

La persistance des nombres

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Continuité et dérivabilité d une fonction

R, Bonnes pratiques. Christophe Genolini

Tout savoir sur le clavier

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

V- Manipulations de nombres en binaire

Les conseils & les astuces de RSA Pour être tranquille sur Internet

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

Développement décimal d un réel

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Club informatique Mont-Bruno Séances du 08 et 20 novembre 2013 Présentateur : Guy Bélanger Co-auteur : Réjean Côté

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

1.1 L EXPLORATEUR WINDOWS

Introduction au langage C

Qu est-ce qu une probabilité?

Chapitre 2. Eléments pour comprendre un énoncé

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

Langage Éric Guérin 5 octobre 2010

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Corrigé des TD 1 à 5

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Transcription:

TP1 : VARIABLES, TESTS, BOUCLES INSTALLATION ( sous windows) Nous utiliserons la distribution AMIENSPYTHON, basée sur Python 2.6 : Elle est portable, inclue une bibliothèque lycée utile en ISN, et un environnement de développement intégré Pyscripter francisé. Elle est téléchargeable à l'adresse http://amienspython.tuxfamily.org/download.html Attention les petites différences entre les versions Python 3.x et Python 2.x, les rendent incompatibles. Installation : choisissez l'emplacement voulu ( clef USB ou ordinateur), puis l installation se fera dans un dossier nommé «AmiensPython». Les pages suivantes sont inspirées entre autres des cours «Amienspython» ( Maille) et «Apprendre à programmer avec Python» ( Swinnen) librement téléchargeables et en lien sur le site http://isnpem.weebly.com/ L INTERFACE PYSCRIPTER est composée de plusieurs zones : Explorateur windows «Editeur» (écriture) du programme. «Console» : exécution d'instructions ou du programme Ex. 0 : Comme la coutume l exige, faire afficher par un premier programme le texte "Hello World" L exécuter ( Exécuter ou Ctrl F9 ou ) NOMS ET CARACTÈRES ACCENTUÉS Les noms de variables commencent par une lettre, mais ensuite on peut utiliser les caractères que l on veut, minuscules, majuscules, chiffres, etc. sans espace. Employez des noms de variables explicites. Les nom de fichiers doivent être sans accents. En général Python tolère mal les accents : un message d erreur peut survenir.

A) PREMIERS PAS EN PYTHON La gestion des espaces On peut sauter des lignes pour plus de clarté, ce n'est pas pris en compte en Python. Mais les espaces en début de ligne ( l indentation ) sont déterminants : Ils délimitent un bloc d instructions dans un test, une boucle,... La norme est de faire quatre espaces ou une tabulation Ex A1 : Deviner ce que fait ce programme. Vérifier en le tapant et en l exécutant. Les commentaires # ( «croisillon» ou «dièse») permet de d'écrire dans le corps du programme un commentaire non pris en compte lors de l'exécution du programme. # porte sur le reste de la ligne. Affectation - = signifie affecter une valeur numérique ou du texte dans une ( «boite» ) mémoire. - On peut faire des affections simultanées sur une seule ligne : a,b,..=5,12,... - On peut aussi échanger deux variables a,b=b,a Ex A2 : Deviner ce que font ces programmes, puis vérifier. Expliquer la différence. Entrée/ sorties print affiche la valeur d'une variable ou un texte ( entre guillemets). En Python3 on écrit print(..) Une virgule en fin de ligne, impose l'affichage d'après sur la même ligne. v=input ('question') affiche une fenêtre avec le texte 'question' et un zone ou on entrera la réponse. La réponse est alors affectée à la variable v. Ex A3 : Aire d'un rectangle Écrire un programme qui demande «Que vaut la largeur?» puis «Que vaut la longueur?» et affiche comme réponse «L'aire du rectangle vaut» suivi du résultat. Appeler le professeur pour validation

B) TESTS ET CONDITIONS if test : BLOC1 else : BLOC2 Effectue les instructions du BLOC1 si le test est vérifié, sinon effectue le BLOC2. Optionnel s'il n'y a rien à effectuer. NB : - Les deux points et l indentation sont obligatoires. - L'égalité dans un test doit s écrire = = - Différent s'écrit au choix <> ou!= - >= et <= désignent les inégalités larges - and, or, not désignent 'et' 'ou' et 'la négation' - S'il y a des conditions imbriquées on peut utiliser elif : au lieu de else :...if : Ex B1 : Premier jeu a) Quel jeu représente ce programme et comment fonctionne t il? b) Le modifier pour qu'il commence par afficher «Début du jeu de...» puis le texte «Indiquez la latitude» pour affecter la valeur de x, et «Indiquez la longitude» pour celle de y. a = 4 b = 7 print "À vous de jouer ( proposez deux entiers, un par un)" x = input() y = input() if x==a and y==b: print "Coulé" elif x == a or y == b: print "En vue" else: print "À l'eau" c) Amélioration pour les rapides : Faire afficher «Quel est votre age?» avant le Début du jeu, et «Ce jeu est déconseillé aux moins de 12 ans» si la réponse est inférieur à 12. Ex B2 : Solution de ax + b = 0 A partir de l'ex A1 faites un programme qui demande les coefficients a et b de l équation ax+b=0 et en donne la solution -b/a. Attention aux cas a=0 et b=0 Ex B3 : Indice IMC L'indice de masse corporelle ( IMC) se calcule par la formule IMC= masse taille 2 où la masse est en kg et la taille en m. On considère qu'une personne est de corpulence «normale» si cet IMC est compris entre 18,5 et 25. Elle est en surpoids si c'est au dessus de 25 et maigre si c'est en dessous de 18,5. Faire un programme qui demande la taille et le poids d'une personne, et propose ensuite des conseils ( «vous devriez faire du sport», «Votre poids est idéal continuez comme cela» ou «Faites vous plaisir allez au resto» Appeler le professeur pour validation Ex B4* : Supplément pour les rapides: signe du trinôme Faites un programme qui demande les coefficients d'un trinôme ax²+bx+c, et donne le signe du trinôme.

La boucle «tant que...» while test : BLOC C) BOUCLES Répète le bloc d instructions ( indenté) tant que le test est vérifié. NB: Il y a un risque de boucle infinie si la condition n est jamais remplie. Faire alors Ctrl F2 pour stopper le programme et le rectifier Ex C1 : Que fait le petit programme suivant? - Le modifier pour afficher les multiples de 11 inférieurs à 200. table=0 while table <=90: print table table=table+9 - Qu'à pour effet la modification suivante? Pourquoi? table=0 while table <=90: print table table=table+9 - Compléter le premier programme pour qu'il écrive «0 fois 11 vaut 0», puis «1 fois 11 vaut 11» et ainsi de suite jusqu'au dernier. Ex C2 : Punition. Faire un programme écrivant 100 fois «Je ne copie pas sur mon voisin», en numérotant les lignes. Ex C3 : Rebonds Une balle tombe d'une hauteur de 2 m et rebondi de 90 % de sa hauteur de chute. Elle ne rebondit plus si elle chute de 2 cm=0,02 m ou moins. Faire un programme calculant le nombre de rebonds de la balle. Afficher la hauteur des rebonds successifs. Ex C4 * : Fibonacci pour les rapides: La suite de Fibonacci est définie par u 0 =1 u 1 =1 puis u n =u n 1 +u n 2 pour tout entier n 2. Faire afficher la listes des termes de cette suite, inférieurs à 50 Appeler le professeur pour validation

La boucle «pour.» for i in range ( N ): Répète N fois le BLOC d instruction indenté, BLOC La variable i parcours automatiquement les entiers de 0 à N-1 On peut préciser jusqu'à trois paramètres : range (début,fin) et range (début,fin,pas) NB : Toute boucle «pour i allant de 1 à N» est en fait un cas particulier de boucle «tant que i <N» avec i= i+1 dans le BLOC d'instruction. Ex C5 : Calendrier Écrire un programme qui affiche «1 janvier», jusqu'à «31 janvier» Ex C6 : Tables de multiplications Écrire un programme qui affiche les tables de multiplications jusqu'à 10 sous la forme «1 x 1 = 1» jusqu'à «10 x 10 = 100». Attention il faudra imbriquer deux boucles. Ex C7 : Somme de carrés Faire afficher la liste et la somme des carrés des entiers jusqu'à 100, sous la forme: «0²+1²+2²+...+100² =... Appeler le professeur pour validation Ex C8* : Mini défi pour les rapides Écrire un programme qui affiche les 100 premiers nombres premiers Voici un extrait de l article sur les nombres premiers tiré de l encyclopédie en ligne wikipédia. «Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs (qui sont alors 1 et lui-même). Cette définition exclut 1, qui n a qu un seul diviseur entier positif. Par opposition, un nombre non nul produit de deux nombres entiers différents de 1 est dit composé. Par exemple 6 = 2 x 3 est composé, tout comme 21 = 3 x7, mais 11 est premier car 1 et 11 sont les seuls diviseurs de 11. Les nombres 0 et 1 ne sont ni premiers ni composés.» Opération utile : n%k donne le reste de la division de n par k. Ainsi si n%2 vaut 0, c'est que n est pair, et si n%k vaut 0 alors k divise n.

Éléments de réponses Pour vérifier, comparer ou si vous êtes bloqués A3 B1 from future import division from lycee import * a = 4 b = 7 age = input("quel est votre age?") if age >=12: print "Début du jeu de bataille navale" x = input("indiquez la latitude") y = input("indiquez la longitude" ) if x==a and y==b: print "Coulé" elif x==a or y==b: print "En vue" else: print "À l'eau" else : print "Ce jeu est déconseillé aux moins de 12 ans" B2 B3

B4 a,b,c=input("entrez les coefficient du trinome, separes par une virgule") delta=b*b-4*a*c if delta<0: if a>0: print ('P(x)>0 pour tout x réel') if a<0 : print ('P(x)>0 pour tout x réel') if delta==0: if a>0: print ('P(x)est positif pour tout x réel') if a<0 : print ('P(x)est négatif pour tout x réel') if delta >0: if a >0 : print ("P(x)>0 à l'exterieur des racines") if a <0 : print ("P(x)<0 à l'exterieur des racines") C1 C2 C3 C4 C5 C6 C7 C8