Initiation à la programmation en Python



Documents pareils
TP 1. Prise en main du langage Python

Chapitre 2 Devine mon nombre!

Présentation du langage et premières fonctions

Cours d algorithmique pour la classe de 2nde

Algorithmique avec Algobox

I. Introduction aux fonctions : les fonctions standards

Représentation d un entier en base b

STAGE IREM 0- Premiers pas en Python

Découverte de Python

Les chaînes de caractères

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

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

V- Manipulations de nombres en binaire

1 Recherche en table par balayage

ACTIVITÉ DE PROGRAMMATION

Le chiffre est le signe, le nombre est la valeur.

L informatique en BCPST


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

EXCEL TUTORIEL 2012/2013

2 Comment fonctionne un ordinateur, dans les grandes lignes

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

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 avec Algobox

Recherche dans un tableau

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

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

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

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

Licence Sciences et Technologies Examen janvier 2010

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

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

Algorithmique et programmation : les bases (VBA) Corrigé

4. Groupement d objets

Algorithmique et Programmation, IMA

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

Rappels sur les suites - Algorithme

Python - introduction à la programmation et calcul scientifique

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

Chapitre 4 Pierre, papier, ciseaux

Cours Informatique Master STEP

CORRECTION EXERCICES ALGORITHME 1

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Logiciel de Base. I. Représentation des nombres

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Initiation à LabView : Les exemples d applications :

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

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

1. Structure d'un programme FORTRAN 95

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours d Informatique

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

I00 Éléments d architecture

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

Découverte du tableur CellSheet

MODE OPERATOIRE OPENOFFICE BASE

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Les différents types de données et leurs opérations de base

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Solutions du chapitre 4

Initiation à l algorithmique

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

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

Langage Java. Classe de première SI

Glossaire des nombres

SOMMAIRE. 1. Préambule Le calendrier Trajectoire d un objet lancé Régression linéaire...9

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

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

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

Le langage C. Séance n 4

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Une version javascript sera disponible directement dans le cours prochainement.

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

Calcul Formel et Numérique, Partie I

1. Introduction Création d'une requête...2

YAPBA M. Logiciel libre de suivi de vos comptes

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

TP, première séquence d exercices.

Cours 7 : Utilisation de modules sous python

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Note de cours. Introduction à Excel 2007

Bureau N301 (Nautile)

Examen Médian - 1 heure 30

avec des nombres entiers

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

EVALUATIONS MI-PARCOURS CM2

ALGORITHMIQUE ET PROGRAMMATION En C

Transcription:

