diseño computarizado 15023 · fortran es un lenguaje de programación dominante usado en muchas...

26

Upload: others

Post on 01-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Diseño Computarizado 15023PROGRAMACIÓN: FORTRAN

Profesor: Claudio García Herrera

Departamento de Ingeniería Mecánica

Universidad de Santiago de Chile

Page 2: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

2 / 26

Page 3: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

3 / 26

Page 4: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Introducción

Fortran es un lenguaje de programación dominante usado en muchasaplicaciones de ingeniería y matemáticas, por lo que es importante quese tengan bases para poder leer y modi�car un código de Fortran

Un programa de Fortran es una secuencia de líneas de texto. El textodebe de seguir una determinada sintaxis para ser un programa válidode Fortran.

Ejemplo de un programa en Fortran 77. Programa para calcular el área deun círculo.

4 / 26

Page 5: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Compilación

5 / 26

Page 6: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

6 / 26

Page 7: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Estructura del programa

Fortran 77 no es un lenguaje de formato libre. Tiene un conjunto de reglasestrictas de cómo el código fuente debe ser escrito en el editor (vi, vim,gedit, etc.). Las reglas más importantes son las reglas para la posición encolumnas:

7 / 26

Page 8: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

8 / 26

Page 9: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

Sentencias de entrada y salida

Read permite al ordenador leer la información que queremossuministrar al programa.

Write permite al ordenador escribir la información que ha procesado.

9 / 26

Page 10: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

Sentencias aritméticas

Son usadas para operar con dos variables. Ejemplos:

(+ o -) Suma o diferencia.

(* o /) Multiplicación o división.

(**) Potencia.

Variables

(=) C=A+B Coloca el resultado de la operación que se realiza a la derechade la variable indicada a la izquierda. Suma los números contenidos en lasvariables A y B y coloca el resultado en la variable C.

10 / 26

Page 11: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

Variables

Cada variable debe ser de�nida con una declaración. Esto indica eltipo de la variable.

La lista de variables consiste en nombres de variables separadas porcomas. Cada variable deberá ser declarada exactamente una vez.

Si una variable no esta declarada, F77 usa un conjunto implícito dereglas para establecer el tipo. Ante esto se recomienda utilizar elcomando 'implicit none' antes de declarar las variables.

La probabilidad de errores en el programa crece exponencialmente sino se declaran las variables explícitamente.

11 / 26

Page 12: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

La sentencia lógica 'if'

Si la expresión lógica es verdadera, ejecuta el bloque de sentencias 1 ysi es falsa el bloque de sentencias 2.

Cuando la decisión a tomar radica entre ejecutar un bloque desentencias o no, no es necesaria la sentencia ELSE.

Expresiones lógicas. Ejemplo, si A es menor que B (A.LT.B)

12 / 26

Page 13: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

La sentencia cíclica 'do'

El trabajo con vectores, matrices, sumatorias, requiere la confecciónde algoritmos en los que una serie de operaciones se repitensucesivamente mientras una variable se modi�ca en una cantidadconstante.

El bloque de sentencias es ejecutado sucesivamente desde que lavariable toma el valor n1 hasta el valor n2, incrementándose a cadapaso (step) en n3. Si n3 es 1 no es necesario escribirlo.

La variable del ciclo do nunca deberá ser modi�cada por otras

sentencias dentro del ciclo, ya que puede generar errores de

lógica.

13 / 26

Page 14: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Sentencias y variables

Ejemplo de uso del ciclo do

14 / 26

Page 15: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

15 / 26

Page 16: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

FunctionEs un programa escrito aparte del principal, con la siguiente estructura.

Toman un conjunto de variables de entrada (parámetros) y regresanun valor de algún tipo.

Las funciones tienen un tipo. El tipo debe coincidir con el tipo de lavariable que recibirá el valor.

El valor que devolverá la función, deberá ser asignado en una variableque tenga el mismo nombre que la función. Ejemplo, si el nombre es'vel(a,b)', se usa dentro del programa como una variable de nombre'vel(c,d)'.

16 / 26

Page 17: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Subroutine

Es un programa escrito aparte del principal, con la intención de entregardos o más valores, o bien, leer o escribir datos.

Las subrutinas no tienen tipo y por consecuencia no pueden hacerseasignación al momento de llamar al procedimiento.

El nombre de la subrutina se utiliza para identi�carla en el programa.Cuando se precise utilizarla se usa la sentencia call, de la forma 'callnombre(var1,var2,...)'

17 / 26

Page 18: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Escritura y Lectura

Cuando la lectura o escritura no tienen lugar en la pantalla se utilizan los�cheros. El programa interpreta una serie de unidades lógicas, cada una delas cuales identi�cada con un número unidad sobre las que se escribe o delas cuales lee.

Para utilizar un �chero es necesario abrirlo previamente, darle un nombre eidenti�carlo con un número. Se utiliza la sentencia open.

Status puede ser 'new' si el archivo se va a crear, 'old' si ya existe o'replace' si se va a sobrescribir en el.

18 / 26

Page 19: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Ejecución del programa

Abrir una terminal e ingresar a la carpeta en la que está el programa.

Escribir en la terminal 'gfortran nombrearchivo'. Se creará un archivoejecutable con el nombre 'a.out'. Es posible cambiar el nombre a ésteescribiendo 'gfortran nombrearchivo -o nombreejecutable'.

Para ejecutar se escribe './a.out' o bien './nombreejecutable'.

Hecho esto se realizan todas las ordenes escritas en el programa y esposible visualizarlas en la pantalla o en los �cheros según corresponda.

19 / 26

Page 20: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Índice

1 Introducción

2 Estructura

3 Sentencias y variables

4 Otros

5 Ejemplos y ejercicios

20 / 26

Page 21: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Contador simple

Programa

Salida

21 / 26

Page 22: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Contador condicionalPrograma

Salida

22 / 26

Page 23: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Multiplicación de matrices

Programa

Continúa

23 / 26

Page 24: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Multiplicación de matrices

Programa, última parte

24 / 26

Page 25: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Referencias

S.J Chapman, Fortran 90/95 for Scientists and Engineers, 1998

M. Metcalf, J. Reid, Fortran 90/95 explained, 1999

Lawrence, Norman, Compaq Visual Fortran: A guide to creatingwindows applications,2002

25 / 26

Page 26: Diseño Computarizado 15023 · Fortran es un lenguaje de programación dominante usado en muchas aplicaciones de ingeniería y matemáticas, por lo que es importante que se tengan

Diseño Computarizado 15023PROGRAMACIÓN: FORTRAN

Profesor: Claudio García Herrera

Departamento de Ingeniería Mecánica

Universidad de Santiago de Chile