## Tarea3_Unidad4

### Ejercicio 1

Función esnumeroreal(x):

esnumeroreal(x) := if not(constantp(x)) then false else if imagpart(x)=0 then true else false;

Rúbricas:

esnumeroreal(patata);

esnumeroreal([1,2]);

esnumeroreal(1+%i);

esnumeroreal([1]);

esnumeroreal([]);

esnumeroreal(%pi);

esnumeroreal(0);

esnumeroreal(1);

esnumeroreal(3/2);

esnumeroreal(2.56);

Función dibujoparametrico(func,a,L,xmin,xmax):

dibujoparametrico(func,a,L,xmin,xmax):=block(
   valor:subst(%e,a,func(a)),
   if not(esnumeroreal(valor)) then return("ERROR: El primer argumento no es una función real dependiente del parámetro a."),
   if not(listp(L)) then return("ERROR: El tercer argumento no es una lista."),
   bandera:1,
   Funciones:[],
   for variable in L do [
      if not(esnumeroreal(variable)) then  return("ERROR: Algún elemento de la lista no es número real."),
      if not(esnumeroreal(xmin)) or not(esnumeroreal(xmax)) or not(is(xmin<xmax)) then
         return("ERROR: O bien el cuarto y quinto argumento (el rango para la gráfica) no son reales o bien el cuarto es mayor o igual que el quinto."),
      Funciones: append([subst(variable,a,func(x))],Funciones)],
    wxplot2d(Funciones,[x,xmin,xmax])
);

Creamos las funciones, listas y valores para la rúbrica:

func1(x):=x^2+a*x+1;
func2(x):=[a];
func3(x):=%i+a;
lista1:makelist(i,i,-5,5);
lista2:x^2;
lista3:[1,%pi,%i,1];
xmin1:-2;
xmax1:2;
xmin2:%i;
xmax2:[1];

Comprobamos la rúbrica:

dibujoparametrico(func2,a,lista1,xmin1,xmax1);

dibujoparametrico(func3,a,lista1,xmin1,xmax1);

dibujoparametrico(func1,a,lista2,xmin1,xmax1);

dibujoparametrico(func1,a,lista3,xmin1,xmax1);

dibujoparametrico(func1,a,lista1,xmax1,xmin1);

dibujoparametrico(func1,a,lista1,xmin2,xmax1);

dibujoparametrico(func1,a,lista1,xmin1,xmax2);

dibujoparametrico(func1,a,lista1,xmin1,xmax1);

Funciones;