Codificación aprenderaprogramar.com: CU00252A
PROBLEMAS CON RESOLUCIÓN DOCUMENTADA. TIRO PARABÓLICO. EJERCICIO
Un fabricante de motocicletas de cross desea generar un programa que le permita proporcionar a los clientes distancias de avance previsible en función de la velocidad en el punto de salida de una rampa de altura h y un ángulo respecto a la horizontal α expresado en grados. Por motivos de seguridad sólo se considerarán los siguientes rangos de valores:
Ángulos: Mínimo 0º, Máximo 20º Alturas: Mínima 0 m, Máxima 3 m Velocidades: 40, 50, 60, 70 y 80 Km/h |
SOLUCIÓN
Se utilizarán las ecuaciones del tiro parabólico, despreciando el rozamiento y capacidad del motorista para modificar la trayectoria, así como sus dimensiones reales.
1.- Objetivos:
Dados un valor de α y h dar lugar a una lista de resultados tipo:
α = ··· h = ··· |
|
V (Km/h) |
Avance (m) |
40 |
··· |
50 |
··· |
60 |
··· |
70 |
··· |
80 |
··· |
2.- Condicionantes:
Los condicionantes son α, h y v. Un ángulo cero será admisible, dando lugar a una trayectoria de avance horizontal y caída, siempre que la altura sea mayor que cero.
Se admitirá una altura cero con un ángulo de entrada mayor que cero para tener en cuenta la posibilidad de una rampa excavada en tierra cuyo punto de despegue está a nivel del suelo.
No es admisible un ángulo cero con una altura cero.
3.- Método o esquema de resolución:
La representación gráfica del problema es la siguiente:
El tiempo que transcurre entre los puntos de salida (A) y de llegada (B) lo denominamos tB. La velocidad se descompone en:
El tiro parabólico lo estudiamos como la composición de un movimiento rectilíneo uniforme en la dirección horizontal y un movimiento rectilíneo uniformemente acelerado en la dirección vertical, por lo que la ecuación correspondiente a la altura en cada instante de tiempo es de la forma:
y = Vo·sen a · t - (½) · g · t2 + h
El valor de tB se obtiene a partir de la ecuación:
(½) · g · (tB)2 - Vo·sen a · tB - h = 0
El eje de coordenadas lo consideramos situado a nivel del suelo en la vertical de A.
El caso de α = 0 es un caso particular que lleva a:
El caso de h = 0 es un caso particular que lleva a:
Una vez obtenido tB la distancia resulta d = Vo·cos a · tB.
Habrá que prestar atención a las unidades en que se trabaja.
4.- Datos de partida:
0º ≤ a ≤ 20º (grados sexagesimales)
0 ≤ h ≤ 3 (metros)
5.- Resultados a obtener:
Se van a presentar paquetes de resultados que mostrarán los valores:
α (º), Vo (Km/h), h (m), t (s), d (m)
Pseudocódigo:
PROGRAMA PARABOLICO [Pseudocódigo aprenderaprogramar.com] Variables Enteras: E, Vo, Vf, Inc Reales: Pi, g, alfa, h 1. Inicio 2. Pi = 3,1415926 : g = 9,81 [g en m/s2] 3. Vo = 40 : Vf = 80 : Inc = 10 4. Mientras E <> 3 Hacer Mostrar “1. Introducir datos 2. Ver resultados 3. Salir Elija opción” Pedir E Si E = 1 Entonces Llamar EntrarDatos FinSi Si E = 2 y alfa > 0 ó E = 2 y h > 0 Entonces Llamar Calcular(alfa,h) PorValor FinSi Si E = 2 y alfa = 0 y h = 0 Entonces Mostrar “Debe introducir datos” FinSi Repetir 5. Fin |
Módulo EntrarDatos 1. alfa = 0 : h = 0 2. Mientras alfa <= 0 y h <= 0 Hacer Mostrar “Introduzca un ángulo entre 0 y 20º” Pedir alfa Mostrar “Introduzca una altura entre 0 y 3 m” Pedir h Si alfa < 0 ó alfa > 20 ó h < 0 ó h > 3 ó alfa = 0 y h = 0 Entonces alfa = 0 h = 0 Mostrar “Datos no válidos. Introduzca datos válidos” SiNo Mostrar “Sus datos son a =”, alfa, “h =”, h,”m” FinSi Repetir FinMódulo
Módulo Cuadratica Variables Reales: d, e 1. [Ecuación cuadrática ax2 + bx + c = 0] 2. [a < 0 siempre; b ³ 0 siempre; c ³ 0 siempre] 3. d = b ^ 2 – 4 * a * c [d > 0 siempre] 4. e = 2 * a [e > 0 siempre] 5. x = (– b – SQR(d)) / e FinMódulo
Módulo Calcular(angulo, altura: Reales) Variables Enteras: i Reales: a, b, c, x, tb, dist 1. angulo = angulo * Pi / 180 [Paso del ángulo a radianes] 2. [Parámetros a, b, c, de ax2 + bx + c = 0] 3. [Ecuación (- ½) · g · (tB)2 + Vo·sen a · tB + h = 0] 4. a = (- 1 / 2) * g 5. c = altura [valor de h] 6. Desde i = Vo hasta Vf Paso = Inc Hacer b = (i / 3,6) * SIN(angulo) [3,6 pasa Km/h a m/s] Llamar Cuadratica tb = x dist = (i / 3,6) * COS(angulo) * tb [3,6 pasa Km/h a m/s] Mostrar “alfa=”, alfa, “º” Mostrar “V (Km/h) =”, i Mostrar “h (m) =”, h Mostrar “t (s) =”, tb Mostrar “d (m) =”, dist Siguiente FinMódulo |
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.