//
xset('default')
//
// programme 2
//
xbasc()
write(%io(2),'programme 2: recherche sur [-4,4] des zeros de la fonction f(x)=x^3-2*x-5')
write (%io(2),'par la methode de la secante (voir graphique puis taper resume)')
//
xbasc()
deff('y=f(x)','y=x^3-2*x-5')
a0=-4;b0=4;
xx=fsolve((a0+b0)/2,f);
write (%io(2),'solution approchee Scilab:'),disp(xx)
fplot2d((a0:0.1:b0),f)
xtitle('fonction f','x','f')
pause
//
str='o';
nmax=20;
while(str=='o') 
  i=0;A2=[];
  A=a0+(b0-a0)*rand(2,1);a=A(1);b=A(2);y1=f(a);y2=f(b);
  while abs(a-b)>%eps & i<nmax
    i=i+1;
    y2=f(b);
    c=b-y2*(b-a)/(y2-y1);
    A2(i)=c;
    a=b;y1=y2;b=c;
  end
  write (%io(2),'solution approchee secante:'),disp(b);
  xbasc();
  plot2d((1:i+2)',[A;A2],1,'151',' ',[1,2*a0-b0,nmax+2,2*b0-a0])
  xtitle('premiers termes de la suite','n','u')
  write(%io(2),'nouveau calcul (o: oui)?')
  str=read(%io(1),1,1,'(a)');
end

