Está en la página 1de 2

Escuela Superior de Cómputo del Instituto Politécnico Nacional

2do Examen de Algoritmia y Programación Estructurada


Profesor: Cristhian Alejandro Ávila-Sánchez

Fecha: 25 de Noviembre del 2019

Alumno: ______________________________________________________________

Grupo: ____________ No. de Boleta: ______________________________________

Destello Fugaz: Una Fracción de Segundo. La Fuerza Aérea reconoce el gran desempeño que
realizó en la inspección y prueba del nuevo avión de caza, así como en el alistamiento de los
cargamentos de medicamentos y kits de primeros auxilios. Su trabajo ha sido esencial para poder
proveer la ayuda en la zona en conflicto. Hace unos momentos han partido de la estación de
comando estratégico la brigada que trasladará a la población a un sitio seguro. Su misión será la
de guiar a su escuadrón para el refuerzo y resguardo de las aeronaves de transporte que realizan
el traslado. Su conocimiento, experiencia y pericia serán necesarios para levantar el vuelo y
surcar los aires, para realizar esta asignación. La misión es defensiva, aunque está autorizado a
usar fuego ofensivo en caso de tornarse en una situación de combate. Todos confiamos en usted.

Instrucciones: Por favor lea cuidadosamente cada pregunta y resuelva 4 de los siguientes 6
problemas. Cada pregunta tiene un valor de 2.5 puntos (Total de 10 puntos). ¡Mucho éxito,
comencemos!

0. Vuelo nocturno. Detonaciones en la oscuridad. Evada los cañones del fuego antiaéreo.
Maniobre entre las explosiones y esquive los trallazos de bala para alcanzar a las fragatas de
transporte que están más adelante. Registre su avance y después de atravesar el espacio de
detonaciones informe a la brigada su posición, codificando las funciones void avanzar(int
a) y void notificarBrigada(int b), para que desplieguen las distancias a y b en cada
caso.

int k=0, x=0, y=0, N= 100;

for (k=N-1; k>=0; k--) for (x=0, y= N-1; x<N || y>=0; x++, y-=6)
avanzar(k); { avanzar(x); avanzar(y); }

notificarBrigada(k); notificarBrigada(x); notificarBrigada(y);

for (x=1; x<N; x*=2) k=0;


{ while(1)
for (y=1; y<N; y*=3) {
avanzar(y); avanzar(k);
avanzar(x); if (k>=N/2)
} break;
k+= 5;
notificarBrigada(x); }
notificarBrigada(y); notificarBrigada(k);
1. Cazas enemigos han salido a su persecución a las 6 en punto. Tres oleadas de 20, 40 y 80
cazas se encuentran están al acecho por los flancos derecho, izquierdo y en la zaga. El
enfrentamiento aéreo es inminente. Codifique un programa que registre en las celdas de 3
arreglos (1 para cada oleada), el número de acrobacias/disparos necesarios para enfrentar a
cada caza acorde a las siguientes secuencias:

a) 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, …


b) 6, 13, 20, 27, 34, 41, 48, 55, 62, 69, 76, 83, 90, …
c) 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 …

2. Las fragatas de transporte se encuentran en peligro. Los bombarderos están disparando


proyectiles contra estas, su blindaje no durará mucho. Lance una ofensiva contra estos
disparando proyectiles de intensidad n acorde a una secuencia de dígitos 𝑥 (contenida en un
arreglo) y una base especificada 𝑏, así como el proceso inverso: que de un proyectil de
intensidad 𝑛 obtenga la secuencia en la base especificada:
𝑁−1

𝑛 = ∑ 𝑥𝑘 𝑏 𝑘
𝑘=0

3. Ayude a la brigada con la evacuación, asistiendo a proteger el abordaje de las poblaciones a


las fragatas de transporte. Pasajes del libro “Gödel, Escher y Bach: Un Eterno y Grácil Bucle”
relatan el descenso y ascenso recursivo de una historia dentro de otra. ¿Cómo se relaciona
esto con la sintaxis y gramática de un lenguaje, así como en su plan de evacuación de todos
los poblados?

4. Los cazas se desplazan con mucha mayor rapidez y destreza en el aire. Aliste su puntería
codificando la ubicación de las aeronaves enemigas mediante números complejos 𝑧 = 𝑟𝑒 𝑖𝜃 =
𝑥 + 𝑖𝑦. Escriba las funciones para convertir de coordenadas cartesianas a polares y que
multiplique dos números complejos. Una vez ubicados realice un disparo de alta precisión
para derribarlos.

5. Conserve un vuelo ágil entre sus aeronaves para abrir paso a las fragatas para que puedan
escapar de los interceptores. Los interceptores son letales y feroces, salir de una sola pieza
no será algo fácil. Realice maniobras de giros, rizos y túneles para esquivar el fuego enemigo
y atáquelos por sorpresa. Abra un corredor de escape para la brigada: codifique las funciones
1
que calculen la energía cinética 𝐾 = 2 𝑚𝑣 2 y la energía potencial 𝑈 = 𝑘ℎ2 y escriba un
programa que calcule el Hamiltoniano 𝐻 = 𝐾 + 𝑈 y el Lagrangiano 𝐿 = 𝐾 − 𝑈 conforme varían
la altura ℎ = 𝐴 cos(𝜔𝑡 + 𝜙) y la velocidad 𝑣 = −ωAsin(𝜔𝑡 + 𝜙) durante el tiempo combate 𝑡,
considerando que la masa 𝑚, la frecuencia 𝜔 y la fase 𝜙 son constantes.

6. Muy bien hecho piloto! La brigada ha podido realizar la evacuación y ha pasado su primera
prueba de fuego en combate aéreo. Las flotillas regresarán a la estación de comando
estratégico. Proteja la retirada y regresen juntos. Retome la experiencia adquirida y aliste su
aeronave para la etapa final se avecina. Cuídense mucho.

También podría gustarte