10/2013
MPSI 1
2013-2014
Informatique
Travaux pratiques
1 Spyder (Scientific PYthon Development EnviRonment)
Au lancement il y a trois fenêtres :
L’éditeur le lieu où lire et écrire les programmes.
L’explorateur/debogueur nous pouvons y lire la documentation, les valeurs des variables et débo-
guer ou parcourir l’arborescence des répertoires.
La console L’interpréteur Python vit ici.
Configuration ; préférences :
console décocher «ouvrir une console».
console IPython cocher «ouvrir une console IPython».
Menu «Affichage» «Disposition de fenêtres personalisées» «Basculer vers/depuis la disposition
1».
(revient à la configuration d’affichage d’origine).
Configuration MatPlotLib pour Spyder.
Menu «Outils» «Préférences» «console IPython» : la sortie graphique doit être mise à «Automa-
tique». Si l’on valide «plot()» une fenêtre graphique s’ouvre car matplotlib est chargé au démarrage de
Spyder. S’assurer que les modules externes «pylab» et «numpy» sont chargés au démarrage.
Lorsqu’un programme est présent dans l’éditeur, le raccourci-clavier pour l’exécuter est F5. Il aura
fallu probablement taper F6 pour ouvrir un interpréteur dédié et éviter ainsi le recours involontaire
aux modules déjà ouverts.
Note : rappelons qu’un terminal est un périphérique delié à un ordinateur, une console est un
terminal physique. La plupart du temps le terminal est une console, qui héberge un interpréteur de
script comme bash ou zsh, qui est en relation avec un clavier.
1
2 Règles d’écriture
Bonnes manières (pas toujours respectées, même dans ces feuilles).
Quelques règles d’écriture :
4 espaces par niveau d’indentation.
Pas de tabulations.
Ne jamais mixer des tabulations et des espaces.
Un saut de ligne entre les fonctions.
Deux sauts de ligne entre les classes.
Ne pas mettre trop de blancs (ne pas en mettre après ou avant des parenthèses, crochets ou
accolades)
Oui : spam(ham[1], eggs : 2) (spam, eggs, ham : c.f. sketch Monty Python)
Non : spam( ham[ 1 ], eggs : 2 )
Mais en mettre où il faut
Oui : if x == 4 : print x, y ; x, y = y, x
Non : if x == 4 : print x , y ; x , y = y , x
Oui : x = 2*x*y10
Non : x=2*x*y10
Mettre les noms des variables et fonctions en minuscules
Utiliser des majuscules pour les noms des classes.
Garder une taille de ligne inférieure à 80 caractères.
Utilisez la continuité implicite des lignes au sein des parenthèses/crochets/accolades ; i.e. si
une parenthèse est ouverte elle doit être fermée même si ce n’est pas sur la même ligne :
(un, deux , troi s
quatre , cinq )
3 Exercices
Exercice 1 Effectuer divers calculs avec des entiers, des flottants ou des complexes, par exemple :
29 // 7 (division entière)
— 3.14**20 (3.1420)
— (2+3j)*(11j) (nombres complexes)
2>4 et 2<3<4
Pour obtenir un résultat dans la console de Spyder il faut faire appel à print.
La vérification du code peut être effectuée par le programme pylint (dans le menu ou F8).
Exercice 2 Ouvrir un nouveau fichier (Ctrl+N). Taper dans l’éditeur : import time, puis la ligne : tictacs=time.time(),
et encore print(tictacs). Sauver le fichier sous le nom epoch_unix.py dans votre répertoire de travail.
Exécuter ces lignes avec F5.
Exercice 3 Types : déterminer les types des expressions suivantes.
1. 1>0
2. 2*3
3. "a"
4. type
5. print
2
6. sin
7. print(2)
Exercice 4 Écriture d’un programme Python.
# c a l cu l s des val eu rs de l a f onct io n l o g i s t i q u e
print ("cette fonction calcule les valeurs de la fonction logistique")
x = floa t (input ("Entrer un nombre compris entre 0 et 1 :" ) )
for iin range (10): # i var ie de 0 à 9
x = 3.9 *x*(1x ) # cal cul de la valeur suivante de x
print ( x ) # af fic ha ge
En Python 3, input renvoie une chaîne, il faut la convertir en flottant pour effectuer les calculs dans la
boucle.
La fonction range appliquée à
un entier n, renvoie l’intervalle 0,n1;
un couple d’entiers m,n, renvoie l’intervalle m,n1;
à un triplet d’entiers m,n,p, renvoie les éléments de la suite arithmétique de premier terme
n, de raison p, strictement inférieurs à n.
Si mnPython ne renvoit rien.
Note : Il est possible d’avoir accès à des fonctions permettant de communiquer avec le système
d’exploitation. Plus généralement, des fonctions supplémentaires spécialisées sont regroupées dans
des fichiers appelés modules. En particulier le module os contient une fonction qui affiche le réper-
toire courant. Le chargement est fait avec la fonction import :
import os # chargement de t ou te s l e s f onc ti ons du module os
rep_cour = os . getcwd ( )
Il est possible de ne charger qu’une fonction du module, par exemple :
from os import getcwd
ou
from math import sin
pour la fonction sinus.
Modifier le programme de sorte que l’on puisse entrer le nombre nd’itérations.
Exercice 5 Poser r=(1+sqr t(3) 1j)/2, après avoir importé la fonction sqrt et calculer r2+r+1.
Exercice 6 La fonction id donne l’identifiant (le code de la place en mémoire) de son argument.
1. Faire x=2, puis comparer id(2) avec id(x).
2. Faire y=x puis x=3 et id(y), quelle est la valeur de y?
Exercice 7 Conversions : c="2*3".
1. Quel est le type de c?
2. Convertir cen entier. La commande int(c) donne-t-elle le résultat attendu ?
3. Et eval("c") ou eval(c) ?
Exercice 8 Écrire un programme de calcul de n!puis un programme de calcul du produit des entiers
strictement positifs et pairs inférieurs ou égaux à n.
3
Exercice 9 La suite de Fibonacci est définie par u0=1, u1=1 et la relation de récurrence :
nN,un+2=un+1+un
Écrire un programme de calcul du Neterme de la suite.
Exercice 10 Soit aun nombre réel. La suite réelle (rn)n0est définie par son premier terme r0, non
nul et la relation de récurrence : si rn6= 0,
rn+1=1
2µrn+a
rn
Écrire un programme de calcul des N premiers termes de la suite. Faire le calcul pour a=1, a=4,
a=9 et a=p2 avec N =10.
Exercice 11 Utilisation du «débogueur» : écrire un programme (voir plus haut) ou celui-ci
#*coding : utf 8*
"""
N’importe␣quoi
@author:␣codeur␣masqué
"""
n = 20
k = 0
for iin range (n ) :
c = i *i
nk = k + c
k = nk
k = k**2400000*k
print ( k )
. Puis :
1. Lancement du débogueur Ctrl+F5 ou .
2. Exécuter la ligne en cours (Ctrl+F10) ou
3. Entrer dans la fonction (ou méthode de la ligne courante : Ctrl+F11) ou
4. Exécuter la fonction ou la méthode (Ctrl+Shift+F11) ou
5. Continuer l’exécution jusqu’au prochain point d’arrêt (Ctrl+F12) ou
6. Quitter le débogage (Ctrl+Shift+F12) ou .
La fenêtre «Explorateur de variables» permet de lire les valeurs des variables.
Bien entendu, les opérations ci-dessus ne sont jamais effectuées car nos programmes sont bien construits.. .
Tester le débogueur sur les programmes précédents.
Exercice 12 Écrire des boucles qui effectuent les actions suivantes
1. Calcul de xn;
2. Calcul de n!(bis) ;
3. Calcul du plus petit diviseur (strictement supérieur à 1) d’un entier (boucle while).
Exercice 13 Combien un caissier a-t-il de façons de rendre 23 eavec des pièces de 1,2,5 et 10 e?
Exercice 14 Écrire un programme qui calcule le développement en binaire d’un nombre écrit en dé-
cimal (boucle while). Afficher le résultat comme une chaîne de caractères.
4
1 / 4 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 !