Descargar Imprimir esta página

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

Publicidad

Sección 11
Números aleatorios
Temas
tratados:
RANOOMIZE
RI\IO
En
esta
sección
vamos
a
estudiar
las palabras
clave
RND y RANDOMIZE.
En algunos aspectos,
RND
es semejante a una función
:
realiza cálculos y genera un resul­
tado. En cambio, es peculiar en el sentido de que no
necesita
argumento.
Cada vez que utilizamos
RND,
el resultado es un nuevo número aleatorio comprendido
entre O y l
.
(Algunas veces puede tomar el valor
O,
pero
nunca
el 1.)
Pruebe lo siguiente:
10 PRINT RND
20 GO TO 10
¿Puede detectar alguna regla o algún patrón repetiti
vo
en los
números?
No debería,
ya
que
'aleatorio' significa 'impredecible',
'sin normas'
.
En realidad,
RND
no
es
perfectamente aleatoria
,
ya que
los
valores que genera están to­
-mados de una
secuencia
fija que consta de 65536
números.
Sin
embargo, éstos están tan
«revueltos» que podemo
s
considerarlos
impredecibles
a todo
s
los efectos
prácticos.
Por
eso
decimos
que
RND
es
pseudoaleatoria.
RND
da un número (pseudo)aleatorio comprendido entre
Oy
1, pero
fácilmente
se puede
transformar ese intervalo en otro cualquiera. Por ejemplo,
5*RND
da valores comprendi­
dos entre
Oy 5;
1.3+0.7*RND
los da en el margen de 1.3 a 2. Cuando necesitemos núme­
ros enteros podremos utilizar
INT
(sin olvidar que
INT
siempre redondea hacia abajo),
como en
1+INT(RND*6),
expresión que utilizaremos en un programa que simulará ellan­
zamiento de dados.
RND*6
genera valores que están en el margen de Oa 6, pero
,
puesto
que realmente nunca llega a 6,
INT(RND*6)
sólo puede ser O, 1, 2, 3, 4 o 5.
He aquí el
programa:
10 REM Programa de lanzamiento de dados
20 CLS
30 FOR n=1 TO 2
40 PRINT 1+ INT ( RND *6);" ";
50 NEXT n
60 INPUT
as:
GO TO 20
Capítulo 8. Guía de programación en +3 BASIC
96

Publicidad

loading