TP 1 - Free

Transcription

TP 1 - Free
TP 1 : Introduction à Python et Spyder, variables et fonctions
Mise en place de l’environnement Spyder
;
• Lancer P YTHON (x,y)
• Cliquer sur l’icône S PYDER
et attendre que S PYDER apparaisse (c’est un peu long) ;
• Aller dans Affichage/Fenêtres et barres d’outils et selectionner (uniquement) :
✓
✓
✓
✓
✓
Éditeur
Explorateur de variables
Consoles
Barre d’outil fichiers
Barre d’outil exécution
• Aller dans Outils/Préférences :
– Dans l’onglet Répertoire de travail global, sélectionner Le répertoire suivant, puis définir
un nouveau répertoire TPinfo dans Mes documents,
– Dans l’onglet Éditeur/Affichage, choisir une police de taille minimale 11 et choisir le
thème de coloration syntaxique Scintilla,
– Dans l’onglet Console/Affichage, choisir une police de taille minimale 11,
– Dans l’onglet Console/Options avancées, sélectionner Script PythonStartup par défaut ;
• Aller dans Fichier/Enregistrer la session et quitter, choisir spyder.session comme nom de
fichier et l’enregistrer dans le répertoire Mes documents ;
B Si vous vous connectez sur un autre ordinateur, vous ne retrouverez pas votre configuration
de S PYDER mais vous pourrez la récupérer à partir de Fichier/Charger une session en allant
chercher le fichier spyder.session dans Mes documents ;
• Relancer S PYDER ;
• Lancer Firefox, aller sur http://alexandre.boisseau.free.fr, choisir Informatique PCSI
1 et enregistrer la page dans les signets ;
• Dans Documentations, choisir P YTHON et enregistrer la page dans les signets.
Les exercices
⋄ À traiter dans l’ordre. Le symbole ✎ indique une question qui ne fait pas appel à l’ordinateur (à
résoudre avec papier et crayon).
Exercice 1 ( P YTHON comme une calculatrice) : Taper les commandes suivantes dans une console
(ouvrir une nouvelle console si-besoin) et noter ce qui se passe (le symbole ↵ désigne la touche
Entrée, par la suite on ne l’indiquera plus) :
5+3↵
2-9↵
7+3*4↵
(7+3)*4↵
3**3↵
3**0.5↵
5/2↵
BL’opération / appliquée à des entiers réalise une division entière
5.0/2↵
5/2.0↵
float(5)/2↵
4*2.5/3↵
Les commandes suivantes définissent et utilisent des variables (regarder ce qui se passe dans l’explorateur de variable au fur et à mesure) :
x=10↵
x=x+1↵
largeur=20↵
hauteur=5*9.3↵
v=largeur*hauteur↵
print v↵
largeur=10↵
print v↵
Astuce : x=x+1 peut aussi s’écrire x+=1. Pour finir, tester les commandes :
type(largeur)↵
type(hauteur)↵
type(v)↵
Exercice 2 (Un premier programme : aire d’un disque) :
(a) Aller dans le menu Fichier puis Nouveau fichier. Taper le programme suivant dans l’éditeur
(laisser tel quel les lignes écrites au début du fichier par S PYDER) :
from math import pi
r=input("Entrez le rayon du disque : ")
s=pi*r**2
print "L'aire du disque est", s
Enregistrer le programme (menu Fichier) dans le répertoire approprié et en lui donnant un
nom pertinent. Lancer le programme (F5) et sélectionner les choix suivants :
• Exécuter dans un nouvel interpréteur P YTHON dédié ;
• Intéragir avec l’interpréteur P YTHON après l’exécution.
BÀ retenir : ce sont les choix que l’on fera systématiquement.
(b) Que représentent les variables r et s ? Que font les commandes input et print ? Supprimer
la ligne from math import pi et lancer à nouveau le programme, que se passe-t-il ?
Exercice 3 (Une première fonction : canette optimale) : On considère un cylindre de hauteur h et de
rayon r . On note S sa surface (c’est la somme de la surface latérale et de la surface des deux disques).
(a) Créer un nouveau programme qui demande h et r et qui calcule, puis affiche, la surface du
cylindre de rayon r et de hauteur h. Enregistrer ce programme (en lui donnant un nom approprié) puis l’exécuter.
(b) Modifier le programme précédent pour qu’il demande h mais plus r : r est calculé en fonction
de h de sorte que le volume du cylindre soit 0.33.
(c) Tester ce programme pour quelques valeurs de r .
(d) En faisant quelques essais, trouver la hauteur d’un cylindre de 33 cl dont la surface est minimale (indication : chercher entre 7 et 8 et obtenir une précision d’un chiffre après la virgule).
(e) On peut présenter les calculs précédents sous forme d’une fonction :
from math import *
def surf_canette(h):
# h : hauteur de la canette (cm)
# Résultat : surface de la canette de hauteur h, rayon r
# r choisi de sorte que le volume soit 330 cm^3=33cl
v=330
r=sqrt(v/pi/h)
return 2*pi*r**2+2*pi*r*h
Écrire cette fonction dans un nouveau programme, l’enregistrer sous un nom approprié puis
l’exécuter. Taper ensuite dans la console :
surf_canette(5)
surf_canette(6)
surf_canette(7)
surf_canette(8)
surf_canette(9)
⋄ Astuce : dans une console, appuyer sur la touche ↑ (flèche vers
le haut) permet de répéter (et éventuellement modifier) les commandes entrées précédemment.
Retrouver avec quelques essais dans la console la valeur de h pour laquelle la surface est minimale.
(f ) ✎ Justifier mathématiquement la valeur obtenue à la question précédente.
⋄ Pour représenter graphiquement une fonction, par exemple la fonction surf_canette précédente sur l’intervalle [1, 15], on utilisera les commandes suivantes (dont la signification sera vue
ultérieurement) :
import numpy as np
import matplotlib.pyplot as plt
plt.clf()
hv=np.linspace(1,15,100)
plt.plot(hv,[surf_canette(h) for h in hv])
800
700
600
500
400
300
plt.show()
200
0
2
4
6
8
10
12
14
16