Anterior Siguiente Indice

4. Preguntas sobre el Sistema Operativo y el uso de la HP

4.1 Como encuentro la suma de verificación de un objeto?

Muchos documentos (incluyendo esta FAQ) hace referencia al "checksum" o suma de verificación de un objeto. Esta es un user binary de 16-bit, que es el resultado del calculo del CRC del contenido de un objeto. Este binario supuestamente es único, con 1 sola posibilidad de entre 65536 de tener la misma suma de verificación en dos objetos distintos. Esto permite distinguir entre programas que se ven iguales, pero que son muy diferentes (aun cuando su tamaño sea el mismo). También es usado frecuentemente para verificar la correcta transmisión de archivos.

Tu puedes encontrar la suma de verificación de un objeto usando el comando BYTES. Este comando te devolverá dos cosas - el tamaño del objeto en bytes en el nivel 1, y la suma de verificación en el nivel 2 de la pila. Nota que la suma verificación del nombre de una variable es igual a hacer la suma de verificación del objeto en si mismo, los tamaños pueden diferir entre 4.5 bytes + o sea el tamaño del nombre de la variable.

En contados casos la suma de verificación de dos objetos puede ser la misma, aun cuando los objetos sean diferentes. Esto se debe a la naturaleza limitada de la función de suma de verificación de la HP48. Puedes ocupar el comando SAME en esos casos.

4.2 Tipee RULES en mi G/GX y apareció un puzzle!

Texto original de Joe Horn

Muchos programas comerciales (como Windows) tienen pantallas similares escondidas que nombran al equipo que diseño el programa. Como son simpáticas y bien escondidas, se les llama "Huevos de Pascua". El comando RULES en la G/GX es un ejemplo.

Tipea el comando RULES. Los nombres que veras son los siguientes:


/----------------------\

|            M G       |

|      P   DIANA       |

|    CHARLIE X B     D |

| BILL U   N  TED    A |

| O  A L   N    ALCUIN |

| B  I    JIM   V      |

|  RON     S    E      |

\----------------------/

ALCUIN fue el nombre clave dentro de HP durante el desarrollo de la HP48G, porque Alcuin fue el tutor de Carlomagno, y Carlomagno, como recuerdas, fue el nombre clave de la HP48 SX.

Los demás nombres del "Huevo de pascua" pertenecen a:

4.3 Porque mi HP48 se "congela" ocasionalmente?

La HP48 ocasionalmente debe hacer "garbage collection" o recolección de basura, para liberar memoria no ocupada, y es esta recolección de basura lo que causa estos "congelamientos" momentáneos. Recolección de basura es cuando la HP48 busca a través de la memoria objetos que ya no son ocupados.

Usando menos la pila supuestamente hace la recolección de basura mas rápida.

La forma mas fácil de forzar una recolección de basura es ejecutar MEM DROP. Otra manera es usando #05F42h SYSEVAL o el comando SysRPL GARBAGE.

4.4 Que hago si mi HP48 se bloquea?

  1. Primero verifica las pilas si están bien puestas.
  2. Enseguida trata presionando la tecla "ON" una y otra vez muy RÁPIDO. La palabra importante aquí es "rápido". Es posible escribir programas que solo pueden ser interrumpidos durante un periodo de tiempo muy pequeño, así que debes presionar la tecla "ON" varias veces muy rápido para interrumpir el programa. SI la calculadora no responde dentro de mas o menos 10 segundos, pasa al siguiente paso.
  3. Presiona "ON-+" unas cuantas veces, por si acaso el contraste de la pantalla LCD estaba bajo. Aquí, "ON-+" significa:
  4. Si esto no funciona, el siguiente paso es probar ON-C. Esto es un "warm-start" (partida en caliente) o "system halt" (detención del sistema). Nota que esto BORRARA la pila. Aquí, "ON-C" significa:
  5. Si esto todavía no funciona, es posible que la HP no este respondiendo, porque con esta aceptando entradas desde el teclado. Es posible ejecutar una detención del sistema sin utilizar el teclado, usando el botón escondido de restablecido (reset). El botón de reset esta escondido bajo una de las dos patitas de goma superiores en la espalda de la calculadora (esta bajo uno de las dos gomitas cerca del conector serial i el puerto I/R). Nota que la ubicación del botón de reset (en cual de las dos gomitas) varia de calculadora en calculadora. Si sacas cuidadosamente la gomita, notaras que hay un pequeño agujero debajo de cada gomita. El botón de reset esta ubicado en el agujero que tenga una "R" al lado. Una vez que hayas encontrado el agujero correcto, presiona el botón insertando SUAVEMENTE un clip estirado en el agujero non la "R" al lado. Presiona por un segundo y después sácalo.
  6. El siguiente paso es un completo "memory reset" (restablecer memoria). Dependiendo del estado de tu calculadora, esto puede, pero no garantiza, preservar el contenido de la memoria. Lo mínimo que puede pude pasar, aun cuando el contenido sea mantenido, el contenido del directorio HOME probablemente se moverá a un nuevo directorio en HOME (HOME estará vacío exceptuando este nuevo directorio); deberás mover manualmente los distintos archivos al directorio HOME. Para realizar un restablecimiento completo de la memoria (memory reset), presiona ON-A-F. Esto significa:
  7. Si esto falla, todavía puedes inducir un completo restablecimiento de la memoria (memory reset) sacando las pilas y presionando ON varias docenas de veces. Esto vaciara el capacitor que guarda la información cuando las baterías son removidas, y deberías obtener un "Try to Recover Memory?" si has presionado suficientes veces como para resetear tu calculadora. Tu deberías definitivamente tratar este método antes de siquiera considerar el próximo paso!
  8. PELIGRO: el próximo método es ALTAMENTE no recomendable! Daños permanentes a tu HP pueden ser el resultado si pruebas este método. En particular, tu puedes freír unos pares de diodos usados para proteger tu HP48. Haz sido advertido! Si tu HP48 no responde a ninguno de los intentos anteriores, puedes considerar revertir la polaridad de 2 de las 3 pilas BIEN RÁPIDO, presionando ON, y después corrigiendo la posición de las pilas. Tu HP48 debería partir con un "Try to Recover Memory?". Aun revirtiendo solo 2 de las 3 pilas es peligroso, pero es mas seguro que revertir las 3 pilas. Nota que con solo hacer un corto en los terminales de las pilas no descargara la carga de los capacitores. Hay diodos entre los terminales de las pilas y los capacitores, lo cual previene que la corriente DC fluya en sentido contrario. Este método aparentemente vacía los capacitores y les revierte las cargas haciendo circular corriente a través de los diodos parásitos de protección de entrada en los chips CMOS.
  9. Si todo lo de arriba falla, o decidiste no probar el ultimo paso, deberías contactar a Hewlett Packard para que revisen tu calculadora.

