\documentstyle[11pt]{article}
\textheight23.5cm \voffset-2cm
 \textwidth17cm
 \hoffset-1.5cm
\begin{document}
\centerline {\bf COMPUTACI\'ON 2003 -- ASTRONOM\'IA}
\medskip

\centerline {\bf PRACTICA 1}

\bigskip
\begin{enumerate}

\item Determinar el valor de {\tt A} o {\tt I} obtenido como resultado de
cada una de las siguientes proposiciones de asignaci\'on
aritm\'etica e indicar si el resultado es entero o real.



\begin{tabular}{rl  rl}
a) & {\tt A = 2 * 6 + 1}           & k) & {\tt A = 1./3. + 1./3. +
1./3.} \\ b) & {\tt A = 2 / 3}               & l) & {\tt A = 1/3 +
1./3.+ 1/3} \\ c) & {\tt A = 2.* 6./ 4.}          & m) & {\tt A =
4.0 ** (3 / 2)} \\ d) & {\tt I = 2 * 10 / 4 }         & n) & {\tt
A = 4.0 ** 3./ 2.} \\ e) & {\tt I = 2 * (10 / 4)}        & \~n) &
{\tt A = 4.0 ** (3./ 2.)} \\ f) & {\tt A = 2 * (10 / 4)}        &
o) & {\tt I = 19 / 4 + 5 / 4} \\ g) & {\tt A = 2.* (10./ 4.)} & p)
& {\tt A = 19 / 4 + 5 / 4} \\ h) & {\tt A = 2.0 * (1.0E1 / 4.0)} &
q) & {\tt I = 100 * (99 / 100)} \\ i) & {\tt A = 6.0 * 1.0 / 6.0}
& r) & {\tt I = 10 ** (2 / 3)} \\ j) & {\tt A = 6.0 * (1.0 / 6.0)}
& s) & {\tt I = 10 ** (2./ 3.)}\\
\end{tabular}

\medskip


\item Porqu\'e las siguientes expresiones est\'an mal escritas en FORTRAN.

\begin{tabular}{rll  rll}
a) & $a(b+c)$ & {\tt A(B+C)} & h) & $ {xy} \over {z+1}$ & {\tt XY
/ Z+1} \\ b) & $2a+4$   & {\tt 2*A+4}  & i) & $\cos^{-1}(|\ln
(x)|)$ & {\tt ACOS(LOG(ABS(X))}\\ c) & $a^{n+1}$ & {\tt A**N+1}&
j) & $x^a x^b$ & {\tt X**A**B} \\ d) & $a^{(1/n)}$ & {\tt
A**(1/N)} & k) & $(x^a)^b$ & {\tt X**A**B} \\ e) & ${ab} \over
{cd}$ & {\tt A*B/C*D} & l) & $\log |ab|$ & {\tt LOG(ABS(A*B)} \\
f) & $(-x)^n$ & {\tt -X**N} & m) & $e^{|a|}-{ b^2 \over |c|}$ &
{\tt EXP(ABS(A)-B**2/ABS(C)} \\ g) & $t=3\times10^6$ & {\tt
T=3.*10.**6} &\\
\end{tabular}

\medskip


\medskip

\item Construir un programa que permita calcular la velocidad
$\beta$, el factor de Lorentz $\gamma$ y el factor Doppler
$\delta$ dados por:

$\beta = v / c , \;\;\; \gamma = 1 / (\sqrt{1-v^2 / c^2}\,),\;\;\;
\delta = 1/\gamma/(1-\beta\cos(\theta)).$

Los datos para el c\'alculo son: $ v = 2.91 \times 10^5$ km/s,
$\theta = 1.22^0$. Puede utilizar la sentencia {\sc parameter}
para asignarle valores a las constantes.

\item Las ecuaciones de movimiento de una particula vienen dadas por:
\begin{eqnarray}
x = a((\cos\theta)^3)\, , \,\,\,\,\,\,\,y = a((\sin\theta)^3)
\nonumber
\end{eqnarray}

donde $0 \leq \theta \leq 2\pi$. Realizar un programa que calcule
a $x$ e $y$:  a) si $a$ y $\theta$ tienen sus valores asignados
por programa; b) para pares de valores $a$ y $\theta$ ingresados
por teclado.

\medskip

\item Hacer un programa que lea las variables $a$, $b$, y $c$, calcule los valores de $X_1$ y $X_2$, e imprima
$a$, $b$, $c$, $X_1$ y $X_2$ en pantalla (sin formato).
\begin{eqnarray}
{X}_1 {=} {{-b + {\sqrt {b^2 - 4ac}}} \over
{2a}}\,;\,\,\,\,\,\,\,\, {X}_2 {=} {{-b - {\sqrt {b^2 -4ac}}}
\over {2a}} \nonumber
\end{eqnarray}

\noindent 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$


\item Dada una proposici\'on {\tt WRITE},

{\tt WRITE(*,92) I,J,R,S}

$I$, $J$ son variables enteras, $R$ y $S$ reales. Escribir una
proposici\'on {\tt FORMAT} que produzca para cada caso el
rengl\'on o renglones con la proposici\'on {\tt WRITE} dada.

\begin{verbatim}
                  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
\end{verbatim}


\medskip

\item Supongamos que los primeros tres renglones de una archivo de datos son

\begin{verbatim}
                  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

\end{verbatim}


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

\begin{verbatim}
(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)
\end{verbatim}

\medskip
\item 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.,

\noindent deducir el valor l\'ogico de cada una de las expresiones
l\'ogicas 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)

\medskip

\item Deducir el orden en que se realizan las siguientes
expresiones l\'ogicas:

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

\medskip

\end{enumerate}

\end{document}
