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.