langages de programmation - sloutfi.frsloutfi.fr/site_icn/langage_python.pdf · sous windows, pour...

38
Langages de programmation: s.loutfi

Upload: hadang

Post on 13-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Langages de programmation:

s.loutfi

Un ordinateur ne peut pas comprendre autre chose que le code binaire formé de "0" et de "1".

Exemple: le code binaire correspondant à une affectation simple telle que

A ß B + C . D est :

000100111011000101001010101010010000101010101010101010101010

Conclusion:Un humain peut difficilement lire ou rédiger un programme d'ordinateur écrit sous forme de "0" et de "1". s.loutfi

Ces langages, facilement compréhensibles par l’homme et écrits ( en anglais ) selon une syntaxe bien précise, sont traduits en suite en binaire.

Pour faciliter la communication entre l’ordinateur et l’homme, il a fallu inventer des nouveaux langages .

s.loutfi

La traduction peut se faire de deux manières différentes:

Le compilateur:Un compilateur prend le programme saisi par l'utilisateur et le traduit en code machine. L'ordinateur exécute alors le code machine.

L’ interpreteur:Ces programmes lisent le code source et le traduisent en langage machine à la volée.

Remarque:l'utilisation d'un interpréteur rendra l'exécution plus lente que pour un programme exécuté directement en langage machine. s.loutfi

Quelques langages :Langages de programmation compilés :•Java•C•C++•C# Langages de programmation interprétés :•Python•Ruby

Langages de programmation web :•JavaScript•PHP•HTML Langage pour les données :•SQL •MATLAB

s.loutfi

s.loutfihttp://apprendre-python.com/

üEn 1989, le hollandais Guido van Rossum a commencé le développement du langage de programmation Python.

üActuellement, Python en est à sa version 3.4 Le langage Python est gratuit, sous licence libre.

üPython est un langage multiplateforme, c'est-à-dire disponible sur plusieurs architectures (compatible PC, certains smartphones, Raspberry Pi...) et systèmes d'exploitation (Windows, Linux, Mac, Android pour smartphones...).

üPython possède plusieurs librairies permettant de faire :•du calcul scientifique (librairie NumPy)•des graphiques (librairie matplotlib)•du traitement d'image (librairie PIL)•des applications avec interface graphique (librairies Tkinter, wxPython, PyGTK ...)•des jeux vidéo en temps réel (librairie Pygame)•des applications Web (serveur Web Zope ; framework Web Django, Karrigell ; framework JavaScript Pyjamas)•interfacer des systèmes de gestion de base de données (librairie MySQLdb ...)•des applications réseau (framework Twisted)•communiquer avec des ports série RS232, Bluetooth... (librairie PySerial)

s.loutfi

Sous Windows, pour installer la version 3.4 de Python avec l'environnement de développement IDLE, il suffit de télécharger puis d'exécuter le fichier d'installation qui se trouve sur le site officiel : http://www.python.org/getit

Installation sous Windows :

Une fois installé, vous pouvez lancer IDLE en allant dans :Démarrer → Programmes → Python 3.3.2→ IDLE (Python GUI)

s.loutfi

C’est quoi IDLE ?

IDLE est un environnement de développement intégré ( Integrated Development Environment) pour Python.

Il propose un certain nombre d'outils :

•un éditeur de texte: pour écrire le programme.

•un interpréteur pour exécuter le programme.

•un débogueur pour tester le programme.

s.loutfi

Python en mode interactif

üLorsqu’on ouvre l’environnement IDLE on obtient une fenêtre appelée interpréteur (ou console, ou terminal, ou shell).

ü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.

Remarque: Les trois chevrons >>> forment ce que l’on appelle le « prompt » ou « invite » s.loutfi

Python en mode interactifIntroduisez les instructions suivantes puis valider en appuyant sur « Entrée ».Notez le résultat obtenu à chaque fois.

1. Opérations de base>>> 2+3>>> 2*3>>> 2**3>>> 5/2>>> 5//2>>> 5%2>>> 2-5*3

3. Affichage :

>>> print('hello')>>> print(hello)>>> print('2+3')>>> print(2+3)>>> print('la somme de 2+3 est :',2+3)

2. Variables:>>> age= 18>>> age>>> print('mon age est ',age,'ans')>>> nom='Dupond'>>> prenom='Pierre'>>> identite=nom+' '+prenom>>> identite

4. Types de variables:>>> a=5>>> type(a)>>> b=5.0>>> type(b)>>> c='hello'>>> type(c)>>> d=True>>> type(d) s.loutfi

Python en mode script

üLorsqu’on ouvre l’environnement IDLE on obtient une fenêtre appelée interpréteur (ou console, ou terminal, ou shell).

üLà nous pouvons utiliser le langage Python en mode script afin de sauvegarder nos programmes pour pouvoir les réutiliser:

FileàNew Window ( ouverture d’un éditeur de texte ).

s.loutfi

Python en mode script

üLancer Python en cliquant sur IDLE (Python GUI),üfaire File – New Window,ütaper le programme ci dessous,üle sauvegarder (File - Save as) : somme.pyüle lancer en appuyant sur F5.

Mon premier programme : Les entrées (input) ; sorties (print)

la fonction « input »

s.loutfi

Programmes à réaliserProgramme 1 : surface et périmètre d’un rectangleEcrivez un programme qui permet de calculer la surface et le périmètre d’un rectangle. L’utilisateur donnera la largeur et la longueur du rectangle .

Programme 2 : vitesse d’un mobile

Ecrivez un programme qui permet de calculer la vitesse d’un mobile. L’utilisateur donnera le distance parcourue ainsi que le temps de parcours.

Programme 3 : convertisseur de température

Ecrivez un programme qui permet de donner la valeur de température en Kelvin et en Fahrenheit. L’utilisateur donnera la température en degré Celsius.

Programme 4 : fiche d’adhérent

Ecrivez un programme qui permet après exécution de donner le résultat suivant:

s.loutfi

s.loutfi

Le module Turtle

Qu’est ce qu’un module?

Un module est un fichier dans lequel on range des fonctions se rapportant à une même application. Il est sauvegardé sous forme d’un fichier dont le nom a la forme nomdumodule.py

Pour utiliser un module, il faut l’importer. Pour cela il faut utiliser une des instructions suivantes au début du script :

ü from nomdumodule import * : permet d’importer toutes les fonctions du module.

Ou

üfrom nomdumodule import fonction : permet d’importer uniquement la fonction .

Comment utiliser un module?

Les modules dans Python:

s.loutfi

Le module Turtle:

ü C’est un module qui permet de réaliser des graphiques.

ü Le principe:

Une tortue virtuelle se déplace laissant derrière elle une trace qui représente le dessin.

Les déplacements de la tortue sont contrôlés par des instructions simples du genre : avance, recule.... et qui laisse une trace si le crayon est baissé....

Exemple de réalisation:

s.loutfi

Exemples de fonctions utilisées dans Turtle:

Pour plus d’info : http://docs.python.org/library/turtle.html s.loutfi

