Manual de Introducción Spectrum 48k.

3. Números, letras y el ordenador como calculadora

Ya hemos visto cómo decirle al ordenador que imprima letras y caracteres gráficos en la pantalla, con el empleo de PRINT. También hemos visto que ENTER ha de emplearse para decirle al ordenador que ejecute la orden que se acaba de introducir por el teclado. Desde ahora en adelante, no utilizaremos ENTER en el manual cada vez que se utilice una orden o "comando", sino que supondremos que la ha tecleado automáticamente al final de la línea.

Los números pueden manipularse por el ordenador más fácilmente que las letras. En el capítulo anterior aludimos a ello al explicar que el ordenador espera un número después de PRINT, si no se emplean comillas.

Por ello, si tecleamos:

PRINT 2

el número 2 aparecerá en la pantalla.

Es posible mezclar letras y números:

PRINT 2, "ABC"

Obsérvese que hay una separación, o intervalo, en la pantalla entre el 2 y ABC. Ahora, teclee:

PRINT 2;"ABC"

y luego:

PRINT 2 "ABC"

Utilizando una coma entre los elementos después de PRINT se les espacia en 16 columnas, si se emplea punto y coma no se dejan espacios y si no se pone nada, se produce un error.

PRINT puede utilizarse también con las funciones matemáticas en el teclado. De hecho, el ZX Spectrum puede emplearse como una calculadora electrónica.

Por ejemplo:

PRINT 2 + 2

La respuesta aparece en la parte superior de la pantalla. Compare esto con:

PRINT "2 + 2"

Es posible combinarlos para obtener algo más útil. Pruebe:

PRINT "2 + 2 = "; 2 + 2

Pruebe algunas otras expresiones aritméticas como:

PRINT 3 - 2
PRINT 4 / 5
PRINT 12 * 2

El asterisco * se utiliza como un signo de multiplicación en lugar de x para evitar confusiones con la letra x y el símbolo / se emplea en vez del signo de división.

Experimente con muchos cálculos diferentes. Si lo desea, puede utilizar números negativos o números con puntos decimales (comas).

Si llega a emplear las 22 líneas de la parte superior de la pantalla, entonces observará que sucede algo interesante: todo se desplazará una línea hacia arriba y se perderá la línea superior. Esto se denomina "scrolling" (desplazamiento en pantalla).

Los cálculos no se realizan siempre en el orden en que lo podría esperar. Como un ejemplo, pruebe:

PRINT 2 + 3 * 5

Podría esperar que la secuencia fuera: tomar 2, sumar 3, obteniendo 5 y luego multiplicar por 5, obteniendo 25. Sin embargo, esto no es así. Las multiplicaciones y las divisiones también se realizan antes de las sumas y de las restas, por lo que la expresión '2 + 3 * 5' significa 'tomar 3 y multiplicar por 5, obteniendo 15 y luego sumarle 2, obteniendo 17'. El número 17 debe ser la respuesta visualizada en la pantalla.

Dado que las multiplicaciones y las divisiones se realizan primero, decimos que tienen prioridad más alta que la suma y la resta. Entre sí, la multiplicación y la división tienen la misma prioridad, lo que significa que las multiplicaciones y las divisiones se realizan en un orden de izquierda a derecha. Una vez efectuadas estas operaciones, nos quedarán las sumas y las restas y como estas últimas tienen también la misma prioridad entre sí, las realizaremos en el orden de izquierda a derecha.

Veamos cómo el ordenador realizaría la operación siguiente:

PRINT 20 - 2 * 9 + 4 / 2 * 3

  i 20 - 2 * 9 + 4 / 2 * 3
 ii 20 - 18 + 4 / 2 * 3
iii 20 - 18 + 2 * 3
Primero realizamos las multiplicaciones y las divisiones en orden de izquierda a derecha.
iv 20 - 18 + 6
 v 2 + 6
vi 8
y luego las sumas y las restas

Aunque todo lo que realmente necesita saber es si una operación tiene una prioridad más alta o más baja que otra, el ordenador lo hace aplicando un número entre 1 y 16 para representar la prioridad de cada operación. Así: * y / tienen prioridad 8, y + y - tienen prioridad 6.

Este orden de cálculo es absolutamente rígido, pero puede modificarlo empleando paréntesis; algo entre paréntesis se evalúa primero y luego se trata como un solo número, de modo que:

PRINT 3 * 2 + 2

da la respuesta 6 + 2=8 pero:

PRINT 3 * (2 + 2)

proporciona la respuesta 3 * 4 = 12.

A veces es útil dar al ordenador expresiones como estas porque cuando el ordenador está esperando que le introduzca un número, puede proporcionarle, en cambio, una expresión y le dará la respuesta correspondiente. Las excepciones a esta regla son tan pocas que se indicarán explícitamente en cada caso.

Puede escribir números con comas decimales (utilícese el punto ortográfico) y también puede emplear la notación científica, como es bastante frecuente en las calculadoras de bolsillo. En esta notación, después de un número ordinario (con o sin punto decimal) escribirá una parte exponencial constituida por la letra e, luego quizá - y a continuación un número. La parte exponencial desplaza la coma decimal hacia la derecha (o hacia la izquierda, para un exponente negativo), con lo que se multiplica (o se divide) el número original por 10 unas cuantas veces. Por ejemplo:

2.34e0 = 2.34
2.34e3 = 2340
2.34e-2 = 0.0234 etc.

(pruebe a imprimir estas expresiones en el ordenador). Este es uno de los pocos casos en que no puede sustituir un número por una expresión; por ejemplo, no puede escribir:

(1.34 + 1) e (6/2)

También puede tener expresiones cuyos valores no sean números, sino cadenas de letras. Ha visto ya la forma más sencilla de esta cadena en muchas ocasiones y esta es la cadena de letras escritas entre comillas. Es bastante análoga a la forma más simple de expresión numérica, que no es otra cosa que un número escrito sin ningún otro elemento. Lo que todavía no ha visto es el uso del signo + con cadenas (pero no los signos -, * ó /, por lo que no hay ningún problema de prioridades en este caso). Para sumar cadenas basta unirlas una después de otra. Un ejemplo es:

PRINT "jers" + "ey cow"

Puede "sumar" tantas cadenas como quiera en una sola expresión y si así lo necesita, puede emplear incluso paréntesis.


Manual de Introducción Spectrum 48k.