COMPUTACIÓN 2003 – ASTRONOMÍA

PRACTICA 5

1. Programar una subrutina que permita transformar un ángulo expresado en radianes a grados, minutos y segundos, y otra que realice la transformación contraria.

2. Un arreglo unidimensional A contiene 21 elementos, de tal manera que el primer elemento, a_{1}, sirve para control de operaciones a efectuar sobre los 20 elementos siguientes a_{2}, …, a_{21}. Escribir subrutinas que permitan hacer lo siguiente:

(a) si a_{1} = 1; colocar el producto de todos los elementos de a pares en el arreglo PROD,

(b) si a_{1} = 3; si la suma de los diez primeros elementos es mayor que la suma de los diez siguientes permutar los dos grupos,

(c) si a_{1} = 5; generar un arreglo lógico reemplazando cada a_{i} ≥ 0 por .TRUE. y si a_{i} < 0 por .FALSE..

3. Construir una subrutina que realice un intercambio (swapping) de los valores de 2 variables enteras entre sí.

4. Hacer una subrutina que permita rotar un vector x⃗ = a ĭ + b j̆ + c k̆ en torno a uno de sus ejes, dadas las componentes (a,b,c), el ángulo de rotación θ en radianes y un índice que establece sobre cual eje se realiza la rotación.

R_{x}(θ) = (\begin{matrix}1 & 0 & 0 \\ 0 & cos θ & sin θ \\ 0 & − sin θ & cos θ \end{matrix}) , R_{y}(θ) = (\begin{matrix}cos θ & 0 & − sin θ \\ 0 & 1 & 0 \\ sin θ & 0 & cos θ \end{matrix}) , R_{z}(θ) = (\begin{matrix}cos θ & sin θ & 0 \\ − sin θ & cos θ & 0 \\ 0 & 0 & 1 \end{matrix})

5. Supongamos una lista de nombres de hasta 20 caracteres cada uno (contando los blancos). Construir una subrutina que los ordene alfabéticamente nada más que por la primera letra. Se puede suponer que la lista es una matriz de 20 × n y cada elemento es leído como variable de tipo CHARACTER.