Soyez le premier à donner votre avis sur cette source.
Snippet vu 10 772 fois - Téléchargée 28 fois
alias polynome { set %itr 1 unset %1 while ( %itr <= $len($1) ) { if ( $mid($1,%itr,1) = $2 ) { if ( $mid($1,$calc(%itr -1),1) !isnum ) || ( $mid($1,$calc(%itr -1),1) = $null ) { set %1 %1 $+ 1 $+ $mid($1,%itr,1) } else { set %1 %1 $+ $mid($1,%itr,1) } } else { set %1 %1 $+ $mid($1,%itr,1) } inc %itr } set %itr 1 while ( %itr <= $gettok(%1,0,$asc($2)) ) { set % $+ $gettok(%ident,%itr,32) $remove($gettok(%1,%itr,$asc($2)),²,^2) inc %itr } set %delta $calc( (%b * %b) - (4 * %a * %c) ) if ( %delta > 0 ) { set %x1 $+($chr(40),%b,-,$sqrt($ifmatch),$chr(41),/,$calc(%a *2)) set %x2 $+($chr(40),%b,+,$sqrt($ifmatch),$chr(41),/,$calc(%a *2)) if ( $prop = racine ) { return delta >0 deux racines , x1= %x1 x2= %x2 } if ( $prop = factor ) { return p( $+ $2 $+ )= $+($chr(40),$2,-,%x2,$chr(41),*,$chr(40),$2,-,%x1,$chr(41)) } } if ( %delta = 0 ) { set %x $+(-,%b,/,$calc(2* %a)) if ( $prop = racine ) { return delta nulle une racine double x= %x } if ( $prop = factor ) { return p( $+ $2 $+ )= $+($chr(40),$2,+,$gettok(%x,2-,45),$chr(41)) } } if ( %delta < 0 ) { set %x1 $+($chr(40),%b,-,i,$sqrt($calc(0 - $ifmatch)),$chr(41),/,$calc(%a *2)) set %x2 $+($chr(40),%b,+,i,$sqrt($calc(0 - $ifmatch)),$chr(41),/,$calc(%a *2)) if ( $prop = racine ) { return delta<0 deux racines complexes , x1= %x1 x2= %x2 } if ( $prop = factor ) { return p( $+ $2 $+ )= $+($chr(40),$2,-,%x2,$chr(41),*,$chr(40),$2,-,%x1,$chr(41)) } } }
19 avril 2004 à 22:59
19 avril 2004 à 14:38
//echo -a $polynome(3x²+5x-3,x).factor
> p(x)= (x-(+5+7.81025)/6)*(x-(+5-7.81025)/6)
le coefficient dominant me parait pas terrible
et surtout :
//echo -a $polynome(5x-3,x).factor
> p(x)= (x-(-3+8.306624)/10)*(x-(-3-8.306624)/10)
j't'avais déja dit le 2e le premier j'avais zappé c au cas ou tu t'en sois pas rendu compte ... bwef a++
31 oct. 2003 à 18:36
30 oct. 2003 à 03:49
j'utilise souvent $iif mais je vois pas ou le mettre la je trouve que c mieux dans les textes :)
29 oct. 2003 à 23:14
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.