Problema de tiro parabólico (física). Ejercicio resuelto. Planteamiento, fórmulas y pseudocódigo. (CU00252A)

Resumen: Entrega nº51 del curso Bases de la programación Nivel II.
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:

 

Anagrama aprenderaprogramar.com

 

 

Á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.
Bajar archivo...
ArchivoInformación adicional:Tamaño de archivoDescargas
Descargar este archivo (CU00252A Ejercicio resuelto tiro parabolico planteamiento pseudocodigo.pdf)CU00252A Ejercicio resuelto tiro parabolico planteamiento pseudocodigo.pdfFormato pdf115 Kb2491

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2014

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. NET, C#
5. JavaScript, jQuery
6. CSS, HTML
7. Php, MySql
8. C++, C


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

Donación

Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación pulsando aquí.

 

MASTERCARD MASTERCARD SEGURO VISA VISA SEGURO

BANCA CÍVICA

Encuesta lenguajes

¿Sobre qué lenguaje te gustaría que trataran los próximos cursos de aprenderaprogramar.com?

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

Información (c)

aprenderaprogramar.com no está afiliado ni avalado por Open Source Matters o el proyecto Joomla!. El nombre Joomla (R) se usa bajo una licencia limitada de Open Source Matters, titular de la marca en todo el mundo.

aprenderaprogramar.com is not affiliated with or endorsed to Open Source Matters or the Joomla! Project.The Joomla (R) name is used under a limited license from Open Source Matters the worldwide trademark holder.