Qué es Fortran

Valoración del artículo:
Fortran es el primer lenguaje de alto nivel que salió al mercado. Ya que sigue siendo útil en Física, vamos a estudiarlo.
Publicado: 01/7/04
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Un poco de historia

  • Este lenguaje procedural fue el primero de alto nivel (1957)
  • Desarrollado por IBM para el IBM 704.
  • Orientado a la eficiencia en la ejecución.
  • Se creó la definición estándar del lenguaje en el 66.
  • Otras versiones:
    • FORTRAN 77
    • FORTRAN 90
Un sencillo ejemplo



Características

Tipos de datos soportados:
  • Numéricos (enteros, reales, complejos y doble precisión).
  • Booleanos (logical)
  • Arreglos
  • Cadenas de caracteres
  • Archivos
FORTRAN 90 ya es estructurado, y no requiere sentencias GOTO. Sólo admite dos ámbitos para las variables: local y global.

Veamos ahora un ejemplo más extenso:



Variables y constantes
  • FORTRAN no es sensible a mayúsculas y minúsculas. Los nombre de variables tienen de 6 a 31 caracteres máximo y deben comenzar por una letra. Los blancos son significativos.
  • Declaración explicita de variables.
  • Enteras (I-N), el resto reales. (se modifica con IMPLICIT).
  • Punteros: en los primeros FORTRAN no hay punteros y todas las variables se almacenan en memoria estática. En FORTRAN 90 se declaran INTEGER, POINTER::P.
  • Para memoria dinámica ALLOCATE y DEALLOCATE


Tipos de datos

  • Arrays, pueden tener hasta 7 dimensiones y se guardan por colummnas.
    • REAL M(20),N(-5:5)
    • DIMENSION I(20,20) (tipo por nomenclatura implícita)
  • Cadenas de caracteres, el primer carácter es el 1, el operador // permite concatenar cadenas.
    • CHARACTER S*10, T*25
  • Almacenamiento de datos. Se usa COMMON para datos compartidos y EQUIVALENCE cuando almacenamos una variable con dos posibles tipos en la misma posición de memoria (como union en C). Se usa DATA para inicializar datos estáticos.
    • DATA X/1.0/,Y/3.1416/,K/20/
  • Tipos definidos por el usuario, con TYPE <nombre>... END TYPE <nombre>
Control de secuencia

EL conjunto de estructuras de control es limitado:
  • Expresiones, prioridad de operadores
  • Enunciados
    • Asignación, cuando se hace entre cadenas hay ajuste de tamaño con blancos o truncamiento.
    • Condicional. Permite IF ELSE IF... Para selección múltiple SELECT CASE CASE.....CASE DEFAULT.... END SELECT
    • Iteración. DO....END DO
    • Nulo, se usa solo para la etiqueta. CONTINUE.
  • Control de subprogramas. CALL invoca al subprograma y RETURN devuelve un valor al programa llamante.
  • Construcciones propensas a error: GOTO.
Entrada y salida

  • Tipos de archivos:
    • Secuenciales
    • De acceso directo
  • Comandos: READ, WRITE, PRINT, OPEN , CLASE, INQUIRE (propiedades o estado del archivo) REWIND y ENDFILE (para ubicar el puntero del fichero).
  • Para el tratamiento de excepciones en las sentencias READ/WRITE se puede introducir la posición de la rutina de dicho tratamiento (ERR=90).
Subprogramas

  • Hay tres tipos de subprogramas:
    • Function, devuelven un solo valor de tipo numérico, lógico o cadena de caracteres.
    • Subroutine, devuelve valores a través de variables no locales COMMON.
    • Función de enunciado, permite calcular una sola expresión aritmética o lógica.
      • FN(X,Y)=SIN(X)**2-COS(Y)**2
  • Gestión de almacenamiento.
    • Las variables son locales o globales (COMMON)
    • Recursividad: RECURSIVE FUNCTION FACTORIAL(X)
    • Parámetros de subprograma. Paso por referencia.
Abstracción y encapsulación. Evaluación del lenguaje

  • La abstracción es posible mediante los subprogramas y el uso de variables COMMON, aunque su uso es propenso a errores.
  • FORTRAN sigue siendo utilizado en el ámbito científico y es muy eficiente realizando cálculos.
    • La estructura del programa suele ser dificil de entender.
    • En FORTRAN 90 se incluye la recursividad y la memoria dinámica.
    • Las etiquetas de las sentencias ya no son necesarias, ni el GOTO, pues se ha transformado en un lenguaje estructurado.
    • El aspecto de los programas sigue siendo de procesamiento por lotes

Comentarios
Fueron enviados 2 comentarios al artículo
1 comentario no revisado
1 comentario revisado:
Por: Almudena
08/7/04
En la carrera de matemáticas usábamos FORTRAN básicamente para el análisis numérico, supongo que por paralelismos con el desarrollo teórico de los ejercios. De todos modos, en los últimos años se está introduciendo la programación dentro del MATLAB como herramienta definitiva desbancando al MATHEMATICA.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo