Funciones o Programas dentro de la TI-nspire CX CAS

El Splashscreen del Student Software

El Splashscreen del Student Software

Como mencioné en un post anterior, hay diferencias entre usar una función o usar un programa. El Program Editor no nos ayuda mucho, pero afortunadamente encontré un poco más de información sobre el lenguaje, de donde obtuve esta pequeña tabla que explica de manera sencilla en qué difieren:

Program Function
Return a result? No Yes
Can be used in an expression? No Yes
Can run in applications other than Calculator? No Yes
Can use all the commands? Yes No
Can use multiple variable types? Yes Yes
Can access global variables? Yes Yes
Can modify and create global variables? Yes No
Can call subprograms? Yes No
Can call functions? Yes Yes

Básicamente, si escribimos una función, tenemos que regresar un resultado -normalmente al final de ésta-, lo cual es muy familiar para todo aquél que haya trabajado con lenguajes como C, Java, Python, etc. donde las funciones son usadas normalmente para devolver valores, incluso valores vacíos, dependiendo de nuestras necesidades.

Pues bien, como en la calculadora trabajamos con pequeños “Documentos”, cada Documento dividido en “Problemas” -al menos 1 y máximo 30-, podemos crear aplicaciones más o menos complejas, lo cual debe ser evidente desde que compramos la calculadora, pues esa información viene en el manual o folleto. Por si hay alguna duda, dejo un par de imágenes explicado, espero sean de ayuda:

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

¿Por qué es importante saber sobre los probemas y las hojas? Porque hay algo muy importante y es el “ámbito” de una variable, lo cual significa la visibilidad de la misma, por lo que se aprecia el impacto que posee. Según la tabla, un Programa puede crear y modificar variables Globales, estas pueden ser modificadas u obtenidas incluso despues de la ejecución del mismo, mientras que en una función, todas las variables deben ser Locales, esto implica que una vez que termine la ejecución de la función -o subrutina- no se puede acceder a esos valores, la única manera de recuperar algo operado dentro de una función es mediante el valor de retorno.

Haremos una función, llamada “cuadrado”, lo que hará será muy simple: Recibe un argumento, que será llamado ‘a’, éste será impreso en la pantalla utilizando Disp, posteriormente, se devolverá el valor de ‘a’ elevado al cuadrado. Se puede apreciar aquí:

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Ejecutarlo nos dará algo así:

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

¿Qué ventaja tiene esto? Podemos almacenar el valor que regresa la función “cuadrado”, en este caso, no se almacena, por eso se imprime en la pantalla con un separador. Si observamos las variables, con la tecla Var, veremos que ‘a’ no es una variable a la que podamos acceder, los argumentos de una función son “locales” a la función, solamente valen dentro:

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Vamos a hacer algo, dentro de la función, crearemos b, haremos que b obtenga el valor de a, y luego devolveremos b^2. El resultado, tras presionar b, es el mismo, tampoco podemos acceder a b, porque nos obliga a que b sea declarado como “Local b” si no, no nos deja usarlo.

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Ahora, vamos a almacenar el valor que devuelve la función, para usarlo en otra cosa, tal vez… en la misma función. Podremos asignar de las 2 maneras conocidas, como ya está utilizada dentro de la función la forma “:=”, usaré la otra, utilizando Control+Var, activando el sto (de storage) en una variable llamada… “cosa”.

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Se puede apreciar que cosa sí aparece como una variable, y que podemos usarla como argumento hacia la función y re-almacenar un valor en ella. Contamos con muchas funciones en el catálogo, que reciben argumentos y devuelven valores útiles, al igual que Disp, las podemos utilizar tanto en funciones como en programas (prácticamente todas de la misma manera) para tomar la mayor ventaja posible al resolver nuestros problemas, por ejemplo, “cosa” puede ser llamado desde otra hoja, ya sea de gráficos, de cálculo, cualquier otra.

En un “programa” no podemos devolver un valor, pero podemos crear una variable global, accesible desde cualquier ámbito sin problemas:

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

Click en la Imagen para Ampliar

La variable b, declarada como el cuadrado de a, dentro del programa, tiene vida fuera de él. Dentro del programa se pueden utilizar variables Locales sin problema, para no llenar de variables al documento, sin embargo, no regresan un valor, por lo que muchas veces, el programa sería lo que intentaríamos ejecutar y podríamos crear funciones para no apelmazar demasiado código, así como declarar Locales nuestras variables temporales, para que no estorben fuera de la ejecución.

En lo siguiente, se tomará el ejercicio Polinomios, se creará una función, una diferente asignación y algunos trucos para terminar con un programa mucho más útil, espero hacerlo pronto. Saludos.

Anuncios

~ por wkats en julio 16, 2013.

5 comentarios to “Funciones o Programas dentro de la TI-nspire CX CAS”

  1. Buenas amigo quisiera saber si podria Explicar como graficar una funcion automaticamente con las variables obtenidas del programa.. es decir, algun comando que se deba de usar para interactuar con otra aplicacion para que grafique dichas funciones con las variables del programa.

  2. No ejecuta los programas porque nose como actualizar la librería que ago?

  3. Muy interesante tu blog. Tengo una calculadora TI-NSPIRE TOUCHPAD y estoy tratando de conocerla. Gracias por la información que proporcionas.

  4. Buenas, alguien que me ayude a programar un dorpdown, no se como hacerlo intente con ese comando y no es

  5. Si lo que quieres hacer es un dropdown, no lo vas a poder hacer con programación en TI-Basic, vas a tener que hacer un script en LUA desde la PC y armarlo desde 0, desde lo gráfico hasta la lógica para mostrar u ocultar elementos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: