This repository has been archived on 2019-08-08. You can view files and clone it, but cannot push or open issues or pull requests.
s1-tp/S1/TP 4/harmonique.py
2014-10-10 00:02:58 +02:00

35 lines
938 B
Python

# PREUD'HOMME BONTOUX Geoffrey - PeiP 12 - 2014/2015
# TP n°4 donné le 3/10/2014 - Série harmonique alternée
# http://www.fil.univ-lille1.fr/~wegrzyno/portail/Info/Doc/HTML/tp_iteration_conditionnelle.html
import doctest
# [Q1] Écrivez une fonction somme_partielle
def somme_partielle(n):
"""
Renvoie la valeur de la somme de i=1 à n de (-1)^i/i.
CU : n entier
Exemple :
>>> somme_partielle(5)
-0.7833333333333332
>>> somme_partielle(3145)
-0.6933061377964356
"""
assert(type(n) is int), "n doit être un entier"
somme = 0
for i in range(1, n+1):
# On simplifie (-1)**i pour éviter de faire
# trop de calculs
if i % 2 == 0: # Si i est pair
i_puissance = 1 # (-1)**i = 1
else: # Si i est impair
i_puissance = -1 # (-1)**i = 1
somme += i_puissance/i
return somme
def tester():
doctest.testmod(verbose=True)