AnteriorPosterior

1. Nociones elementales sobre los programas y BASIC

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

 

BASIC

1. Nociones elementales sobre los programas y BASIC

Un programa es un conjunto de órdenes para un ordenador. Estas órdenes se deben dar en un cierto lenguaje. Lo habitual es emplear lenguajes cercanos al lenguaje humano (normalmente parecidos al inglés), y emplear una cierta aplicación que convierte esas órdenes al lenguaje que realmente entiende el ordenador. Estos "traductores" reciben el nombre de compiladores o de intérpretes, según cómo se realice la traducción (no entraremos en más detalles por ahora).

Veremos el manejo de varios intérpretes distintos de BASIC. En muchos de ellos, el hecho de teclear una orden y pulsar la tecla de introducción (Intro o Enter) hace que esa orden se ponga en funcionamiento inmediatamente; si queremos teclear un programa completo, para que quede almacenado en la memoria, y se ponga en funcionamiento más tarde, deberemos preceder cada línea por un número correlativo.

Así, en la mayoría de los BASIC "antiguos" , (como el que incluían los ordenadores Sinclair ZX Spectrum, MSX, Amstrad CPC, Commodore 64, etc., o el GwBASIC de las primeras versiones de MsDos, o el de muchas calculadoras programables), si tecleamos

PRINT "HOLA" 

(y pulsamos la tecla Intro) el ordenador hará caso a esta orden (la " ejecutará") y responderá mostrando el mensaje HOLA en la pantalla.

Nota: PRINT es la orden que escribe un cierto texto en pantalla. Profundizaremos en ella en el siguiente apartado. En adelante daré por entendido que deberemos pulsar la tecla Intro (o su equivalente en el ordenador que empleemos) después de cada orden, y no insistiré más en ello.

Éste sería el resultado si tecleamos PRINT "HOLA" y luego pulsamos Intro, usando un ordenador Amstrad CPC, de mediados de los años 80

BASIC CPC

Y éste usando un equipo MSX de la misma época

BASIC MSX

Y el mismo resultado con un Commodore 64:

BASIC C64

La gama Sinclair ZX Spectrum de principios y mediados de los 80 pueden no ser los mejores ordenadores para comenzar, especialmente si usas un emulador, porque cada tecla tenía un comportamiento diferente según el momento. Por ejemplo: al comenzar, las teclas se comportaban en "modo de orden directa", y con una sola pulsación de la tecla P aparecía la orden PRINT escrita en pantalla. Esto hace más complicado su uso desde un emulador, si no se tiene al lado una imagen que recuerde cómo era el teclado original. Aun así, en la gama 128 K se podía trabajar de una forma un poco más natural. Ésta sería nuestra primera orden ejecutada en un Spectrum 128k:

BASIC Spectrum 128K

Un PC con MS-DOS y el intérprete llamado GwBasic mostraría una apariencia similar a los anteriores:

GwBASIC

¿Sólo podrás aprender BASIC si tienes un ordenador clásico o un emulador? Por supuesto que no. Si tienes un PC moderno con Windows o Linux, puedes descargar gratuitamente desde Internet un intérprete de BASIC llamado Basic256, que te permitirá probar los ejercicios de este curso. Si usas este entorno, deberás teclear tus órdenes y luego pulsar el botón "Run". El resultado aparecerá en el panel derecho:

BASIC256

Nota: La gran mayoría de versiones del lenguaje BASIC no distinguen entre órdenes en mayúsculas y en minúsculas, de modo que PRINT será lo mismo que print o Print

En un ordenador clásico, si queremos teclear un programa que primero escriba HOLA y luego ADIOS, y queremos que este programa se ponga en funcionamiento más adelante, cuando nosotros se lo pidamos, en vez de lanzarse cada orden inmediatamente, teclearíamos

1 PRINT "HOLA"
2 PRINT "ADIOS" 

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

Estas dos órdenes precedidas por un número quedarán almacenadas. Cuando queremos que se pongan en funcionamiento, deberemos teclear la orden RUN, así:

RUN

El ordenador las analizará en orden numérico, primero la 1 y después la 2, por lo que mostraría la palabra HOLA, y bajo esta, la palabra ADIOS.

Puede ocurrir que, después de haber tecleado varias órdenes, nuestro programa inicial ya no esté visible en la pantalla. Para que el ordenador nos lo vuelva a mostrar, se emplea la orden LIST:

LIST

Un detalle sobre la numeración de las líneas: lo habitual en estos BASIC "antiguos" era no numerar las líneas de 1 en 1, sino con una separación mayor, habitualmente de 10 en 10, de modo que nuestro primero programa quedaría

10 PRINT "HOLA"
20 PRINT "ADIOS" 

(Fuente "0102.bas". Probado en GwBasic 2.02, Locomotive Basic, Commodore 64 Basic V2, Msx Basic 2.1)

esto permite que podamos insertar nuevas líneas entre las ya existentes, utilizando un número intermedio. Por ejemplo, la línea 15 se "ejecutaría " después que la 10 y antes que la 20. A su vez, si añadimos una línea 12, ésta se pondría en funcionamiento después de la 10 y antes que la 15.

En los BASIC "modernos", como el Basic256 que hemos mencionado antes, o el QBasic que incorporaban las últimas versiones de MsDos, o el Turbo Basic de Borland, tendremos un editor en el que iremos tecleando las órdenes una tras otra, sin necesidad de números de línea (aunque algunos los permiten, pero no son imprescindibles):

PRINT "HOLA"
PRINT "ADIOS" 

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

Para poner el programa en funcionamiento, deberemos hacer clic en cierto icono, como el "Run" de Basic256, o pulsar cierta combinación de teclas, que en el caso de QBasic es Mayúsculas+F5 y en el caso de Turbo Basic es Alt+X:

QuickBASIC

Algunos BASIC antiguos obligaban a indicar el final del programa con la palabra END (en la mayoría no es necesario: se sobreentiende que el programa acaba cuando no existan más líneas, de modo que esta orden sería opcional). En ese caso, nuestro programa quedaría así:

10 PRINT "HOLA"
20 PRINT "ADIOS"
30 END 

(Fuente "0104.bas". Probado en GwBasic 2.02, Locomotive Basic, Commodore 64 Basic V2, Msx Basic 2.1)

¿Cómo conseguir algún intérprete de BASIC, en el que poder probar los ejemplos? Los recomendados son QBasic y Basic256. Aquí tienes detalles de cómo conseguir éstos y otros:

  • Si tenemos un ordenador tipo PC, equipado con Windows, Basic256 es una de las mejores opciones para empezar. Su sintaxis se separa un poco del estándar, pero, a cambio, el entorno es bastante cómodo. Existe incluso una versión de Basic256 para tablets y smartphones con sistema operativo Android. Para PC más antiguos (o, mediante emuladores, también para ordenadores modernos), también hay otras alternativas, según el sistema operativo que usemos:

  • En las versiones antiguas de MsDos (hasta la 4.0, creo recordar) se incluía un intérprete "antiguo" de BASIC llamado GwBasic. Para utilizarlo, debería bastar con teclear "gwbasic ", y para salir, habrá que teclear "exit". En otras versiones distribuidas por IBM (PcDos), puede que el intérprete de BASIC se llame "basica". Si usas un PC moderno, puedes usar esas versiones de BASIC con el emulador PCE, en una descarga directa, junto con PcDOS 3.30 o bien puedes probar Pc-Basic, un emulador de GwBasic, que está disponible para Windows, Mac, Linux, Android y otros.

  • En las versiones más recientes de MsDos (5.0 a 6.22), se incluía un intérprete "mejorado ", llamado QBasic. Para entrar, habrá que teclear "qbasic" , y la opción de Salir está en el menú Archivo. Puedes probarlo con el emulador DosBox y descomprimiendo este fichero ZIP que contiene QBasic, para dejarlo dentro de la carpeta VirtualHD.

  • QBasic también está disponible en Windows 95 y Windows 98, pero no se instala automáticamente. Deberíamos instalarlo "a mano", copiando los ficheros QBASIC.EXE y QBASIC.HLP del CdRom original de Windows (debería estar en la carpeta OLDMSDOS; que a su vez estará en TOOLS) a la carpeta WINDOWS\COMMAND del disco duro). Para utilizarlo, deberíamos entrar al modo MsDos (Inicio / Programas / MS-DOS) y teclear QBasic. En Windows modernos de 64 bits no funcionará y habrá que recurrir al emulador DosBox o alternativas similares.

  • QB64 es un clon de QBasic, capaz de funcionar en equipos de 64 bits, y para el que hay versiones para Windows, Linux y MacOS X.

  • Si tienes algún ordenador "antiguo" (de los años 80), lo normal será que nada más encenderlo aparezca directamente el intérprete de BASIC. Es el caso de ordenadores como la gama Sinclair ZX (modelos 80, 81 y Spectrum), la gama Amstrad CPC (modelos 464, 472, 664, 6128), los que seguían el estándar MSX (había modelos realizados por varias casas, como Philips, Toshiba, Sanyo, Sony o Spectravideo), varios Commodore (64, 16, Vic-20), etc.

  • Muchas calculadoras programables, como las PB100, FX850 y FX880 de Casio incorporan también el lenguaje BASIC.

  • Además, en casi cualquier ordenador moderno, tenemos la opción de instalar un emulador de un ordenador "antiguo" (como los MSX o los Amstrad CPC). Cada vez que entremos al emulador, será como si estuviésemos sentados delante de alguno de aquellos ordenadores. Eso sí, no recomiendo usar emuladores del Sinclair ZX Spectrum a quien no haya manejado este ordenador anteriormente, porque el manejo de teclado puede resultar bastante desconcertante. Los Commodore 64 y Vic-20 tenían un teclado mucho más estándar, pero su versión de BASIC tenía muchas carencias, por lo que tampoco son los más recomendables. Algunos emuladores de estos sistemas son:

  • Para emular un Amstrad CPC desde Windows puedes usar WinApe, que permite "copiar y pegar" desde el ordenador anfitrión .

  • Para un MSX desde Windows, BlueMSX.

  • Para un Commodore tienes VICE, que permite "copiar y pegar" desde el ordenador anfitrión (el programa a copiar deberá estar en minúsculas).

Ejercicio propuesto 1.1: Consigue una versión de BASIC para tu ordenador y crea un programa que te salude por tu nombre (deberá escribir en pantalla algo como "Hola, Nacho")

17266 visitas desde el 19-04-2019

AnteriorPosterior