tengo una duda sobre el siguiente codigo:procedure visual (cadena:string);beginwrite(copy(cadena,1,1);if cadena <> copy(cadena,lenght(cadena),1) then begin visual(copy(cadena,2,lenght(cadena))); write(copy(cadena,1,1)) end; else write(copy(cadena,1,1);end;Lo que hace este codido dado una palabra escribe esa palabra y la inversa todo juntoEj: mariposa salida del mensaje : mariposaasopiramBueno aca va mi pregunta segun me dijieron en la recursividad no es eficiente cuando usas otras funciones dentro de la recursividad? esto es verdad agradeceria su ayuda