cdf =Manipulate[Column[{ SuFunc[ff, aa, yy0, nn, mm]}],Style[escriba@proposito,Bold,10],Spacer[{100,3}],
 (*Inicio contadores *)
 {{f,1-t^2+y,"f = "},ControlType->InputField},
{{a,0,"a = "},ControlType->InputField},
{{y0,0.5,"y(a) = "},ControlType->InputField},
{{b,2,"b = "},ControlType->InputField},
{{n,10,"n = "},ControlType->InputField},
 {{orden,1,"Adams-Bashforth -> "},{1-> "AB(2)",  2-> "AB(3)", 3-> "AB(4)", 4-> "AB(5)"},ControlType->PopupMenu},
Button["OK", ff=f; aa=a; bb=b; yy0=y0; mm=orden; nn=n; ]
(* Fin contadores *)
,Alignment->Center,Deployed->True,AppearanceElements->"ResetButton",LocalizeVariables->True,ContinuousAction->False,FrameLabel->{{None,None},{Column[{,Row[{Style["Autores: Juan Félix Ávila Herrera y Enrique Vílchez Quesada",Bold,10,RGBColor[0,0,0.5]]}],Row[{Style["Escuela de Informática | Universidad Nacional de Costa Rica",Bold,10,RGBColor[0.5,0.1,0]]}]},Center],Style["Título: Método de Adams-Bashforth para EDO.", Bold,14, RGBColor[0,0.33,0.33]]}},
Initialization:>(
ClearAll["Global`*"];
ff=f; aa=a; bb=b; yy0=y0; mm=orden; nn=n;
 escriba[lista_]:=Style[Row@lista,Black];
 ($PreRead=(#/. s_String/;StringMatchQ[s,NumberString]&&Precision@ToExpression@s==MachinePrecision:>s<>"`6."&)) ;
proposito ={"Propósito: Usar el método de Adams-Bashforth\npara aproximar la solución de la EDO y'=f(t, y)",  ", y(a)=", (Subscript[y, 0]),  ",\ncon ", "a≤ t≤ b. Se usa h =((b - a)/n)"};
SuFunc[f_, a_, y0_, n_, orden_] := Module[{F,ti,  r={},  ww=a, h =((b-a)/n), pts={{a, y0}}, pol,  w, lw={y0},  
   aux, previos},
T[i_] := N[a+ (i)*h];
F[p_, q_] := f/.{t->p, y-> q} ;
ww=y0;
euler =Join[{y0},  Table[ww= ww+h*F[T[i] ,ww ], {i, 0,n-1 }]];

 previos =Reverse@Take[euler, orden+1];
W[i_] :=previos[[i]];
ww=W[1];

pts = Table[{a+(i-1)*h, euler[[i]]}, {i, orden+1}];

coef=(({{2, 3, 1, 0, 0, 0}, {12, 23, 16, 5, 0, 0}, {24, 55, 59, 37, 9, 0}, {720, 1901, 2774, 2616, 1274, 251}}));
gama[j_ ] := coef[[orden, j+2]];
M = coef[[orden, 1]];

 
Do[
 
(*Printa[{ww, (h/2), 3,  {T[i], W[1]}, - 1, {T[i-1], W[2]}}];*)
(*ww  =ww+(h/2)(3*F[T[i], W[1]]- F[T[i-1], W[2]]);*)

ww = ww+ (h/M) (∑_(j=0)^orden)((((-1))^j) gama[j] F[T[i-j], W[j+1]]);

previos= Insert[previos,ww,1];

lw =AppendTo[lw, ww];
pts =Join[pts, {{a+(i+1)*h, ww}}]; 
, {i, orden, n-1}];


pol = Expand@ InterpolatingPolynomial[pts,t];
 (* r=Join[r,{lw, "\n"}]*); 
 r= Join[r,{Grid[Transpose@N@pts, Frame->All], "\n"}]; 
  r= Join[r,{"Polinomio interpolante:\n", "P(t) =", pol}];  
rr =r;
escriba@r
];

)]
(*CloudDeploy[cdf, Permissions->"Public"]*)