Вы находитесь на странице: 1из 10

TUTORIAL DE FORTRAN (con Force 2.

0) (PVB) Algunos datos: -La palabra Fortran resulta de la abreviacin de "Formula Translacin" (Nombre original: Speedcoding) -Su principal objetivo era trasladar un lenguaje matemtico suficientemente expresivo de una manera econmica y eficiente. -Fue Primer compilador exitoso de un lenguaje de programacin de alto nivel (HLL).

Introduccin. La estructura en general de los programas estar dada por: C Comentario PROGRAM Nombre-programa Declaraciones Etiqueta Sentencias +Continuacin-Sentencia STOP END Para ejemplificar desarrollaremos un programa sencillo.

(1) Lnea de comentario, se utiliza colocando una C * en la 1 columna ! , lo aadido no afectara al programa y se utiliza para realizar apreciaciones.

(2) El nombre del programa con el Identificador de la sentencia PROGRAM de hasta 6 caracteres, debe comenzar con una letra. Se recomienda sea igual al nombre del archivo fuente (3) Sentencia WRITE para desplegar un mensaje. (4) Sentencia STOP para que el programa se detenga. (5) Sentencia END que define el trmino del programa. (*) Si la pantalla desaparece, aplicar sentencia PAUSE antes de STOP. Damos click a RUN. Cuadro generado por el programa HOLA

Estructura bsica.

-Identificadores: son los nombres para que se utilizan identificar programas, variables, constantes (simblicas), y otras entidades. Los identificadores deben siempre empezar por una letra, y pueden ir seguidos por hasta 30 letras, dgitos y guin bajo (_). -Palabras Reservadas. Fortran tiene algunas palabras reservadas que ser necesario abstenerse de utilizar. ALLOCATE, ALLOCATABLE,CALL, CASE, CHARACTER, COMPLEX, CONTAINS, CYCLE,DEALLOCATE, DEFAULT, DIMENSION, DO,END, ELSE, ELSEWHERE, EXIT, EXTERNALFUNCTION,IF, IMPLICIT, IN, INOUT, INTEGER, INTENT, INTERFACE, INTRINSICKIND, LOGICAL, MODULE NONE, ONLY, OPEN, OUT,PARAMETER, POINTER, PRINT, PROGRAM, READ, REAL, RECURSIVE, RESULT, RETURNSAVE, SELECT, SIZE, STAT, STOP, SUBROUTINETARGET, THEN, TYPEUNIT, USEWHERE, WRITE.

-Variables: Existen 5 tipos de variables o constantes (INTEGER, REAL, COMPLEX, CHARACTER, LOGICAL). Estas se definen como las entidades que almacenan informacin mediante un determinado nombre. Y puede declararse como sigue.
INTEGER :: i, j, hora, minutos=60 REAL :: pi=3.141592654, velocidad, valorMedio=0.0 CHARACTER (LEN=20) :: nombre, primerApellido, segundoApellido CHARACTER (20) :: nombre, primerApellido, segundoApellido CHARACTER :: nombre*20, primerApellido*20, segundoApellido*20 CHARACTER (20) :: nombre*30, primerApe

Donde 20 indica la longitud de la cadena e caracteres que puede ser variable. Algunas variables pueden ser consideradas enteras (INTEGER) por defecto (I, J, K, L, M o N), este tipo de implcitos han sido la causa de muchos errores de programacin. La sentencia IMPLICIT NONE obliga a declara todas la variables y evitarlo.

Constantes simblicas. Debido a que existen constantes que aparecen varias veces en un programa y es deseable que se definan solo una vez al inicio del programa, existe la sentencia parameter. Esta se define de la siguiente manera.
PARAMETER (nombre = constante, ... , nombre = constante)

Esta funcin permite cambiar fcilmente valores de constantes cuando estas se repiten varias veces. (Ver uso de PARAMETER en ejemplo en ejemplos de programa rea de un crculo.)

Funciones numricas. Como todos los lenguajes de programacin fortran cuenta con funciones numricas que se utilizan incluyendo su nombre, seguido de los argumentos que irn entre parntesis y separados por comas. La funcin se evala y el resultado se incluye en dicha expresin aritmtica.

Las funciones ms comnmente utilizada son:

Operadores aritmticos. Los operadores aritmticos binarios son: Adicin + Substraccin Multiplicacin * Divisin / Exponenciacin **

Operaciones con caracteres. Las cadenas de caracteres van entre apostrofe o entre comillas. El operador de concatenacin es la doble barra //. Para extraer un subcadena sea realiza mediante el carcter (:). Por ejemplo si la variable ANIMAL tiene como valor ORNITORRINCO la subcadena ANIMAL(:4) ser ORNI (primeros 4 caracteres), ANIMAL(2:8) RNITORRI(del carcter 2 al 8), ANIMAL(9:) INCO (del carcter 9 en adelante).

