Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Mettre un nombre rationnel sous forme décimale arrondie en fract

Posté par
sandro
22-08-11 à 16:14

Bonjour,
Je voudrait savoir si quelcun pourraît m'expliquer s'il vous plaît comment mettre un nombre rationnel sous forme décimale arrondie a 12 chiffres en fraction.

J'ai déjà trouvé deux méthodes, mais je pense qu'il en existe d'autre qui permettraient de convertir des nombre dont las période est plus longue (c'est pour un programme pour calculatrice, mais la méthode me suffit, la mise en programme je n'aurais pas de problème de la faire).

1er méthode:
X = \frac{X \times (10^{longueur  de  la  période  de  X}-1)}{10^{longueur  de  la priode  de  X}-1}

2nde méthode:
A prend la valeur de 0
Tant que part_décimale(X*(10^A-1)0
Aprend la valeur de A+1
Fin tant que
X = \frac{X \times (10^A-1)}{10^A-1}


Les deux méthodes ne fonctionnent malheureusement pas pour des périodes plus longues du fait du nombre limité de chiffres.

Merci d'avance
Sandro

Posté par
caylus
re : Mettre un nombre rationnel sous forme décimale arrondie en 22-08-11 à 17:59

Bonjour,
S'il existe 2 nombres rationnels ayant la même forme décimale arrondie a 12 chiffres, alors c'est un faux problème.
@+

Posté par
sandro
re : Mettre un nombre rationnel sous forme décimale arrondie en 22-08-11 à 21:15

Merci de m'avoir si vite répondue, mais je crois m'être mal exprimé,
le problème de l'arrondit n'est pas qu'il y a plusieurs possiblilitées (je ne vais quand-même pas utiliser des fractions asolument monstrueuses, mais j'aimerais bien pouvoir retrouver une fraction du type 6541/6461 sauf que la longueur de la période est telle qu'il n'y a pas moyen de la voir en entier ce qui empêche la 1er méthode d'être efficasse).

Je pense qu'il doit y avoir des métodes plus performantes, vue que ma TI82stats (calculatrice) y parvien en faisant des tests avec 12 chiffres significatifs.

Merci d'avance
Sandro

PS : pour la seconde méthode, ce sont les erreures d'arrondit qui la rendent innéfficasse et il y a le rique de boucle infinie si le nombre n'est pas rationnel.

Posté par
verdurin
re : Mettre un nombre rationnel sous forme décimale arrondie en 25-08-11 à 21:45

Bonsoir,
essaye de regarder du côté des fractions continues.

Posté par
sandro
re : Mettre un nombre rationnel sous forme décimale arrondie en 30-09-11 à 20:10

Bonjour,
je remonte ce sujet car si la réponsz m'a dabord satisfaite (merci beaucoup d'ailleur), en poussant un peu plus, je me suis rendu compte que même pour des nominateurs et dénominateurs strictements inferrieurs à 100, 999 barres de fraction (le maximum que je peut utiliser pour le programme pour lequel je compte l'utiliser) ne suffisent pas.
J'ai beau eut demonder à mes 2 profs de maths (spé et tronc commun), ils n'ont pas trouvés de solutions.

Je voudrait donc savoir si qu'elcun n'aurait pas par hasard une idée (peut-être du coté des fractions continues généralisées, mais là il me faudrai le méthode pour transphormer un nombre décimal en une de celles-ci)?

Merci d'avance
Sandro

Posté par
sandro
re : Mettre un nombre rationnel sous forme décimale arrondie en 17-10-11 à 20:26

Up, s'il vous plait
Personne n'a d'idée ? Je pense bien qu'il doit y avoir une solution vue que la TI82stats.fr (ma calculatrice) est capable de les retrouver (dans des limites bien plus importantes que toutes les méthodes abordées ci-dessus) en faisant des tests sur seulement 12 chiffres significatifs (le dernier arrondit). J'aimerrait bien trouver une méthode éfficace, car je suis en train de réaliser un très gros programme estiné a effectuer des calculs comme sur une copie, mais c'est très embêttant de devoir veiller en permanance à garder numérateur et dénominateur séparé.

Sandro



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !