Sei sulla pagina 1di 6

Tema II

Programación Basic

Modos de operación Basic y Formatos de líneas


Cuando empezamos con GWBASIC entramos en el modo de comando, es decir,
que el ordenador está listo para recibir órdenes desde el teclado; al igual que en MSDOS
el Prompt es, en este caso, un simple OK.

Modo directo.
Este modo se utiliza como una simple calculadora o para probar instrucciones,
fórmulas y cualquier otra función de la que no sepamos a ciencia cierta el resultado, este
se muestra en pantalla al presionar la tecla enter y no se almacena en memoria.

Modo indirecto.
Se utiliza para escribir programas completos, mediante líneas numeradas que se
van almacenando en la memoria; para ejecutarlo es preciso entrar la instrucción RUN.

La forma correcta de programar en BASIC es mediante lineas numeradas, y esto


hay que hacerlo de 10 en 10, ya que si por algun error o por la falta de prevision hemos
omitido algo, podremos insertar lineas entre medias con las numeraciones 11, 12, 13,
14, etc. que de otra forma no sería posible y habría que renumerar todo el programa
completo.

Ejemplo de un programa en BASIC

10 CLS
20 PRINT “CALCULO DEL CONSUMO DE GASOLINA"
30 PRINT "POR FAVOR, INTRODUZCA LOS LITROS"
40 INPUT LITROS
50 PRINT "INTRODUZCA LOS KILOMETROS"
60 INPUT KILOMETROS
70 LET CONSUMO = LITROS / KILOMETROS * 100
80 PRINT “El CONSUMO ES:”; CONSUMO
Si lo ejecutamos..
CALCULO DEL CONSUMO DE GASOLINA
POR FAVOR, INTRODUZCA LOS LITROS
?450
INTRODUZCA LOS KILÓMETROS
?1000
EL CONSUMO ES: 45

Sentencias o instrucciones en BASIC

Una sentencia o instrucción escrita en lenguaje BASIC indica las tareas que debe
realizar la computadora.

Las sentencias constan de una o varias palabras reservadas (INPUT, REM, etc.) y
una sintaxis (operadores, signos de puntuación, etc.) asociada que constituyen el
formato de la misma y cuyo conocimiento es imprescindible para escribir programas.

Las sentencias pueden ser:

• Ejecutables: avanzan el flujo de control de la lógica del programa (leer


una entrada, escribir una salida, realizar una operación, etc.)
• No ejecutables: no avanzan en el flujo del programa (introducen
comentarios, asignan variables, etc).

Normas Generales de instrucciones.

El programa estará compuesto por una serie de instrucciones que han de ejecutarse
siguiendo un orden determinado. De esta forma tres son las reglas generales:

 Cada instrucción se numera


 Las instrucciones sucesivas van en orden creciente
 Cada número va seguido de una instrucción

Variables y Constantes

Constante: es un valor que no cambia. Una constante conserva el mismo valor cada vez
que se hace un cálculo o se ejecuta un programa. Ejemplo: Pi (3.1416).
a) Constante numérica: es un número que contiene un máximo de 8
caracteres
b) Constante alfanumérica: es una cadena de caracteres que se colocan
entre comillas. Ejemplo : “Hola”

Variable: Un valor que fluctúa. En su memoria central el ordenador reserva ciertas


casillas para determinados valores que no se fijan. Pueden adquirir valores provisionales
que sirven en un momento determinado y pueden sustituirse por otros (generalmente
para identificarlos se hace con una letra)

a) Variables numéricas: (sólo pueden contener cifras) y se identifican


por letras o palabras (A, B, C, num,..).

b) Variables alfanuméricas: (pueden contener cifras y letras). Se


identifican por letras o palabras seguidas del símbolo dólar (A$, B$, expr$,  ...).

Ejemplo variables numéricas


