Está en la página 1de 8

PRÁCTICA DE METEOROLOGÍA CON FORTRAN

Ejercicio 1:

1) Obtener el resultado de las siguientes operaciones.

1+ 1/4

1.+1/4

1+1./4

Definir a como entero, realizar la siguiente asignación e imprimir el valor de a.

A=1.+0.25

write(*,*)'EJERCICIO 1'

a=1+1/4

b=1.+1/4

c=1+1./4

x=1.+0.25

y=INT(x)

write(*,*) 'LOS VALORES SON', a,b,c,y

pause

end

¿Qué conclusión saca de estos resultados?

Los “.” tienen una gran importancia al momento de ingresar los valores, ya que estos
cambian los resultados significativamente.
Ejercicio 2:

a. Determinar e imprimir el resultado de las siguientes operaciones, siendo a un


número real y b un número entero.

a=0.85

b=INT(a)

b=NINT(a)

a=REAL(b)

write(*,*)'EJERCICIO 2'

a=0.85

b=INT(a)

c=NINT(a)

d=REAL(b)

write(*,*) 'LOS VALORES SON', b,c,d

pause

end

Ejercicio 3:

Escribir en lenguaje Fortran las siguientes expresiones:

ab
ab
a) z  d  z
2
b) c  d
f g

1
 a  1 2  3a 3  2 a
c) c  d  2 d) 7 b 3  4 b 2  2
 x  y 4

Calcular el resultado de cada expresión si: a=2.25, b= 5.42, c=11.65, d=23.45, z=0.75,
f=4.02, g=7.0, x= 9.05, y=11.94
write(*,*)'EJERCICIO 3'

a=2.2

b= 5.42

c=11.65

d=23.45

f=4.02

g=7.0

x=9.05

y=11.94

z=0.75

o=((a+b)/(z+d))+z**2

p=(a+b)/(c+(d/(f+g)))

q=((a+1)**2-(1/(c+d)**2))/(x+y)**4

r=((3*a**3)-2*a)/(7*b**3+4*b**2-2)

write(*,*) 'LOS VALORES SON', o,p,q,r

pause

end

b. Evaluar las siguientes expresiones escritas en lenguaje Fortran, siendo a, b y c tres


números reales, que tienen los mismos valores del problema anterior.

a/b/c

a/(b/c)

(a/b)/c

a + b * a -c

(a+b)*(a–c)

(a+b)*a–c

( -2. ) ** ( 2. )

( -2. ) ** NINT ( 2. )
write(*,*)'EJERCICIO 3'

a=2.2

b= 5.42

c=11.65

d=23.45

f=4.02

g=7.0

x=9.05

y=11.94

z=0.75

o=a/b/c

p=a/(b/c)

q=(a/b)/c

r=a+b*a -c

s=(a+b)*(a-c)

t=(a+b)*a-c

u=(-2.)**(2.)

v=(2.)**NINT(2.)

write(*,*) 'LOS VALORES SON', o,p,q,r,s,t,u,v

pause

end

Ejercicio 4:

El siguiente programa lee un número y calcula su inversa

PROGRAM INVERSAS

IMPLICIT NONE

REAL :: valor, inversa

WRITE(*,*) "Ingrese el numero a invertir"

READ(*,*) valor
inversa = 1.0/valor

PRINT *, "valor:", valor, " inversa:", inversa

END PROGRAM INVERSAS

Usando fortran tipear el programa en un archivo llamado por ejemplo inversa.f90.

a) Verificar que el código esté correcto, compilar el programa y ejecutarlo para testear
los resultados con los siguientes valores:

1.0 3.0 -20.0 1000.0 1.0e-30

b) Ver qué pasa cuando se ingresan alguno de los siguientes valores

¿Por qué?

0.0 1.0e-38 1.0e-40


d) Editar el archivo, en la sentencia READ cambiar el nombre de la variable “value” por
“valu”. Intentar compilar el programa.

PROGRAM INVERSAS

IMPLICIT NONE

REAL :: valor, inversa

WRITE(*,*) "Ingrese el numero a invertir"

READ(*,*) valo

inversa = 1.0/valor

PRINT *, "valor:", valor, " inversa:", inversa

END PROGRAM INVERSAS

e) Deshacer el cambio anterior y cambiar el nombre de la sentencia READ por el de


RODE. Intentar compilar el programa.
f) Deshacer los cambios anteriores, modificar el nombre del programa en la primera
línea de INVERT a invert, la declaración de VALUE por valUE y la palabra Type a
TYPE.

e) A lo largo de este ejercicio vimos que el compilador es capaz de detectar errores en


la sintaxis del programa.

Ejercicio 5:

a) Escribir un programa que dada la temperatura en grados Fahrenheit la convierta


a grados centígrados. (Ayuda: ºC=(ºF-32)*5/9 )

PROGRAM TEMPERATURA

IMPLICIT NONE

REAL :: valor, C

WRITE(*,*) "Ingrese el grados Fahrenheit:"

READ(*,*) valor

C=(valor-32)*5/9

PRINT *, "valor:", valor, " °C:", C

PAUSE

END PROGRAM TEMPERATURA


b) Dada la fórmula para el cálculo del período de un péndulo en función de la
longitud del hilo y de la gravedad terrestre, escribir un programa que pida
ingresar un valor para L y que calcule e imprima el valor de T correspondiente.

L
T  2
g

PROGRAM PENDULO

IMPLICIT NONE

REAL :: valor, T

WRITE(*,*) "Ingrese la longitud del pendulo:"

READ(*,*) valor

T=2*3.1416*((valor/10)**(1./2.))

PRINT *, "valor:", valor, " T:", T

PAUSE

END PROGRAM PENDULO

También podría gustarte