Los datos contenidos en las listas DATA van separados por comas, lo mismo que los que se
teclean en respuesta a una instrucción INPUT.
Las listas DATA pueden contener, no sólo números, sino también cadenas literales constantes:
10
DIM
a$(11)
20
FOR
i=0
TO
30
READ
a$(i)
40
NEXT
50
FOR
i=0
TO
60
PRINT
a$(i);"
70
NEXT
80
DATA Cuentan,de,un,sabio,que,un,dia,tan,pobre,y,misero,estaba
run
Observe que no es necesario encerrar entre comillas las cadenas que se ponen en las listas
DATA. Las comillas en este caso son opcionales (también lo son en INPUT). El único caso en
que son necesarias es cuando una cadena contiene una coma; si no se la pusiera entre comillas,
la instrucción READ se detendría en la coma y no leería el resto de la cadena.
10
READ
a$
20
WHILE
a$<>"*"
30
PRINT
a$
40
READ
a$
50
WEND
60
DATA los días de la semana son
sábado
70
DATA
"los días de la semana son lunes, martes, miércoles, jueves, viernes y
sábado"
80
DATA
*
run
La cadena de la línea 60 contiene comas, y por lo tanto cada tramo será leído por READ y
escrito por separado. En cambio, la de la línea 70 ha sido delimitada por comillas y READ la lee
de una sola vez.
El ejemplo anterior demuestra que los datos pueden estar distribuidos en varias líneas (60, 70,
80, . . .). Otro detalle no tan evidente es que las líneas DATA pueden estar en cualquier lugar del
programa, antes o después de las instrucciones READ que leen la información.
Si un programa contiene varias instrucciones READ, cada una continúa leyendo donde terminó la
anterior:
10
DATA
123,456,789,321,654,2343
20
FOR
i=1
TO
30
READ num
40
total=total+num
50
NEXT
60
READ total2
70
IF total=total2 THEN PRINT
error en los datos"
run
Modifique uno de los primeros cinco números de la lista de la línea 10 y ejecute otra vez el
programa. Esta técnica de poner al final de la lista un dato adicional que sea la suma de los
anteriores constituye un buen método de detección de errores en los datos, especialmente si los
11
11
";
5
"los datos son correctos"
Manual de Amstrad CPC 6128 (revisión 2008) - Página 346
lunes, martes, miércoles, jueves,
viernes y
ELSE PRINT
"hay un