0% ont trouvé ce document utile (0 vote)
31 vues2 pages

A. Exercices D'écriture

Le document présente un TP de programmation pour les étudiants de l'Université de Lome, avec des exercices d'écriture en Python portant sur des concepts mathématiques tels que le calcul d'aires, la vérification de nombres premiers et la méthode d'Euler pour résoudre des équations différentielles. Les étudiants doivent soumettre un rapport et un fichier Python par email. Le TP inclut également des tâches de modélisation et de représentation graphique des solutions approchées et exactes.

Transféré par

Elie Ayefouni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
31 vues2 pages

A. Exercices D'écriture

Le document présente un TP de programmation pour les étudiants de l'Université de Lome, avec des exercices d'écriture en Python portant sur des concepts mathématiques tels que le calcul d'aires, la vérification de nombres premiers et la méthode d'Euler pour résoudre des équations différentielles. Les étudiants doivent soumettre un rapport et un fichier Python par email. Le TP inclut également des tâches de modélisation et de représentation graphique des solutions approchées et exactes.

Transféré par

Elie Ayefouni
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

r

Université de Lome TP PHY330: TP1 03H

i to
A la fin de l’examen, vous rendrez un rapport individuel, écrit à la main ou saisi avec les réponses aux
questions ci-dessous. Rapport + fichier .py à envoyer par mail à [email protected] .

Ed
A. Exercices d’écriture
1 - Demander le rayon r d’un cercle à l’utilisateur, et afficher son aire.
2 - Demander un nombre entier n à l’utilisateur, et afficher tous les nombres entiers qui divisent n.
On rappelle qu’un entier p divise n si le reste de la division de n par p (n % p) est nul.
3 - Écrire une fonction qui prend en paramètre une liste, et retourne la somme des carrés de tous les

DF
éléments de la liste. Par exemple, f([3, 7, 1]) retourne 59 (9 + 49 + 1).
4 - Écrire une fonction prem(n) qui retourne True si n est premier, et False sinon. On rappelle
que n est premier s’il a exactement 2 diviseurs. Par exemple, prem(1) retourne False, prem(2)
retourne True, prem(3) retourne True, prem(4) retourne False, etc.
5 - Écrire une programme qui calcule les n premiers éléments de la suite de fibbonacci. La suite de
Fibonacci est une suite d’entiers dans laquelle chaque terme est la somme des deux termes qui le

rP
précèdent. Elle commence généralement par les termes 0 et 1 (parfois 1 et 1) et ses premiers termes
sont : 0, 1, 1, 2, 3, 5, 8, 13, 21, etc.
6 - Écrire le script convertir.py , qui effectue une conversion euros en dollars. Le programme com-
mencera par demander à l’utilisateur d’indiquer par un caractère ’E’ ou ’$’ la devise du montant
qu’il va entrer.
te
7 - Etant donné l’équation du second degré ax2 + bx + c = 0, écrire une fonction racines(a,b,c) qui
renvoie les solutions de cette équation. Les solutions doivent être des réels quand les racinces sont
réels, sinon complexes.
as

B. Methode d’Euler
On cherche à approcher la solution y de l’équation y 0 (t) = f (t, y(t)) à partir d’une discrétisation de
l’intervalle [a, b].
M

b−a
On pose h = , où N est un entier et h le pas, que l’on cherche le plus petit possible afin d’obtenir
N
une meilleure approximation de y. On obtient ainsi une liste des tk = a + kh, k ∈ [0, ..., N ].
La méthode d’Euler consiste à calculer successivement les valeurs approchées yk de y selon le schéma
suivant :
in

y0 = y(a)
yk+1 = yk + hf (tk , yk )
ed

1. Écrire une fonction calculant les N + 1 valeurs yk :


def euler(f,a,y0,b,N) :
.......
return la liste des yk
2. Tester la fonction précédente sur [0, 1] avec l’équation y 0 = 2y et la condition initiale y(0) = 1 pour
at

différentes valeurs de N .
3. Trouver la solution analytique de l’équation y 0 = 2y qui a pour condition initiale y(0) = 1.
4. Représenter sur un même graphe la solution approchée et la solution exacte.
On peut généraliser la méthode précédente à la résolution approchée d’une équation différentielle du
re

second ordre y 00 = f (t, y, y 0 ).

page 1
r
Université de Lome TP PHY330: TP1 03H

i to
Pour cela, on forme le vecteur (tableau en Python) Y = [y, y 0 ]. Il en résulte que Y 0 = [y 0 , y 00 =
f (t, y, y 0 )]. Il suffit donc, pour utiliser la fonction euler, définir la fonction F sous la forme :

Ed
def f(t,y) :
[y1,y2]=y
return np.array([y2,f(t,y1,y2)])
1 - Utiliser l’algorithme précédent pour tracer la résolution approchée de l’équation y 00 = y entre
[0, 4π] avec y(0) = 0 et y 0 (0) = 1. Comparer à la solution exacte.
2 - Même question pour l’équation y 00 = y 0 + 6y, avec y(0) = 1 et y 0 (0) = 2. Résoudre analytiquement

DF
puis numeriquement pour l’intervalle [0, 10] puis [0, 20]. Commentaires ?

rP
te
as
M
in
ed
at
re

page 2

Vous aimerez peut-être aussi