4.5 Mi HP48 parece tardarse mas en prenderse y apagarse.

La causa usual de esto son las tarjetas RAM/ROM y las librerías. Cuando enciendes tu calculadora, esta revisa el RAM (entre mas tengas, mas demora), y revisa si cualquiera de las librería necesita ser inicializada.

También tener muchas alarmas podría supuestamente causar esto.

4.6 Cuales son las diferentes combinaciones ON-TECLA?

Texto original de Dave Arnett

ON

En la mayoría de los casos, esto te llevara al ambiente de la pila.

ON+A+F

Esta es la "partida en frío" manual (Coldstart). Te sacara de casi cualquier programa caído, y te ofrece la temida opción... "Try to Recover Memory?" Nota que esta es una de las ultimas posibilidades cuando la calculadora no responda, así que no le des este salude de tres dedos a menos que aceptes la posibilidad de borrar la memoria.

ON+B

Esta es la tecla Osso! en las combinaciones ON. Para muchas secuencias de ON, esto cancela la operación, siempre que presiones B antes de soltar la tecla ON. Pruébala alguna vez, así cuando la necesites, la recordaras. Pude salvarte la vida, en caso de un accidental ON+A+F en proceso, o incluso de presionar accidentalmente ON durante un ploteo.

ON+C

Esto iniciara una partida en caliente (Warmstart). Perderás la pila y PICT, pero te sacara varias veces de un programa caído con la memoria intacta.

ON+D

Ingresa al modo interactivo de pruebas. Haz una copia de seguridad de la memoria e investiga. Para salir de este modo usa ON+C. Ve la siguiente pregunta para ver una lista de todos los test disponibles aquí.

ON+E

Comienza un modo de auto-test en bucle. Un poco aburrido después de los primeros cinco minutos, pero mantiene un buen tiempo. Para salir usa ON+C.

ON+4

Cancela alarmas repetitivas.

ON+1

Utilidad para vaciar pantalla.

ON+'+' y ON+'-'

Ajusta el contraste de la pantalla.

ON+SPC

Inicia el "modo en coma" (Coma Mode) y borra el registro de Warm Start (partidas en caliente), y toda actividad del reloj es detenida. El gasto de energía de las pilas es básicamente unos pocos nano amperes (nA) necesarios para mantener el contenido de la RAM. El registro de Warm Start es un área de la memoria casi a prueba de balas, que mantiene un registro de los últimos cuatro eventos desastrosos. Puedes revisarla usando el comando WSLOG. Este registro es uno de las pocas cosas que no son borradas en una partida en frío (Coldstart). Pero es borrada por ON+SPC. Si quieres borrar el registro de Warm Start entra al modo en coma de esa manera. Si estas planeando ir al Tibet para estudiar los poderes místicos de los cristales durante algunos años y quieres mantener viva tu versión pirateada de Tetris, o tienes unas pilas muy gastadas entra al modo en coma. Para salir del modo en coma presiona la tecla ON (difícil de recordar, eh?), y prepárate para encontrar la pila borrada.

Dos acotaciones adicionales sobre el modo en coma. Primero, no voy a tratar de explicar la lista de códigos que aparecen en WSLOG. Lo siento! Segundo, si tu maquina esta encendida y sacas las pilas, usualmente terminaras en modo en coma para mantener la energía. WSLOG no será borrada. En cambio, encontraras un numero 1 allí. Algunas personas paranoicas ponen sus calculadoras en modo en coma cuando cambian pilas, por si acaso reciben una llamada de emergencia del Primer Ministro y no pueden volver a cambiar las baterías en menos de media hora. Si tu eres uno de esos... debería decir alaracos? No, esos serian usuarios no profesionales. Para ellos les recomendaría usar el método del ON+SPC, en vez del método kamikaze de sacar las pilas cuando la maquina este encendida. Yo solo apago mi maquina, tal como dice el manual.

