Flujo

Las instrucciones de Flujo más comunes son If, For, While, Lbl, Goto, Menu, While y Repeat.
La primera, If/Then/Else/End, sirve para que a veces una parte del pograma se ejecute y otras no se ejecute, o se ejecute otra parte.
Por ejemplo, en el pograma
:Input A
:If A=2:Then
:Disp “2, TE ELIJO A TI
:End
primero nos pide el valor de A, y si le metemos el número 2 a A, escribe “2, TE ELIJO A TI”, pero si no, no hace nada más.
Si entre el DISP y el END escribimos
:Else
:Disp “QUIERO QUE EJECUTES EL
:Disp “POGRAMA OTRA VEZ,
:Disp “Y ESTA VEZ DALE AL 2
y al ejecutarlo no le damos al 2, aparece eso que he escrito.
En general, detras del If hay que poner una condición matemática, como se explicará más adelante; después del Then poner lo que se hará si se cumple la condición; después del Else, si es necesario, lo que se hará si no se cumple, y acabar con un End.
La instrucción PAUSE sirve para que el pograma deje de hacer instrucciones hastaa que aprietes ENTER.
Por ejemplo, si hacemos un pograma que ponga
:Prompt A,B
:Disp A
:Pause
:Disp B
el pograma te pregunta A y B y te saca A por pantalla, pero no te escribe el valor de B hasta que le apretas el ENTER.
El pograma se puede mejorar poniendo
:Prompt A,B
:Pause A
:Disp B
porque tiene una linea menos.
Como PAUSE puede llevar texto detrás no se puede escribir en la misma línea dos puntos y otra instrucción.
Conviene conocer las instrucciones LABEL y GOTO, que sirven para “saltar” de una parte del pograma a otra; si queremos hacer un pograma que nos pregunte un número y escriba los seis siguientes, podemos escribir
:Input N
:Disp N+1
:Disp N+2
:Disp N+3
:Disp N+4
:Disp N+5
:Disp N+6
pero es mejor escribir
:Input K
:K→N
:Lbl A
:N+1→N
:Disp N
:If N<K+6:Then
:Goto A
:End
Lo que hace el segundo pograma es preguntarte un número y guardarlo en K y en N.
Cuando pasa por Lbl A no hace nada, y le suma 1 a N (no a K) y saca N (K+1) por pantalla.
Entonces, como N es menor que K+6, pasa por la instrucción Goto A, que le hace saltar a Lbl A, y vuelve a empezar desde allí.
Después de hacer 6 veces las instrucciones, N=K+6, y entonces el pograma no hace lo que está dentro del IF y acaba.
Ahora que sabemos un poco más, podríamos rematar el pograma con
:Pause
:ClrHome
Aunque el pograma parezca más largo a primera vista, es más práctico, porque si nos pidieran los 9 números siguientes en vez de los 6, en el primero tendríamos que añadir tres líneas de código, y en el segundo, cambiar el 6 por un 9.
Otra instrucción interesante es FOR; por ejemplo, con esta instrucción el pograma de antes se puede hacer sólo con
:Input N
:For (H,1,6)
:Disp N+H
:End
:Pause
:ClrHome
porque el FOR hace esto:
-El pograma, al llegar al FOR, crea una variable llamada H y le da el valor que va después de la coma: 1
-El pograma hace todo lo que hay entre el FOR y el END
-El pograma le suma 1 al valor de H (H vale ahora 2)
-El pograma vuelve a hacer todo lo que le hemos puesto entre el FOR y el END
-El pograma vuelve a sumar 1 a H y a hacer las instrucciones entre FOR y END hasta que H vale el segundo número de la instrucción FOR: 6
-El pograma hace lo propio con H=6 y pasa a lo que hay después del END

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s