10 CLS
20 PRINT "CONSUMO DE GASOLINA"
30 PRINT "POR FAVOR, INTRODUZCA LOS LITROS"
40 INPUT LITROS (variable)
50 PRINT "INTRODUZCA LOS KILOMETROS"
60 INPUT KILOMETROS (variable)
70 CONSUMO = LITROS / KILOMETROS * 100 (variable)
80 PRINT CONSUMO (variable)

Ejemplo variables alfanuméricas


10 CLS
20 PRINT “INTRODUZCA SU NOMBRE”
30 INPUT NOMBRE$ (variable)
40 PRINT “INTRODUZCA SU APELLIDO”
50 INPUT APELLIDO$ (variable)
60 NOMBREYAPELL$ = NOMBRE$ + APELLIDO$ (variable)
70 PRINT “BUENAS TARDES” ;
80 NOMBREYAPELL$ (variable)

Tipos de variables
Sabiendo que nuestros programas van a poder trabajar con varios tipos de
información, como son letras, números con o sin decimales, etc. Nuestro ejemplo
anterior usaba una variable de texto o de cadena de caracteres para almacenar nuestro
nombre, pero en otros casos habrá que almacenar números más o menos grandes.
Tipo Sufijo Tamaño Intervalo Descripción

Las variables string son las que almacenan texto.


 conjunto de Ejemplos: "¿Qué estás haciendo?", "Alpha Sigma Pi",
0 a 32 767 caracteres
STRING $ caracteres (de 8 bits) "323" (esto no es un número porque se delimita con
comillas).

Las variables enteras almacenan números enteros (sin


parte decimal).
16 bits -32 768  a  32 767
INTEGER % Ejemplos: 4323, 1, -7543, 30000 (no se utilizan
separadores de millares).

Almacenan también enteros.


32 bits -2 147 483 648  a  2 147 483 647
LONG & Ejemplos: 54500, 0, 123456789.

Las variables de precisión simple almacenan números


3.4 E-38  a  3.4E+38 de coma flotante con 6 dígitos de precisión.
32 bits
SINGLE ! (aprox. 6 dígitos de precisión) Ejemplos: 123.456, 12300000000000, .
0000000000000008.

Las variables de precisión doble almacenan números


de coma flotante con 12 dígitos de precisión.
1.7 E-308  a  1.7 E+308
64 bits Ejemplos:
DOUBLE # (aprox. 12 dígitos de precisión)
10000000000000000000000000000000000000000000, .
000000000000000400005.

En QBasic las variables van a ser de uno de estos cinco tipos.

Si queremos almacenar palabras, nombres, fechas, horas, códigos postales,


números deteléfono, DNIs, matrículas, etc. tendremos que usar una variable de tipo
Cadena (STRING) cuyo nombre llevará al final el carácter $.

Para guardar números tendremos que usar alguno de los otros cuatro tipos de
variables.

Si nuestros números no van a llevar decimales usaremos una variable de tipo


entero
(INTEGER) que ocupa poca memoria (16 bytes) y además el ordenador trabaja
con ellas muy rápido.
Si los números enteros van a llegar a ser mayores de 32.767 tendremos que
utilizar una variable de tipo Entero largo (LONG) en la que "caben" hasta números
mayores que dos mil millones.
Si vamos a usar números reales (que pueden llevar decimales) tendremos que
usar variables de precisión sencilla (SINGLE).

Para algún cálculo que necesite obtener resultados con muchos decimales
usaremos las variables de doble precisión (DOUBLE) que son más lentas de manejar y
ocupan más memoria que las anteriores.
Si intentamos guardar en una variable un valor más grande (o más pequeño si es
negativo) de lo que permite su tipo de datos, se producirá un "Error de Tiempo de
Ejecución" y el programa se parará.

Nombres de las Variables

Cada variable llevará un nombre que nosotros decidamos para usarla en nuestro
programa. Tenemos que elegir nombres que no sean demasiado largos y que tengan algo
que ver con lo que va a contener la variable.

