Análisis Numérico para Ingeniería

advertisement
Análisis Numérico para Ingeniería
Clase Nro. 1
Integrantes de la Cátedra
Constanza R. Huapaya
- Prof. Titular
Francisco A. Lizarralde
- Prof. Adjunto
Carla Mana
- J.T.P.
Francisco Alvarez
- J.T.P.
Ezequiel Ayarzábal
- Ayte. Graduado
Lucas Sánchez Fellay
- Ayte. Graduado
Belén Posadas
- Ayte. Alumno
Ignacio Hegoburu
- Ayte. Alumno
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
2
Evaluación y Régimen de Promoción
Se tomarán 2 (dos) exámenes parciales.
Los exámenes parciales serán teórico-prácticos.
En la parte práctica se evaluará la habilidad para
resolver problemas concretos en computadora.
Se deberá presentar un Trabajo Final Integrador por
grupo, preferentemente de 3 integrantes.
El trabajo final, al igual que los parciales, sólo serán
válidos durante la correspondiente cursada.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
3
Software para la asignatura
Entorno Integrado de Desarrollo GEANY *
Lenguaje FORTRAN (95/08) GFORTRAN *
Librerías especializadas BLAS * y LAPACK *
Gráficos y visualización de datos GNUPLOT *
(*) Software Libre.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
4
GEANY
Ing. Francisco A. Lizarralde
Integrated Development Environment
Facultad de Ingeniería - UNMDP - 2015
5
GFORTRAN
Compilador y Bibliotecas
GFORTRAN
Compilador
FORTRAN
GNU FORTRAN
LAPACK
Bibliotecas de
Funciones
Especializadas
Linear Algebra Package
BLAS
Basic Linear Algebra Subprograms
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
6
GNUPLOT
Ing. Francisco A. Lizarralde
Visualización de Resultados
Facultad de Ingeniería - UNMDP - 2015
7
Sistemas Operativos Libres
Existe una amplia variedad de Sistemas Operativos Libres
GNU/Linux. (Se denominan Distribuciones)
Ubuntu es una excelente opción, si desean una instalación
sencilla.
Una vez instalado, le pueden cargar los programas que
usamos en la asignatura, Geany, GFortran, GnuPlot, etc.
Si no desean instalar nada, pueden usar la distribución SLAX.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
8
Sistema Operativo SLAX
SLAX
es
un
Sistema
Operativo Libre, derivado de
Slackware.
No requiere instalación.
Adaptado
para
nuestros
requerimientos.
Posee todos los programas
necesarios para el estudio
de nuestra asignatura.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
9
Cómo obtengo dichas herramientas ?
Un CD auto-arrancable (LIVE CD) basado en la distribución
SLAX, se encuentra a disposición de los alumnos, así
como una versión para USB (ver enlaces en la página de
novedades de la asignatura).
Es de destacar que tanto la copia como la distribución de
Software Libre es totalmente legal.
Por esta razón, nuestra cátedra se encuentra fuertemente
comprometida en el proceso de utilización, difusión y
distribución de Software Libre, sobre todo en lo referente a
las herramientas necesarias para la resolución de
problemas en sus clases prácticas.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
10
Qué significa Software Libre ?
NOT
FREE
AS IN
Un Software es Libre, si respeta las 4 Libertades
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
11
Otras fuentes de información
En la página de la asignatura http://www3.fi.mdp.edu.ar/analisis
encontrarán enlaces con información sobre algunos temas,
bibliografía y novedades sobre fechas y horarios de consultas,
exámenes, etc.
Existe una lista de correo electrónico a la que pueden
suscribirse en http://www3.fi.mdp.edu.ar/analisis/lista/lista.htm para
enviar consultas sobre temas de la asignatura.
Consulten la página de FAQs. (Preguntas muy frecuentes)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
12
Temas a tratar
Introducción al Análisis Numérico.
Errores Numéricos.
Representación de Números en Punto Flotante.
Errores en las Operaciones.
Introducción a FORTRAN.
Estructuras de Decisión y Repetición.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
13
Para qué sirve el Análisis Numérico ?
El Análisis Numérico nos permite abordar
aquellos problemas que son extremadamente
complicados, cuando no imposibles de resolver
en forma analítica.
El principal objeto de estudio consiste en
analizar diferentes métodos de resolución, para
elegir el más adecuado para resolver cada
problema en particular, y así lograr una solución
con la exactitud requerida.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
14
Que se estudia en Análisis Numérico ?
En el Análisis Numérico es
el estudio de los errores,
de representación, de
inherentes a los métodos
muy importante
ya sean estos,
modelado ó
aplicados.
La elección del algoritmo y del modelo
matemático tienen gran influencia en el
proceso de cálculo y el modo en que
debemos interpretar los resultados
obtenidos.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
15
Qué son las Soluciones Numéricas ?
A diferencia de las
soluciones
analíticas, no se
espera que las
soluciones numéricas
sean exactas.
Sino que podemos
elegir la grado de
aproximación de la
solución, en función
de nuestros
requerimientos.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
16
Tipos de Error
Error de formulación del Modelo Matemático.
Error inherente al algoritmo. (Error sistemático)
Error de redondeo o truncamiento.
Error de representación numérica.
Error de las operaciones. (Error de
propagación)
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
17
Error Absoluto
Dado un número exacto x y un
número aproximado X, el cual difiere
ligeramente de x, llamamos error
absoluto Δ(X) a:
Cota
Cotade
deError
ErrorAbsoluto
Absoluto
  X =∣x− X∣≤ X
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
18
Error Relativo
El error relativo de un número aproximado
X, es la relación entre el error absoluto
Δ(X) del número y el valor absoluto del
número “exacto” x , para x ≠ 0.
El error relativo permite independizar el
error, de la magnitud de los valores.
Cota
Cotade
deError
ErrorRelativo
Relativo
∣x− X∣
δ ( X )=
≤δ X
∣x∣
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
19
Truncamiento
Truncar un número decimal x en el dígito
correspondiente a 10d de su representación
decimal consiste en reemplazar todos los
dígitos a su derecha por ceros.
π=3,14159265358979323846...
Valor truncado en el 7mo. decimal
 T7 =3,1415926
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
20
Redondeo
Redondear un número x>0 en el dígito 10-d
consiste en truncar el valor (x + 0.5 10-d).
Si x<0 al redondear quedará como –|x|
redondeado.
=3,14159265358979323846...
Valor redondeado en el 7mo. decimal
 R7 =3,1415927
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
21
Dígitos Significativos
El dígito más significativo de un número real
x no nulo, es el dígito no nulo más a la
izquierda de su expansión decimal.
Todos los dígitos, incluyendo los ceros a la
derecha del dígito más significativo, son
significativos y el último desplegado se llama
dígito menos significativo.
Los ceros a la izquierda del dígito más
significativo, no son significativos.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
22
Ejemplo de Dígitos Significativos
Dígito menos significativo
Dígito más significativo
0,00724100
Cifras no significativas
Ing. Francisco A. Lizarralde
Cifras significativas
Facultad de Ingeniería - UNMDP - 2015
23
Dígitos Significativos Exactos
Definición: Si X es un valor aproximado de
un valor exacto x, se dice que X aproxima
a x hasta el k-ésimo dígito significativo, si:
−k
∣X− x∣ < 5⋅10 ⋅∣x∣
También se dice que X posee k dígitos
significativos exactos.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
24
Dígitos Significativos Exactos
La exactitud de los dígitos significativos puede
expresarse en función de su error relativo.
∣X− x∣
−k
< 5⋅10
∣x∣
O escrito de otra forma:
−k
δ (x) < 5⋅10
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
25
Dígitos Significativos Exactos
Ejemplo: ¿Cuántos dígitos significativos exactos
tiene el nro. aproximado 3.1416 con respecto al
valor exacto 3.141592654 ?
∣3,14159254−3,1416∣
−6
δ (x)=
=2,338⋅10
3,141592654
Por lo tanto, podemos ver que :
−6
δ (x) = 2,338⋅10
Ing. Francisco A. Lizarralde
−6
< 5⋅10
Facultad de Ingeniería - UNMDP - 2015
26
Error de Representación
No siempre es posible almacenar en una
computadora los valores exactos.
La representación aproximada de los valores
exactos se suele denominar números de
máquina.
La diferencia entre el valor exacto y su
representación se denomina error inherente
a la representación, ó simplemente error de
representación.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
27
Error de Representación
Representación de los Números Reales
­∞
+∞
0
Representación Numérica en Computadora
Mínimo
Negativo
Mínimo
Positivo
0
Máximo
Negativo
Ing. Francisco A. Lizarralde
Valores
Representados
Facultad de Ingeniería - UNMDP - 2015
Máximo
Positivo
28
Error de Representación
Una variable de tipo REAL de 4 bytes (32 bits),
posee los siguientes rangos:
Máximo Positivo: 3.4028235E+38
Máximo Negativo: -3.4028235E+38
Mínimo Positivo:
Mínimo Negativo:
Ing. Francisco A. Lizarralde
1.1754944E-38
-1.1754944E-38
Facultad de Ingeniería - UNMDP - 2015
29
Representación Numérica
Los números reales se almacenan en la
computadora en forma binaria, como números de
punto flotante. ( Signo, Mantisa y Exponente )
Actualmente la mayoría de las computadoras
representa los valores numéricos de acuerdo a la
definición del IEEE-754 Floating Point Numbers
Standard.
Un número real de simple precisión ocupa 32
bits, mientras que uno de doble precisión ocupa
64 bits de memoria.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
30
Números en Punto Flotante
Un número de máquina consta de 3 partes:
SIGNO
EXPONENTE
MANTISA
SIGNO EXPONENTE
Ing. Francisco A. Lizarralde
MANTISA
Facultad de Ingeniería - UNMDP - 2015
31
Conversión de Decimal a Binario
Conversión de un número decimal con |x| > 1 al
sistema binario. Ejemplo: x = 23
23 2
1 11 2
1 5 2
1 2 2
0 1
(10111)2 = 1x24 + 0x23 + 1x22 + 1x21 + 1x20 =
= 16 + 0 + 4 + 2 + 1 = (23)10
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
32
Conversión de Decimal a Binario
Conversión de un número decimal con |x| < 1
al sistema binario. Ejemplo: x = 0.125
0.125
x2
0.25
x2
0.5
x2
1.0
(0.001)2 = 0x2-1 + 0x2-2 + 1x2-3 =
= 0 + 0 + 0.125 = (0.125)10
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
33
Conversión de Decimal a Binario
No siempre un nro. decimal exacto puede convertirse
en un nro. binario exacto. Ejemplo: x = 0.1
0.1
x2
0.2
x2
0.4
x2
0.8
X2
1.6
Continúo con la
parte fraccionaria
Continúo con la
parte fraccionaria
0.6
x2
1.2
(0.1)10 = (0.000110011001100......)2
Ing. Francisco A. Lizarralde
0.2
x2
0.4
x2
0.8
x2
1.6
Número Binario Periódico
Facultad de Ingeniería - UNMDP - 2015
34
Representación en Punto Flotante
Representación del valor 0.15625, según el IEEE-754 Floating Point Numbers Standard
(−1)
SIGNO
( EXPONENTE−127)
∗(1.MANTISA)2∗2
0
124−127
−1 ∗1.012∗2
−3
1∗1.2510∗2
SIGNO EXPONENTE
Ing. Francisco A. Lizarralde
1.25
=
=0.15625
8
MANTISA
Facultad de Ingeniería - UNMDP - 2015
35
Representación en Punto Flotante
Representación del valor -118.625, según el IEEE-754 Floating Point Numbers Standard
−1
SIGNO
 EXPONENTE−127 
