Ventajas y Desventajas
Ventajas
- es un lenguaje muy simple
- es fácil de aprender
- se diseñó para trabajar con expresiones matemáticas y Matrices
- es todavía uno de los lenguajes más usados para cálculo numérico
- existen cientos de librerías probadas y eficientes
- los compiladores tienen más de 50 años de experiencia para optimizar el tiempo de cálculo de los do-loops
Desventajas
- no existen clases o estructuras
- no se puede hacer una reserva de memoria dinámica
- es un lenguaje primitivo para proceso de textos, listas y estructuras de datos más complejas
- puede haber mayor dificultad en el rastreo de la lógica de un programa en el código Fortran que en algunos otros lenguajes de alto nivel.
Caracteristicas
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.
Variables y constantes
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:
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
Versiones
FORTRAN
II (1956) so'lo tenía una única instrucción de conexión ("If-aritmética")
a 3 direcciones : IF (A-B) 10, 20, 30 indicaba de saltar a las instrucciones de
etiqueta 10,.20 ó 30 según que A-B fuera negativo, nulo o positivo.
* FORTRAN III (1958) nunca "ha salido" en forma de producto.
* FORTRAN IV (1962) introdujo, entre otras cosas, la instrucción "If-lógica", permitiendo escribir IF (A .GE. B) GOTO 10 (ir a 10 si A es superior o igual a B).
* FORTRAN V era el nombre se preveía al principio para PL/I, lenguaje de programación universal de IBM que debía reunir los mejores aspectos de FORTRAN (para las aplicaciones científicas), de COBOL (para las aplicaciones de gestión), con algunos hechos tomados de ALGOL.
* FORTRAN 66 es la primera versión oficialmente estandarizada (por el ANSI) de FORTRAN. La confunden a menudo con FORTRAN IV.
* FORTRAN 77, entre otras mejoras, facilita la programación estructurada con bloques "IF (...) THEN/ELSE/ENDIF". En 78, una extensión introduce a DO WHILE/END DO.
* FORTRAN 90 : módulos, recursividad sobrecargas de operadores, nuevos tipos de datos etc. : es una actualización importante para poner FORTRAN al nivel de los otros lenguajes modernos. Las restricciones relativas a la puesta en forma de los programas (columnas 1 a del,.72 a 80...) desaparecen : la escritura se hace finalmente en formato libre.
* FORTRAN 95
* FORTRAN 2003 : como su viejo colega COBOL, FORTRAN soporta ahora la programación orientada a objetos.
* FORTRAN III (1958) nunca "ha salido" en forma de producto.
* FORTRAN IV (1962) introdujo, entre otras cosas, la instrucción "If-lógica", permitiendo escribir IF (A .GE. B) GOTO 10 (ir a 10 si A es superior o igual a B).
* FORTRAN V era el nombre se preveía al principio para PL/I, lenguaje de programación universal de IBM que debía reunir los mejores aspectos de FORTRAN (para las aplicaciones científicas), de COBOL (para las aplicaciones de gestión), con algunos hechos tomados de ALGOL.
* FORTRAN 66 es la primera versión oficialmente estandarizada (por el ANSI) de FORTRAN. La confunden a menudo con FORTRAN IV.
* FORTRAN 77, entre otras mejoras, facilita la programación estructurada con bloques "IF (...) THEN/ELSE/ENDIF". En 78, una extensión introduce a DO WHILE/END DO.
* FORTRAN 90 : módulos, recursividad sobrecargas de operadores, nuevos tipos de datos etc. : es una actualización importante para poner FORTRAN al nivel de los otros lenguajes modernos. Las restricciones relativas a la puesta en forma de los programas (columnas 1 a del,.72 a 80...) desaparecen : la escritura se hace finalmente en formato libre.
* FORTRAN 95
* FORTRAN 2003 : como su viejo colega COBOL, FORTRAN soporta ahora la programación orientada a objetos.
No hay comentarios.:
Publicar un comentario