Eléments de Programmation - TME 1
©Equipe enseignants 1i-001
UPMC – Licence 1 – 2014/2015
Table des matières
Prise en main de l’environnement idle 1
Dessins avec le module Turtle 5
Prise en main de l’environnement idle
Avant propos
1.
Allez sur le site web annuel de l’UE 1I001 dont l’adresse est http ://www-licence.ufr-info-
p6.jussieu.fr/lmd/licence/2014/ue/1I001-2014oct
2.
Ajoutez cette page dans vos favoris. Vous aurez à y venir souvent pour vous informer,
récupérer les morceaux de documents ou de programmes, ou soumettre vos travaux à la
fin de chaque séance de TME.
Premier pas en Python avec l’environnement idle
IDLE est un «ide» environnement de développement intégré (en anglais « Integrated Deve-
Lopment Environment ») pour le langage Python. Il est entièrement écrit en python et utilise
l’environnemnt d’interface graphique tkinter. Pour lancer l’application idle :
1.
avec le bouton droit de la souris, cliquez sur le fond de l’écran et choisissez «Terminal»
ou «Konsole» pour ouvrir une fenêtre shell (de commandes) vous permettant de taper
des commandes (du système d’exploitation Linux) et de les exécuter.
2. taper la commande idle suivi de la touche «Entrée» (ou «Return» selon votre clavier).
Vous voyez apparaître une fenêtre, qu’on appellera fenêtre de l’interpréteur, permettant d’exécuter
des instructions Python :
1
Cette fenêtre se distingue notamment par la présence de 3 chevrons
>>>
qui constituent l’invite
(ou prompt en anglais). Ils indiquent l’endroit où écrire les instructions que l’on veut donner à
l’interprète Python.
Question 1
À la suite de l’invite, tapez les expressions suivantes et étudiez la réaction de l’interpréteur :
42
type(42)
2.3
type(2.3)
True
type(True)
"chaine de caractères"
type("chaine de caractères")
3+2
6*2
6**2
2
10 >23
Question 2
Tapez successivement dans l’interpréteur Python les lignes suivantes :
"essai" == "essai"
"essai" == "essai "
"3" == 3
4== 5
4== 4
4== 2*2
Expliquez chacun des résultats obtenus.
Question 3
Écrivez les expressions qui permettent de :
calculer la division (réelle) de 42 par 5
calculer le quotient de la division euclidienne de 42 par 5
calculer le reste de la division euclidienne de 42 par 5
tester l’égalité entre 6et 23
calculer la valeur de l’expression arithmétique 233
52
tester le type de la valeur calculée précédemment (est-ce le résultat que vous attendiez ?)
calculer le maximum entre cette valeur et le nombre 10 (se servir de la carte de référence)
Question 4
Comme vous avez pu vous en apercevoir, la fenêtre précédente est très pratique pour tester
de façon réactive des instructions Python. Par contre, elle n’est pas idéale pour écrire des
programmes plus conséquents. Elle ne permet notamment pas de
sauvegarder
ce qui a été
tapé dans l’interpréteur, ni les résultats obtenus. Pour cela, on utilise alors une fenêtre d’édition.
1)
Commencez par ouvrir une fenêtre d’édition. Pour ouvrir une fenêtre d’édition, il suffit
de passer par le menu de la fenêtre de l’interpréteur :
«File»
«New Window» (ou bien «File»
«New File», ou alors utilisez la combinaison
des 2 touches du clavier <CTRL> N)
3
Ceci a pour effet d’ouvrir une nouvelle fenêtre, sans invite, dans laquelle on peut écrire un
programme complet :
Fenêtre d’édition
Dans cette fenêtre, recopiez la fonction
perimetre
vue en cours qui calcule le périmètre d’un
rectangle :
def perimetre(largeur, longueur):
"""int * int -> int
hypothèse : (largeur >= 0) and (longueur >= 0)
hypothèse : longueur >= largeur
retourne le périmètre du rectangle défini par sa largeur et sa longueur."""
return 2* (largeur + longueur)
2)
Enregistrez le programme dans un fichier en vous aidant du menu de la fenêtre d’édition :
— «File» «Save» (ou la combinaison des 2 touches du clavier <CTRL> S)
ou «File» «Save As. . . » (ou la combinaison des 3 touches <CTRL> <MAJ> S)
Cette étape est importante et réclamée avant toute exécution du programme.
ATTENTION :
Pensez à sauvegarder régulièrement vos programmes.
3) Exécutez votre programme en utilisant le menu :
— «Run» «Run Module» (ou utilisez la touche F5)
Vous aurez peut-être remarqué que l’interpréteur a repris la main. Celui-ci dispose désormais de
la fonction nouvellement définie
perimetre
. À la suite de l’invite, écrivez une expression qui
calcule le périmètre d’un rectange de largeur 4 unités et de longueur 5 unités.
Question 5
A la suite de la fonction précédente, dans la fenêtre d’édition, rajoutez la définition de la fonction
surface
qui calcule la surface d’un rectangle de largueur
l
et longueur
L
. Vous n’oublierez pas
de fourni un jeu de tests pour votre fonction.
Vérifiez ensuite le résultat de ce que renvoie votre fonction sur les exemples suivants :
>>> surface(1,4)
>>> surface(2,0)
>>> surface(3,4)
Attention : n’oubliez pas de sauvegarder votre fichier avant d’exécuter le pro-
gramme.
4
# jeu de tests :
assert surface(0,0)==0
assert surface(0,10)==0
assert surface(10,0)==0
assert surface(1,1)==1
assert surface(10,20)==200
Dessins avec le module Turtle
Premiers dessins 2D avec turtle
Dans cet exercice, nous proposons de dessiner avec quelques outils du module turtle.
Module graphique Turtle
Avant toute utilisation et comme tout autre module, il faut d’abord l’importer avec la déclaration
suivante :
import turtle
On peut par exemple écrire ensuite turtle.home(), etc.
Le module
turtle
utilise l’algorithme du peintre pour peindre : toute nouvelle couche de dessin
couvre les anciennes.
Par défaut, les angles sont en degrés avec le sens trigonométrique (sens inverse d’une horloge) et
l’origine (0,0) est placée au centre de la fenêtre d’affichage.
Au début, la pointe du crayon (présentée par la tête d’une flèche de couleur noire par défaut)
est placée à l’origine et orientée à 0 degré.
Opérations du module Turtle
Voici une sélection de quelques fonctions choisies du module
turtle
(turtle methods en anglais).
turtle.home :-> NoneType
turtle.home()
permet de déplacer la pointe du crayon à l’origine (0
,
0) et réoriente le crayon à
0 degré.
Attention
: si le crayon est baissé,
home()
dessine un trait partant du point courant si ce
dernier n’est pas à (0,0) vers le point (0,0).
turtle.pos :-> tup[Number, Number]
turtle.pos() rend le couple correspondant à la position du point courant.
turtle.up :-> NoneType
5
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !