Seminario de Computación

20
FORTRAN 90/95 FORTRAN 90/95

description

Seminario de Computación. FORTRAN 90/95. Diagrama de una computadora. Memoria principal. Memoria secundaria. Memoria interna (registros). Unidad de control. Periféricos de entrada. Periféricos de salida. Unidad aritmética y lógica. Unidad Central de procesamiento (CPU). - PowerPoint PPT Presentation

Transcript of Seminario de Computación

Page 1: Seminario de Computación

FORTRAN 90/95FORTRAN 90/95

Page 2: Seminario de Computación

Memoria interna (registros)

Unidad de control

Unidad aritmética y lógica

Unidad Central de procesamiento (CPU)

Periféricos de salida

Periféricos de entrada

Memoria principal

Memoria secundaria

Diagrama de una computadoraDiagrama de una computadora

Page 3: Seminario de Computación

Memoria Principal: es utilizada para almacenar temporariamente el programa que está ejecutando la computadora y los datos que el programa requiere.

Memoria secundaria: almacena los programas y los datos por el tiempo requerido por el usuario. Ej.: Disco rígidos, CD etc.

La CPU es el alma de la computadora:

• Unidad de Control: controla todas las otras partes de la computadora.

• Unidad Aritmética y lógica: realiza los cálculos matemáticos lógicos

• Memoria Interna: almacena temporariamente de los resultados intermedios

durante los cálculos.

Page 4: Seminario de Computación

Las memorias de la computadora está compuesta de millones de interruptores Cada interruptor representa in digito binario (bit)

NO=0SI=1

Varios bits agrupados pueden ser usados para representar un número en el sistema de numeración binario. Un byte= 8bit es la agrupación mas pequeña de bits para representar un número en sistema binario. Los bytes son usados para medir la capacidad de memoria de una computadora.Ej Memoria Principal 256 megabytes (256 millones de bytes) Disco Rígido 40 Gigabytes (40 billones de bytes ) Actualmente las CPU usan agrupaciones de 32 bits (4 bytes) o 64 bits (8 bytes, windows vista) . A esta agrupación dependiente de cada computadora se lo llama word (no es un valor fijo → 2n bytes)

Page 5: Seminario de Computación

Sistema decimal Sistema binario

122 Dos dígitos 0 y 1Ej: 12210

26 → 64 122 – 64 = 58

25 → 32 58 – 32 = 26 24 → 16 26 – 16 = 10 23 → 8 10 – 8 = 2 22 → 4 2 – 4 = Excede

el 122 21 → 2 2 – 2 = 0 20 → 1 0 – 1 =Excede

el 12211110102 = 1 x26 + 1 x 25 +1 x 24

+ 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

Usamos 7 bits para representar al 122

2 x 100

2 x 101

1 x 102

12210= 1 x 102 +2 x 101 + 2 x 100

Page 6: Seminario de Computación

En general, si se agrupan n bits se pueden representar 2n posibles valores.Ej: 8bits = 1 byte puede representar 256 valores numéricos desde -128 a +127 inclusive (la mitad valores negativos y la otra mitad el 0 mas los valores positivos).

16 bits = 2 bytes pueden representar 65536 posibles valores (-32768 a +32767)}

32 bits = 4 bytes pueden representar 4294967296 posibles valores.

Page 7: Seminario de Computación

Caracteres del FORTRAN

N° de Símbolos

Tipo Caracter

26 Letras mayúsculas

A – Z

26 Letras minúsculas

a - z

10 Digitos 0 - 9

1 Guión Bajo _

5 Símbolos aritméticos

+ - * / **

17 Miscelánea de símbolos

( ) . = , ´ $ :! “ % & ; < > ? y blanco

El Fortran no distingue entre mayúsculas y minúsculas.Ej: Alfa=ALFA=alfa

Page 8: Seminario de Computación

Un programa FORTRAN consiste en una serie de sentencias u “ordenes“ destinadas a cumplir objetivo del programador

Sentencias ejecutables

Sentencias no ejecutables

Describen acciones como operaciones aritméticas etc.

Provee información necesaria para la ejecución del programa.

La sentencias en Fortran 90/95 pueden ser escritas en cualquier lugar de una línea y superar los 132 caracteres. Si una línea es muy larga para continuar en la línea siguiente debe finalizar con un amperson (&) ( se puede empezar en la siguiente con también con un amperson). Puede continuarse hasta 40 líneas

Page 9: Seminario de Computación

Ej: 3 formas de escribir la misma sentenciaSum = entra1+ entra2 ! Suma los valores de entra1 y entra2

Sum = entra1 & + entra2 ! Suma los valores de entra1 y entra2

999 Sum = entra1 & ! Suma los valores de entra1 y entra2 &+ entra2

Los textos que se encuentran después del signo de admiración son comentarios. Son ignorados por el FORTRAN y ayudan para la documentación del programa. Se utilizan al final de la sentencia.

La última sentencia esta precedida por un número . Éste es como el “nombre” se la sentencia, se llama nivel y puede tener un número entre 1 y 99999. Se utiliza para invocar a esa sentencia desde otro lugar del programa. No es el número de línea.

Page 10: Seminario de Computación

La estructura de un programa FORTRANLa estructura de un programa FORTRAN

La sección de declaración: Grupo de sentencias no ejecutables al comienzo del programa que define el nombre del programa y el numero y tipo de variables utilizadas en el programa.La sección de ejecución: Sentencias que describen las acciones a ser realizadas por el programaLa sección de terminación: Sentencias que paran la ejecución del programa y le indican al compilador que el programa esta completo

Ej: Leer 2 números enteros multiplicarlos e imprimir su resultado

PROGRAM mi_primer_programa! Objetivo: Ejemplificar las secciones de un programa FORTRAN! Declaro las variables usadas en el programaINTEGER : : i, j, k ! Leo los números que hay que multiplicar y los guardo en las variables i y jWRITE(*,*) ´entrar los numeros que hay que multiplicar´ !CartelREAD(*,*) i, jk = i * j ! Multiplico los númerosWRITE(*,*) ‘resultado=‘, k ! Imprimo el resultado! Finalización STOPEND PROGRAM mi_primer_programa

Page 11: Seminario de Computación

Compilar, Conectar (linking → “linkeditar”) Ejecutar un Programa FORTRAN

Programa FORTRAN

Archivo Objeto

Programa Ejecutable

Compilar “linkeditar”

nombre.for nombre.obj nombre.exe

Compilador FORTRAN

Sistema de librerías

Ayuda a identificar errores del lenguaje

FORTRAN

Page 12: Seminario de Computación

Constantes y Variables en FORTRAN

Constantes: Se definen al comienzo del programa. El compilador le asigna un valor constante en la memoria y luego se la puede invocar en cualquier punto del programa.Variables: Se le asigna un lugar variable en la memoria. Los nombres de las variables pueden tener hasta 31 caracteres y pueden ser alfabéticos, numéricos y el guión bajo pero deben comenzar con un carácter alfabético.Ej: mes, z500, vorti_300

Buenas Costumbres: Poner nombres que nos ayuden a identificar las variables.Ej: mes Hacer un diccionario de los nombres de las variables.Ej: z500 geopotencial en 500 Hpa vorti_300 vorticidad relativa en 300 HPa

Page 13: Seminario de Computación

Hay 5 tipos de constantes y variables FORTRAN EnterasRealesComplejasLógicasCharacter (grafía)

Constantes y variables enteras: “No pueden tener ni puntos ni comas”

No representan números con fracciones Se almacenan en una word ⇒ la magnitud del valor del entero que se pueda almacenar va a depender de la computadora (si trabaja en 16, 32 o 64 bits).

Constantes y variables reales:“Pueden tener punto decimal pero no comas”

Representan números con fracciones Pueden ser escritos con o sin exponente entero (1.2e-

5, 0.000012, 0.12E1) La mantisa debe tener el punto decimal. La mantisa (precisión) y el exponente (rango) se

almacenan en 2 partes. (Ver Tabla )