Ahora, una historia sobre el modo en coma. Durante el desarrollo de la G/GX, yo mantenía un pequeño numero de unidades en las cuales cambiaba los chips de la ROM cuando salía nuevo código. Esto era para que Bill Wickes y Jim Donnelly pudieran tener un hardware real y completo para probar. Nosotros siempre realizábamos copias de seguridad de cualquier cosa importante en la maquina antes de hacer esto. Pero tome el habito de usar ON+SPC antes de abrir la calculadora. Mas de la mitad de la veces, podía sacar la pilas, abrir la caja, desoldar el chip antiguo de ROM, soldar uno nuevo, y reensamblar la maquina... con toda la RAM intacta! Cuando presionaba ON, no aparecía el mensaje "Try to Recover Memory?". Bueno, eh? Las personas que pusieron ese modo en la máquina realmente no estaban en coma.

4.7 Que diferencia hay entre las distintas pruebas interactivos (self-test)?

Presionando ON-D entras al modo interactivo de pruebas de la HP48. Cuando presionas por primera vez ON-D, tu HP hará un bip (sonido)y veras 3 líneas verticales, una a cada lado de la pantalla y otra en la mitad. Tu puedes salir de este modo con una partida en caliente, ON+C. Los tests son:

[A]

Muestra la velocidad del CPU

[B]

Pruebas del LCD. Presiona Enter para circular entre estas pruebas

[C]

Prueba de la ROM interna

[D]

Prueba de la RAM interna

[E]

Prueba del teclado. Partiendo con [A], presiona todas las teclas en orden, de izquierda a derecha, de arriba a abajo. Si todo sale bien, la HP debería mostrar "KBD! OK".

[F]

Prueba parcial del teclado

[G]

Monitor del test del ESD. El nivel de las pilas es mostrado por barras.

[H]

Prueba en bucle del UART

[I]

Eco del UART por cable

[J]

Muestra que tarjetas están insertadas. Presiona cualquier tecla unas cuantas veces.

[K]

Prueba la tarjetas RAM en los puertos de expansión

[L]

Borra la pantalla

[M]

Envía el tiempo del sistema desde el puerto infrarrojo

[N]

Recibe el tiempo del sistema desde el puerto infrarrojo (tiene que mandarlo otra HP)

[O]

Prueba en bucle el IR (Infra Rojo)

[P]

Eco del UART IR

[S]

Muestra el tiempo de inicio de las pruebas

[T]

Muestra el tiempo en que una prueba fallo

[U] [V] [W] [X] [Y] [Z]

Pruebas en bucle

[ENTER]

Inicializa el tiempo de pruebas

[DEL]

Sumario de las pruebas

[<-]

(Backspace) Entra a un scanner de memoria (solo SX)

Cuando la HP48 esta en modo de pruebas (ON-D o ON-E), los test que son mostrados en la pantalla, también son enviados a la puerta serial a 9600 baudios, 8 bits, sin paridad, 1 stop bit. Esto parece no ser afectado por ninguna selección en el IOPAR, PRTPAR o las system flags (banderines de sistema). Me puedo imaginar que esta característica fue incluida para pruebas en la fabrica. Esto explica, porque el icono de I/O se prende tantas veces durante las pruebas.

4.8 Porque no tengo disponible toda la memoria RAM de la HP48!

La HP48 S/SX/G tienen 32 Kb de memoria base, y la GX tiene 128Kb. Sin embargo no toda la memoria esta disponible para el usuario. El sistema operativo usa memoria para variables, flags (banderines), fonts (caracteres), ultima pila, ultimo argumento, ultimo menú, y otros. Puede ser cualquiera de las siguientes cosas:

  1. Habilitando el uso del LAST STACK (ultima pila), LAST ARG (ultimo argumento), LAST CMD (últimos comandos), etc., aumenta el uso de RAM extra, ya que la calculadora debe tener registro de la ultima pila, argumento, comandos, etc.. Esto es particularmente importante con LAST STACK, si tienes una pila muy largo o compleja, ya que la HP48 debe guardar suficiente información como para recrear la pila después de cada operación. Tu puedes borrar estas variables presionando ON-C (pero ten en cuanta que esto también borra la pila, PICT, etc.)
  2. De William Wickes, miembro del equipo de desarrolló de la HP48: Aquí hay un candidato para " la manera mas oscura de aumentar el uso de memoria en la HP48SX." Cuando un programa ejecuta DOERR con un argumento que sea un string, el string y por ende el programa también, si el string esta incluido en el programa, son referenciados como la causa del comando ERRM. De esta manera si borras el programa, la memoria usada por el programa no es liberada hasta que la referencia ERRM es puesta al día hacia un nuevo string. Si el string esta en un puerto, obtendrás el error "Object In Use" si tratas de borrar la librería o la copia de seguridad que contiene al string. Parar el sistema antes de un PURGE no ayudara si es que los objetos no están en el puerto 1 o puerto 2 (liberara la memoria usada por un objeto exitosamente borrada, pero aun referenciada). Para objetos en el puerto 1, la única manera de romper la referencia es ejecutando un DOERR nuevamente con un string nuevo.
  3. Ocasionalmente, yo tuve problemas con librerías que desaparecían, pero aun ocupaban memoria. Descubrí que un reseteo "ON-A-F" hacia reaparecer estas librerías. Si no aun tienes disponible una gran cantidad de memoria, yo te sugeriría un hardware reset, después de haber hecho un acopia de seguridad de tu memoria.