Tambin existen otras funciones de manejo de caracteres como sigue en la tabla.

Sentencias de uso general.

PRINT y WRITE: Estas dos sentencias tienen por objetivo imprimir variables y constantes, se diferencian principalmente en que la primera utiliza la salida estndar como puede ser la ventana MS-DOS en donde se ejecuta el programa. Mientras que la segunda tiene la posibilidad de elegir otras unidades de salida como impresoras o ficheros. Ejemplos PRINT:
PRINT *, "Mi nombre es ", nombre, "." PRINT *, "Velocidad = ", velocidad, "m/s." PRINT *

Ejemplos WRITE:
WRITE (*, *) lista_de_variables_y_constantes_a_imprimir WRITE (*, *)

READ: Esta sentencia espera que el usuario introduzca los valores de las variables que deben ser ledas.
READ *, lista_de_variables_separadas_por_comas READ *, velocidad, tiempo

Es conveniente incluir un mensaje para solicitar los datos.

Comando de lectura de datos.

i: Nmero entero que identifica una unidad (nmero entero) para el archivo de entrada. Para leer desde la pantalla se utiliza * en lugar del nmero entero;

n: Nmero de lnea que contiene un determinado comando FORMAT, que identifica formato para lectura de los datos. Un * en lugar de n implica lectura de datos en formato libre (o sea, sin formato predeterminado); ios: Indicador opcional que acusa el estado de la sentencia; caso la lectura sea considerada exitosa arroja el valor 0, caso contrario arroja un valor diferente de cero; err: Indicador opcional que establece el nmero de lnea de comando al cual saltar la ejecucin del programa en caso que se detecte un error en la lectura; s: Indicador que contiene un nmero de lnea de comando al cual saltar la ejecucin

i: Nmero entero que identifica la unidad que se le asigna al archivo que est siendo abierto; ios: Indicador opcional que acusa el estado de la sentencia; caso el formato sea considerado exitoso arroja el valor 0, caso contrario arroja un valor diferente de cero; err: Indicador opcional que establece el nmero de lnea de comando al cual saltar la ejecucin del programa en caso que se detecte un error en el formato; Nomb_arch: Nombre del archivo a ser abierto, incluida su extensin (por ejemplo entrada.dat);

sta: Es una cadena de caracteres que tiene que ser necesariamente NEW, OLD o SCRATCH. Dicha cadena de caracteres muestra el estado del archivo. Un archivo scratch es aquel que es creado y borrado cuando el archivo se cierra, mediante el comando CLOSE, o cuando el programa termina. Un archivo old es aquel que ya existe mientras que new es aquel archivo que se crea en el momento que se ejecuta la sentencia OPEN. Otra alternativa muy utilizada, para esta cadena de caracteres, es UNKNOWN, con lo cual si el archivo no existe lo crea, mientras que si ya existe lo sobrescribe eliminando su antiguo contenido; acc: Indicador que establece el tipo de acceso al archivo, el cual deber ser SEQUENTIAL o DIRECT (acceso de tipo secuencial o directo)). El valor predefinido es SEQUENTIAL; frm: Indicador que deber ser FORMATTED o UNFORMATTED. El valor predefinido es UNFORMATTED; rl: Indica la longitud de cada registro, en un archivo de acceso directo. Sentencia FORMAT Esta sentencia define el formato en el que los datos sern ledos o imprimidos. En general es de la forma

n: Nmero de lnea que acta como identificador del comando FORMAT. X: Es el carcter de control de carro de impresora o del cursor (se debe utilizar cuando el comando FORMAT est asociado a un comando de salida). Para efectos de simplicidad del curso momentneamente puede obviarse. ESPk: Especificaciones de formato, de las cuales las ms importantes se vern a continuacin. Formato numero entero. Forma general: aIw, donde a es una constante y w es el numero de espacios que ocupa el dato. Por ejemplo:

Siendo el dato de entrada -1349605 Entonces la salida resulta. 72-13496059677 Donde

Y el carcter # indica espacio en blanco. Formato nmero real. Forma general: aFw.d, donde a es una constante, w el numero de espacios y d el numero de decimales sin contar el punto decimal. Ejemplo:

Siendo dato de entrada:


28.18-1345 Entonces la salida resulta -134528.18

Formato real con exponente.

Ejemplos de programas.

-rea de un crculo.

-Factorial de un nmero.

- Programa para solucin de ecuacin cuadrtica.

Вам также может понравиться