AnteriorPosterior

5. Varias líneas en una

Por: Nacho Cabanes
Actualizado: 19-04-2019 22:33
Tiempo de lectura estimado: 4 min.

 

BASIC

5. Varias líneas en una

Hasta ahora hemos estado poniendo cada orden en una línea, pero esto no tiene por qué ser así: también podemos incluir varias órdenes en una misma línea, si las separamos con el símbolo de "dos puntos" ( : )

10 INPUT "DAME TU NOMBRE"; NOMBRE$ : PRINT "HOLA, "; NOMBRE$ 
20 PRINT "HASTA LUEGO" : REM AQUI SE ACABA

(Fuente "0501.bas". Probado en GwBasic 2.02, Locomotive Basic de Amstrad CPC, Commodore 64 Basic V2, Msx Basic 2.1)

En el ejemplo anterior, hemos incluido una orden INPUT y una PRINT en la misma línea, y después una PRINT y una REM también en una misma línea.

Una observación: será peligroso hacer cosas como

20 REM AQUI SE ACABA : PRINT "HASTA LUEGO"

porque la mayoría de las versiones de BASIC considerará como comentario todo lo que sigue a la orden REM, y en este caso eso incluye también a los dos puntos, a la orden PRINT y al texto entre comillas, de modo que la orden PRINT no llegaría a actuar.

Algunos BASIC más modernos que no usen números de línea pueden no permitir escribir varias órdenes en la misma línea. En el caso de Basic256, la documentación no menciona que se pueda utilizar "dos puntos" para separar órdenes, a pesar de lo que el siguiente programa se reconoce perfectamente... excepto en el caso de que sea una orden "REM" lo que haya tras los dos puntos (al menos en la versión 1.1.0 de Basic256):

REM Varias líneas en una
# Y con comentarios
INPUT "DAME TU NOMBRE ", NOMBRE$ : PRINT "HOLA, "; : PRINT NOMBRE$ 
PRINT "HASTA LUEGO": # Esta línea da ERROR si tiene comentario

(Fuente "0502.bas". Probado en Basic256)

Vamos a ver un ejemplo, que pida dos números al usuario y muestre su suma, pero ya con un poco más de corrección y aplicando algunas de las últimas cosas que hemos visto:

10 REM Sumar dos numeros que introduzca el usuario 
20 PRINT "Introduce los dos numeros que quieres sumar" 
30 INPUT "Primer numero"; x  : INPUT "Segundo numero"; y 
40 PRINT "Su suma es "; x+y 

(Fuente "0503.bas". Probado en GwBasic 2.02, Locomotive Basic de Amstrad CPC, Commodore 64 Basic V2, Msx Basic 2.1)

Ejercicio propuesto 5.1: Crea un programa que te pida dos números n1 y n2 y muestre el resultado de 3*(n1+n2) y el de 3*n1 + 3*n2 (si todo es correcto, deberías obtener el mismo resultado en ambas operaciones) Las dos órdenes que escriben resultados deben estar en la misma línea.

5552 visitas desde el 19-04-2019

AnteriorPosterior