Mathematics">
Nothing Special   »   [go: up one dir, main page]

Practica 2 Introducción Al Fortran

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica


(Unidad Zacatenco)

Materia: Computación Aplicada A Sistemas Eléctricos

PRACTICA 2
Introducción Al Fortran

Vazquez Octaviano Luis Arturo


Contreras Luna Iván Josué
Smeke López Eduardo Emiliano
García Martínez Jorge Eliot
Montes de Oca Santana Oswaldo

Grupo: 9EV1

Profesor: Correa Martínez Rolando Wilibaldo


1.-DEFINA CONCEPTO DEL PROGRAMA

lenguaje de programación utilizado principalmente en matemáticas y en aplicaciones de cálculo científico

2.-EXPLIQUE EL CONCEPTO DE LENGUAJE DE PROGRAMACIÓN

es utilizado, por una parte, debido a la existencia de numerosas bibliotecas de funciones utilizables en FORTRAN, por otra
parte, porque existe compiladores FORTRAN potentes que producen ejecutables muy rápidos. No obstante, se reemplaza
cada vez más, incluso para aplicaciones científicas, por los lenguajes C y C ++

3.-EXPLIQUE EL CONCEPTO DE COMPILACIÓN

proceso de transformar un programa informático escrito en un lenguaje en un conjunto de instrucciones en otro formato o
lenguaje

4.-REALICE EL ESQUEMA DE LA ESTRUCTURA DEL PROGRAMA

5.-EXPLIQUE EN QUE CONSISTE COMPILAR Y CORRER PROGRAMAS EN FORTRAN

Debido a que este texto está destinado al lenguaje de programación FORTRAN se precisara cual es el proceso de
compilación, que permite convertir un programa en código fuente a código máquina. Un compilador es un programa que a su
vez traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación generando un programa
equivalente. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Este proceso
de traducción se conoce como compilación.

6.-MENCIONE LOS ELEMENTOS BÁSICOS DE UN PROGRAMA EN FORTRAN

Un programa en FORTRAN tiene los siguientes elementos básicos:

Nombre del programa. El nombre del programa es en realidad opcional, pero es muy buena idea tenerlo.

Declaraciones de variables utilizadas en el programa.

Cuerpo del programa. Comandos para ejecutar en el Código. Los comandos se ejecutan en orden de aparición. El programa
siempre debe terminar con el comando END.
Subprogramas. El cuerpo del programa puede llamar a subprogramas que realicen tareas específicas. Es buena práctica de
programación separar un programa en bloques y poner cada bloque en diferentes subprogramas. De hecho, para programas
largos es buena idea tener cada subprograma en archivos separados.

7.-MENCIONE LAS OPERACIONES EN FORTRAN

Operaciones aritméticas. □ Funciones intrínsecas. □ Input y output. □ Iteraciones y bucles. □ Vectores. □ Decisiones. □
Funciones y subrutinas.

8.-EXPLIQUE LAS CONSTANTES Y VARIABLES QUE SE USAN EN FORTRAN

Constantes y variables. Las constantes tienen un valor fijo, mientras que las variables se identifican con nombres y pueden
cambiar de valor durante a la ejecución del programa. Constantes y variables deben tener tipos espec´ıficos que indican al
programa como almacenarlas y manejarlas.

logical: Las variables lógicas solo pueden tener dos valores: .true. (verdadero) y .false. (falso).

integer: Valores enteros guardados en 4 bytes. Se indican como números sin punto decimal: 1, 2, -3, 25, etc.

real: Valores reales guardados en 4 bytes y con 8 cifras significativas. Se indican con punto decimal, y de ser necesario el
exponente de la potencia de 10 después de una E: 1., -3.1416, 6.25E-10, etc.

