CellPrint[TextCell[Manipulate[Column[{If[Length[Puntos]≥2,If[bandera==1&&validos,Show[Plot[InterpolatingPolynomial[Puntos,x],{x,Min[vec],Max[vec]},PlotRange->Max[Abs[ovec]]+1],ListPlot[Puntos,PlotStyle->{Red,PointSize[Medium]}]],If[bandera==1,"Los pares ordenados no forman una función, presione Clear y vuelva a iniciar"]]],If[obandera==1,Puntos],If[Length[Puntos]≥2,If[bandera==1&&validos,Expand[InterpolatingPolynomial[Puntos,x]]],"Debe ingresar al menos dos puntos"]},Center],{{a,0}},{{b,0}},Delimiter,Button["Añadir par ordenado",bandera=0;obandera=1;validos=False;vec=Append[vec,a];ovec=Append[ovec,b];Puntos=Append[Puntos,{a,b}]],Button["Interpolación",bandera=1;If[Length[DeleteDuplicates[vec]]==Length[vec],validos=True]],Delimiter,Button["Clear",bandera=0;obandera=0;Puntos={};vec={};ovec={};validos=False],Alignment->Center,Initialization:>(Puntos={};bandera=0;obandera=0;vec={};ovec={};validos=False)],"Text"]]

Autores: Juan Félix Ávila Herrera y Enrique Vílchez Quesada, Escuela de Informática, Universidad Nacional de Costa Rica,  .