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 2/Debut du developpement en fraction continue d un reel.py
2014-10-07 19:32:31 +02:00

66 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PREUD'HOMME BONTOUX Geoffrey - PeiP 12 - 2014/2015
# TP n°2 donné le 19/09/2014 - Début du developpement en fraction continue dun
# réel
# http://www.fil.univ-lille1.fr/~wegrzyno/portail/Info/Doc/HTML/tp_donnees_expressions.html
# Q1
from math import floor
# Q2
def afficher_debut(x):
"""
Réalise le début du développement en fraction continue dun nombre et
affiche les parties entières calculées.
CU : x numérique
Exemple :
>>> afficher_debut(3.14159265359)
a0 = 3
a1 = 7
a2 = 15
"""
# Calcul des valeurs
a0 = floor(x)
y = (x - a0) ** -1
a1 = floor(y)
z = (y - a1) ** -1
a2 = floor(z)
# Affichage des valeurs
print("a0 = ", a0)
print("a1 = ", a1)
print("a2 = ", a2)
# Q3
from math import pi
# Q4
afficher_debut(pi)
def afficher_debut_bis(x):
"""
Réalise le début du développement en fraction continue dun nombre et
affiche une approximation de ce nombre sous la forme d'une fraction
continue.
CU : x numérique
Exemple :
>>> afficher_debut_bis(3.14159265359)
3 + 1 / (7 + 1 / 15)
"""
# Calcul des valeurs
a0 = floor(x)
y = (x - a0) ** -1
a1 = floor(y)
z = (y - a1) ** -1
a2 = floor(z)
# Affichage des valeurs
print(str(a0) + " + 1 / (" + str(a1) + " + 1 / " + str(a2) + ")")
afficher_debut_bis(pi)