doublé: Valores reales de doble precisión guardados en 8 bytes y con 16 cifras significativas, también se denotan por real(8).
Se indican con punto decimal y el exponente de la potencia de 10 después de una D: 1.D0, -3.1416D0, 6.25D-10, etc. Son
muy ´útiles en cálculos numéricos largos, donde los errores de redondeo pueden hacer que las ´ultimas 4 o 5 cifras
significativas de un número real sean basura.

quadruple: Valores reales de cuádruple precisión guardados en 16 bytes y con 32 cifras significativas, también se denotan por
real (16). Se indican con punto decimal y el exponente de la potencia de 10 después de una Q: 1.Q0, -3.1416Q0, 6.25Q-10,
etc.

complex: Dos valores reales formando un par y que en operaciones matemáticas se tratan como la parte real e imaginaria de
un número complejo: (1.,-2.), (1.0E0,-2.0E0). También existen versiones de doble y cuádruple precisión.

character: Variables que corresponden a cadenas de caracteres. Al declarar una variable de este tipo se debe especificar
cuantos caracteres puede tener. Estas variables deben estar contenidas en comillas: ’hola’, ’abcdfe’, ’Me llamo Luis’, ’128.3’,
etc.

Las variables utilizadas en un programa FORTRAN deben declararse como uno de los tipos mencionados en la sección
anterior. Por compatibilidad con versiones viejas de FORTRAN, se asume que aquellas variables que no han sido declaradas
tienen un tipo implícito de acuerdo a la siguiente regla: variables cuyos nombres empiezan con {i,j,k,l,m,n} se asumen enteras,
y todas las demás se asumen reales. El uso de declaraciones implícitas es indeseable, pues hace más difícil detectar posibles
errores de tecleo. Para evitar usar declaraciones implícitas se debe poner al principio de las declaraciones la línea.

9.- Explique el control del flujo del programa

un programa FORTRAN ejecuta los comandos en el orden en el que se escribieron, uno a la vez. Sin embargo,
frecuentemente hay situaciones en las que esto es demasiado simple para lo que uno quiere hacer. A veces es necesario
repetir una misma operación muchas veces con ligeras variaciones, y otras veces hay operaciones que solo deben realizarse
si se cumple alguna condición. Para este tipo de situaciones existen los llamados “comandos de control del programa” y que
caen en dos tipos básicos: “loops” y condicionales
10.- Que tipo de ecuaciones se solucionan en el programa FORTRAN

Se pueden resolver ecuaciones de n grados.

11.- En ingeniería eléctrica en que parte del Sistema se aplica FORTRAN

Predicción numérica del tiempo, análisis de elementos finitos, dinámica de fluidos computacional (CFD)

12.- Desarrolle un codigó en FORTRAN

Ecuación de 2do grado

13.-PARA LOS PUNTOS SIGUIENTES, INCLUIR COMO EVIDENCIA LAS PANTALLAS DEL PC:

14.-DESCRIBA LOS FORMATOS DE ESCRITURA DE UN PROGRAMA EN FORTRAN

Entrada y salida en FORTRAN

I/O desde/a un dispositivo (teclado, fichero, impresora, disco,...)

Dos maneras:

• entrada/salida con formato. El programador define la manera exacta en que quiere leer/escribir los datos.

• entrada/salida dirigida por lista. En este caso, el formato de los datos depende de sus tipos (enteros, reales, etc.) y del
computador. Se dice que es una entrada/salida con formato libre.
• lectura: sentencia READ

• escriture: sentencia WRITE (PRINT obsoleta...)

Salida por pantalla

WRITE (*,*) lista de variables o expresiones

El primer asterisco se refiere al dispositivo de salida estándar (generalmente, la pantalla) y el segundo asterisco se refiere al
formato libre con que se mostrarán los elementos de la lista.

La sintaxis general de una salida por pantalla con formatos es:

WRITE (*, formato) lista de variables o expresiones

El formato puede ser un * (salida dirigida por lista) o una expresión carácter, variable o constante, que contiene los
descriptores de formato de la lista, o la etiqueta de una sentencia FORMAT, es decir, un entero entre 1 y 99999. En este
último caso, debe existir además una sentencia de la forma:

etiqueta FORMAT (lista de descriptores de formato)

Ejemplos de salida por pantalla

Entrada por teclado

READ (*,*) lista de variables

El primer asterisco se refiere al dispositivo de entrada estándar (generalmente, el teclado) y el segundo asterisco se refiere al
formato libre con que se leerán las variables de la lista.

READ (*, formato) lista de variables

• El formato tiene el mismo significado ya comentado.

Descriptores de formato

Hay 4 categorías básicas de descriptores de formato, los que:

• Describen la posición vertical de la línea de texto.

• Describen la posición horizontal de los datos en una línea.

• Describen el formato de entrada/salida de un valor particular.

• Controlan la repetición de porciones de formatos.


15.-DESCRIBIR COMO SE REALIZA LA COMPILACIÓN

Una vez finalizada la captura del código de nuestro programa, debemos compilar nuestro código; pero antes es necesario
salvar nuestro archivo de texto con extensión .F90; para ello hacemos clic en el menú FILE y posteriormente elegimos la
opción SAVE

Después de salvar nuestro archivo estamos listos para compilar nuestro archivo; primeramente hacemos clic en el menú
BUILD y después elegimos la opción COMPILE
Una vez compilado el programa estamos en condiciones de construir el archivo ejecutable para nuestro programa. Siempre y
cuando nuestro código no haya tenido errores. En caso contrario debemos depurar nuestro programa y eliminar dichos
errores. Para construir el ejecutable debemos hacer clic en el menú BUILD y elegir la opción BUILD [Hola.exe] o bien
REBUILD ALL

Después de compilar y construir nuestro programa estamos en condiciones de ejecutarlo. Para ejecutar nuestro programa,
basta con hacer clic en el menú BUILD y después elegir la opción EXECUTE
16.-DESCRIBA LOS PASOS PARA LAS INSTRUCCIONES BASICAS

• Todas las instrucciones en FORTRAN deben de escribirse entre las columnas 7 hasta la 72. Los caracteres escritos a
partir de la columna 73 no se consideran. Esto se puede obviar usando formato libre.
• Si una instrucción necesita una etiqueta, ésta debe de aparecer en las columnas 1-5. Las etiquetas son números
enteros que van del 1 hasta el 99999.
• Ocasionalmente, una instrucción ocupa más espacio que el correspondiente a una línea (7-72). En este caso, la
instrucción puede continuarse en líneas consecutivas siempre que en la columna 6 de las líneas continuación se
coloque un carácter numérico o alfanumérico (excepto el 0 o el espacio). Un 0 o un espacio indica que se trata de la
primera línea de la instrucción.
• Líneas que están vacías o que tienen una letra C o un asterisco * en la columna 1 representan líneas de comentarios
que no son ejecutadas. 5

17.-DESCRIBA LA LECTURA Y ESCRITURA DE DATOS

En FORTRAN la lectura y escritura de datos se realiza a través de sentencias especiales que permiten al usuario leer o
escribir datos desde o hacia un archivo o dispositivo.

Para leer datos, se utiliza la sentencia "READ", seguida del nombre del archivo o dispositivo y de las variables que se desean
leer. Por ejemplo, supongamos que tenemos un archivo llamado "datos.txt" que contiene tres números enteros separados por
espacios en cada línea. Para leer estos datos y almacenarlos en las variables "a", "b" y "c", se podría utilizar la siguiente
sentencia:

OPEN(1, FILE='datos.txt', STATUS='OLD')

READ(1, *) a, b, c

CLOSE(1)

La sentencia "OPEN" se utiliza para abrir el archivo "datos.txt" en modo lectura, mientras que la sentencia "CLOSE" se utiliza
para cerrar el archivo una vez que se han leído los datos. La sentencia "READ" se encarga de leer los datos y almacenarlos
en las variables correspondientes.

