PC 2014-2015 Informatique Lyc´ee Bertran de Born
Nom : Pr´enom :
Exercices de programmation Python
pour le mardi 7 octobre 2013
Consignes. Vous r´epondez sur le document. Respectez au mieux la syntaxe Python. Prenez soin de faire apparaˆıtre
l’indentation.
Exercice 1. Lire des programmes Python
Pour chacun des programmes Pyhton ci-dessous ´ecrire `a gauche le(s) r´esultat(s) attendu(s) dans l’interpr´eteur.
Programme 1.
s=1
k=0
while k<3 :
s=2**s
k=k+1
print(k,s)
eponse.
Programme 2.
for kin range(0,10) :
if k% 2 == 0 :
print(k)
else :
print(’*’)
eponse.
Programme 3.
c=0
mot=’coucou’
for lin mot :
if l==’o’ :
c=c+1
print(c)
eponse.
Exercice 2. Valuation 2-adique
En math´ematiques les nombres p-adiques (o`u pd´esigne un nombre premier) sont des objets pouvant se repr´esenter
comme une suite de chiffres en base p, ´eventuellement infinie `a gauche de la virgule mais toujours finie `a droite. Ils
constituent une alternative num´erique `a l’ensemble des nombres r´eels et interviennent dans certaines th´eories physiques.
Une construction de ces nombres repose sur la d´efinition d’une valeur absolue p-adique sur l’ensemble des nombres
rationnels : cette derni`ere est d´efinie au moyen d’une valuation que l’on ´etudie dans ce qui suit. On se borne au cas
p= 2.
1. D´efinir une fonction Python, nomm´ee val2(r), dont le param`etre d’entr´ee est un entier strictement positif r
et qui retourne le plus grand entier Ntel que :
2Ndivise r
Exemple. Pour r= 24 on a N= 3 car 24 est divisble par 23= 8 mais n’est pas divisible par 24= 16.
1
PC 2014-2015 Informatique Lyc´ee Bertran de Born
La fonction val2(r) retourne la valuation 2-adique de l’entier r.
Fonction val2
2. Donner la liste de vos variables locales utilis´ees dans val2 :
...................................................................................................................................................
3. On souhaite calculer la valuation 2-adique du nombre (100 000)!. Proposer et mettre en œuvre une strat´egie.
Donner le r´esultat.
eponse
2
PC 2014-2015 Informatique Lyc´ee Bertran de Born
Exercice 3. La m´ethode des rectangles
De nombreux probl`emes conduisent `a des calculs d’inegrales. Cependant il n’est pas toujours possible d’obtenir une
expression explicite d’une primitive d’une fonction donn´ee. Dans d’autres situations une fonction n’est connue qu’`a
partir d’un nombre fini de valeurs ce qui rend de fait impossible tout calcul d’inegrale.
Consid´erons un intervalle [a, b]et une subdivision σ= (ak)0knde cet intervalle. Soit f: [a, b]Rune fonction
continue. La somme de Riemann (`a gauche) de la fonction fassoci´ee `a la subsdivision σest par d´efinition :
Rg(σ, f) =
n1
X
k=0
(ak+1 ak)f(ak)
G´eom´etriquement, Rg(σ, f)repr´esente la somme des aires alg´ebriques des rectangles de base [ak, ak+1]et de hauteur
[ak, f(ak)] :
Le pas d’une subdivision σ= (ak)0knest la plus grandes des distances δ=|ak+1 ak|.
L’id´ee est que lorsque le pas de la subdivision σtend vers 0, nous avons
Rg(σ, f)
δ0Zb
a
f(t)dt.
Dans le cas d’une subdivision `a pas constant de [a, b]en nsous-intervalles nous avons donc :
kJ0, nK, ak=a+k
n(ba)
On pose alors
Rg,n(f) = ba
n
n1
X
k=0
fa+k
n(ba)
Supposons enfin que la fonction f`a int´egrer `a une d´eriv´ee continue et born´ee par une valeur M1.
Nous avons dans le cas d’une subdivision `a pas constant de [a, b]en nsous-intervalles l’estimation de l’erreur commise
en approchant l’int´egrale par la somme :
Zb
a
f(t)dtRg,n(f)
M1
(ba)2
n=O1
n.
1. D´efinir une fonction Python rectangle(f,a,b,n) qui prend les arguments suivants : une fonction f, deux
flottants aet bet un entier n. La fonction retourne la valeur Rg,n(f)(m´ethodes des rectangles `a gauche).
3
PC 2014-2015 Informatique Lyc´ee Bertran de Born
Fonction rectangle
La fonction sinus int´egral not´ee Si, introduite par Fresnel dans l’´etude des vibrations lumineuses, est d´efinie pour tout
r´eel xpar
Si(x) = Zx
0
sin(t)
tdt.
Elle n’admet pas d’expression utilisant des fonctions usuelles.
2. On suppose que la fonction sin est import´ee du module math. D´efinir une fonction Python sinc(t) qui pour
un argument d’entr´ee tretourne la valeur sin(t)
tlorsque t6= 0 et la valeur 1si t= 0.
3. On suppose que les fonctions rectangle et sinc sont d´efinies. ´
Ecrire une instruction Python permettant d’obtenir
une valeur approch´ee de la valeur Si(100.0) `a 102pr`es.
4. Chercher en vous documentant de diverses mani`eres une fonction Python (issue d’un module de calcul scientifique)
qui permet de r´ealiser des calculs num´eriques d’int´egrales.
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 !