Page 14: Seminario de Computación

Computado-ra

Bits totales para el número

Bits para mantisa

Precisión en dígitos decimales

Bits para el exponente

Rango del exponente

IEEE (PC) 32 24 7 8 10-38 a 1038

IEEE (Macitosh, Sun Sparc, etc)

64* 53 15 11 10-308 a 10308

VAX 3264*

2456

715

88

10-38 a 1038

10-38 a 1038

Cray 64 49 14 15 10-2465 a 102465

* Indica longitud opcional

Constantes y variables character: Sucesión de símbolos alfanuméricos. Constantes → se escriben entre ‘ o “ Ej:

‘Resultado = ‘ o “Resultado =“.

Page 15: Seminario de Computación

Definición implícita o explícita de Variables: Implícita: Las variables que comienzan con la letras I, J, K, L, M y N son consideradas enteras Las que comienzan con alguna otra letra es considerada real. Explícita: Las variables son definidas al comienzo del programa en la sección de declaración (sentencias no ejecutables)

Integer : : var1, var2, var3 REAL : : var4, var5Los dobles 2 puntos son opcionales pero se usan para funciones más complejas

En los programa Fortran, es posible no declarar algunas variables y dejar que el compilador asuma su tipo a partir de la primera letra de su nombre. Esto es muy poco recomendable por lo que vamos a utilizar la modalidad en la que todas las variables son declaradas y le vamos a indicar al compilador que vamos a trabajar de esta manera utilizando la sentenciaIMPLICIT NONEEsta sentencia se ubica luego del nombre del programa y antes de empezar con la declaración de variables.

Page 16: Seminario de Computación

CHARACTER (len= <longitud>) : : var1, var2, var3Ej:

CHARACTER (len=20) : : presion, temperatura, humedad CHARACTER (20) : : presion, temperatura, humedad

Puede usarse: CHARACTER*20 presion, temperatura, humedad (FORTRAN 77)

Esta última forma fue declarada obsoleta en Fortran 95 por lo cual no se recomienda su utilización en nuevos programas

Las variables Character: deben ser definidas explícitamente y especificar su longitud.

Otra forma para declarar constantes:Tipo, PARAMETER : : nombre = valorEj: REAL, Parameter : : PI=3.141593, Omega= 7.28E-5

Page 17: Seminario de Computación

Setencias de asignación:El signo = significa una asignación. La expresión a la derecha de una igualdad esta asignando ese valor a la que está a la izquierda.Ej:i = i + 1 → significa que al valor almacenado en la memoria con el nombre i se le suma 1.Cálculos aritméticos: Son: + → adición, - → sustracción, * → multiplicación, / → división, ** → potenciaciónLos cálculos: No pueden aparecer 2 operadores seguidos: K= 2* -2 → No K= 2* (-2) → CorrectoLas operaciones deben se explicitas p= x(y + z) → No p = x * (y + z) → CorrectoLos paréntesis se resuelven de adentro hacia afuera: q = 2**((8+2)/5) = 2**(10/5) = 2**2 = 4

Page 18: Seminario de Computación

Aritmética EnteraAritmética Entera

El resultado de una operación entre números enteros es un entero

El resultado fraccionario de un cociente entre enteros es truncado

Aritmética RealAritmética Real

El resultado de una operación entre números reales es un real

Tener en cuenta los errores de precisión

Page 19: Seminario de Computación

Las operaciones entre reales y enteros se llaman mixtas y resultan confusas.Ej: 1+ 1/4 =1 1.+ 1/4 =1. 1+ 1./4=1.25La operación entre un real y un entero da un real.

El FORTRAN 90/95 tiene funciones para transformar los números enteros en reales y los reales en enteros.

Nombre de la función

Argumento

Resultado Comentario

INT(x) REAL ENTERO Parte entera de x (trunca)

NINT(x) REAL ENTERO Redondea

REAL(i) ENTERO REAL Convierte en entero un valor real

Page 20: Seminario de Computación

En la función exponencial usar siempre que sea posible números enteros.Nunca elevar un número negativo a una potencia real.