Para escribir datos, se utiliza la sentencia "WRITE", seguida del nombre del archivo o dispositivo y de las variables que se
desean escribir. Por ejemplo, para escribir los valores de las variables "a", "b" y "c" en un archivo llamado "resultados.txt", se
podría utilizar la siguiente sentencia:

OPEN(1, FILE='resultados.txt', STATUS='NEW')

WRITE(1, *) a, b, c

CLOSE(1)

En este caso, la sentencia "OPEN" se utiliza para crear un nuevo archivo llamado "resultados.txt" en modo escritura, mientras
que la sentencia "WRITE" se encarga de escribir los valores de las variables "a", "b" y "c" en el archivo. La sentencia "CLOSE"
se utiliza para cerrar el archivo una vez que se han escrito los datos.

Cabe mencionar que existen diferentes opciones para controlar el formato de lectura y escritura de datos en FORTRAN, como
por ejemplo especificar el número de decimales, el ancho de los campos, el separador de campos, etc.

18.-OPERACIONES CON TABLEROS

En FORTRAN, las operaciones con tableros se pueden realizar utilizando arreglos o arrays de dos o más dimensiones.

Supongamos que tenemos dos matrices A y B, cada una de tamaño 3x3, y queremos calcular la suma de ambas matrices y
almacenar el resultado en una tercera matriz C. Para hacerlo, podríamos utilizar el siguiente código:
INTEGER :: i, j

REAL :: A(3,3), B(3,3), C(3,3)

! Inicializamos las matrices A y B con algunos valores

A = reshape( (/1., 2., 3., 4., 5., 6., 7., 8., 9./), (/3, 3/) )

B = reshape( (/9., 8., 7., 6., 5., 4., 3., 2., 1./), (/3, 3/) )

! Calculamos la matriz suma C

DO i = 1, 3

DO j = 1, 3

C(i,j) = A(i,j) + B(i,j)

END DO

END DO

! Imprimimos la matriz suma C

WRITE(*,*) 'Matriz suma:'

DO i = 1, 3

WRITE(*,*) C(i,:)

END DO

En este ejemplo, utilizamos arreglos de dos dimensiones (3x3) para representar las matrices A, B y C. Primero, inicializamos
las matrices A y B con algunos valores. Luego, utilizamos dos bucles DO anidados para recorrer todas las posiciones de las
matrices A, B y C, y sumar las correspondientes entradas de A y B para almacenar el resultado en la matriz C. Finalmente,
imprimimos la matriz suma C utilizando otra estructura de bucle DO.

También existen en FORTRAN bibliotecas y rutinas especializadas para el manejo de matrices y operaciones matriciales,
como por ejemplo BLAS (Basic Linear Algebra Subprograms) y LAPACK (Linear Algebra PACKage), que pueden ser de gran
utilidad en aplicaciones que involucran cálculo numérico y procesamiento de datos en tableros.

19.-OPERACIONES MATRICIALES

En FORTRAN, las operaciones matriciales se pueden realizar utilizando bibliotecas especializadas como BLAS (Basic Linear
Algebra Subprograms) o LAPACK (Linear Algebra PACKage), que proporcionan rutinas para realizar operaciones de álgebra
lineal como la multiplicación de matrices, la descomposición de matrices, la resolución de sistemas de ecuaciones lineales,
entre otros.

Para utilizar estas bibliotecas, primero es necesario instalarlas en el sistema y luego vincularlas al programa FORTRAN
mediante opciones de compilación específicas. Por ejemplo, para utilizar BLAS, podemos utilizar las siguientes opciones de
compilación:

gfortran -lblas programa.f90 -o programa

Una vez que hemos instalado y vinculado la biblioteca, podemos utilizar las rutinas y funciones que proporciona para realizar
operaciones matriciales. A continuación se muestra un ejemplo de cómo realizar la multiplicación de dos matrices utilizando la
función DGEMM de BLAS:

PROGRAM ejemplo
INTEGER :: m, n, k, i, j

REAL :: A(m,k), B(k,n), C(m,n)

! Asignamos valores iniciales a las matrices A y B

A = reshape( (/ 1., 2., 3., 4., 5., 6. /), (/ m, k /) )

B = reshape( (/ 6., 5., 4., 3., 2., 1. /), (/ k, n /) )

! Realizamos la multiplicación de matrices utilizando DGEMM de BLAS

CALL DGEMM('N', 'N', m, n, k, 1.0, A, m, B, k, 0.0, C, m)

! Imprimimos la matriz resultado C

WRITE(*,*) 'Matriz resultado:'

DO i = 1, m

WRITE(*,*) C(i,:)

END DO

END PROGRAM

En este ejemplo, utilizamos la función DGEMM de BLAS para realizar la multiplicación de las matrices A y B y almacenar el
resultado en la matriz C. Los parámetros de la función especifican la forma en que se realiza la multiplicación, la matriz A, la
matriz B y la matriz resultado C.

Cabe mencionar que existen muchas otras funciones y rutinas disponibles en BLAS y LAPACK para realizar una amplia
variedad de operaciones matriciales y de álgebra lineal. La elección de una biblioteca específica y las rutinas a utilizar
dependerá de las necesidades específicas de cada aplicación.

20.-ESTRUCTURAS E INSTRUCCIONES DE CONTROL

FORTRAN cuenta con varias estructuras e instrucciones de control que permiten la toma de decisiones y la repetición de
bloques de código. A continuación, se describen algunas de las estructuras e instrucciones de control más comunes en
FORTRAN:

Estructura IF-THEN-ELSE: Permite tomar decisiones en función del valor de una expresión lógica. La sintaxis básica es la
siguiente:

IF (expresión lógica) THEN

! Bloque de código que se ejecuta si la expresión lógica es verdadera

ELSE

! Bloque de código que se ejecuta si la expresión lógica es falsa

END IF

Estructura DO: Permite repetir un bloque de código un número determinado de veces. La sintaxis básica es la siguiente:

DO i = inicio, fin, paso

! Bloque de código que se repite

END DO
Donde i es una variable de control que toma valores desde inicio hasta fin con un incremento de paso.

Estructura DO WHILE: Permite repetir un bloque de código mientras se cumpla una expresión lógica. La sintaxis básica es la
siguiente:

DO WHILE (expresión lógica)

! Bloque de código que se repite mientras se cumpla la expresión lógica

END DO

Estructura SELECT CASE: Permite seleccionar un bloque de código en función del valor de una variable. La sintaxis básica
es la siguiente:

SELECT CASE (variable)

CASE (valor1)

! Bloque de código que se ejecuta si variable == valor1

CASE (valor2)

! Bloque de código que se ejecuta si variable == valor2

CASE DEFAULT

! Bloque de código que se ejecuta si variable no coincide con ningún valor

END SELECT

Instrucción CYCLE: Permite saltar a la siguiente iteración de un bucle DO sin ejecutar el resto del código dentro del bucle. La
sintaxis básica es la siguiente:

DO i = 1, n

IF (condición) CYCLE

! Bloque de código que se ejecuta si la condición es falsa

END DO

Instrucción EXIT: Permite salir de un bucle DO o DO WHILE antes de que se alcance la última iteración. La sintaxis básica es
la siguiente:

DO i = 1, n

IF (condición) EXIT

! Bloque de código que se ejecuta si la condición es falsa

END DO

Estas son algunas de las estructuras e instrucciones de control más comunes en FORTRAN. Es importante destacar que la
sintaxis y el uso de estas estructuras e instrucciones pueden variar dependiendo de la versión de FORTRAN que se esté
utilizando.

También podría gustarte