Microhobby 3. Año I, del 26 de noviembre al 03 de diciembre de 1984

Programas de lectores

Aritmemori

Javier López Ruiz

El motivo de este programa es aprovechar la capacidad del SPECTRUM para realizar operaciones aritméticas y trigonométricas, y poder memorizarlas.

Pensemos en una matriz de 30 filas por 24 columnas. Las columnas serán las letras (A - X), y las filas los primeros 30 números.

Ya que la representación en el SPECTRUM es de 21 filas por 32 columnas, solamente se podrán representar 10 filas por 3 columnas cada vez, en la que se podrán realizar toda clase de cálculos.

Primeramente comentaremos el funcionamiento del cursor.

El cursor se mueve con las teclas '5', '6', '7' y '8'. Para controlar las demás hojas de cálculo y poderlas visualizar, se hará de la siguiente forma:

Situar el cursor en la parte más extrema de la derecha y apretar de nuevo la tecla '8'. Aparecerá en pantalla las siguientes tres letras que definen la correspondiente hoja de cálculo. Para volver a la hoja anterior, hacer lo mismo hacia la izquierda.

El funcionamiento de arriba abajo, se realizará de la misma manera, pero con las teclas '6' y '7'.

Pasemos ahora a explicar las opciones disponibles:

  • D: Permite la entrada de datos por el teclado. Se pueden introducir números o bien literales, de una longitud de 9 dígitos, como máximo.
  • F: Visualiza la composición de operaciones que se está realizando, antes de pedir el resultado de las mismas.
  • L: Limpia la pantalla de los datos actuales.
  • S: Salva los datos en una cinta.
  • C: Carga los datos salvados en cinta con la opción 'S'.
  • I: Para consultar las instrucciones.
  • T: Para terminar el programa. Se borrará de la memoria del SPECTRUM.

Por último pasamos a comentar la manera de operar con los números en pantalla.

Las teclas asignadas para las operaciones son las siguientes:

OPERACIONES ARITMÉTICAS.

  • 'K': Suma.
  • 'J': Resta.
  • 'H': Potencia.
  • 'B': Producto.
  • 'V': División.

OPERACIONES TRIGONOMETRICAS.

  • 'Q': Seno.
  • 'W': Coseno.
  • 'E': Tangente.
  • 'U': Arco seno.
  • 'O': Arco coseno.
  • 'P': Arco tangente.

OTRAS.

  • 'R': Raíz cuadrada.
  • 'Z': Logaritmo neperiano.

Para operar, hacer:

  1. Situar el cursor en el número que queremos seleccionar, con las teclas de movimiento del cursor.
  2. Pulsar una operación aritmética (suma, resta, potencia, etc.). Para la primera operación, necesariamente, teclear la suma o la resta para indicar su signo.
  3. Nada más apretar la tecla de operación, aparecerá en la esquina inferior izquierda el rótulo de PARÉNTESIS. En este momento tendrá la oportunidad de introducir con 'SYMBOL SHIFT' y las teclas '8', '9', paréntesis de entrada o de salida. El dígito a la izquierda del rótulo indicará los paréntesis abiertos durante las operaciones. Este número tendrá que ser cero antes de pulsar 'ENTER' para ver el resultado. Sin paréntesis pulsar cualquier otra tecla.
  4. Cuando esté en este paso, aparecerá donde antes apareció PARÉNTESIS, el rótulo de TRIGONOME. Aquí será donde, usando las teclas asignadas para cálculos trigonométricos, podrá realizarlos.
  5. Colocar el cursor donde quiera que figure el resultado y pulsar 'ENTER'.

Veamos un pequeño ejemplo:

Supongamos que mediante la opción 'D' introducimos dos datos en la hoja, y queremos saber su producto;

  1. Pulsamos «más», con el cursor en el número 43.
  2. Como no queremos «(,)» apretamos cualquier tecla.
  3. Como tampoco queremos trigonometría, pulsamos cualquier tecla.
  4. Movemos el cursor hacia el número 54 y pulsamos la tecla del producto.
  5. Cualquier tecla para los paréntesis y lo mismo para la trigonometría.
  6. Como queremos saber lo que estamos haciendo, pulsamos 'F' y vemos en la pantalla:
    • OPERACION - 1. (signo suma) 43.
    • OPERACION - 2. (signo del producto) 54.
    • Pulsamos cualquier tecla para seguir.
  7. Ponemos el cursor donde queramos reflejar el resultado y pulsamos 'ENTER'.

Si por despiste, apretásemos 'ENTER' sin hacer ningún cálculo aparecerá ERROR en la parte inferior izquierda.

El límite de operaciones que podemos realizar, antes de ver el resultado, es de 20.

Realización del programa

El programa está basado en una matriz, definida de la siguiente forma: N$(30,216)

El número 30, indica las filas y 216 es el resultado de multiplicar 9 posiciones de cada elemento por 24 letras (A - X).

El control de las hojas, de derecha a izquierda y viceversa, lo realiza la variable «C», y el control vertical con la variable «L».

La impresión en pantalla de los elementos se controla mediante las variables «X» e «Y».

Para hacer los cálculos he utilizado la potencia de que dispone el SPECTRUM para tratar las variables de cadena. Por ejemplo:

  • VARIABLE$ = «más» más «elemento de matriz» = «más elemento de matriz».
  • VARIABLE1$ = «producto» más «elemento de matriz» = «producto elemento de matriz».
  • TOTAL$ = VARIABLE$ más VARIABLE1$

Si ahora aplicamos la función 'VAL' a la variable TOTAL$, tendremos el producto de los dos elementos.

Aplicando esto a cualquier operación podremos obtener cualquier resultado.

Como en todos los programas, en este también tiene sus limitaciones. Paso a explicarlas.

  1. Aunque se pueden utilizar, no podemos usar más de un paréntesis en un mismo número.
  2. El SPECTRUM representa el número más grande con 10 dígitos, pasando luego a utilizar la notación exponencial. En mi programa el número mayor se representa con 9 dígitos, no permitiendo la notación exponencial. Esto es sólo referente a la visualización, ya que en el cálculo esto no importa.

Por último, si surgiera algún error durante la ejecución, para poder recuperar el control del programa teclear:

GO TO 10

Copyline

José Maria Reus

Siéntase Sherlok Holmes y escudriñe en su pantalla los datos más recónditos de sus programas.

Copyline nos permite conocer el modo en el que se almacena en la memoria la información de un programa cualquiera.

El programa comienza con la impresión de la cabecera del listado, y preguntando cuál es la primera y la última línea que se quiere listar.

El listado se inicia con cuatro bytes que se presentan del siguiente modo: en la primera línea se indican los datos referentes a situación, longitud y contenido en memoria, mientras que en las otras tres restantes se incluyen, situación, contenido y carácter correspondientes en aquellos casos que así se requiera.

Se trata de un programa que puede resultar muy útil para todos aquellos que quieran saber qué se encuentra oculto detrás de cada listado.

 
003/programas-de-lectores.txt · Última modificación: d/m/Y H:i (editor externo)
Recent changes RSS feed Creative Commons License Driven by DokuWiki Made on Mac