Los nombres de variables deben cumplir estas condiciones:


 Deben tener entre 1 y 40 caracteres.
 Pueden incluir letras y números.
 No pueden llevar la ñ ni letras acentuadas.
 El primer carácter tiene que ser una letra.

Nombres de variables válidos. Nombres de variables No válidos.


• Edad • 2jugadores (No empieza por una
letra)
• fechaNacimiento • año (Contiene la ñ)
• jugador1 • puntuación (Lleva acento)
• iva16porCiento • elPatioDeMiCasaEsParticularYCuandoLlueveSeMoja
• vidasRestantes (Muy Largo)

Hay que tener en cuenta que QBasic no distingue de mayúsculas y minúsculas,


por lo tanto una variable que se llame nivel será la misma que Nivel, NIVEL o niVEL.
De hecho cuando cambiemos las mayúsculas y minúsculas de una variable se cambiarán
todas las que ya haya escritas en el resto del programa, es decir, si hemos escrito en un
sitio puntos y después escribimos PuntoS en otro sitio, la anterior también se cambiará a
PuntoS.

Por convenio los nombres de las variables se escriben todo en minúsculas para
diferenciarlosvisualmente de las Palabras Claves que se van poniendo en mayúsculas
automáticamente. Si una variable lleva dos palabras se suele escribir la primera letra de
la segunda palabra en mayúsculas para separar un poco, por ejemplo nombreJugador
totalActivo o nuevoRegistro.

En las variables que deberían llevar la “ñ” hay varias formas: Para año se suele
escribir cosas como ano, anno o anyo. De los acentos pasamos. En Visual Basic se
pueden usar nombres de variables con ñ y acentos, pero en QBasic no.

En QBasic NO hace falta declarar las variables. La primera vez que escribimos
el nombre de una variable QBasic reserva en memoria el espacio para utilizarla y ya
está disponible durante el resto del programa, pero ¿Cómo sabe QBasic del tipo que
queremos que sea la variable? En la tabla de tipos de datos había una columna que ponía
Sufijo y que para cada tipo de datos tenía un símbolo distinto.

Operaciones aritméticas y con literales


Sabiendo que :
NOMBRE SUFIJO
STRING $
INTEGER %
LONG &
SINGLE !
DOUBLE #

Para indicar el tipo escribiremos uno de estos sufijos después del nombre de la
variable, por ejemplo si nombre va a contener texto escribiremos nombre$ (Como
hicimos en el ejemplo). A esto se llama declaración implícita, ya que dentro del nombre
va incluído el tipo de datos.

Ahora ¿Que pasa si escribimos en distintos sitios el mismo nombre de variable


con distintos sufijos?, por ejemplo:

variable$ = "Esto es un texto"


variable% = 2000
PRINT variable$
PRINT variable%

Lo que ocurrirá es que QBasic entiende que son dos variables completamente
distintas, cada una de un tipo y nos da como resultado:

Esto es un texto
2000

Esto puede producir un Error de Lógica, es decir, el programa funciona


perfectamente, pero a lo mejor no hace lo que esperábamos. Para evitar esto hay que
poner a las variables nombres más descriptivos, y si en este caso de verdad queríamos
dos variables es mejor ponerles nombres distintos para evitar confusiones.

En la práctica a partir de ahora vamos a poner el sufijo $ a las variables de


cadena y las demás las dejamos sin sufijo para que sean reales que admiten números
muy grandes con o sin decimales. Si fuéramos a hacer programas muy depurados sería
conveniente usar los otros tipos de variables cuando fuera necesario para que fueran
más eficientes con el consumo de memoria.

Las variables al ser usadas la primera vez antes de asignarles (guardar en ellas)
ningún valor contienen un texto de longitud cero si son de cadena o el número 0 si son
de otro tipo. En otros lenguajes de programación esto no es así y contienen cualquier
valor que hubiera en esa posición de memoria de otros programas que la hubieran usado
antes, por lo que se pueden producir errores.