Descargar Imprimir esta página

AMSTRAD sinclair ZX Spectrum +3 Manual Del Usario página 111

Publicidad

Esa matriz tendrá un total de 3*6=18 variables indexadas:
c(1,1), c(I,2),
,
c(I,6)
c(2,1), c(2,2),
, c(2,6)
c(3,l), c(3,2),
, c(3,6)
La misma idea es válida para cualquier número de dimensiones.
Aunque es posible tener una variable sencilla y una matricial con el mismo nombre, no
puede haber dos matrices que se llamen igual, aunque tengan diferente número de di­
mensiones.
Hasta ahora hemos descrito las
matrices numéricas.
También existen
matrices literales,
cuyos elementos son, naturalmente, cadenas literales. Las cadenas de una matriz se distin­
guen de las cadenas sencillas en que son de longitud fija y en que la asignación de valores
se realiza por el procedimiento de Procrustes (¿lo recuerda?): si el valor es demasiado lar­
go, se lo recorta; si es demasiado corto, se lo complementa con espacios por la derecha.
El nombre de toda matriz literal consiste en una sola letra seguida de
$.
A diferencia de
lo que ocurría con las matrices numéricas, una matriz literal y una variable literal sencilla
no pueden tener el mismo nombre.
,.
Supongamos, pues, que queremos una matriz
a$
que pueda albergar cinco cadenas. Debe­
mos decidir qué longitud van a tener las cadenas. Por ejemplo, una matriz para cinco ca­
denas de diez caracteres cada una se dimensiona con:
DIM a$(5.10)
(escriba esta orden)
Esta sentencia prepara una matriz de 5*10
caracteres,
que podemos manejar individual­
mente o por filas completas:
a$(1)=a$(I,I)a$(1
,2)
a$(I, 10)
a$(2)=a$(2, l)a$(2,2)
a$(2, 10)
a$(3)=a$(3,
1
)a$(3
,2)
a$(3, 10)
a$(4)=a$(4, l)a$(4,2)
a$(4, 10)
a$(5)=a$(5, 1)a$(5,2)
a$(5, 10)
Si al usar la matriz especificamos el mismo número de subíndices (dos en este caso) que
dimensiones hay en la sentencia
DIM,
obtenemos un solo carácter. Pero si omitimos el
último, la matriz da la fila entera (una cadena de longitud fija). Así que, por ejemplo,
a$(2,7)
es el séptimo carácter de la cadena
a$(2).
Utilizando la notación de disección de
cadenas (Sección 8 de este capítulo) también podríamos escribir
a$(2)(7)
en lugar de
a$(2,7).
Ahora escriba:
LET a$(2)="1234567890"
y
PRINT a$(21. a$(2.7)
Sección 12. Matrices
101

Publicidad

loading