You are on page 1of 6

XCELL48v2.

XCELL48 v2.0
Spreadsheet Library
por

Daniel Lopez Sancho

25 - Junio - 1998

Traducido al Español por Oscar Fuentes Fuentes Pág. 6


XCELL48v2.0

RESPONSABILIDAD

La biblioteca se proporciona 'como es' y está sujeto a cambio sin preaviso.


Ninguna garantía de cualquier tipo se hace con respecto al software o documentación.
El autor no será responsable para cualquier error incidental o daños consecuenciales en relación
con el software y/o la documentación. El permiso para distribuir este software libremente se
concede con tal de que este manual es distribuído con él sin cualquier modificación.
XCELL48 v2.0 no puede usarse para cualquier propósito comercial sin el permiso escrito del autor.
Esto implica que el usuario no debe cobrar de forma alguna por el uso de XCELL48 v2.0.

INSTALANDO LA BIBLIOTECA

En primer lugar usted debe instalar FNT1 (de la Biblioteca de Fuente Universal) en su calculadora.
Si usted usa FNT3 no necesita instalar FNT1 (solo hp48, en la hp49 no necesita instalar estos
archivos).
Una copia de la última versión de UFL puede encontrarse a http://www.engr.uvic.ca/~aschoorl/ufl /

1. Transfiera a su 48/49 el archivo XCELL48v20.lib con Kermit, Usend, XYModem o cualquier otro
protocolo del traslado. Recuerde usar la transferencia binaria.
2. Llame los contenidos de XCELL48v20.lib a la pila ('XCELL48v20.lib' [RCL]).
3. Borre XCELL48v20.lib para ahorrar memoria.
4. Presione 0 (o cualquier otro número de puerto que usted puede acceder) y [STO].
5. Prenda y apage su maquina (o reinicie apretando [ON]+[C]).

Ahora su menú LIBRARY contendrá la etiqueta: [XCELL]

COMANDOS

- XCELL inicia la hoja

- ABOUTXCELL48 despliega información sobre la biblioteca y el autor

TRABAJANDO CON XCELL48

La hoja tiene una interfaz gráfica similar a cualquier otro programa de hoja de cálculo. Tiene 3
partes:

- El InputLine dónde usted puede entrar y puede revisar los datos, usted puede pedir acciones y
alguna información de celda es mostrada.

- La fila y delimitadores de columna.

- Las celdas

Una vez que usted está dentro de la hoja usted puede moverse alrededor con las teclas del cursor
y extract, copy, import, paste, delete y examine data con las siguientes teclas:

Sin cambio

• A Muestra el mensaje 'about'.


IDEM en la 49g+, aunque el mensaje dura casi 7 seg, a mi parecer es mucho, seria mejor que el
mensaje se vea mientras se mantiene presionada esta tecla.
• B Extrae datos al stack desde la celda THROUGH cell. Si una celda contiene un formula, la
propia formula se extrae. Los datos extraídos pueden ser:
- un real, complejo o cadena de caracteres delimitadas por {{}}
- una fila simbólica o la columna delimitada por {{}}
- una matriz simbólica delimitada por {{}}. ID en la 49g+, luego pueden ser importados con <
• C Copia Relativa de la celda THROUGH cell.
ID en la 49g+, copia también si existe una formula actualizando las celdas, se deberia reemplazar esta
tecla y aprovechar la tecla COPY

Traducido al Español por Oscar Fuentes Fuentes Pág. 6


XCELL48v2.0

