COMPUTACIÓN 2002 – GEOFÍSICA

PRACTICA 1

1. Determinar el valor de A o I obtenido como resultado de cada una de las siguientes proposiciones de asignación aritmética e indicar si el resultado es entero o real.

 a) A = 2 * 6 + 1  k) A = 1./3.  + 1./3.  + 1./3.
 b) A = 2 / 3  l) A = 1/3 + 1./3.+ 1/3
 c) A = 2.* 6./ 4.  m) A = 4.0 ** (3 / 2)
 d) I = 2 * 10 / 4  n) A = 4.0 ** 3./ 2.
 e) I = 2 * (10 / 4)  ñ) A = 4.0 ** (3./ 2.)
 f) A = 2 * (10 / 4)  o) I = 19 / 4 + 5 / 4
 g) A = 2.* (10./ 4.)  p) A = 19 / 4 + 5 / 4
 h) A = 2.0 * (1.0E1 / 4.0) q) I = 100 * (99 / 100)
  i) A = 6.0 * 1.0 / 6.0  r) I = 10 ** (2 / 3)
  j) A = 6.0 * (1.0 / 6.0)  s) I = 10 ** (2./ 3.)

2. Porqué las siguientes expresiones están mal escritas en FORTRAN.

a) a(b + c)  A(B+C)  h) \frac{xy}{z+1}  XY / Z+1
b) 2a + 4  2*A+4  i) cos^{−1}(| ln(x)|) ACOS(LOG(ABS(X))

 c) a^{n+1}  A**N+1  j) x^{a}x^{b}  X**A**B
 d) a^{(1/n)}  A**(1/N)  k) (x^{a})^{b}  X**A**B
 e) \frac{ab}{cd}  A*B/C*D  l) log |ab|  LOG(ABS(A*B)
 f) (−x)^{n}  -X**N  m) e^{|a|} − \frac{b^{2}}{|c|}  EXP(ABS(A)-B**2/ABS(C)
 g) t = 3 × 10^{6} T=3.*10.**6

3. Construir un programa que permita calcular la velocidad β, el factor de Lorentz γ y el factor Doppler δ dados por:

β = v/c, γ = 1/(\sqrt{1 − v^{2}/c^{2}} ), δ = 1/γ/(1 − β cos(θ)).

Los datos para el cálculo son: v = 2.91 × 10^{5} km/s, θ = 1.22^{0}. Puede utilizar la sentencia parameter para asignarle valores a las constantes.

4. Las ecuaciones de movimiento de una particula vienen dadas por:

x = a((cos θ)^{3}) , y = a((sin θ)^{3})

donde 0 ≤ θ ≤ 2π. Realizar un programa que calcule a x e y: a) si a y θ tienen sus valores asignados por programa; b) para pares de valores a y θ ingresados por teclado.

5. Hacer un programa que lea las variables a, b, y c, del archivo prac1.datos, calcule los valores de X_{1} y X_{2}, e imprima a, b, c, X_{1} y X_{2} en pantalla (sin formato).

X_{1}=\frac{−b + \sqrt{b^{2} − 4ac}}{2a} ; X_{2}=\frac{−b − \sqrt{b^{2} − 4ac}}{2a}

Utilizar los siguientes valores para a, b, y c:

i) a = 1, b = 1, c = −2

ii) a = −1.2, b = 5.3, c = 4.8

iii) a = 3, b = 4, c = 5 6. Dada una proposición WRITE,

WRITE(*,92) I,J,R,S

I, J son variables enteras, R y S reales. Escribir una proposición FORMAT que produzca para cada caso el renglón o renglones con la proposición WRITE dada.

                  1    1    2    2    3    3    4    4    5
         1---5----0----5----0----5----0----5----0----5----0
  a)         -16  92017   16.84  437.89
  b)         -16  92017 17.    438.
  c)         -16     92017 .16842E+02  .437E+03
  d)         -16    92017    1.6842E+01   43.7E+01
  e)       I=   -16    J= 92017   R=   16.8     S=  437.9
  f)       I =       -16
           J =     92017
           R =      16.8
           S =     437.9

7. Supongamos que los primeros tres renglones de una archivo de datos son

                  1    1    2    2    3    3    4    4    5
         1---5----0----5----0----5----0----5----0----5----0
         11111 22.2   3333333
         44444 55.5   6666666
         77777 88.8   9999999

Encontrar los valores asignados a las variables, si se ejecutan las siguientes proposiciones:

(a)      READ(5,10)J,X           (d)       READ(5,40)J,X
         READ(5,10)K,Y,L,M                 READ(5,40)K,Y,Z
      10 FORMAT(I5,F5.2,I5)             40 FORMAT(I5,2F5.2)
(b)      READ(5,20)J,A,B,K       (e)       READ(5,50)J,X,Y,Z,K,L,M
         READ(5,20)L,C                  50 FORMAT(I5,2F5.2/F5.2/I5,5X,2I4)
      20 FORMAT(I5,2F5.2)
(c)      READ(5,30)J,A,B
         READ(5,30)K,X,Y,L,M
      30 FORMAT(I5,2F5.2,I5)

8. Dadas las variables con los valores que se indican:

A = 2; B = 5; C = 10; D = 2.5; E = -4; I = 2; J = 3; K = -2; F = .FALSE. ; T = .TRUE.,

deducir el valor lógico de cada una de las expresiones lógicas siguientes: a) T.AND.F.OR..FALSE

b) A**I+B.LE.B/C+D

c) I/J.EQ.2+K.AND.B/C+D.GE.E+C/D-A**J

d) C**2+D*E-10.0E+2.LE.B+2.0*C.AND.(.FALSE..OR..NOT..FALSE.)

e) (B*J+3.0).EQ.(D-E).AND.(.NOT.F)

9. Deducir el orden en que se realizan las siguientes expresiones lógicas: a) ((2.5+A).LT.B).OR.(C.AND.((5*G).NE.Z))

b) .NOT.(X.OR.Y)

c) .NOT.X.OR.Y

d) (.NOT.X).OR.Y