4.9 Cuales son los mejores métodos para instalar y borrar librerías?

Para instalar una Librería:

  1. Bajala a una variable en la calculadora.
  2. Pon la librería en la pila.
  3. Tipea el numero del puerto en el cual quieres guardar la librería. 0 es el apropiado si es que no tienes tarjetas de expansión.
  4. Presiona STO para guardar la librería en ese puerto..
  5. Apaga la calculadora y después préndela, o presiona ON-C, para finalizar la instalación de la librería.

Algunas veces tendrás que borrar la variable que contiene la librería antes de guardarla en un puerto, si es que tienes poca memoria disponible. Ve la próxima pregunta para mas información..

Si tienes FXRECV instalado: Solo tipea el numero del puerto, presiona FXRECV y la librería automáticamente será guardada en el puerto elegido. Todo lo que tienes que hacer entonces es apagar la calculadora y después prenderla para completar la instalación.

Para borrar una Librería:

Digamos que la librería que quieres borrar es la 1234 y esta en el puerto 0 .

  1. Anda al directorio en el cual la librería esta vinculada. En la mayoría de los casos este será HOME.
  2. Ingresa :0: 1234
  3. Presiona [ENTER] o tipea DUP
  4. Tipea DETACH
  5. Tipea PURGE

Si esto no funciona, debe haber aun una referencia a la librería en la memoria temporal. Trata de reiniciarla con ON-C, y trata de nuevo.

4.10 Como puedo instalar librerías grandes?

Si lograste transmitir satisfactoriamente la librería a tu HP y tratas de guardarla en un puerto, obtendrás el error "Insufficient Momory". Esto se debe a que tu HP esta tratando de guardar una copia de esta en el puerto, pero no hay suficiente memoria en el. Esto es común en la HP48 S/SX/G, ya que tienen solo 32Kb de memoria incorporada.

La solución es poner la librería en la pila, y posteriormente borrar la variable original que contenía la librería. En este punto, la única copia de la librería que existe es la de la pila. Ahora puedes guardar la librería en un puerto como de costumbre. Este método evita tener dos copias idénticas momentáneamente en la memoria al mismo tiempo.

Por ejemplo, digamos que tienes una librería en 'LIB' y quieres guardarla en el puerto 0. Debes hacer lo siguiente:

Para el problema opuesto - mandar librerías grandes sigue el procedimiento en reversa. Esto es, llama el objeto desde el puerto a la pila, borra el original del puerto, guárdalo en una variable y mándalo.

Si la librería esta en un puerto no cubierto (0/1/2 en la SX o 0/1 en la GX) puedes usar el siguiente programa sugerido por Dan Kirkland:


\<< -> lib \<< 'lib' SEND \>> \>>

Esto no requiere un asegunda copia de la librería y evita todas las complicaciones de tratar de borrar una librería y después reinstalarla.

4.11 Porque (1/3)*3 es igual a 0.999999999999?

esto se debe a la manera en que comúnmente son representados los números en los computadores y calculadoras. Hay muchos números infinitos, como '1/3' y 'pi', que no pueden ser representados exactamente en el interior de la calculadora (su representación decimal sigue infinitamente, y comúnmente ni siquiera puede ser representado como una fracción, como en 'pi'). Como resultado, cualquier calculo que use estos números estará limitado en su exactitud.

4.12 Porque my HP dice que 0 elevado a 0 es igual a 1?

Algunos afirman que 0^0 esta definido como 1, otros que es indeterminado. Los matemáticos de HP decidieron usar la primera definición. Aquí hay información concreta sacada de la Sci.Math-FAQ:

Pregunta:

Que es 0^0 ?

Respuesta:

De acuerdo con los textos de Calculo, 0^0 es una "forma indeterminada". Cuando se evalúa un limite de la forma 0^0, necesitas saber que los limites de esa forma son llamados "formas indeterminadas", y necesitas usar técnicas especiales como la regla de L'Hopital para evaluarlas. De otra forma, 0^0=1 parece ser la elección mas útil para 0^0. Esta convención nos permite extender definiciones en distintas áreas de las matemáticas que de otra forma deberían tratar al 0 como un caso especial. Nota que 0^0 es una discontinuidad en la función x^y.

Rotando & Korn que si f y g son funciones reales que desaparecen en el origen y que son analíticas en 0 (infinitamente diferenciable no basta), entonces f(x)^g(x) se aproxima a 1 cuando x se aproxima a 0 por la derecha.

De Concrete Mathematics p.162 (R. Graham, D. Knuth, O. Patashnik):

"Algunos textos dejan 0^0 indefinido, porque las funciones x^0 y 0^x tienen diferentes valores limites cuando x decrece a 0. Pero esto es un error. Debemos definir:

x^0 = 1 para todo x,

si el teorema del binomio es valido cuando x=0, y=0, y/o x=-y. El teorema es demasiado importante para ser arbitrariamente restringido! Al contrario, la función 0^x no tiene importancia."

Publicado por Addison-Wesley, 2nd printing Dec, 1988.

Referencias:

H. E. Vaughan, The expression '0^0', Mathematics Teacher 63 (1970), pp.111-112.

Louis M. Rotando & Henry Korn, "The Indeterminate Form 0^0", Mathematics Magazine, Vol. 50, No. 1 (January 1977), pp. 41-42.

L.J. Paige, A note on indeterminate forms, American Mathematical Monthly, 61 (1954), 189-190; reimpreso en la Mathematical Association of America's 1969 volume, Selected Papers on Calculus, pp. 210-211.

4.13 Que es RPN?

Jan Lukasiewicz escribió un libro de lógica formal en 1951 mostrando que las expresiones matemáticas podían especificarse sin paréntesis, colocando los operadores antes (Polish Notation; notación polaca) o después (Reverse Polish Notation; notación polaca inversa) de los operandos. Por ejemplo, la expresión:


(4 + 5) * 6

Puede ser expresada en RPN como:


4 5 + 6 *

6 4 5 + *

Notación polaca también es conocida como notación de prefijos y notación polaca inversa (RPN) es conocida como notación de sufijos.

4.14 Porque HP uso RPN en sus calculadoras?

En los años posteriores al libro de Lukasiewicz, los científicos de computadores se dieron cuanta que RPN o notación de sufijos era muy eficiente para matemáticas en computadores. Como una expresión de sufijos es leída de izquierda a derecha, los operandos son simplemente puestos en una pila ultima-entra, primera-sale (LIFO; last-in, first out) y los operadores se aplicarían de inmediato a los operandos en el fondo de la pila. Al contrario, expresiones con paréntesis y precedencia (notación encajada) requerían que los operadores fueran retrasados hasta algún punto posterior. De este modo, los compiladores en casi todos los computadores modernos convertían expresiones a RPN para ejecutarlas. (De hecho, algunos fabricantes de computadores diseñaron sus computadores usando notación de sufijos).

En la época en que la HP-35 fue lanzada, otras calculadoras de bolsillo usaban un modelo de álgebra parcial. Eso significaba que podían evaluar expresiones triviales como 4+5, pero no podían manejar nada que contuviera paréntesis o precedencia algebraica. La tecnología de ese tiempo no permitía compiladores totalmente algebraicos en calculadoras de bolsillo.

RPN permitió a HP a producir una calculadora de bolsillo que pudiera evaluar expresiones arbitrarias usando la tecnología disponible. Para muchos, aprender un nuevo estilo de ingreso era el pequeño precio que debían pagar para poder evaluar expresiones arbitrarias en una calculadora. Una vez que la tecnología permitió que compiladores algebraicos cupieran en una calculadora de bolsillo, la mayoría de los usuarios usando RPN decidieron que RPN era mas eficiente y consistente para los usuarios como para la calculadora. Además, ya que las subexpresiones son evaluadas cuando son ingresadas, los errores de entrada son mas obvios con RPN.

Otra ventaja de RPN es la consistencia entre maquinas. Los primeros modelos algebraicos tenían diferentes limites de complejidad en las expresiones que podían evaluar. Por ejemplo, los catálogos de TI de finales de los 70' describían cuantos niveles de paréntesis y operaciones pendientes podía manejar cada modelo. Aun hoy en día si comienzas a usar una calculadora algebraica, necesitas determinar "cuan algebraica" es realmente. Por ejemplo, algún interruptor a RPN para operaciones unitarias (ie 5 SIN en vez de sin(5)) y en algunas no se puede ingresar directamente una expresión como:


 4+5

-----

 6+7

4.15 Hay alguna Alternativa a Calcular en RPN?

Algunas personas simplemente no pueden acostumbrarse a la interacción con la pila para hacer cálculos. Una alternativa simple es poner tu ecuación en comillas como '8+10*3' y usar EVAL como la tecla "es igual". De esta manera tu puedes ingresar números tal como los escribirías en papel.

4.16 Porque recibo valores inesperados cuando sumo temperaturas?

Ejemplo: Sumo dos temperaturas como 34 deg.F y 11 deg.F, y obtengo 504.667 deg.F. Porque no obtengo 45 deg.F?

Esto ocurre solo con la S/SX. Este comportamiento cambio en la G/GX. En la G/GX, sumar 34 deg.F y 11 deg.F dará 45 deg.F usando TINC y TDELTA. Sin embargo, La G/GX solo sumara o retara temperaturas si las unidades son las mismas; ahora es un error que no lo sean.

Si las unidades unidas al numero consisten en solo una temperatura y nada mas, las operaciones son realizadas usando una escala absoluta de temperatura (relativa al cero absoluto). Si las unidades consisten en una temperatura y algo mas, como ángulo/minuto. la operación no será realizada usando una escala absoluta de temperatura.

Además no tiene ningún sentido físico sumar dos temperaturas. Tu no puedes sumar una taza de agua a 20 grados C a una taza de agua a 30 grados C y terminar con dos tazas de aguas a 50 grados C.