• D Hace la SUMA TOTAL (relativa) de datos contenidos en ΣDat (no ΣDAT Normal pero el ΣDat
de XCELL48) y pone el resultado en la celda actual. ID en la 49g+, realiza lo descrito al haberse
extraído los valores con ^u
• E Hace la MEDIA (relativa) de ΣDat . ID en la 49g+,
• F Hace la STDEV (relativo) de ΣDat. ID en la 49g+,
• iMuestra ESTADO DE PAGINA con información de banderas y propiedades de la hoja.
Tecla [TOOL] en la 49g+.
• lMuestra dos paginas HELP.
ID en la 49g+.
• mIngresa fórmula (Ex. 'A1*B1+C2')
ID en la 49G. Tecla ^m en la 49G+ y 50G, recordar que estas teclas han cambiado en la g+.
• nGuarda la hoja al salir usando el nombre actual. ID en la 49g+.
• < Copia la celda actual al stack (formulas y/o valores). ID en la 49g+. las celdas son copiadas
(valor o formulas) para luego ser copiadas en cualquier otra celda con <
• y Cambia movimiento de cursores después de ingresar datos de izquierdo->derecha a
Arriba->Abajo. Una flecha pequeña en el lado izquierdo superior de la pantalla muestra la
dirección actual. ID en la 49g+.
• ^ Borra de celdas THROUGH cell. Tecla % < en la 49g+,
• < Importa datos del stack (nivel 1) a la celda actual. Los datos pueden ser:
-
un real, complejo, cadena de caracteres o formula
-
un real, complejo o fila simbólica o columna delimitadas por {{}}
-
un real, complejo o matriz simbólica delimitadas por {{}}
-
una cadena de caracteres que contiene los datos ordenados por tabuladores
Esto es útil para datos importados de otro programa de hoja de cálculo que soporta datos
ordenados por tabuladores (como EXCEL). ID en la 49g+, este importa los datos que se extrajeron con
B

