Enseña a los niños a codificar con BBC BASIC

En la década de 1980, el Reino Unido era una de las naciones con más conocimientos informáticos del mundo, y parte del motivo fue la ambiciosa decisión de la BBC de invertir en una computadora para acompañar una serie de programas de televisión. Esa computadora se conoció como BBC Micro, y el lenguaje que ayudó a enseñar a millones de personas fue el “Código de instrucción simbólica de uso múltiple para principiantes” (BASIC).

Encontrado en la mayoría de las computadoras domésticas de la época, BASIC ya existía desde hace un tiempo y fue diseñado para ser fácil de usar. Cuando la BBC encargó su computadora, también encargó una versión actualizada que fue diseñada para ser lo más accesible posible para los principiantes.

Hoy, hay un versión para Windows que trae el idioma al siglo XXI, completo con la capacidad de acceder a funciones avanzadas de Windows. Alternativamente, descargar un emulador de BBC Micro.

Si bien es posible que BASIC no esté tan de moda como antes, su simplicidad lo convierte en un excelente lugar para comenzar a aprender a codificar, y BBC BASIC en particular agrega mejoras útiles que se encuentran en lenguajes más modernos. También hay otras versiones de BASIC que se pueden usar para escribir aplicaciones para Android, Windows, Linux, Mac y pronto el iPhone, por lo que aprender lo esencial con BBC BASIC puede proporcionar una base sólida.

Veamos un programa BASIC muy simple; esto solo pregunta su nombre, y cuando lo escribe, responde “hola”:

10 ENTRADA “¿Cuál es tu nombre?” $
20 IMPRIMA “Hola” A$. “¿Cómo estás?”

emulador de la bbc

Tenga en cuenta que en las versiones anteriores de BASIC, incluida la BBC original, cada línea tenía un número; eso no es necesario en las versiones más nuevas.

Los comandos siempre están en mayúsculas; INPUT le dice a la computadora que solicite información al usuario, con el mensaje entre comillas, luego lo almacena en la variable denominada A$. El $ significa que es una secuencia de letras en lugar de un número. La siguiente línea muestra lo que se escribió, rodeado de “Hola” y “¿Cómo estás?” Escriba esto en el emulador de BBC Micro, luego escriba EJECUTAR, presione regresar y tendrá un programa simple.

La repetición y la toma de decisiones son el corazón de muchos programas de computadora. Aquí hay un ejemplo de una solicitud BÁSICA para imprimir tablas de multiplicar, que se detiene cuando el usuario ingresa cero:

REPETIR
ENTRADA “¿CUÁL ES LA TABLA DE MOMENTOS?” X%
PARA I% = 1 A 12
IMPRIMIR I% ” VECES ” X% ” = ” I%*X%
PRÓXIMO
HASTA X% = 0

Nos hemos perdido los números de línea aquí; si está utilizando un verdadero BBC Micro o BeebEm, ingrese “AUTO” primero para agregar los números de línea y presione Esc cuando haya terminado.

Donde antes nuestras variables acababan con $, aquí tienen %; esto significa que son números enteros. No use ninguno y BBC BASIC asumirá que es un número decimal. REPEAT…UNTIL es una de las adiciones útiles en BBC BASIC, pero también hay otras formas de tomar decisiones. Por ejemplo, intente agregar esta línea después de nuestra ENTRADA (en BeebEm, agréguela como línea 25):

SI X% = 0 ENTONCES FIN

El programa se detendrá antes de imprimir la tabla de multiplicar 0, que es más ordenada. O intente cambiarlo a lo siguiente y vea qué sucede:

SI X% = 0 ENTONCES FIN DE LO CONTRARIO IMPRIMIR “TRABAJANDO…”

Otras dos herramientas útiles en BBC BASIC son funciones y procedimientos; estos le permiten crear un poco de código que puede usar una y otra vez. Pruebe este código de conversión de temperatura (escriba “NUEVO” para borrar su programa anterior, o simplemente seleccione Archivo | Nuevo en BBC BASIC para Windows):

