Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1335
Réponses : 2
Type : discussion
Etat : réponses autorisées

Un prgm à diviser.

ld le 25/02/2013 à 19:09
Entrez le numérateur dans N, le dénominateur dans D.
Et choisissez la décimale que vous souhaitez atteindre.
Les 125 premières décimales s'afficherons à l'écran, et la dernière visée tout à la fin.
Pour les divisions avec des nombres dans une variable ou encore comme e ou pi, vous n'auraiez que les 13 premières décimales.
Exemple : N=12 D=13 DECn°=150
donne : 0,92307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692307692...6
La 150ème est : 6.
Code
:Prompt N
:Prompt D
:Input "DECn°",X          ------ à la fin du catalogue après "!"
:EffEcr
:Output(1,1,partEnt(N/D
:2+ent(log(N/D->V
:V->A:1->B
:While N et A<X+V+1
:partEnt(N/D->S
:10(N-SD->N
:If A<125
:Output(B,A-16(B-1),S
:Output(8,16,S
:B+(A=16B->B
:A+1->A
:End
:Output(1,V,".
:Output(8,13,"...
linkakro le 25/02/2013 à 23:11
C'est extrèmement intéressant et l'affichage est bien fait.
J'aime beaucoup l'usage du reste pour obtenir des valeurs exactes.

Pour aller plus loin j'utiliserais une chaine pour ne pas être limité par l'écran, et je coderais les nombres en liste pour supporter des entrées presque sans limite de chiffres.
Si on garde quand même cette saisie, j'effectuerais chaque division sur 14 chiffres.
ld le 26/02/2013 à 00:46
Un merci à Linkakro pour cette ligne, sans qui je n'aurai pas trouver :
Code
:1+ent(log(N/D->V