∗1.MANTISA 2∗2
1
−1 ∗1.1101101012∗2
133−127
6
−1∗1.85351562510∗2 =1.853515625∗64=−118,625
SIGNO EXPONENTE
Ing. Francisco A. Lizarralde
MANTISA
Facultad de Ingeniería - UNMDP - 2015
36
NaN - Not a Number
Existen tres casos de
operaciones que generan NaN:
Operaciones en las que al menos un
operando es un NaN.
Indeterminaciones
Operaciones con números reales que dan
como resultado un valor complejo.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
37
NaN - Indeterminaciones
Las divisiones 0/0 y ±∞/±∞
Las multiplicaciones 0×±∞ y ±∞×0
Las sumas ∞ + (−∞), (−∞) + ∞ y las restas
equivalentes.
El standard, posee además funciones
alternativas para el cálculo de potencias:
La función pow standard y el exponente
entero pown definen 00, 1∞, and ∞0 as 1.
La función powr define a las tres formas
indeterminadas anteriores como operaciones
inválidas y por lo tanto retorna NaN.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
38
NaN - Operaciones con Reales
Operaciones con Reales que dan como
resultado un valor complejo:
La raíz cuadrada de un número negativo.
El logaritmo de un número negativo.
La inversa del seno o coseno de un número
que es menor que −1 o mayor que +1.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
39
Error producido al calcular una Función
Se dice que el cálculo del valor de una función f(x)
está bien condicionado (o es numéricamente
estable), si la exactitud hallada en el valor calculado
f(x) es aproximadamente igual a la de x.
En el caso contrario, se dice que el cálculo del valor
de una función está mal condicionado, o bien que
f(x) está mal condicionada.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
40
Condicionamiento de una Función
¿Qué variación porcentual en f(x) = ex resultará de un
cambio del 1% en x ?
Para x = 0,1; x = 10 y x = -10
x
ex
0,01x
0,1
1,1051709
0,001
1,1062766 0,0010005 0,10%
10
22026,466
0,1
24343,009 0,1051709 10,52%
-10
4,54E-005
-0,1
4,11E-005 0,0951626 9,52%
Ing. Francisco A. Lizarralde
ex+0,01x
δ(eX)
Facultad de Ingeniería - UNMDP - 2015
%
41
Nro. de Condición de una Función
El error relativo de una función es proporcional al
error relativo de la variable:
∣δ f ( X )∣≈C∗∣δ X∣
Siendo el Número de Condición C:
∣X∗f '  X ∣
C=
∣f  X ∣
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
42
Nro. de Condición de una Función
Número de condición de ex (para x = 10):
X
∣X⋅f ' ( X )∣ ∣10⋅e ∣
C=
=
=10
X
∣f ( X )∣
∣e ∣
Por lo tanto:
∣δ f ( X )∣≈C⋅∣δ X∣=10⋅∣0.01∣=0.1≈10 % de X
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
43
Errores en las Operaciones
Adición Insignificante.
Cancelación Sustractiva.
Amplificación del Error.
Redondeo Escondido.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
44
Adición Insignificante
La adición insignificante se produce cuando se
suman o restan dos números de magnitudes muy
diferentes entre sí.
Esto produce que el valor resultante sea
aproximadamente igual al mayor de los valores, siendo
el menor valor, prácticamente despreciado.
Por ejemplo, la suma de una serie cuyos términos
vayan reduciendo su valor, hará que a medida que la
suma crezca, los términos más pequeños no alterarán
el resultado.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
46
Cancelación Sustractiva
La cancelación sustractiva ó catastrófica, se
produce cuando se restan dos valores muy
similares entre sí.
Esto hace que la diferencia entre los valores
exactos, sea muy diferente a la diferencia entre los
valores representados, resultando en un error
realmente devastador
Un ejemplo se presenta al intentar hallar los
valores de las raíces de una ecuación de segundo
grado.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
47
Amplificación del Error
La amplificación del error se produce cuando
se multiplica un valor por un número muy
grande, ó cuando se lo divide por un número
muy pequeño.
En ambos casos el error inherente de
representación aumenta considerablemente.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
48
Redondeo Escondido
Es el error en el k-ésimo dígito significativo de
las operaciones de máquina, el mismo se
produce aún cuando los valores se hallen
redondeados correctamente a ks.
La acumulación de este error, en el último dígito
significativo, se va produciendo lentamente.
Una estrategia para minimizar la propagación de
errores es minimizar la cantidad de operaciones.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
49
Programación en FORTRAN
FORTRAN
FORTRAN
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
50
Lenguaje FORTRAN
FORTRAN es un lenguaje de programación de
alto nivel de propósito general, procedural e
imperativo, que está especialmente adaptado
para el cálculo numérico y la computación
científica.
Su nombre hace referencia al Mathematical
Formula Translating System, desarrollado
originalmente por IBM en 1957 para el equipo
IBM 704. Siendo ampliamente utilizado desde
entonces en aplicaciones científicas y de
ingeniería.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
51
John Backus
John Backus (Filadelfia, 3
de diciembre de 1924 Oregón, 17 de marzo de
2007) dirigió el proyecto de
IBM que dió origen al
Lenguaje FORTRAN.
En 1977 ganó el Turing
Award por sus trabajos en
sistemas de programación
de alto nivel, en especial por
su trabajo con FORTRAN.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
52
Tipos de Datos en FORTRAN
INTEGER
REAL
COMPLEX
LOGICAL
CHARACTER
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
53
INTEGER
El tipo de datos INTEGER se utiliza para
almacenar valores enteros.
Su rango de valores posibles está determinado
por la cantidad de bytes establecida.
Un INTEGER de 4 bytes (32 bits) puede
almacenar valores dentro del rango de:
–2147483648 a 2147483647
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
54
REAL
El tipo de datos REAL se utiliza para almacenar
valores reales.
Un REAL de 4 bytes (32 bits) puede almacenar
valores dentro del rango de:
-3.4028235E+38 a -1.1754944E–38
y de
1.1754944E–38 a 3.4028235E+38
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
55
LOGICAL
El tipo de datos LOGICAL
se utiliza para
almacenar valores lógicos.
Sólo
pueden
almacenarse
dos
posibles
para
realizar
valores, .TRUE. y .FALSE.
FORTRAN
está
preparado
operaciones lógicas con este tipo de datos,
utilizando operadores lógicos, .AND. , .OR. ,
.NOT., etc.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
56
COMPLEX
El tipo de datos COMPLEX se utiliza para
almacenar números complejos.
El mismo consiste en un par ordenado de
números reales.
FORTRAN está preparado para realizar
operaciones complejas con este tipo de
datos en forma totalmente transparente
para el programador.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
57
CHARACTER
El tipo de datos CHARACTER se utiliza por lo
general para almacenar letras ó palabras.
Si no se especifica el tamaño asume que se
trata de un sólo caracter.
Para almacenar palabras ó frases es necesario
especificar la cantidad de caracteres, para
reservar el espacio de memoria necesario.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
58
Operadores Intrínsecos
Los operadores intrínsecos se utilizan para
operar sobre los tipos de datos intrínsecos.
ARITMETICOS:
+
-
*
/
**
SUMA RESTA PRODUCTO DIVISIÓN POTENCIA
RELACIONALES:
.EQ. .NE. .GT. .GE. .LT. .LE.
==
/=
>
>= < <=
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
59
Estructura de un programa FORTRAN
[ PROGRAM nombre del programa ]
[ sección de especificación]
[ sección ejecutable]
[ sección de sub-programas internos]
END [ PROGRAM
programa ] ]
Ing. Francisco A. Lizarralde
[
nombre
Facultad de Ingeniería - UNMDP - 2015
de
60
Consejos de Programación
SI PROGRAMAN SIN CREAR UN PROYECTO, HAY TABLA.
SI NO ESCRIBEN COMENTARIOS EN EL PROGRAMA, HAY TABLA.
SI LOS NOMBRES DE LAS VARIABLES NO TIENEN SENTIDO, HAY TABLA.
SI LOS NOMBRES DE LAS FUNCIONES NO TIENEN SENTIDO, HAY TABLA.
SI NO USAN PARÁMETROS EN SUBRUTINAS Y FUNCIONES, HAY TABLA.
SI NO UTILIZAN LAS BIBLIOTECAS BLAS Y LAPACK, HAY TABLA.
SI UNA FUNCIÓN NO DEVUELVE AL MENOS UN VALOR, HAY TABLA.
SI NO UTILIZAN LOS TIPOS DE DATOS CORRECTOS, HAY TABLA.
SI USAN UN PROGRAMA QUE NO ENTIENDEN, HAY TABLA.
SI NO USAN SUBRUTINAS Y FUNCIONES, HAY TABLA.
SI PROGRAMAN “SPAGHETTI CODE”, HAY TABLA.
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
61
IF
Ejemplo:
IF (a < b ) THEN
aux = a
a=b
b = aux
END IF
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
62
IF ELSE
Ejemplo:
IF (leftCornerX < 0) THEN
leftCornerX = 0
ELSE
aux = leftCornerX
leftCornerX = rightCornerX
rightCornerX = aux
END IF
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
63
IF ELSE IF
Ejemplo:
IF (kWatts < 50) THEN
costo = 30
ELSE IF (kWatts < 100) THEN
costo = 20+ 0.5*kWatts
ELSE IF (kWatts < 150) THEN
costo = 15+ 0.3*kWatts
ELSE IF (kWatts < 200) THEN
costo = 5+ 0.2*kWatts
ELSE
costo = 0.15*kWatts
END IF
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
64
SELECT CASE
Ejemplo:
Ing. Francisco A. Lizarralde
SELECT CASE (kWatts)
CASE (:49)
costo = 30
CASE (50:99)
costo = 20 +
0.5*kWatts
CASE (100:149)
costo = 15 +
0.3*kWatts
CASE (150:199)
costo = 5 +
0.2*kWatts
ELSE
costo = 0.15*kWatts
END SELECT
Facultad de Ingeniería - UNMDP - 2015
65
DO
Ejemplo:
DO fila=1, maxFilas, 2
Ejemplo:
DO col=1, maxCols, 3
matriz(fila, col) =
fila+2*col
END DO
END DO
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
66
DO WHILE
Ejemplo:
Ejemplo:
DO WHILE (sigue /= 'n')
WRITE (*, 'Desea continuar ?')
READ(*,''), sigue
END DO
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
67
CUESTIONES PARA INVESTIGAR...
¿Cuántos dígitos significativos exactos tiene el número
aproximado 0.0027 con respecto al número exacto
0.00265 ?
¿ Cuál es el número más cercano a 2.0, que puede
almacenarse en una variable REAL(8) ? ¿Por qué ?
¿ Qué significan estas sentencias en FORTRAN ?
CEILING, CMPLX, CONJG, DBLE, DIGITS, EPSILON,
FLOOR, HUGE, INT, PRECISION, REAL, SPACING,
TINY.
¿ Por qué la representación de números en punto
flotante normalizado es discreta ?
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
68
PREGUNTAS ...
Ing. Francisco A. Lizarralde
Facultad de Ingeniería - UNMDP - 2015
69
Descargar