domingo, 7 de noviembre de 2010

LENGUAJES IMPERATIVOS - Generalidades BASIC

Laboratorio de Lenguajes de Programación - Semana 8

BASIC es el acrónimo de Beginners All-purpose Symbolic Instruction Code ("Código de instrucciones simbólicas de propósito general para principiantes")

"Forma parte de la familia de lenguajes de alto nivel. Originalmente fue desarrollado como una herramienta de enseñanza; se diseminó entre las microcomputadoras hogareñas a partir de la década de 1980. Actualmente continúa siendo muy popular, en muchos dialectos bastante distintos del original.
FUENTE: http://es.wikipedia.org/wiki/BASIC

Se dice que es un lenguaje hecho para niños, que ya esta en desuso, pero la verdad es de los pocos lenguajes "old school" que siguen vigentes para su uso.

BASIC fue diseñado para permitir a los estudiantes escribir programas usando terminales de un computador en tiempo compartido. Estaba pensado para reducir notablemente la complejidad de los otros lenguajes del momento, diseñado específicamente para un usuario más sencillo fuera del área de las ciencias de la computación y a quien no le interesaba tanto la velocidad, sólo el hecho de ser capaz de programar y usar la máquina sin demasiadas complicaciones. Los diseñadores del lenguaje también querían que permaneciera en el dominio público, lo cual contribuyó a que se diseminara rápidamente.

Los ocho principios que rigeron el diseño de BASIC fueron:

1. Ser fácil de usar para los principiantes.
2. Ser un lenguaje de propósito general (no orientado).
3. Permitir a los expertos añadir características avanzadas, conservando simple el lenguaje para los principiantes.
4. Ser interactivo.
5. Proveer mensajes de error claros y amigables.
6. Responder rápido en los programas pequeños.
7. No requerir un conocimiento del hardware de la computadora.
8. Proteger al usuario del sistema operativo.

INSTRUCCIONES INICIALES

Una vez mas estamos hablando de un lenguaje de programacion que requiere un compilador para generar sus archivos ejecutables.
Lo primero que vamos a hacer es entrar a esta pagina web:

FreeBasic Compiler

La descarga comenzara automaticamente. Cuando termine la descarga procedemos a descomprimir el contenido, se generara una carpeta llamada FreeBASIC-0.21.1-linux-standalone.

Despues abrimos nuestra terminal, y desde ahi nos dirigimos al lugar donde guardamos la carpeta, una vez detro de la carpeta (utilizando la terminal), ejecutaremos la siguiente secuencia:

sudo ./install-standalone.sh -i

Una vez que termine todo el proceso (no se nos preguntara nada), teclearemos en la terminal: fbc para llamar al compilador, si todo corrio bien veremos una ventana como esta:


Donde se listaran todos los atributos que se pueden agregar al compilar un codigo basic.
La extension de los archivos es *.bas

VARIABLES Y DATOS

Al igual que todos los lenguajes de programacion, BASIC se basa en la declaración de variables para la asignación de memoria.'
Las variables pueden ser numericas o cadena de caractéres.
La sintaxis de la declaración es:

DIM nombre_var AS tipo_var

Por ejemplo:

DIM numero AS INTEGER: crea la variable numero, de tipo número entero
DIM frase AS STRING: crea la variable frase, de tipo cadena
DIM a AS SINGLE: crea una variable a de tipo punto flotante
DIM b AS DOUBLE: crea una variable a de tipo punto flotante de precision doble

Estas declaraciones son equivalentes:

DIM numero%: crea la variable numero, de tipo número entero
DIM frase$: crea la variable frase, de tipo cadena
DIM a!, b#: crea dos variables a y b, de tipo número de precisión simple y doble, respectivamente.

$ - String - 8bits
% - Integer - 16bits
& - Long - 32bits
! - Single - 32bits
# - Double - 64bits

La palabra LET se usa para asignar un valor a una variable, actualmente esta en desuso para que el codigo se vea mas limpio, su sintaxis es:

LET nombre_var[type] = valor

Por ejemplo:

OLD SCHOOL: LET numero% = 523
NEW: numero% = 653

Si se intenta poner un valor decimal en una variable entera el valor se redondea. Se pueden poner valores enteros en variables Single y Double.

Cuando se quiere que la variable sea global, el nombre va precedido por la palabra SHARED

Por ejemplo:

DIM SHARED numero AS INTEGER
DIM SHARED cadena$

BASIC no es sensible mayósculas y minósculas, por lo que utilizar una variable hola
es igual a otra llamada Hola y tambien a otra llamada HoLa

Los compiladores tienen sus palabras reservadas las cuales no pueden ser utilizadas como nombres de variables y/o funciones, tales como DIM, END, PRINT, INTEGER, etc.

ESTRUCTURA DEL CODIGO

La programacion en BASIC se puede estructurar en funciones y subprogramas que ayudan a mejorar la legibilidad del mismo, por lo general siguen la siguiente estructura:
' Programa principal

 declaración de funciones y subprogramas
 declaración de variables
 sentencias

END

SUB Subprograma1 ( )

 declaración de variables
 sentencias

END SUB

FUNCTION Funcion1 ( )

 declaración de variables
 sentencias

END FUNCTION

...
...
...

SUB Subprograman( )

 declaración de variables
 sentencias
END SUB

FUNCTION Funcionn ( )

 declaración de variables
 sentencias

END FUNCTION


ENTRADA Y SALDA

Cuando se quiere imprimir algo en pantalla se utiliza la palabra PRINT, por ejemplo:

PRINT "HOLA"
PRINT "El valor de a es"; a%

Para leer un dato desde el teclado se utiliza la palabra INPUT, por ejemplo:

PRINT "Dame un numero: "
INPUT numero%

PRINT "Introduce tres valores: "
INPUT x%, y%, z%

Algo mas sencillo:

INPUT "Dame un numero: ", num%

Cadenas de texto:

DIM cadena AS STRING
INPUT 'Escribe unas palabras: ', cadena

EJEMPLO

Llego el momento de poner en práctica lo que hemos aprendido, vamos a teclear un pequeño código en BASIC.
Escribiremos un programa que nos convierta de grados centigrados a grados fahrenheit.
Abrimos nuestra terminal y tecleamos lo siguiente:

emacs -nw convierte.bas

Y escribimos el siguiente codigo en el editor EMACS (emacs no incluye Basic Mode):
'' Convierte Centigrados a Fahrenheit
  DIM cent AS SINGLE
  DIM fahr AS SINGLE

  PRINT "Dame los grados Centigrados: "
  INPUT cent
 
  fahr = cent * (9 / 5) + 32

  PRINT " ";cent;"C son";fahr;" F"

END


Una vez que terminemos, lo guardamos y lo compilamos con la siguiente orden:

fbc convierte.bas

Se generará un ejecutable sin extensión llamado convierte, para ejecutarlo escribimos: ./convierte



En la barra de "RECURSOS" les dejo un tutorial que me sirvio mucho para comprender este lenguaje: Tutorial BASIC"

Espero les haya gustado la entrada, dudas o sugerencias ya saben, comenten.

SALUDOS!!! ^_^

1 comentario: