Herramientas en GNU/Linux para estudiantes universitarios: La herramienta de c�lculo cient�fico YACAS | ||
---|---|---|
Anterior | Siguiente |
YACAS trata todo como objetos y tiene dos tipos b�sicos de objetos:
Atoms (�tomos). Son datos indivisibles como por ejemplo n�meros y cadenas de texto.
Compounds (compuestos). Son uniones de �tomos, es decir datos que se pueden separar en �tomos como por ejemplo funciones, expresiones y listas.
Internamente YACAS almacena los �tomos como cadenas de texto y los compounds como listas.
Podemos utilizar la funci�n Type para ver que tipo de objeto estamos tratando:
Ejemplo 4-1. Uso de Type
In> Type("Hola"); Out> ""; In> Type(2+(3*5)); Out> ""; In> Type(a*(b+c)); Out> "*"; In> Sin(); Out> Sin; In> Type({1,2,3}); Out> "List"; In>
La interpretaci�n de los ejemplos anteriores es:
"Hola" es una cadena de caracteres, luego un �tomo y en estos casos se devuelve la cadena vac�a "".
2+(3*5) es una expresi�n y por lo tanto un compound. Sin embargo el valor devuelto es la cadena vac�a "", es un �tomo!!.
La explicaci�n es sencilla, YACAS antes de ejecutar la funci�n Type evalua su argumento luego en realidad lo que ejecuta YACAS es:
In> Type(30); Out> ""; In>
y como 30 es un �tomo se obtiene "".
a*(b+c) es una expresi�n y por lo tanto un compound. YACAS devuelve *. En los compounds se devuelve el operador de m�s alto nivel.
No confundir con el operador que primero aparece:
In> Type((a*b)+(c/d)); Out> "+"; In>
Sin() es una funci�n y por lo tanto un compound. YACAS devuelve el nombre de la funci�n, operador de m�s alto nivel.
{1,2,3} es una lista y por lo tanto un compound. YACAS devuelve List indicando que se trata de una lista.