Herramientas en GNU/Linux para estudiantes universitarios: La herramienta de c�lculo cient�fico YACAS | ||
---|---|---|
Anterior | Cap�tulo 7. Programaci�n | Siguiente |
Veamos ahora como crear nuestras propias funciones con todos los recursos que hemos visto de YACAS:
Siempre que programemos, independientemente del lenguaje, es conveniente la utilizaci�n de comentarios. Esto nos facilitar� la depuraci�n y/o ampliaci�n del c�digo. Especialmente si hace mucho tiempo que no lo utilizamos.
Los comentarios en YACAS son como en lenguaje C, se considerar� comentario todo aquello que est� entre /* y */. YACAS tambi�n admite comentarios al estilo C++, es decir ser� comentario todo lo que se encuentre despu�s de // y hasta el final de linea.
Podemos crear bloques de c�digo de dos formas:
Utilizando [ ], cada instrucci�n deber� ir seguida de un punto y coma.
In> [a:=1;b:=2;c:=3;] Out> 3; In>
Utilizando Prog, cada instrucci�n ira seguida por una coma.
In> Prog(a:=1,b:=2,c:=3) Out> 3; In>
Hay veces que es necesario conocer en que fichero tenemos almacenada una funci�n, eso se hace con FindFunction:
Vamos a crear una funci�n que dada una lista pida al usuario un n�mero y calcule la suma de todas las componentes de la lista elevadas al n�mero introducido por el usuario.
La funci�n ser�a:
MiFuncion(list):=[ /* DECLARAMOS LOCALES LAS FUNCIONES */ Local(poten, tmplist, tmpRes, i); /* PEDIMOS EL DATO */ Echo("Introduce la potencia: "); poten:=Read(); Echo(""); /* ELEVAMOS A LA POTENCIA ESPECIFICADA */ tmplist:=list^poten; tmpRes:=0; /* SUMAMOS TODOS LOS MIEMBROS DE LA LISTA */ For(i:=1,i<=Length(list),i++) tmpRes:=tmpRes+tmplist[i]; /* MOSTRAMOS LOS RESULTADOS */ Echo({"La suma es", tmpRes}); ];
Esta funci�n la almacenaremos en un fichero mifuncion.ys que estar� en nuestro directorio de scripts. Crearemos un fichero mifuncion.ys.def para que YACAS sepa donde se encuentra y evitar que este cargado en memoria. El fichero mifuncion.ys.def:
MiFuncion }
A continuaci�n tendremos que modificar el fichero .yacasrc de la siguiente manera:
/* DIRECTORIO DE SCRIPTS */ DefaultDirectory("/home/jose/yacascripts/"); /* INDICA LA DEFINICION DE LA FUNCION */ CntDefLoad("yacascripts/funcion.ys");
En nuestro directorio de scripts tendremos que tener los ficheros mifuncion.ys y mifuncion.ys.def.
Al arrancar YACAS ya podremos utilizar la funci�n:
In> MiFuncion({1,2,3,4}); Introduce la potencia: 6; La suma es 4890 Out> True; In>