domingo, 7 de noviembre de 2010

LENGUAJES IMPERATIVOS - Generalidades Fortran

Laboratorio de Lenguajes de Programación - Semana 8

Considerado el primer lenguaje de alto nivel, fue desarrollado por IBM alla por 1950 y se ha seguido un linaje de versiones ya que ha estado en uso continuo desde ya hace mas de 50 años. Su nombre proviene del inglés "Formula Translating System", es un lenguaje de proposito general, procedural e imperativo; su uso esta mas que nada orientado a los computos matemáticos, aplicaciones científicas e ingenieria.

Es importante en el campo de la ingenieria orientada a las tecnologias de la información, ya que es el lenguaje dominante en esta rama, por lo que resulta de suma importancia que un ingeniero sepa desarrollar y modificar codigo escrito en Fortran.

La version que analizaremos sera la llamada Fortran 77, la mas nueva (Fortran 90) esta ganando popularidad poco a poco.

EMPEZANDO

Para comenzar a utilizar este lenguaje necesitamos primero instalar su compilador, existe una version bajo licencia GPL que sera la que utilizaremos en nuestro sistema operativo Ubuntu; primero abrimos nuestra terminal y teclearemos la secuencia:

sudo apt-get install gfortran


si se nos pide la contraseña de usuario la tecleamos, decimos que si a todos los mensajes de confirmación y esperamos a que se descarguen, actualicen e instalen todos los paquetes necesarios.

Una vez terminada la instalacion procedemos a realizar una prueba de que el compilador se ha instalado correctamente, para ello tecleamos en la terminal:

gfortran


Veremos que aparecera un mensaje que dice gfortran: no input files, esto se refiere a que llamamos al compilador pero no encontro ningun código fuente el cual compilar, con esto nos aseguramos que el compilador se ha instalado.
Los códigos fuente escritos en Fortran se guardan con la terminación *.f

BASICOS

Como en cualquier otro lenguaje de programación, en Fortran a las variables se les declara con un grupo de caratéres y números, aunque el primer caractér debe ser forzozamente una letra.
Los tipos de datos soportados por fortran son:

integer - enteros
real - cualquier numero real (punto flotante [decimales])
double precision - equivalente a DOUBLE en c
complex - numeros complejos
logical - equivalente a BOOLEAN
character - caracteres (letras, cadenas)

Fortran no hace distincion entre mayúsculas y minúsculas pero es altamente recomendable realizar toda la escritura en mayúscula (existen compiladores que envian mensajes de error si encuentran datos en minúsculas); también existen las llamadas "palabras reservadas" como "program", "stop" y "end" (algo equivalente a int, void, main, define, import, int, etc, en lenguaje C).

OPERACIONES BÁSICAS

Las operaciones aritmÉticas en Fortran no distan mucho de las declaraciones en C.


Otros ejemplos


Para practicar la aritmética en Fortran, teclearemos un programita sencillo que pida dos valores y haga diferentes operaciones con ellos.
Primero abrimos nuestra terminal y tecleamos:

emacs -nw aritmetica.f

Despues procedemos a teclear lo siguiente:
     PROGRAM aritmetica
    
     REAL x, y, s, r, m, d, p
    
     PRINT*, 'Dame el primer valor : '
     READ(*,*) x
     PRINT*, 'Dame el segudo valor: '
     READ(*,*) y
    
     s = x+y
     r = x-y
     m = x*y
     d = x/y
     p = x**y

     WRITE(*,*) 'SUMA: ', s, 'RESTA: ', r
     WRITE(*,*) 'PRODUCTO: ', m, 'DIVISION: ', d
     WRITE(*,*) 'POTENCIA: ', p

     STOP
     END


**LOS PROGRAMAS EN FORTRAN SIEMPRE EMPIEZAN CON UNA IDENTACIÓN DE 7 ESPACIOS, SI NO SE SIGUE ESTA REGLA EL COMPILADOR MARCARA ERROR HASTA QUE CORRIJAN ESE DETALLE, EMACS INCLUYE IDENTACION AUTOMATICA Y RESALTADO PARA FORTRAN

Una vez que tecleamos el código anterior procedemos a su compilacion, tecleamos en la terminal la secuencia:

gfortran -o aritmetica aritmetica.f (gfortran es el compilador, "-o artimetica" es para especificar el nombre del archivo de salida, "aritmetica.f" es el codigo fuente)

Y para ejecutar tecleamos: ./aritmetica


Para el siguiente ejemplo, teclearemos un programa que calcule la sumatoria y por ende el promedio de 5 numeros.
Abrimos nuestra terminal y tecleamos:

emacs -nw promedio.f

Despues procedemos a teclear lo siguiente:
     PROGRAM promedio

     INTEGER i, j
     REAL x, sum, prom
     j = 5
     sum = 0
     prom = 0

     DO 10 i=1, j
        WRITE(*,*) 'Dame valor',i, ':'
        READ(*,*) x
        sum = sum+x
10   CONTINUE
   
     prom = sum / j

     WRITE(*,*) 'Sumatoria: ', sum, 'Promedio: ', prom
     STOP
     END


Nos fijamos haber agregado bien la identación, si se fijan en este programa utilice un ciclo DO, en Fortran se cierran los ciclos mediante banderas, es decir, en el programa el ciclo DO se ejecutara hasta encontrar la bandera 10 (DO 10), la bandera esta lineas mas abajo en el primer espacio de la identación seguda de 6 espacios y la palabra reservada CONTINUE. Las primeras 5 posiciones de la identación estan separadas en Fortran para este y otros tipos de banderas

Una vez que tecleamos el código anterior procedemos a su compilacion, tecleamos en la terminal la secuencia:

gfortran -o promedio promedio.f

Y para ejecutar tecleamos: ./promedio



Espero les haya sido util esta informacion. En la barra de "RECURSOS" esta un buen tutorial (en inglés :(), que me sirvió bastante para el desarrollo de esta práctica.

SALUDOS!!! ^_^

1 comentario: