Listing
JavaScript
de division polynomiale selon les puissances croissantes » JavaScript : Listes et chaînes de caractères |
<SCRIPT
LANGUAGE=JavaScript>
function div_croiss()
{
var a=new Array(),b=new Array(),q=new Array(),LA=new Array(),LB=new Array()
dega="";degb="";p="5";Quot="";Rest=""
for(i=0;i<=30;i++){a[i]=0;q[i]=0;b[i]=0}
// ---------- initialisation pour
éviter les erreurs NaN
dgr="ordonnée par degrés croissants"
LA=[-1,0,0,0,0,1];LB=[1,2]
LA=prompt("Entrez la liste des coefficients de A séparés par une
virgule"+"\n"+dgr+" :",LA)
LA=LA.split(",");dega=LA.length-1;
for(i=0;i<=dega;i++){ai=LA.slice(i,i+1);a[i]=eval(ai.toString())}
LB=prompt("Entrez la liste des coefficients de B séparés par une
virgule"+"\n"+dgr+" :",LB)
LB=LB.split(",");degb=LB.length-1
for(i=0;i<=degb;i++){bi=LB.slice(i,i+1);b[i]=eval(bi.toString())}
bb=b[0];if(bb==0){alert("b0 ne doit pas être nul !");return}
for(i=0;i<=degb;i++){b[i]=b[i]/bb}
p=eval(prompt("Entrez le degré désiré du quotient :",p));
dega=max(dega,p+degb);
// -----------afin de pouvoir calculer
les soustractions si d°A s'avère < d°B
for(k=0;k<=p;k++)
{
if(a[k]!=0)
{
q[k]=a[k]/bb;
if(Quot==""){Quot=frac(q[k])} else {Quot=Quot+" , "+frac(q[k])}
//---------------- liste des quotients
for(i=1;i<=dega-k;i++){a[k+i]=a[k+i]-a[k]*b[i]}
a[k]=0;
}
else if(Quot==""){Quot=" 0"} else {Quot=Quot+" , 0 "}
}
i=0;
while(i<=dega)
{
alert
if(Rest==""){Rest=frac(a[i])} else {Rest=Rest+" , "+frac(a[i])}
//-------------------
liste des restes
i++
}
alert("Quotient (par d° croissants)= "+Quot+"\n"+"Reste (par d° croissants) = "+Rest)
}
// fin div_croiss
function max(a,b)
//
----------------------------------------------------
{
if(a<=b){return b} else {return a}
}
function frac(x)
//---------------------recherche
fractionnaires (fraction continue)
----------------
{
with (Math)
{
b0=0;b1=1;a0=1;a1=floor(x);
if(a1==x){return x.toString()}
else
{
en=x-floor(x);err=1;
while(err>1E-13)
{
q=floor(1/en);en=1/en-q;
a=q*a1+a0;b=q*b1+b0;
asb=a/b;err=abs(x-asb);
a0=a1;b0=b1;a1=a;b1=b;
} // fin while()
return a.toString()+"/"+b.toString()
} // fin else
} // fin with Math
} // fin frac()
function listing()
//
---------------- visualiser le listing du programme
{open ("listing_div_croiss.html","")}
</SCRIPT>
JavaScript sur ChronoMath : »