BCPST1
TM1314
Introduction a=a+1
Windows
Windows. Disque dur, arborescence des dossiers répertoires (folders, directories)
Représentation interne des nombres, adresse. Octet, Kilo-octet Mega-octet, Giga-octet, Téra-octet.
Introduction
Python est un langage de programmation très polyvalent.
De ce fait, il existe de multiples installations possibles de Python. L’utilisateur débutant peut donc se
sentir dérouté par l’absence d’une référence unique pour Python.
Depuis 2009, un nouvel environnement de développement scientifique pour Python est disponible.
Fortement inspiré par l'environnement de développement de MATLAB, Spyder (Scientific PYthon
Development EnviRonment) est l'outil idéal pour faciliter l’apprentissage de Python.
Pour plus de détails, veuillez visiter le site officiel de Spyder : http://code.google.com/p/spyderlib/
En pratique nous utiliserons la suite scientifique Anaconda qui rassemble tout le nécessaire pour
l’enseignement de Python : Spyder, le langage Python et ses modules scientifiques.
Téléchargement d’Anaconda : http://continuum.io/downloads
Environnement
BCPST1
TM1314
Spyder présente 2 panneaux que nous allons beaucoup utiliser: en bas à droite, un interpréteur
interactif Python (la console) , à gauche un éditeur pour écrire ses scripts Python.
Linvite (prompt) est >>> sous Python
Accès à l’aide : Se placer dans l’Inspecteur d’objets et taper le nom de la fonction exemple :
log
Variables dans Python
Une variable est représentée par un identificateur de variable (son nom) formé d'une chaîne
alphanumérique commençant par un des 26 caractères de l'alphabet. Exemples a, a1, toto...
Création d’une variable >>> v=1.234
On peut placer des commentaires après un #
>>> w=4.321 # création de la variable w
L’explorateur de variables permet connaitre leurs types, tailles et leurs valeurs
Il est possible (en se plaçant dans l’explorateur de variables) de supprimer une variable devenue
inutile
Les caractères accentués sont tous interdits dans Python
Autre écriture interdite >>>x(t)=5 (on écrira x=5)
L'affectation se fait par =
>>> a=2 ; b=3 #2 instructions sur la même ligne sont séparées par un ;
>>> a**b
>>> s=a+b
>>> s
>>> a=a+1
Le signe = ne signifie pas qu'il y a identité entre les deux membres. Il signifie que le résultat du second
membre (de droite) est stocké à une adresse référencée par la variable du premier membre. Ainsi, le
premier membre (à gauche) est toujours réduit à un identificateur de variable.
On dénombre dans Python plusieurs types de variables : les réels, les entiers, les chaînes de
caractères et les booléens (codés par False ou True).
Les nombres réels sont représentés par des nombres à virgule flottante.
Editeur de scripts
Interpréteur interactif
BCPST1
TM1314
En notation scientifique >>>1.34e3 représente 1340. Python travaille toujours avec des données en
double précision soit 8 octets.
>>>1e-323 1e-323 >>>1e-324 0.0
>>>1e309 inf >>>1e308 1e308
Python, une super calculatrice
Explorons d'abord les opérateurs + , - , * , / , ** et leur hiérarchie .
10-3*2 2*3**2 (2*3)**2 4/5*2 4/(5*2)
Une valeur approchée de est donnée par la constante prédéfinie de Python pi
Tester les quelques fonctions suivantes
calculer sqrt(81) puis log(2), log(e) et log10(10).
Calculer cos(pi/4) sin(pi/6) tan(pi/4)
Tester les fonctions trunc, round, floor et ceil pour les valeurs suivantes :
Fonctions
-1.9
-1.5
-1.1
1.1
1.5
Trunc
int
Floor
Ceil
Conclure sur les quatre fonctions testées
>>>round(1.23456,2) #arrondi avec 2 décimales
Autres fonctions
>>>int(12.3456) #partie entière
>>>a=factorial(5) #factorielle
Nombres complexes
La constante j est prédéfinie :
>>>x=1+2j
>>>y=3+1j
Testez les fonctions conj, real, imag, abs et angle sur x et y.
y=real(z) #array
Calculer l’argument des complexes suivants : 1, i, 1+i, 1-i,-1-i,-1+i à l’aide de la fonction atan (function
of math module) et comparer avec les résultats donnés par la fonction angle
Bibliothèque mathématique
>>>atan(-1)
>>>import math
>>>math.atan(-1)
Fonctions Scripts Vecteurs Matrices TD2
1) Fonctions et Scripts
Sélectionner votre répertoire de travail : (par exemple c:\bcpst1\nom)
Fonctions Ecrire les instructions suivantes dans l’éditeur de scripts
def ex1():
r = 5
area = pi*r*r
print(area)
BCPST1
TM1314
Pour exécuter ces instructions il faut appuyer sur la touche F5 et enregistrer le fichier dans votre
répertoire de travail en le nommant td1.py par exemple.
Ensuite, on repasse dans la console
>>>ex1()
78.5398163397
Si nous n’utilisions pas Spyder il faudrait écrire le programme ainsi :
def ex1():
import math
r = 5
area = math.pi*r*r
print(area)
Exercice 2
Soit T le trinôme défini par T(x) = a x2 + b x + c
Recopier et compléter le programme suivant dans td1.py (à la suite de la fonction ex1)
Exécuter le programme pour T(x) = 2,5.x2 + 3,4x 1,5
def ex2(a,b,c):
……. #calcul de delta
……. # calcul de x1
……. # calcul de x2
return x1,x2
Scripts
Exercice 3
Définissons deux variables a et b : >>>a=2, b=3
Ecrire un script permettant d’échanger les valeurs de a et de b
Exercice 4
Attention à la division
>>>5/3 #division réelle dans la console
Mais Lorsque l’on écrira des scripts ou des fonctions 7/3 ≠7./3
Tester le script suivant permettant de mettre en évidence cette particularité syntaxique
k=5/3; print 'k = :',k
f=5./3;print 'f = :',f
2) Vecteurs (matrice 1D), visualisation de vecteurs
Python dispose de plusieurs types de données pour représenter des matrices de données.
Nous nous intéresserons aux listes et aux tableaux.
Listes : une liste est un ensemble de valeurs modifiables séparées par des virgules
>>>a=[4,5,6]
>>>a
>>>a[0]
>>>a[0]=88 ;a
>>>a=a+[33] ;a #ajout d’un élément
>>>b=range(1,7,2) ;b # range(start,stop,step) le pas est nécessairement entier
Arrays (module Numpy) plus pratique pour les calculs, moins pratique pour les
manipulations que les listes
BCPST1
TM1314
>>> x2=array([[1,2,3]]); y2=array([[1],[2],[3]]) x2 et y2 sont des tableaux
x2 est un vecteur ligne, y2 est un vecteur colonne.
La function arange permet de créer des tableaux le pas n’est pas nécessairement entier
>>> w=arange( 1, 3, 0.5 ) #arange(start,stop,step)
>>>w #création d’un tableau de réels
>>> t=arange(0,2.5,0.1) ; t[0] ;t[1] ;t[24] ;t[25]
Remarque : si u=array([a,b,c]), v=sin(u) est le tableau ([sin(a),sin(b),sin(c)])
>>>t=arange(0,pi,0.02);
>>>s=cos(exp(t)) ;
>>>plot(t,s) # fonction plot du module matplotlib
Pour dnner un nom aux axes et au graphique, on peut utiliser les fonctions xlabel , ylabel et title.ou
cliquer sur l’icône « Edit curve line and axes parameters »
Enregistrer cette courbe figure_1.pngdans votre dossier. Exportez ce tracé sous Word (Insertion /
Image)
Tout tracé est formé d'un ensemble de points reliés par des segments de droite. Le premier vecteur
(ici t) est porté en abscisses, le second en ordonnées.
Testez >>>plot(s,t)
Rq : sous Python il y a superposition des graphes dans la fenêtre active.
Tracés superposés variante 1
On veut représenter sur une même figure les fonctions sinus et cosinus sur l'intervalle [0; pi].
Comme on l'a déjà remarqué, on ne représente pas des fonctions mais des vecteurs.
Il faut d’abord construire le vecteur des abscisses : t (déjà fait)
Il faut ensuite construire les deux vecteurs des ordonnées.
>>>s=sin(t); c=cos(t);
>>>plot(t,s,t,c) affiche les deux courbes dans une même figure.
Appuyer sur la touche f pour agrandir la fenêtre graphique
Tracés superposés variante 2
Représenter la fonction f(x)= x.sin x sur l'intervalle [-1..1]. On créera tout d'abord 2 vecteurs
abscisses x1 et x2 en prenant respectivement 5 points puis 1000 points puis 2 vecteurs ordonnées y1
et y2.
Comparer les tracés sur une même figure
Remarque : La fonction size renvoie la longueur d'un vecteur >>>size(y1)
3) Matrices
1 / 38 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 !