• _... ¿ Ingresa el número a la celda actual (puede tener más de una figura). ID en la
49g+,
• ` Ingresa cadena de caracteres a la celda actual. El string se analizará a un real, complejo o
fórmula si es posible, esto es un forma general 'general' de ingresar datos. ID en la 49g+.
• ] Cambia entre modo 'mostrar fórmulas y 'no mostrar fórmulas. Cuando esta en modo
'mostrar fórmulas’ el Inputline muestra la fórmula (si cualquiera) del valor en celda actual.
Cuando esta en modo 'no mostrar fórmulas’ el Inputline muestra el propio valor. Esto es útil
cuando las fórmulas son muy largas, porque estos deben convertirse a string y esto retarda
mucho el desplazamiento. También puede ser útil para ver los valores más grandes que las
dimensiones de la celda.
ID en la 49g+.
• [ Marca la posición del Toggles. ID en la 49g+. marca una posición con la que luego se puede
retornar a esta celda marcada con ^ [
• } Inserta fila en la posición del cursor. ID en la 49g+.
• { Inserta columna en la posición del cursor. ID en la 49g+.
• ; Sale de la hoja ( pide que guarde o no la hoja)
- CURSORES
• %g Guarda datos (cadena de caracteres) a 'nombre_de_la_hoja.txt'. Los Datos serán
ordenados por los tabuladores y las fórmulas se cambiará de 'A1+5' a = A1+5. De esta
manera usted puede abrir el archivo desde EXCEL y poder usar la hoja con sus fórmulas. Antes
de abrir esto desde EXCEL recuerde transferir esto en modo ASCII y anular los delimitadores
del string ("") una vez en el PC (con EDIT, NOTEPAD u otro editor ASCII).
Si usted quiere imprimir la hoja usted puede imprimirlo desde EXCEL o directamente puede
imprimir el archivo desde el HP48 como cualquier otro archivo (esté seguro tener las celdas
menores de 7 caracteres para mantener el aspecto de la tabla). ^ Jen la 49g+.
• %otoggles UNDO ON/OFF. Tecla % [HIST] en la 49g+.
• %uBorra ΣDat. Tecla % Sen la 49g+,

Traducido al Español por Oscar Fuentes Fuentes Pág. 6


XCELL48v2.0

• %yEdita celda actual. Tecla ^ [ALPHA] en la 49g+,


• %[ Ingresa un complejo a la celda actual. Tecla % [TOOL] en la 49g+.
• %} Borra fila en la posición del cursor. ID en la 49g+.
• %y Borra columna en la posición del cursor. ID en la 49g+.
• %¾ Cambia entre BARS y PLOTS en el modo grafico. ID en la 49g+, aunque la pantalla
destella mucho, se muestra mensaje en el encabezado.
%ŸModo STD. ID en la 49g+.
• %þ Modo FIX2 (Dos Decimales). ID en la 49g+.
• %ÿ Modo FIX3 (Tres Decimales). ID en la 49g+.
• ^m Hace UNDO/REDO de la última operación hecha.
Tecla ^ [HIST] en la 49g+, esta usando UNDO refiriéndose al mismo teclado.
• ^u Suma celda actual a ΣDat.
De esta manera usted puede seleccionar un numero de celdas y entonces la SUM, MEDIA o
SDEV con [D], [E] o [F]. Si usted presiona la tecla y agregará las próximas celdas
continuamente en la dirección de la flecha al lado izquierdo superior de la pantalla.
Teclas ^ S en la 49g+.
• ^¾ PLOTS X (modo BARS) o X, Y (modo PUNTOS). Data es seleccionado con la función
EXTRACT ([B]) y usted debe extraer X primero y después extraer Y. En el menú PLOT usted
tiene las teclas Standard del menú gráfico. Al trazar los PUNTOS, usted puede ajustarlos a una
línea apretando [FCN] o [STATL] (si es calculadora S o G), y entonces usted puede [FCN] y
ROOT, ISECT, SLOPE, ÁREA, EXTR, EXTR, EXIT, F(X), F’ y NXEQ. Si usted presiona NXEQ usted
arriba la ecuación de la línea ajustada, ésta es una buena manera de hacer una regresión
lineal.
ID en la 49g+. Se deberia cambiar por teclas % C
• ^[ Salta a la posición marcada por [X]. ID en la 49g+.
• ^; Apaga la máquina sin salir. ID en la 49g+.
• ^} Números decrecientes de la columna desplegada (pero crecientes anchos de celda) ID
en la 49g+. aumenta anchos de la columna.
• ^y Números crecientes de la columna desplegada (pero decrecientes anchos de cleda)
Usted puede ver un máximo de 10 columnas y un mínimo de 1. El número Máximo de
columnas desplegado está limitado por el número existente de columnas pero el número
mínimo de columnas no está de forma algún limitado. ID en la 49g+. Disminuye anchos de
columna, inverso al anterior.

COMENTARIOS FINALES Y NOTAS ÚTILES

• Cuando usted termina, pide un nombre. Los datos se guardarán en el directorio actual en la
variable nombrada. Si usted quiere abrir la hoja simplemente usted tiene que apretar la llave
del menú que corresponde a esa hoja.
De esta manera usted puede guardar múltiples hojas en diferentes directorios y puede tener un
acceso rápido a cualquiera de ellos

• Cuando usted hace una copia relativa y usted quiere referirse la misma celda en cada nueva
fórmula, usted puede hacerlo escribiendo $ antes del nombre de celda.
Por ejemplo:

A1=1 B1='$A1+2*A1'
A2=2
A3=3

COPY B1 THROUGH B3

A1=1 B1='$A1+2*A1'
A2=2 B2='$A1+2*A2'
A3=3 B3='$A1+2*A3'

Traducido al Español por Oscar Fuentes Fuentes Pág. 6


XCELL48v2.0

• Usted puede extraer una parte de la hoja como una matriz de listas y puede dejarlo en la pila.
Esta manera es fácil de operarlo con muchos programas como ALG, Math, QPI o visualizar con
Java.
Si usted presiona [B] usted conseguirá la matriz de fórmulas.

• Ahora XCELL48 es compatible con cualquier programa que acepte datos de texto ordenados por
tabuladores como MS EXCEL, LOTUS 1-2-3 o Minitab. Usted puede exportar los datos de PC a
HP y viceversa.
Para exportar datos presione [LS][MTH] y transfiere el archivo.txt creado con el nombre de la
hoja al PC en modo ASCII.
Edite el archivo de PC y borre los delimitadores del string ("").
Abra este archivo desde el programa a ser usado (sólo se ha probado en MS EXCEL (pero
LOTUS 1-2-3 puede abrir archivos de texto y archivos MS EXCEL ).

• Para importar datos, guarde la hoja en el PC como Texto con tabuladores y EDIT para agregar
los delimitadores del string (""). Transfiéralo al HP en modo ASCII. Póngalo en la pila y abra
una nueva hoja ([XCELL]) o una hoja existente dónde usted quiere insertar los datos. Ahora,
importe los datos con <.

• Es importante anotar que EXCEL guarda sólo fórmulas cuando ellos se muestran en las celdas.
Para hacer esto usted debe seleccionar TOOLS desde la barra de herramienta, Seleccione
OPTIONS, escoja VIEW window check FORMULAS. Ahora las fórmulas se muestran y usted
puede guardarlos a un texto con los tabuladores archive y exporte la hoja al HP48.

• XCELL48 siempre guarda las fórmulas en texto. De esta manera usted puede trabajar
totalmente en EXCEL con una hoja de XCELL48 y vice-versa como largo los comandos y
funciones son compatibles. Si usted quiere usar una hoja con las fórmulas de un programa en
otro programa, usted sólo podría usar la fórmula con las funciones compatibles. Por ejemplo,
usted no tendrá ningún problema para usar las fórmulas con *, /, + y - (así como otras
funciones como el SIN, COS,...) porque ellos existen en ambos programas. Pero si usted
intenta usar STDV(A1:A10) de EXCEL en XCELL48 usted no será capaz, sólo porque esta
función no existe en el HP48.

• Yo pienso el LOTUS 1-2-3 usa un formato diferente para indicar una fórmula, para que usted
no podrá usar las hojas de XCELL48 en el LOTUS o vice-versa excepto si las hojas contienen
sólo números y texto.

• Usted puede poner ahora Funciones Definidas por el Usuario (UDF) en las fórmulas. Los UDF
son muy poderosos y son ilimitado, cuando cada usuario puede crear el UDF que él necesita
para cada hoja. Usted puede crear un UDF tecleando en la línea de comando fuera de XCELL48
(por ejemplo):

'STDV(A,B)=Symbol of square root(((A^2+B^2)/2-((A+B)/2)^2)*2)'

Ésta es la fórmula de la Desviación estándar para 2 valores. Si usted ahora escribe DEFINE,
usted creará un UDF. Si usted lo pusiera ahora en una fórmula (del interior de XCELL48), por
ejemplo 'STDV(A1,A2)' usted conseguirá el mismo resultado como si usted usara el interno STDV
con A1 y A2.

Otro ejemplo interesante: Usted toma el valor (real) de una celda y quiere redondear al entero
superior si su parte fraccionaria es más grande que 0.49 y al más bajo entero si está menos de
0.5. Esto puede hacerse fácilmente con la función RND, pero si usted quiere agregar 100 al número
si se ha redondeado al valor superior y 10 si es redondeado al más bajo usted no puede hacer esto
con RND. Una manera de hacer esto es usando la función IFTE (IF THEN ELSE) y creando una
Función Definida por el Usuario (UDF). Esta función (IFTE) tiene una condición y dos algebraicos.
Dependiendo del resultado de la parte condicional él evalúa un algebraico o el otro. Estaría así:
condicion algebraico2 algebraic1

'RND2(X)=IFTE(FP(X)>0.49,CEIL(X)+100,FLOOR(X)+10)' DEFINE

Ahora imagine que la celda que usted quiere operar es A1, entonces,: 'RND2(A1)'
¡y eso todo! ¿Bastante Fácil? Usted puede preguntar: ¿por qué no ponemos todo el IFTE
directamente dentro de una fórmula cambiando el X para el nombre de la celda sin crear un UDF?
El hecho es que la funcion IFTE anida 2 algebraicos dentro de otro y XCELL48 no puede trabajar
con algebraicos anidó dos o más niveles de profundidad.

Traducido al Español por Oscar Fuentes Fuentes Pág. 6


XCELL48v2.0

Usted puede crear tantos UDF como usted necesite y para cualquier propósito que quiera. Consulte
el Manual del Usuario del HP48 para más información en UDF e IFTE.

• Usted puede usar un programa de dentro de una fórmula como largo el programa no toma
cualquier argumento y retornara solo un valor. Por ejemplo, si usted tiene un programa así
<< 33 SF >> (eso fija flag user 33) y lo guarda en la variable 'AB' usted puede evaluar esto
por 'A1-A1+AB'. En este caso como usted no quiera el programa para hacer algo, usted debe
poner un 0 dentro del programa << 33 SF 0 >> para tener la fórmula evaluada correctamente
('A1-A1+0' =0)

Usted puede usar un programa tomando un argumento con tal de que el programa devuelva dos
valores. Por ejemplo usted puede usar un programa que tomó un número y dependiendo del
número devolver una cosa u otra:

<< IF 1 == THEN 1 ELSE 100 END 0 >>

Este programa es nombrado 'AB'. Si usted ingresa una fórmula así 'A1+AB', cuando A1=1 entonces
la fórmula será 1, pero si A1<>1 entonces la fórmula será 100. Esto pasa porque la fórmula se
evalúa en notación RPN, primero A1, entonces AB y por fin +. Cuando el programa AB se evalúa,
A1 ya está en la pila.

¡Como usted puede ver esto es muy flexible y le permite hacer casi todo lo que usted quiere, pero
la biblioteca no verifica si el programa cumple las dos condiciones, así que use esta característica
cuidadosamente!!

El UNDO/REDO ofrecen tener mucha memoria y tiempo si la hoja es grande.


Así si usted está corriendo con poca memoria o la hoja es tan grande que el UNDO tarda mucho, la
mejor cosa que usted puede hacer es desactivarlo presionando [LS][EVAL]. Una vez desactivado,
permanecerá asi hasta que usted lo habilite, no importa si usted no termina la hoja (con tal de que
usted lo guarde).

• Usted puede usar cualquier función en las fórmulas como el IP (parte entera), FP (parte
fraccionaria), CEIL y muchos, muchos más. La única función que usted no puede usar es la
función IFTE si este contiene algebraicos, porque las fórmulas se analizan en sólo 1
profundidad de nivel y los funciones IFTE anidan algebraicos en dos profundidades de nivel.
Usted puede usarlo por ejemplo en este caso:

A1=1 B1='IFTE(A1==1,1,100)'

aquí el resultado estará 1 excepto si A1<>1. Si usted necesita usar la función IFTE poniendo el
algebraico dentro de él usted puede hacerlo a través de una Función Definida De Usuario.

• No hay ningún cambio RAD/DEG o RECT/POLAR dentro del programa. Ellos están seleccionados
al inicio de la hoja (toma los valores que usted realmente ha seleccionado) y usted no puede
cambiarlos después excepto que usted haga un programa externo como es explicado
anteriormente.

XCELL48 puede ocuparse de hojas muy grandes (yo he probado superiores a 50x50) sin poco
perdió de actuación excepto si tiene que recalcular gran cantidad de datos.

• La biblioteca se ha desarrollado en un HP48SX con el RPL48v1.12b DEVELOPMENT PACKAGE, el


DEBUGGER 1.0b y ED.
Es completamente escrito en Sys-RPL y Lenguaje de máquina.
Hace uso de muchas entradas "sin soporte" Úselo a su propio riesgo. Ha estado funcionando bien
en una revisión de HP48SX J y en una revisión de HP48GX R y nada malo ha pasado. Sin embargo,
recuerde hacer una copia de seguridad su memoria antes de usarlo.

• Biblioteca ID 1220. Tamaño 12188 bytes y checksum #F3DCh.

POST: Daniel Lopez Sancho


c/ Gran Via Carles III, 67 4 2
08028 BARCELONA
SPAIN
PHONE: + 34 93 330 78 42
FAX: + 34 93 377 15 14
E-mail: corma@sefes.es

Traducido al Español por Oscar Fuentes Fuentes Pág. 6

You might also like