4.17 Como puedo agregar mis propias unidades? Para que es la unidad 1_? ?

Nota: Algunas de las ultimas ediciones del manual de la serie G/GX tienen información similar al respecto.

Otra característica es la unidad genérica 1_?. Parece pensada como unidad genérica, para permitir crear nuevas unidades no basadas en ninguna de las incorporadas. La puedes ocupar para crear una utilidad de conversión para dinero o bits y bytes. Antes de crear alguna de estas, revisa los sitios de FTP para ver que han hecho otros en este aspecto.


Aquí hay un ejemplo. Convierte esto usando ASC\-> y guardado como 'sample'. 



"69A20FF78E000000005046F6E6574750ADA209C2A2C2A2070000F368B01B2130

E20005046F6A756E650ADA20339201000000000000210C2A20F000046F6E6574

768B01B2130640005086F6D6562750ADA20339200000000000000510C2A20F00

0046F6E65747C2A20B0000D696E686B0168B01B2130B5000303435453047A204

7A20C2A20F000046F6E65747ADA209C2A2C2A20F000046F6E6574768B01B2130

B213047A20C2A20F000046F6A756E6ADA209C2A2C2A20F000046F6A756E668B0

1B2130B213047A20C2A20F000086F6D65627ADA209C2A2C2A20F000086F6D656

2768B01B2130B2130B2130F0DA"

Este es un directorio muestra con un menú de usuario. Entra al directorio y presiona la tecla CST. Aquí veras tres unidades (acortadas para caber en las teclas del menú): donut, dozen y homer. Una dozen es definida como 12_donut, y un homer es la velocidad de 1.5_donut/min (ne es parte del sitema SI). Estas unidades pueden tomar prefijos del sistema SI descritos en la pagina 10-5 del Manual del Usuario, entonces tu puedes convertir el valor de 3_MW*h/kdonut en unidades de erg/mdozen usando CONVERT, por ejemplo. Los itemes en el menú CST tienen las habilidades usuales del menú de unidades decrito en las paginas 10-2 y 10-3 del Manual del Usuario. Estas unidades pueden ser utilizadas para operaciones matemáticas descritas en la pagina 10-7 del Manual de Usuario, como agregar 2_donut a 1_dozen.

Ejemplo: En tu planta de energía, tu tienes cuatro funcionarios en el cuarto de control, que combinados tienen la velocidad de consumo de 2.28 homers. Cuantas donuts se comerán en 5 minutos y 17 segundos?

4.18 Quiero que 'pi' sea un valor numérico y no un símbolo.

Tu estas usando el modo de constantes numéricas. Para prender o apagar este modo:

SX:

Tipea -2 SF. Esto prende el modo de constantes numéricas. Para apagarlo, tipea -2 CF.

GX:

Anda al menú MODES (presiona verde/right-shift MODES). presiona la tecla para el submenu FLAG. Avanza ala segunda flag "Constant -> symb" para apagarla y prenderla.

4.19 Que son esos pequeños números cerca del borde superior de la pantalla?

Esos pequeños números son "flags de usuario". Cuando tu o un programa prende cualquiera de las flags de usuario de la 1 a la 5, pequeños números correspondientes a la flag prendida son mostrados en el borde superior de la pantalla.

La HP usa flags negativas para setear varios modos y funciones, mientras que la flags positivas fueron reservadas para el uso del usuario. Para prender una flag de usuario tipea el numero y después SF. Para borrar la flag de usuario tipea el numero y después CF.

Algunos programas utilizaran las flags de usuario sin avisarte. Entonces si tienes un "1" en el borde superior de la pantalla puedes tipear 1 CF para eliminarlo.

4.20 Que trucos hay para manipular matrices?

SX:

Puedes construir una matriz por filas usando \GS+. Puedes desmantelar una matriz en columnas usando \GS- Estos dos comandos (\GS es Sigma (letra griega E)) agregan o sacan filas de la matriz estadística SigmaDAT. \GS+ toma un vector fila y lo agrega a SigmaDAT, y \GS- toma la fila del fondo de SigmaDAT. \GS+ es accesible desde el menú STAT con su softkey. \GS- puede ser obtenido presionando left-shift /GS+, o tipeandolo en la línea de comandos.

GX:

La GX tiene muchas funciones matriciales incorporadas. Ve el apéndice B-1.

4.21 Puedo ocupar mi HP48 como un control remoto?

Hay muchos programas disponibles para usar el puerto IR de tu HP48 como un control remoto. Sin embargo, el nivel de soporte depende particularmente de la unidad que quieras controlar. La HP48 es capaz de reproducir muchos controles IR de muchos aparatos de marcas populares.

Sin embargo, algunos controles remotos funcionan a velocidades que la HP48 no es capaz de reproducir. Gracias a su mayor velocidad de procesamiento, las calculadoras G/GX son capaces de soportar una mayor cantidad de controles remotas, pero en algunos casos aun es limitado.

Con los típicos programas tu tienes que "enseñar" a tu HP48 mandándole las distintas secuencias con el control remoto original. Hay algunas ventajas al usar tu HP48:

