aldweb

Fermer I. aldweb

Fermer II. Gratuitiels PC

Fermer III. Gratuitiels Palm

Fermer IV. Partagiciels Palm

Fermer V. iziBasic Palm

Fermer VI. Connaissance Palm

Fermer VII. Ordinateur Poche

Fermer VIII. miniPortail

Spécial !



Version mobile
de l'aldweb Site

m.aldweb.com


Ni Français, ni Anglais ?

Essayez donc l'un de ces drapeaux :
[de] [es] [it] [pt]
Recherche




Météo / Spam / www

Météo Lyon


aldweb contre le SPAM


Newsletter
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner
298 Abonnés
Sites web de la famille

Webmaster - Infos
News Amis
Visites

   visiteurs

   visiteurs en ligne

Sondage
Comment trouve-tu le nouvel habillage de l'aldweb Site ?
 
Superbe !
Joli
Moyen
Moche...
Résultats
Poster une réponse

Je vous remercie de prendre le temps d'écrire ce message.

Votre nom (ou pseudo) :

Votre e-mail :

Masquer aux visiteurs votre adresse e-mail :      
Note : l'adresse e-mail utilisée est protégée contre le SPAM.

S'abonner à ce fil de discussion :      

Vous répondez à Sébastien qui a écrit :


Sorry for multiple replies, I had some problem with the answer window...

I give here the basic idea of a method that yields series of fractions approximating more and more accurately a given floating point number.
First, start with a positive number r0. The trivial approximating fraction of r0 at rank zero is... surprise: u0/1 where u0 = [r0] is the integer part of r0!
Then subtract [r0] from r0, giving a positive number r1 in range [0, 1). r1 is the inverse of this new number. Now take the integer part of r1: u1 = [r1]. A new approximating fraction of r0 is now:
1
u0 + ---
u1

The idea is to recursively apply the method over the ri terms, yielding:
1
u0 + ---------------
1
u1 + ---------

u2 + etc.

Now the problem is to compute *incrementally* the fraction. I give a method (without demonstration!):
Let N(-1) = 1
and D(-1) = 0
and N(0) = [r0]
and D(0) = 1
and U(0) = r0 - N(0)
and R(0) = r0
then at rank i we have:
N(i) = N(i-1) * U(i) + N(i-2)
D(i) = D(i-1) * U(i) + D(i-2)
where U(i) = [1 / R(i-1)]
and R(i) = 1 / R(i-1) - U(i)

Programmed in Objective Caml and applied to acos(-1) (~pi) it yields:

22./7. (Archimede's approximation)
333./106.
355./113. (A well-known pi approximation)
103993./33102.
104348./33215.
etc.

Writing the BASIC program that computes the series of approximating fractions is let as an exercice to the reader!
Note: The halt condition may be something like:

abs (r0 - N(i) / D(i)) / r0 < epsilon

(relative convergence)

I hope I've not made too many mistakes...

Cheers,

Sébastien


Aide :

Syntaxe du code :

  • <color=CodeHexadécimale></color> permet de colorer un texte.
    Remarque : Vous pouvez préciser à la place du code hexadécimal (#??????), le nom de la couleur (red, yellow, orange, green, blue, etc...). Pour plus de détails...
  • <bgcolor=CodeHexadécimale></bgcolor> permet de surligner en couleur un texte.
    Remarque : Vous pouvez préciser à la place du code hexadécimal (#??????), le nom de la couleur (red, yellow, orange, green, blue, etc...). Pour plus de détails...
  • <b></b> permet de mettre en gras un texte.
  • <i></i> permet de mettre en italique un texte.
  • <u></u> permet de souligner un texte.
  • <cite></cite> permet d'insérer une citation.
    Remarque : Vous pouvez préciser le nom de l'auteur de la citation en écrivant <cite=Auteur>
  • <code></code> permet d'insérer du code.
    Remarque : Vous pouvez préciser le langage en écrivant <code=NomduLangage>
  • <left></left> permet d'aligner à gauche.
  • <center></center> permet d'aligner au centre.
  • <right></right> permet d'aligner à droite.
  • <link></link> permet d'insérer un lien.
    Remarque : Vous pouvez préciser l'url du lien en écrivant <link=URL>texte</link>. Si vous ne précisez pas l'url du lien, l'url sera ce qui se trouve entre les deux balises.<link>URL</link>
  • <img=NomduSmiley> permet d'insérer un smiley.
    Remarque : Les noms des smileys de base disponibles sont : cool, wink, biggrin, smile, frown, eek, mad, confused, rolleyes, tongue, cry. Pour plus de détails...

Raccourcis clavier (sous Windows) :

  • Touche SHIFT + flèche (droite ou gauche) permet de sélectionner du texte
  • Touche ALT + 2 permet de sélectionner la barre d'outils
  • Touche ALT + 3 permet de sélectionner la zône d'édition
  • Touche ALT + 4 permet d'afficher l'aide
  • Touche ALT + 5 permet de masquer l'aide
  • Touche TAB permet de passer d'une sélection à la suivante
  • Touche SHIFT + TAB permet de passer d'une sélection à la précédente
  • Touche ALT + flèche (vers le bas ou vers le haut) permet de déplier le menu sélectionné
  • Touche ALT + flèche (vers le bas ou vers le haut) permet de replier un menu déplié
  • Touche flèche (vers le bas ou vers le haut) permet de naviguer dans un menu déplié
  • Touche ALT + s permet d'envoyer le formulaire

   |     |  Gras  Italique  Souligné  Insérer une Citation    Aligner à Gauche  Centrer  Aligner à Droite  Insérer un Lien  Insérer un Smiley (popup)  Prévisualiser (popup)  Afficher l'aide   
smiley tranquille  smiley complice  smiley content  smiley souriant  smiley sidéré  smiley perturbé  smiley en colère  smiley mécontent  smiley étonné  smiley moqueur  smiley malheureux 
Captcha reload
Recopier le code :


 
 
^ Haut ^