Pie de foto: : Es un lenguaje de programación de alto nivel de propósito general procedimental, adaptado al cálculo numérico y a la computación científica.
el FORTRAN una palabra compuesta derivada de The IBM mathematical (Formula Translating system)
Abarca una serie de versiones cada una de las cuales evoluciono para ir añadiendo mejoras y extensiones de lenguaje, mientras que usualmente retenía compatibilidad con versiones previas.
Fortran fue desarrollado en 1957 en la multinacional estadunidense IBM (International Business Machines) bajo la supervisión del científico computacional John Backus en la IBM 704, con la necesidad de salir de los problemas que tenían con las calculadoras de la época, sirviéndole de gran ayuda a la ingeniería y a la ciencia computacional haciendo más cortos sus procedimientos saliendo del lenguaje de bajo nivel “Lenguaje ensamblador”.
Diapositiva 3
La potencia del lenguaje Fortran se centraba como ya se dijo en el cálculo numérico, y estaba limitando en los usos de gestión, manejo de archivos, tratamiento de cadenas de caracteres y edición de informes. Usaba tarjetas perforadas de 80 caracteres de ancho, y su sistema de procesado de instrucciones era secuencial.
Pie de foto: : La tarjeta perforada una cartulina con números binarios fue de los primeros medios utilizados para ingresar información e instrucciones a un ordenador
TARJETAS PERFORADAS Y FORTRAN
Diapositiva 4
VERSIONES
FORTRAN I
Código muy rápido
compilación no separada
FORTRAN II
compilación independiente
Arreglaba los errores
FORTRAN IV
Selección lógica declaraciones it
Declaraciones tipo explicitas
FORTRAN 77
Declaraciones ir then, ese
control de repetición While
FORTRAN 90
Recursividad
Apuntaciones
Diapositiva 5
CARACTERISITICAS
Tipo de datos soportados: Númericos, (enteros, reales, complejos y doble precision.
La abtracción es posible mediante los subprogramas y el uso de las variables COMMON, aunque su uso es propenso a errores.
FORTRAN sigue siendo utilizado en el ambito cientifico ya que es muy eficaz realizando calculos.
La estructura del programa es algo complicada.
En FORTRAN 90 se incluye la recursividad y la memoria dinamica.
Las etiquetas de las sentencias ya no son necesarias, ni el GOTO pues se ha transformado en lenguaje estructurado.
El aspecto de los programas sigue siendo el procesamiento por lotes.
Diapositiva 6
VARIABLES Y CONSTANTES
FORTRAN no es sensible a mayúsculas y minúsculas. Los nombres de variables tienen 6 a 31 caracteres máximo y deben comenzar por una letra.
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
Diapositiva 7
Los operadores matemáticos condicionales son:
== : igual a
/= : no igual a
< : menor que
> : mayor que
<= : menor o igual que
>= : mayor o igual que )
OPERADORES
Diapositiva 8
CONTROL DE SECUENCIAS
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 ELF, ELSE, IF... para selección multiple SELECT CASE CASE... CASE DEFAULT... END SELECT...
Iteración: DO... END DO
Nulo, Se usa solo para etiqueta CONTINUE
Control de sub-programas: CALL invoca el subprograma y RETURN Devuelve un valor al programa llamante.
Construcciones propensas a error: GOTO
Diapositiva 9
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 excepciones en las sentencias READ/WRITE se puede introducir la posición de la rutina de dicho tratamiento (ERR=90).
Diapositiva 10
ESQUEMAS REPETITIVOS FORTRAN 90
1. Esquema DO
Presenta novedades frente al bucle DO de FORTRAN 77 (y sus extensiones):
DO [etiqueta [,]] =,[, ]
END DO
| DO [etiqueta [,] ] WHILE ()
END DO
2. Esquema DO WHILE
Sintaxis
DO WHILE ()
END DO
Es equivalente al bucle “mientras” del lenguaje algorítmico • No se sabe a priori el número de iteraciones • Sólo si es cierta, se ejecuta el loop
Diapositiva 11
3. Esquema DO + EXIT
Equivalente al esquema general de repeticiones (iterarsalirsi)
• También, implementa los esquemas mientras y repetir
• Puede utilizarse en lugar del bucle DO-WHILE-END DO
4. Esquema DO - CYCLE
SINTAXIS
IF () CYCLE [NOMBRE]
Puede utilizarse dentro de los esquemas DO -- END DO • Si se cumple la expresión lógica, se pasa directamente al END DO y se vuelve al inicio: DO o DO WHILE.
• Puede llevar asociado el nombre del bucle DO asociado. • Su uso no es necesario, disponiendo de IF-THEN-ELSE y variables lógicas adecuadas NO DEBE USARSE.
Diapositiva 12
SUBPROGRAMAS
FUNCTION, Devuelven un solo valor de tipo numérico, lógico o cadena de carateres.
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 .
Ejemplo: FN(X,Y)=SINX**2-COS(Y)**2
GESTIÓN DE ALMACENAMIENTO, Las variables son locales o globales (COMMON)
RECURSIVIDAD: RECURSIVE FUNCTION FACTORIAL (X)
Diapositiva 13
DESVENTAJAS
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.
Es un lenguaje primitivo para procesos de textos, listas y estructuras de datos más complejas. Ya que es de mucho enfoque numérico.
Falta de actualización.
Diapositiva 14
VENTAJAS
Se diseño para trabajar con expresiones matemáticas y matrices.
Es todavia uno de los lenguajes más usados para hacer cálculos numéricos.
Los compliadores tienen más de 50 años de experiencia para optimizar el tiempo del calculo y diferentes procedimientos matematicos.
Pie de foto: : SISTEMA OPERATIVO LINUX COMPATIBLE PARA PROGRAMAR FORTRAN
Pie de foto: : SISTEMA OPERATIVO WINDOWS COMPATIBLE CON FORTRAN
Diapositiva 16
EJEMPLO
Ejecutar en EMULADOR ON LINE https://www.jdoodle.com/execute-fortran-online
program sum
INTEGER N1,N2,N3
N1= 10
N2= 25
N3 = N1 * N2
PRINT *,"multiplicacion de N1 + N2 = ", N3
end program sum