Sección 18
Control de' tiempo
Temas tratados:
PAUSE, PEEK, INKEY$
Con frecuencia se necesita poder controlar
el
tiempo que dura la ejecución de un progra
ma. Para este fin se dispone de la sentencia
PAUSE.
PAUSE
n
detiene el programa y mantiene la imagen durante n barridos del cuadro (a razón de 50
barridos por segundo). El valor de n puede llegar hasta 65535, número que produce una
pausa de 22 minutos. Si
n=O,
la pausa es de duración infinita.
Para abandonar la pausa en cualquier momento se pulsa una tecla.
El siguiente programa mueve el segundero de un reloj:
10 REM primero dibujamos la esfera del reloj
20 FOR n=1 TO 12
30 PRINT AT 10-10* COS (n/6* PI ),16+10* SIN (n/6* PI );n
40 NEXT
n
50
REM ahora ponemos en marcha el reloj
60 FOR t=O TO
20ססoo:
REM t es el tiempo en segundos
70 LET a=t/30* PI : REM a es el angulo del segundero en radianes
80 LET sx=80* SIN a: LET sy=80* COS a
200 PLOT 128,88: DRAW OVER 1;sx,sy: REM dibuja el segundero
210 PAUSE 42
220 PLOT 128,88: DRAW OVER 1;sx,sy: REM borra el segundero
400 NEXT
t
El reloj deja de funcionar al cabo de unas 55.5 horas, debido a la línea 60, pero usted
puede darle más cuerda fácilmente. Observe que
el
control del tiempo lo lleva la línea 210.
Parecería natural que
PAUSE
50 realizase el batido de segundos, pero también hay que
tener en cuenta el tiempo que tarda el ordenador en llevar a cabo las restantes instruccio
nes del programa. La forma de ajustar el parámetro de
PAUSE
es comparar el funciona
miento del programa con un cronómetro hasta dar con el valor correcto. (El ajuste no
puede ser demasiado perfecto; una diferencia de un barrido más o menos representa un
error del 2070, es decir, aproximadamente media hora al día.)
Sección 18. Control del tiempo
137