El mejor programa de control remoto lejos es Remote por Bjorn Gahm. Tiene una larga base de datos de controles remotos existentes, así no tienes que adiestrar a tu HP48 si tu control esta en esa lista. Además tiene la habilidad de aprender códigos nuevos. Ve la lista de mejores programas (mas adelante en esta FAQ) para el URL especifico.

4.22 La HP48 puede ser usada como un marcador de teléfonos (DTMF phone dialer)?

Para hacer tonos de discado de teléfonos, tienes que producir dos tonos simultáneamente. Los tonos usados para discar teléfonos son conocidos como tonos DTMF (dual tone multi frcuency), que consisten en dos tonos simultáneos.

El parlante de la HP48 no es capaz de producir tonos DTMF, porque solo puede producir un tono a la vez. Lo mejor que puede hacer la HP48 es cambiar muy rápido entre una frecuencia y otra. Algunos intentos en lenguaje de maquina no han sido fructíferos. Por eso no puedes ocupar tu HP48 como un marcador de teléfonos.

4.23 Como puedo ejecutar un programa en un warmstart y/o encendido?

Puedes ocupar algunas de las utilitarios disponibles en los discos Educalc Goodies (ve Apéndice E.5 para ver donde obtenerlos):

Algunas librerías par la pila vienen con el soporte para AUTOEXEC o algún equivalente incorporado (por ejemplo, la librería Java soporta AUTOEXEC). Si alguna de las librerías que tienes instaladas tiene soporte para esa característica, no necesitas ninguna de las librerías anteriores.

4.24 Pude acelerar mi HP-28S. Como puedo acelerar mi HP48?

Realmente no puedes. A diferencia de la HP28-S, la velocidad del reloj en la HP48 SX esta fijo por hardware (físicamente) a 2 Mhz, y a 4Mhz en la HP48 GX.

sin embargo, en algunos casos, puedes acelerar tu HP48 apagando el refrescamiento de pantalla, que supuestamente toma cerca del 11% del tiempo del CPU. Detlef Mueller mando un programa llamado SPEED a comp.sources.hp48 que apaga el refrescamiento de pantalla. Como apaga la pantalla, es obvio que solo es utilizable en largos procesos no interactivos como calcular integrales, compilar, etc... Busca en los diversos archivos para la HP48 para una copia.

4.25 Puedo hacer que mi HP grafique mas rápido?

Trata bajando la resolución de ploteo tipeando #2 RES. Puedes usar valoras mas grandes para mayor velocidad a expensas de los puntos ploteados. En el menú de opciones de ploteo en la GX (Ploting Options Menu) este parámetros es conocido como "STEP".

4.26 Como gráfico inecuaciones?

En el manual del usuario se refieren a las inecuaciones como "gráficos de verdad". Están definidos como expresiones que devuelven los resultados verdadero (cualquier numero real distinto de cero) o falso (0). En un gráfico de verdad, un pixel es prendido si la expresión es verdad, y si la expresión es falsa se deja tal como estaba.

Por ejemplo, para graficar la simple inecuación \X>0\ puedes hacer:


'X>0' 'EQ' STO

TRUTH

-20 20 XRNG

-10 10 XRNG

ERASE DRAX DRAW

Para ejemplos mas complicados lee tu manual, o en una G/GX tipea TEACH para ver en alguno de los ejemplos incorporados. Además seria de utilidad graficar las líneas que definen la frontera de la región de verdad. Esto es tan fácil como cambiar el tipo de gráfico a FUNCTION o CONIC y graficar de nuevo, preocupándose de no borrar ningún gráfico hecho anteriormente.

Nota que a menos que sea especificado, cada pixel en la pantalla debe ser evaluado. Por eso, los gráficos de verdad pueden ser muy lentos. Si tienes una idea general de cuales valores vana dar verdadero, puedes acelerar el gráfico especificando un rango menor a graficar en las coordenadas x e y. Puedes hacer esto fijando las formas de entrada "LO" y "HI" en una G/GX, que pueden ser diferentes al rango actual de representación del gráfico.

Si estas graficando el área entre dos ecuaciones, puedes acelerar dramáticamente la velocidad del gráfico evitando el uso de un gráfico de verdad (TRUTH). Guarda las dos ecuaciones como los dos primeros elementos en la lista actual de EQ. Usando NXEQ en el menú FCN retara la lista a voluntad para graficar ambas funciones. Después el área entre ellas pude ser rellenado rápidamente usando la tecla SHADE del menú FCN (en el ambiente PICTURE).

Otra sugerencia para acelerar los gráficos de verdad es fijar la resolución, digamos a 2 pixeles o mas, lo que resulta en un sombreado distinto. La resolución puede ser fijada con el comando RES.

4.27 Que es el directorio escondido y como lo puedo acceder?

El "directorio escondido" es un subdirectorio del directorio HOME. Es creado al iniciar la calculadora, y contiene variables con tus alarmas y las configuraciones de teclado de usuario. Puedes ocupar el directorio escondido para guardar lo que quieras, sin embargo NO PUEDES ORDENAR los contenidos de este directorio, lo que causaría perdida de memoria.

El nombre del directorio escondido es el carácter nulo, ''. La única forma de conseguir un carácter nulo es usando un syseval. Puedes usar el siguiente programa para acceder al directorio escondido:


    <<  HOME                                (cambia al directorio home)

        #15777h               (syseval para conseguir el carácter nulo)

        SYSEVAL                                 (devuelve '' a la pila)                

        EVAL >>                        (cambia al directorio escondido)