I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de l'exécution d'un programme sera précédé du symbole. Exemple : print 'Bonjour' Bonjour... signifie qu'il faut compléter en recopiant ce qui apparaît sur l'écran. II-Entrées, Sorties et Variables 1. Sortie Pour permettre au programme en cours d'exécution d'afficher un texte ou un nombre on utilise la commande print. Exemples : Dans le mode interactif d'idle, taper les exemples suivants. print 'Bonjour' print 2 print Au revoir...... File "<stdin>", line 1 print(au revoir) SyntaxError : invald syntaxe Le dernier exemple correspond à une erreur. Les textes (chaînes de caractères) que l'on souhaite afficher doivent être écrits entre des guillemets(" ou '). 2. Entrées Afin de pouvoir dialoguer avec un programme en cours d'exécution, il est parfois nécessaire de donner une valeur (en utilisant le clavier) que demande le programme. Exemple 1 : n=input("entrer un nombre : ")... A ce niveau, le programme attend que l'utilisateur entre un nombre au clavier. Si, par exemple on tape 4, alors dans toute la suite du programme, la variable n sera égale à 4. Attention : Le signe «=» n'est pas le signe égal au sens mathématiques. Il permet de donner une valeur à une variable. On peut voir n=4 comme n 4. Exemple 2 : n=input("entrer votre nom : ") Entrer votre nom : Que se passe-t'il lorsque vous rentrez votre nom?... En fait, vous rentrez une chaîne de caractères, il faut donc la rentrer avec des guillemets. Réessayez avec des guillemets. À la place de input(), on peut utiliser l'instruction raw_input(), qui renvoie toujours une chaîne de caractères. Faites l'essai en rentrant votre nom sans guillemets cette fois. 3. Variables Dans tout programme informatique, on utilise des lettres. Une lettre peut être égale à un nombre, un texte. On les appelle les variables. 1

Exemple 1 : Le programme suivant demande à un utilisateur de rentrer une valeur et affiche en sortie le carré de cette valeur. n=input("entrer un nombre : ") p=n*n print 'Le carré de ce nombre est :',p n et p sont deux variables, la première est égale au nombre que choisit l'utilisateur. L'instruction p=n*n affecte à la variable p le nombre n n=n². Exemple 2 : Le programme suivant demande à un utilisateur de rentrer son prénom et en retour lui dit bonjour. prenom=raw_input("entrer votre prenom : ") print 'Bonjour',prenom prenom est une variable qui contient le prénom que choisit de rentrer l'utilisateur. Exemple 3 : Taper la séquence suivante : n=3 phrase="bonjour tout le monde" pi=3.14159 print n print phrase print pi Exemple 4 : Taper la séquence suivante : a=23 a=a+1 print a... a=a-10 print a... b=4 Que constate-t'on? b+=1 print b... m,n=0,4 print m print n Python permet les affectations multiples. À la variable n, on affecte l'entier 3 ( n 3) À la variable phrase, on affecte la chaîne de caractères Bonjour tout le monde. À la variable pi, on affecte le nombre réel 3,14159 À quoi correspond l'instruction a=a+1?......... c=6 Que constate-t'on? c-=3 print c... a,b,c=-6,5,3 Prévoir les valeurs de a, b et a=a+b c et vérifier avec l'instruction c=b-c print a,b,c. b+=a a=... b=... c=... III-Calcul avec Python Taper les calculs suivants : 3+5 5*12 5-12 5-5*3 (5-5)*3 20/7 20.0/7..................... Attention : La division est une division entière. Le calcul 20/7 donne la partie entière du quotient 20 7. Pour obtenir une valeur approchée, l'un des deux nombres doit comporter une virgule : 20.0/7 ou 20/7.0. Taper les calculs suivants : 2**3 4**2 À quoi correspond l'opérateur **?......... 2

En résumé : Addition : 4+6 Soustraction : 10 23 Multiplication :5*44 Division entière : 16/5 Division approchée : 16.0/5 Calcul de puissances : 2**3 Exercice : Effectuer les calculs suivants : 4 21 2 4 4 3 2 5 0,25 (réponse : 312,75) 34 4 12 16 2 3 1 4 (réponse : -9,05) IV-Premiers programmes Avec IDLE (ou avec un autre éditeur), ouvrez le fichier Moy3.py. Le script est ci-dessous : note1=input ("Entrer la première note : ") note2=input ("Entrer la deuxième note : ") note3=input ("Entrer la troisième note : ") moy=(note1+note2+note3)/3.0 print 'La moyenne est :',moy Essayez de comprendre ce que fait ce programme, puis exécutez le en appuyant sur la touche F5. Que fait ce programme?... Exercices : Dans IDLE : File, New window puis enregistrez avec l'extension.py. 1 Écrire un programme qui demande la base b et la hauteur h d'un triangle, puis qui calcule et affiche l'aire du triangle. 2 Écrire un programme permettant de calculer le volume d'un cylindre. Vous aurez besoin de, votre programme devra commencer par : from math import pi ( sera appelé pi dans le programme). 3 Écrire un programme permettant de calculer la TVA (19,6 %) sur un prix HT (Hors Taxe) donné et de calculer le prix TTC (Toutes Taxes Comprises). (PTTC=PVHT+TVA.) 4 Connaissant deux nombres a et b, écrire un programme qui rend leur quotient entier q et leur reste r définis par a=bq r, avec r=0 ou r b (division euclidienne). 5 Écrire un programme qui demande trois nombres a, b et c et qui effectue une permutation circulaire, donc rend c, a, b (la valeur de c doit être dans la variable a, la valeur de a dans la variable b et la valeur b dans la variable c, la dernière ligne du programme est : print 'Les nombres permutés sont :',a,b,c). V-Boucle for... in 1. Commande range() La commande range(n) retourne sous la forme d'une liste les n premiers entiers. Exemple : Dans IDLE en mode interactif. range(5)... 3

2. Instruction for... in... La commande for... in... est une instruction itérative qui répète les mêmes instructions plusieurs fois. Exemples : décalage obligatoire Dans IDLE en mode interactif. for x in [1,2,3]: for n in range(5): for k in range(5): print x print n, print k taper deux fois «Entrer» pour sortir de la boucle......... Remarque 1 : Noter ci-dessus la différence d'affichage entre les deux premiers exemples, différence provoquée par la virgule après n. Remarque 2 : Le dernier exemple correspond à une erreur d'indentation : la commande print k, doit être décalée afin d'être considérée comme faisant partie du bloc for... in. Pour cela on utilise la touche de tabulation. Avec IDLE (ou avec un autre éditeur), ouvrez le fichier SommeNentiers.py. Le script est ci-dessous : # -*- coding: utf-8 -*- S=0 n=input ('Entrer N : ') for i in range (1,n+1): # le «1» dans l'instruction range pour commencer à 1 et non à 0 S=S+i print 'La somme des',n,'premiers entiers est :',S Essayez de comprendre ce que fait ce programme, puis exécutez le en appuyant sur la touche F5. Que fait ce programme?...... Exercices : Dans IDLE : Files, New puis enregistrez avec l'extension.py. 6 Écrire un programme qui demande le nombre de notes, puis calcule la moyenne. 7 Écrire un programme qui demande un nombre n, puis qui affiche tous les nombres pairs inférieurs ou égaux à n. VI-Test if 1. Instruction if(...): La commande if (...): permet de tester le contenu d'une variable et exécute une série d'instructions si les conditions sont remplies. Exemples : if (3>0): n=raw_input("choisissez un nombre :") print '3 est supérieur à 0' n=float(n) décalage if (n>0): obligatoire... print 'Le nombre choisi est positif' print 'Fin du programme' Remarque : Dans le deuxième exemple, raw_input renvoyant une chaîne de caractères, l'instruction float() convertit cette chaîne en un nombre réel. On aurait pu écrire encore plus rapidement : n=float(raw_input("choisissez un nombre :")). On peut utiliser l'instruction int() pour les entiers. Faire un essai avec un nombre positif, puis avec un nombre négatif et observer ce qui se passe. 4

2. Critère de divisibilité Le résultat de l'opération a%b est le reste de la division euclidienne de a par b. Faire les exemples suivants en mode interactif. Exemples : 5%2 24%4 321%13......... car 5 = 2 2 + 1 24 = 4 6 + 0 321 = 13 24 + 9 Tester le programme suivant en mode interactif: if 234%6==0 : print '234 est un multiple de 6'... Que fait ce programme?......... 3. Tester la valeur d'une variable contenant un nombre Si n désigne une variable contenant un nombre alors : Test en français Si n est égal à zéro Si n est positif Si n est différent de 34 Si n est compris strictement entre 0 et 10 Si n est divisible par 5 Écrit en langage Python if (n==0): if (n>0): if (n!=34): if (n>0) and (n<10): if (n%5==0): Exemple : for n in range(1001): if n%5==0: print n, Que fait ce programme?... 4. Tester plusieurs valeurs d'une variable Il est parfois utile de tester plusieurs valeurs d'une même variable pour poursuivre l'exécution d'un programme. Exemple : Le programme suivant demande à un utilisateur de choisir un nombre. En fonction du nombre choisi, le programme affiche différents messages. Exercices : n=input("entrer un nombre : ") if n<0: Si (if) n est négatif, alors on l'affiche print 'Le nombre est négatif' elif n==0: Sinon si (elif) n est égal à zéro, alors... print 'Le nombre est égal à zéro' else: Sinon (else) forcément n est positif. print 'Le nombre est positif' 8 Écrire un programme qui demande deux nombres et rend le plus grand. 5

9 Écrire un programme qui demande deux nombres à l'utilisateur et l'informe ensuite si le produit est négatif ou positif. Attention, on ne doit pas calculer ce produit. 10 Écrire un programme qui demande à un client le montant de ses derniers achats dans un supermarché. En fonction de la somme dépensée, il l'informe de sa remise et la calcule : Si la somme dépensée est inférieure à 50, il obtient 3 % de remise. Si la somme dépensée est comprise entre 50 et 100, il obtient 5 % de remise. Si la somme dépasse 100, il obtient 7% de remise. 11 Écrire un programme qui pose 5 questions notées sur deux et qui rend la note sur 10. VII-Boucle While Voici un exemple de programme utilisant la boucle while : a=3 Ce programme affiche tous les nombres entiers compris entre 3 et while (a<11): 10. print a, L'instruction a=a+1 remplace la valeur entière de a par le nombre a=a+1 entier suivant. On dit que la variable a est incrémentée d'une unité. Le mot while signifie "tant que" en anglais. Cette instruction utilisée à la deuxième ligne signifie que Python doit répéter le bloc d'instruction tant que a est plus petit que 11. Écrire le programme suivant : n=input ('Combien de notes avez-vous? ') a=1 S=0.0 # 0.0 pour bien spécifier que S est un nombre réel et pas seulement un entier while (a<=n): numero=str(a) # str() transforme le nombre a en chaîne de caractère note=input ('Entrer la note '+numero+' : ') S=S+note a=a+1 moy=s/n print 'La moyenne est :',moy Avant de l'exécuter, essayez de deviner à quoi sert ce programme :...... Exercices : 12 Écrire le programme suivant en utilisant une boucle while au lieu de la boucle for... in : for n in range(1001): p=1000-n if p%5==0: print p, 13 Écrire un programme qui détermine la moyenne d'un ensemble de notes sans savoir au départ combien il y aura de notes entrées. Le test d'arrêt peut être l'entrée d'un nombre négatif. 14 Écrire un programme qui demande un nombre compris entre 123 et 773, puis détermine si ce nombre est un multiple de 9. Ce programme doit prévoir le cas où l'utilisateur ne respecte pas ce qu'on lui demande. 6

15 Écrire un programme calculant le volume d'un cône de révolution à partir du rayon de la base et de la hauteur. Ce programme doit prévoir le cas où l'utilisateur saisit des données absurdes (rayon ou hauteur négative). Pour : from math import pi (voir exercice 2). 16 Écrire un programme dont le but est de faire deviner un nombre entier compris entre 0 et 100 choisi par l'ordinateur. À chaque essai, le programme devra rendre «Gagné!» si le nombre a été deviné, ou «Trop petit» ou «Trop grand» suivant la position du nombre proposé. On pourra également donner le nombre d'essais. Le programme commencera par : from random import randrange alea=randrange(101) La fonction randrange renvoie un nombre entier, randrange(101) renvoie un nombre entier compris entre 0 et 100. 17 Le programme suivant permet d'afficher les dix premiers termes de la suite de Fibonacci. Il s'agit d'une suite de nombre, dont chaque terme est égal à la somme des deux termes qui le précèdent. Analyser ce programme et compléter le tableau d'états qui suit. a,b,c=1,1,1 while c<11: print b, a,b,c=b,a+b,c+1 Tableau d'états Variables a b c Valeurs initiales 1 1 1 Valeurs prises successivement, au cours des itérations 1 2 2 2...... Expression de remplacement b a+b c+1 Taper le programme et l'exécuter, puis vérifier avec le tableau. VIII-Listes en Python Une liste est une collection d'éléments séparés par des virgules, l'ensemble étant enfermé dans des crochets. 1. Un exemple Dans IDLE, taper : jour=['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi'] print jour[0] print jour[2] print jour[4]......... Les éléments de la liste sont ordonnés. Leur numéro est appelé indice. Attention, la numérotation commence à 0! 7

On peut remplacer, ou modifier certains éléments d'une liste : jour[3] = 'juillet' print jour... 2. Fonctions intégrées La fonction intégrée len( ) renvoie La fonction del( ) permet de supprimer un élément le nombre d'éléments d'une liste : quelconque à partir de son indice : len(jour) del(jour[4]) print jour...... 3. Méthodes On peut utiliser des méthodes de l'objet liste. Par exemple la méthode append(). Append signifie "ajouter" en anglais : jour.append('samedi') print jour... Une méthode est "appliquée" par un point. Il existe d'autres méthodes pour les listes. Entre autres : sort() qui trie les éléments dans l'ordre croissant, reverse() qui inverse l'ordre des éléments de la liste, index() qui retrouve l'indice d'un élément, remove() qui enlève un élément, etc. jour.index('mardi') jour.remove('mercredi') 4. Exercices...... 18 Soient les listes : t1=[31,28,31,30,31,30,31,31,30,31,30,31] et t2=['janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']. Écrire un programme qui crée une nouvelle liste t3. Celle-ci devra contenir tous les éléments des deux listes en les alternant, de telle manière que chaque nom de mois soit suivi du nombre de jours correspondant : ['Janvier', 31, 'Février', 28,...]. 19 Écrire un programme qui affiche "proprement" tous les éléments d'une liste. Par exemple, pour la liste t2, on devrait obtenir : Janvier Février Mars Avril... 8