up () : lève le crayondown (): baisse le crayonforward (d): fait avancer la tortue de d, le trait est dessiné si le crayon est baissébackward (d): fait reculer la tortue de d, le trait est dessiné si le crayon est baissé : les distances sont en pixelsleft(a): fait pivoter la tortue d'un angle de a degrés vers la gaucheright (a): fait pivoter la tortue d'un angle de a degrés vers la droiteremarque: les angles sont en degrésreset (): nettoie la fenêtre de dessin, réinitialise la tortue: elle est située alors au centre de l'écran de dessin tournée vers la droite.color(c): la couleur par défaut est le noir. On peut changer en mettant une couleur: c doit être une chaîne prédéfinie “red” ,“green” ,“blue” ….bgcolor(c): modifie la couleur de fond (blanc par défaut).width(e): fixe la largeur du trait (en pixels)write (ch): permet d'écrire la chaine ch là où est la tortuedot(d,c): dessine un disque de diamètre d et de couleur c là où est la tortue.circle(r): trace un cercle de rayon r, le point de départ de la tortue appartient au cercle (attention il n'est pas centré sur la position de la tortue)circle(r,s): trace une portion du cercle correspondant à s degrés.shape(f) : où f est une forme permet de changer la forme du curseur ; f peut prendre les valeurs “turtle”, “classic” (valeur par défaut), “circle”, “square”, “triangle”, “arrow”.goto(x,y): la tortue va se positionner au point de coordonnées (x,y) (le dessin est tracé si le crayon est baissé).setheading(a): où a est en degré permet de fixer un cap absolu à la tortuespeed (vitesse): permet de fixer une vitesse à la souris. L'argument peut être 'fastest' 'fast' 'normal' 'slow' ou 'slowest' .position() : retourne les coordonnées de votre crayonsetx(integer) : se déplace à la coordonnée x spécifiéesety(integer) : se déplace à la coordonnée y spécifiéehideturtle() et showturtle() permettent de supprimer le curseur ou de le remettre

Prise en main de Turtle :

Dans un ficher nommé essai.py reprendre le

script ci-contre :

s.loutfi

Applications:

1. Réaliser le script qui permet de tracer la figure suivante:

• Le coté du carré mesure 100 px.

• Le premier carré est positionné a -300 px.

• Les carrés sont séparés de 10 px.

s.loutfi

2. Imaginez un procédé qui permet de simplifier le script précédent.

s.loutfi

Les boucles:

La boucle POUR ( for)

La syntaxe d’une boucle pour est la suivante :

Pour <variable> Allant de <valeur 1> à <valeur 2> faire<instructions>

Exemple 1 : Afficher 10 fois bonjour:

Le bloc <instructions> est indenté .

s.loutfi

La boucle Pour fait varier la valeur du compteur <variable> entre < valeur 1> et <valeur 2> . Après chaque itération, le compteur est incrémenté de 1 (valeur par défaut).

i : compteur

10: nombre d’itération

Print(‘bonjour’):corps de la boucle

s.loutfi

Exemple 2 :Afficher 6 fois un carré:

•Reproduire le script ci-dessous:

A faire ! :

1.Modifier le script précédent pour tracer 10 carrés verts de taille 50px, séparés de 25px.

2.Simplifier le script précédent en utilisant une seule fois les instructions left() et forward() dans une deuxième boucle for .

3.Modifier le script précédent pour tracer la figure ci-contre:

La boucle TANT QUE ( while)

La syntaxe d’une boucle tant que est la suivante :

Tant que <condition> faire<instructions>

Exemple :

Le bloc <instructions> est indenté .

s.loutfi

Les instructions sont exécutées tant que la condition est vraie.

üAfficher 10 fois bonjour:

i = 10 : initialisation du compteuri < 10 : conditioni=i+1: incrémentation du compteur.

üQue fait ce programme?

NB: Si pas de compteur la boucle sera sans fin car i sera toujours < 10!!Exercice : Refaire les exercices de la page précédente en remplaçant les boucles for par des boucles while.

s.loutfi

Les défis:

Réaliser les programmes qui permettent de tracer les figures suivantes:

s.loutfi

Les fonctions:

Utilisation des fonctions:

ü En Python une fonction est nommée définition. La syntaxe pour définir une fonction est la suivante:

s.loutfi

ü Lorsque la fonction est appelée, le bloc d’instruction est exécuté, et un résultat peut-être retourné à l’appelant grâce à l’instruction return (valeur )

ü lorsqu’une tâche doit être réalisée plusieurs fois par un programme avec seulement des paramètres différents, on peut l’isoler au sein d’une fonction .

Fonction qui calcule le carré de n

Retour des résultats

Retour du résultat dans un variable

Exemples d’utilisation des fonctions:

ü Appel d’une fonction dans un script enregistré dans un fichier (carre.py):

s.loutfi

ü Remarque: dans un programme, les fonctions sont écrites au début du script.

À tester

Utilisation des fonctions: suite de carrés1. Définissez une fonction TraceCarre(taille, position ) qui permet de dessiner un

carré. Cette fonction prend en arguments la taille du carré à dessiner et sa position

sur l'écran .

s.loutfi

Aide: Inspirez vous du script ci-dessous:

2. Utilisez la fonction TraceCarre(taille, position ) pour dessiner une suite de triangles

1. Définissez une fonction TraceTriangle(taille, position ) qui permet de dessiner un

carré. Cette fonction prend en arguments la taille du carré à dessiner et sa position

sur l'écran .

s.loutfi

Aide: Inspirez vous script ci-dessous:

2. Utilisez la fonction TraceTriangle(taille, position) pour dessiner une suite de

triangles

Utilisation des fonctions: suite de triangles

Applications:

s.loutfi

Comment tracer des figures dont le choix de la couleur se fait d’une

manière aléatoire.

Pour cela il faut créer une liste de couleurs et tirer une couleur

aléatoirement en utilisant le module random.

s.loutfi

Les listes:

Les listes

Créer une liste en python:

Qu’est ce qu’une liste en python :

Une liste ou un tableau (ou list / array) en python est une variable dans laquelle on peut mettre plusieurs variables.

s.loutfi

Liste constituées de différents types de variables

Liste qui contient une liste!!

Manipuler des listesIntroduisez les instructions suivantes puis valider en appuyant sur « Entrée ».Notez le résultat obtenu à chaque fois.

Les bases:>>> liste = [1,”a”,5,10.7]>>> liste>>> print(liste)

>>> liste[1]>>> liste[3]

>>> len(liste)

>>> liste[0]=‘B’>>> liste>>> liste.append(35)>>> liste>>> liste.remove(“a”)>>> liste

>>> liste=[23,6,78,100,55,7]>>> liste[-1]>>> liste[-4]>>> liste[:2]>>> liste[-3:]

>>> liste.sort()>>> liste

>>> liste.pop(2)

s.loutfi

http://www.tutorialspoint.com/python/python_lists.htm

s.loutfi

Le module random

Le module random

Le module random permet de générer des nombres aléatoires.

Pour l’utiliser, il faut l’importer.

randrange(n): permet d’obtenir un nombre entier compris entre 0(inclus) et n(exclus)

à tester en mode console

s.loutfi

Utilisation du module random

üQue fait le programme suivant?

üEcrire un programme qui permet de tracer un carré dont la couleur est tirée aléatoirement de la liste des couleurs.

üEcrire des programmes qui permettent de réaliser les figures suivantes:

s.loutfi

Pour les Lièvres!Réaliser des scripts permettant de réaliser les figures suivantes :

s.loutfi