0% found this document useful (0 votes)
14 views3 pages

Guia01 B

Trabajo practico
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

Guia01 B

Trabajo practico
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Métodos Numéricos

http://www.famaf.unc.edu.ar/∼serra/mn14.html

Guı́a 1 – Parte B
Marzo de 2014

Problema 1: Evaluar (en papel y lápiz) las siguientes expresiones, anticipando el resultado de estas
operaciones en Fortran 90. Verifique programando las mismas en Fortran 90.

a) 5 / 2 + 20/ 6
b) 4 * 6 / 2 - 15 / 2
c) 5 * 15 / 2 / (4 - 2)
d) 1 + 1/4
e) 1. + 1/4
f ) 1 + 1./4
g) 1. + 1./4.

Problema 2: Evaluar (en papel y lápiz) las siguientes operaciones usando matemática exacta y matemática
de enteros de 2 bytes (Integer(2)). Verifique sus resultados escribiendo un código en Fortran 90.

a) 32767 + 1
b) 30000*2
c) -30000 - 10000

Problema 3: Escriba un programa que comprueba las reglas de la matemática de no detención con
±Infinity , ±0 y NaN. Luego, compile el mismo programa con el flag -ffpe-trap=zero,invalid,overflow
y compare los resultados.

Problema 4: De ejemplos para mostrar que la matemática de punto flotante

a) no es cerrada respecto a la suma ni a la multiplicación,


b) no es asociativa respecto a la suma ni a la multiplicación
c) la multiplicación no es distributiva respecto a la suma.

Haga el programa Fortran correspondiente.

Problema 5: Escriba el siguiente programa y explique por qué los valores obtenidos no son iguales:

program test
implicit none
real(4) :: sum0,sum1
integer(4) :: i
!
sum0 = 0. ; sum1 = 1.
do i=1,10000
sum0 = sum0 + 1.e-8
sum1 = sum1 + 1.e-8
end do
sum0 = sum0 + 1.
write(*,*) sum0, sum1
end program test

Problema 6: Escribir un programa que calcule m de su máquina, en REAL(4) y REAL(8).

Problema 7: Escribir un programa que pida dos números reales e imprima en la pantalla el mayor de
ellos. El programa debe indicar si los números son iguales.

Problema 8: Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5.

Problema 9: Escriba una programa que ingrese los coeficientes A, B y C de un polinomio real de
segundo grado (Ax2 + Bx + C), calcule e imprima en pantalla las dos raı́ces del polinomio en formato
complejo a + ib, sin utilizar algebra compleja.

Problema 10: Escriba un programa que permita convertir números naturales con base 10 a la base
b <= 16. El programa debe pedir como entrada b y el número natural a convertir (que debe estar en
base 10).
PN
Problema 11: Se pretende calcular las sumas SN = k=1 ak , donde N es un número natural. Llamemos
0
PN
SN al valor calculado que se logra de hacer (float)(SN −1 + aN ). Sea SN = k=1 1/k. Mostrar que
0 0
SN se estaciona a partir de algún N suficientemente grande. Deducir que a partir de entonces SN 6= SN .
0
Hacer un programa que determine el valor a partir del cual SN se estaciona.

Problema 12: Escriba un programa para calcular un valor aproximado de π utilizando la productoria
de Wallis

π Y (2n)2 224466
= 2−1
= ...
2 n=1
(2n) 1 33557

Calcule el valor de π truncando la productoria a 106 factores.

Ejercicios Complementarios

Problema 13: Para calcular un valor aproximado de π utilizaremos la siguiente serie infinita alternante

X (−1)n π
= (1)
n=0
2n + 1 4

Recordemos que una cota superior para el error cometido al truncar una serie alternante (de valor absoluto
decreciente) está dado por el valor absoluto del primer término despreciado. Escriba un programa que
ingrese el número de cifras decimales exactas con que se desea el valor de π (entre 1 y 5 cifras) y devuelva
en pantalla el número de térrminos que deben incluirse en la serie (1) para obtener dicha precisión y a
renglón siguiente el valor de π obtenido de esta forma, truncado el resultado al número de cifras pedido.

Problema 14: Escribir un programa que pida una contraseña de tres dı́gitos y permita leer tres intentos.
Si el usuario da la contraseña correcta responde responde “Correcto” y queda inactivo, con este mensaje.
En caso contrario el programa escribe “Lo siento, contraseña equivocada” y se cierra de inmediato.

2
Problema 15: Escribir un programa que, dado un año y el nombre de un mes, saque por pantalla el
número de dı́as del mes (tenga en cuenta que algunos años son bisiestos).

You might also like