Para salir del directorio escondido, usa HOME o UPDIR. esto te llevara al directorio HOME.

Además poniendo el carácter nulo como parte de tu directorio HOME, te permitirá entrar directamente en el directorio escondido presionando la tecla de menú.

Nota: El comando SysRPL NULLID devuelve un carácter nulo a la pila; es lo mismo que hacer #15777h SYSEVAL.

4.28 Como puedo recuperar un objeto guardado en una copia de seguridad en un puerto?

Texto original de Joe Horn

Hay un método poco conocido para recuperar objetos desde el interior de copias de seguridad. Solo haz una lista representando el PATH (ruta) al objeto y etiqueta (tag) la lista con el numero del puerto. Después presiona RDL o EVAL.

Por ejemplo, si tu archivo esta en el puerto 1 y se llama BKUP, y contiene un directorio llamado GAMES que contiene un programa llamado REVERSI, puedes ejecutar el juego directamente (sin tener una copia distinta de REVERSI guardada en cualquier parte!) escribiendo:


:1: { BKUP GAMES REVERSI } EVAL

O puedes usar RCL en vez de EVAL y el objeto será puesto en la pila.

4.29 Como tomo un logaritmo cuya base no sea 10 ni e?

Para tomar un logaritmo de un numero de una base que no sea 10 ni e, digamos log x, base y, usa la formula:


  ln x

--------    donde ln es logaritmo natural (log sirve también)

  ln y

Un programa corto que lo realiza: << SWAP LN SWAP LN / >>

Con los datos de entrada:


2: x

1: y

4.30 Hay alguna combinación de teclas que no salga en el manual?

Texto original de John Meyers

Si, en la G/GX hay unas cuantas teclas que no son mencionadas. Estas son:

Right-shift View esta escondido en el Apéndice G (Índice de Operaciones) de la Guía del Usuario, cuarta edición, (que viene con la calculadora), entre varias entradas para la palabra VIEW.

AUR Edition 1 (en el capitulo 3, Command Reference, bajo SERVER) describe la combinación de teclas right-shift flecha hacia la derecha (Por supuesto el AUR no viene con la calculadora). Esta alternativa fue dejada afuera del Apéndice G de la Guía del Usuario. El libro HP48 Handbook 2nd Ed. de J. Donnelly lo describe incluso antes que el comando!

4.31 Como puedo averiguar sobre los comandos no mencionados en el manual de la GX?

Texto original de John Meyers

Además de comprar el Advanced User's Reference Manual (AUR), puedes buscar en el Apéndice G de la Guía del Usuario de la G/GX, que describe brevemente cada comando disponible en la G/GX, incluyendo todos los comandos que no son mencionados en ninguna otra parte de la Guía del Usuario. Casi siempre esta breve descripción es suficiente para que ocupes el comando (y sepas sus salidas!).

Algunas notas sobre omisiones:

4.32 Como puedo borrar un directorio completo?

Nota que con CLVAR, si el directorio actual contiene subdirectorios no vacíos, un error ocurrirá en ese punto, y las variables restantes no serán borradas.

4.33 Como afecta a mis cálculos el largo de palabra de binario?

Texto original de John Meyers

Algo de lo que viene a continuación esta en la Guía del Usuario (pero no todo), bajo "Bases Numéricas y Aritmética Binaria" (Capitulo 15 del manual de la G/GX).

Las flags de sistema contienen un segmento que especifica el "tamaño de palabra de un binario". Este largo de palabra limita cuantos bits de un valor binario son mostrados en la pila, e igualmente determina cuantos bits de los argumentos y resultados de las operaciones aritméticas/lógicas/desplazamiento de binarios son usados.

Curiosamente, el tamaño de palabra de un binario no afecta la entrada de valores en la línea de comandos - lo que tu originalmente ingresaste es mostrado en una forma truncada en la pila, pero cuando tu lo vez de nuevo en la línea de comando ( que temporalmente revierte a visualización numérica STD y un largo de palabra de 64-bit) te darás cuenta que el valor completo esta todavía intacto.

Tan pronto como comienzas a usar funciones en ese valor, el argumento de funciones de binarios es truncado al largo de palabra antes de que la función es ejecutada, y después el resultado final de la función es truncado de nuevo.

Puedes obtener el largo de palabra vigente usando RCWS y fijar el largo de palabra usando STWS. STWS acepta un numero real como argumento en el rango entre 1-64 (fuera de ese rango el valor es ajustado a 1 o 64 dependiendo del caso), también acepta como argumento un binario, en cuyo caso el valor de los 20 bits mas bajos es usado (solo en caso de que te sorprendieras de que #1048576d STWS RCWS diera como respuesta un 1).

No trates de ajustar el largo de palabra del binario con la esperanza de ahorrar memoria usando valores mas cortos; todo "entero binario de usuario" (tipo 10) producido por User RPL ocupa 13 bytes, sin importar cual sea el actual largo de binario; la HP48 simplemente fija los bits anteriores a cera cuando visualiza en la pila o realiza cálculos.


Anterior Siguiente Indice