PARA I% = 0 A 100 PASO 10
IMPRIMIR I% “C=” FN_CTOF(I%)
PRÓXIMO
FIN
DEF FN_CTOF(X)
=((X+40)*9/5)-40
FIN DEF.

El comando DEF FN nos permite definir nuestra propia función. Le decimos que se le dará un valor, “X”, y la línea que comienza con “=” dice qué valor devolvemos, usando corchetes para asegurarnos de que las sumas se hagan en el orden correcto.

Haz un conversor de temperatura con gráficos en BBC BASIC

Aquí, vemos un ejemplo más complejo, utilizando BBC BASIC para Windows: el código está a continuación, o puede obtener el código aquí.

MODO 6
PARA I% = 400 A 0 PASO -25
GCOL I%/25
LLENADO DEL CÍRCULO 640,500,I%
PRÓXIMO
FIN

También hay comandos especiales para dibujar gráficos; El conjunto de círculos que se muestra a la izquierda está dibujado con un código simple: está pegado debajo, o puede agarrarlo aquí para ver la sangría adecuada, donde debemos crear los círculos pequeños al final, encima de los grandes.

MODO 6
REPETIR
INPUT TAB(0,0) “Convertir de C ” C
F = FN_CTOF(C)

CLG
GCOL 1
PROC_TEMPGRAPH(100,1)
GCOL 2
PROC_TEMPGRAPH(25,1)
GCOL 6
PROC_TEMPGRAPH(16,1)
GCOL 15
PROC_TEMPGRAPH(C,0)

IMPRIMIR TAB(0,23) F ” grados Fahrenheit”
HASTA C = 0
FIN

DEF FN_CTOF(X)
=((X+40)*9/5)-40
FIN DEF.

DEF PROC_TEMPGRAPH(T,F)
R = T/100*400
SI F = 0 ENTONCES
CÍRCULO 640.500,R
DEMÁS
LLENADO DEL CÍRCULO 640,500,R
TERMINARA SI
ENDPROC

Incluso puede crear aplicaciones que usen un mouse y gráficos en 3D, ¡cosas que no existían cuando apareció BBC Micro por primera vez!

Paso uno: Obtener la temperatura

En este código, usamos un ciclo REPEAT…UNTIL para pedirle al usuario una temperatura, hasta que ingresen 0, y nuestra función para convertirla a Fahrenheit. Al agregar TAB (0,0) en la instrucción INPUT y (0,23) en PRINT, controlamos dónde aparece el texto en la pantalla. Ahora agreguemos algunos gráficos.

Paso uno

Paso dos: Introduce la fórmula

Use DEF PROC para agregar un procedimiento; es decir, código que reutilizaremos. Nuestro primer parámetro será la temperatura, que usaremos para calcular el radio. Si el segundo es 0, simplemente dibujaremos el contorno de un círculo. BBC BASIC para Windows le permite tener un IF… THEN… ELSE que abarca varias líneas, como este.

Paso 2

Paso tres: agregar color

En nuestro código principal, establecemos el color de los gráficos usando el comando GCOL; 1 es rojo, 2 es verde, 6 es cian. Llamamos a nuestro proceso TEMPGRAPH para dibujar círculos para cada uno, representando demasiado caliente, acogedor y demasiado frío. Por ejemplo, PROC_TEMPGRAPH(25,1) aquí significa que llenará los círculos del 1 al 25 con rojo.

Paso 3: agregar color

Paso cuatro: Comience la prueba

El PROC_TEMPGRAPH(C,0) final visto en el paso 3 agrega una delgada línea blanca para mostrar dónde se encuentra nuestra temperatura en el círculo. Entonces, en el espacio de alrededor de 30 líneas de código, hemos creado un convertidor de temperatura que también da una idea gráfica de qué tan caliente o fría es cada temperatura. ¡Ahora juega!

paso cuatro