Fermer2
WarptenLe 28/09/2009 à 21:44
tromb Fichier joint : main.diamond.89p

Bon, j'ai commencé un p'tit programme tout con que j'ai toujours voulu faire, et je suis confronté à un bug extrêment irritant et illogique.

diamond(fx)
Prgm
Local fx,df,vint,rac,y,k,ndb,dm,xpos,x,tvl
Définir ndb(l)=Func:Local l,x,a,n,y,b,t:For x,1,dim(l):l[x]->a:0->n:For y,x+1,dim(l):l[y]->b:If a=b:n+1->n:If y<dim(l):If l[y+1]a:Goto sui:EndFor:Lbl sui:augmente(gauche(l,x),droite(l,dim(l)-x-n))->l:EndFor:Return l:EndFunc
{}->raci:{"-oo","+oo"}->dm:24->xpos
expr(fx)->fx /!\Et là, c'est le drame/!\
EffES
Disp "f(x)=",fx
vertel("stxt","Confirm ? [Y]/[N]","","paus","","retr","k")
If k[1]=121:Goto end
vertel("stxt","Calculating derivative")
dériv(fx,x)->df
vertel("stxt","Calculating forbidden values")
zéros(dénom(fx),x)->vint
vertel("stxt","Calculating solutions of f'(x)=0")
zéros(numér(df),x)->rac
vertel("stxt","Creating variation table values list")
augmente(rac,vint)->tvl
TriCroi tvl
ndb(tvl)->tvl
vertel("stxt","Done ! Creating table"):AffGraph
défGraph("Axes","OFF")
vertel("line",{0,11,0},{25,15,37},{160,11,160},{25,92,37},"","text",{"x","f'","f"},2,{17,28,40},0,"","text",dm,{13,149},19,0)
For x,1,dim(tvl)
vertel("text",chaîne(tvl[x]),xpos,19,0)
xpos+11->xpos
EndFor
Lbl end
vertel("stxt","Press a key to exit","","paus")
EndPrgm


expr(fx)->fx
J'oubtiens "Variable indéfinie", ce qui n'est évidemment pas le cas.
Merci d'vos avis, car là ça me dépasse --"