Definimos tres fucniones, una para cada "trozo"

f1(x):=%e^x;

f2(x):=1-x^2;

f3(x):=x;

Teniendo en cuenta que f1 sólo es válida en (-infinito,0], f2 en (0,1] y f3 en (1,+infinto). 
Las estudiamos cada una por separado en su dominio. Ninguna de ellas tiene problemas en su dominio.

Para ver si hay cortes con el eje X (y=0), vemos que f1 nunca es cero por ser exponencial, f3 es 
pero si x=0, pero x=0 no está en el dominio de f3 ¿y f2?

solve([f2(x)], [x]);

Como -1 no está en el dominio de f2, pero 1 si, f2 corta al eje X en (1,0)

Para el eje Y hay que calcular f(0), que corresponde a f1, luego

f1(0);

Por tanto, el corte con el eje Y es (0,1)

Para las regiones, f1 siempre es positiva y f3 también. f2 corta al eje X en -1 y 1 pero sólo es válida en 
(0,1] entonces

f2(1/2);

lo que significa que es positiva.

No hay asíntotas verticales. Para las horizontales calculamos los límites con los "trozos" que corresponden

limit(f1(x), x, minf);

Por tanto, por la izquierda hay una asíntota horizontal en y=0. Por la derecha no, ya que

limit(f3(x), x, inf);

Oblícuas no hay.

Para estudiar el crecimiento lo hacemos función a función en su dominio. Para f1

diff(f1(x),x,1);

Esta función es la exponencial, que al ser siempre positiva implica que f1 es creciente en (-infinito, 0]

Para f2

diff(f2(x),x,1);

Estosignifica que -2x es positivo si x es negativo y negativo si x es positivo, como esta función vale 
sólo en (0,1], la derivada es siempre negativa y, por tanto, f2 es decreciente.

Por último para f3

diff(f3(x),x,1);

Esta derivada es positiva y f3 es creciente. Entonces en 0 hay un máximo. Por último para dibujarla escribimos

f(x):= if (x<=0) then (%e^x) else  (if (x<=1) then (1-x^2) else (x));

y ahora la dibujamos

wxplot2d([f(x)], [x,-5,5])$