Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-0202 Principios de informática - II-2013
Profesor Jeisson Hidalgo-Céspedes
Fecha: 23-ago-2013. Entrega límite: 03-set-2013 11:55 p.m.

Tarea 01

Un estudiante de secundaria le ha solicitado ayuda con la revisión de sus ejercicios de movimiento rectilíneo uniformemente acelerado. Dado que la cantidad de ejercicios es abrumadora, usted encuentra interesante y útil hacer un programa en Java que resuelva este tipo de ejercicios, de tal forma que usted se lo proveedrá a su amigo(a) para que lo utilice como medio de verificación. Los problemas de movimiento rectilíneo uniformemente acelerado involucran cinco conceptos físicos:

Los problemas típicamente tienen la forma de proveer ciertos datos y dejar una variable como incógnita, a la cual el estudiante debe encontrar su valor. Para esto el estudiante dispone de cuatro ecuaciones: \[v = v_0 + at\] \[d = \left(\frac{v + v_0}{2}\right)t\] \[d = v_0t + \frac{1}{2}at^2\] \[2ad = v^2 - v_0^2\]

Al ser ejecutado, su programa debe solicitar información sobre cada una de las cinco variables. El estudiante debe indicar para cada una de ellas si: (1) la conoce, y en tal caso se le pedirá su valor, (2) es la variable incógnita a la cual se le quiere hallar su valor, o (3) desconoce el valor de la variable.

Su programa debe entonces escoger una de las cuatro ecuaciones que tenga tanto la variable incógnita como las variables conocidas, despeje la variable incógnita, obtenga su valor a partir de las conocidas e imprima el resultado en la pantalla. Por ejemplo, si el usuario conoce las velocidades inicial y final del cuerpo en movimiento y el desplazamiento que realizó, y quiere saber la aceleración, utilizaría la cuarta ecuación. Si en lugar del desplazamiento conoce el tiempo, utilizaría la primera ecuación. Si no conoce la velocidad final pero sí el desplazamiento y el tiempo, utilizaría la tercera ecuación. En otro caso, no se podría calcular la aceleración y el programa reportaría un mensaje de error, como se ve en los siguientes ejemplos:

Un conductor sale de su casa en su vehículo y acelera por 4 minutos hasta recorrer 2 kilómetros, momento en que divisa un inspector de tránsito. Calcule la aceleración y la velocidad que llevaba el conductor al ver el inspector.

Movimiento rectilineo uniformente acelerado

Velocidad inicial [1=conocida|2=incognita|3=desconocida]: 1
Velocidad inicial v0: 0
Velocidad final [1=conocida|2=incognita|3=desconocida]: 3
Duracion del recorrido [1=conocida|2=incognita|3=desconocida]: 1
Duracion del recorrido t: 240
Distancia recorrida [1=conocida|2=incognita|3=desconocida]: 1
Distancia recorrida d: 2000
Aceleracion [1=conocida|2=incognita|3=desconocida]: 2

Aceleracion a = 0.069444 por ecuacion 3
Movimiento rectilineo uniformente acelerado

Velocidad inicial [1=conocida|2=incognita|3=desconocida]: 1
Velocidad inicial v0: 0
Velocidad final [1=conocida|2=incognita|3=desconocida]: 2
Duracion del recorrido [1=conocida|2=incognita|3=desconocida]: 1
Duracion del recorrido t: 240
Distancia recorrida [1=conocida|2=incognita|3=desconocida]: 1
Distancia recorrida d: 2000
Aceleracion [1=conocida|2=incognita|3=desconocida]: 3

Velocidad final v = 16.666667 por ecuacion 2

De acuerdo a las ejecuciones anteriores del programa, el conductor aceleró a 0.069444 m/s2 durante esos 4 minutos y alcanzó una velocidad de 16.66 m/s, es decir, 60 km/h. Nótese que el usuario es responsable de utilizar unidades compatibles, como hizo al cambiar 2 minutos por 240 segundos, y 2 km por 2000 metros.

Dado que la carretera tiene un límite de velocidad de 40 km/h, el inspector hace señales al conductor para que se detenga, quien lo hace en 5 segundos hasta quedar a la par del inspector. ¿Cuál es la deceleración de frenado y a cuántos metros el conductor divisó al inspector?

Movimiento rectilineo uniformente acelerado

Velocidad inicial [1=conocida|2=incognita|3=desconocida]: 1
Velocidad inicial v0: 16.6666666666666
Velocidad final [1=conocida|2=incognita|3=desconocida]: 3
Duracion del recorrido [1=conocida|2=incognita|3=desconocida]: 1
Duracion del recorrido t: 5
Distancia recorrida [1=conocida|2=incognita|3=desconocida]: 3
Aceleracion [1=conocida|2=incognita|3=desconocida]: 2

No se puede obtener la aceleracion a partir de los datos provistos
Movimiento rectilineo uniformente acelerado

Velocidad inicial [1=conocida|2=incognita|3=desconocida]: 1
Velocidad inicial v0: 16.6666666666666
Velocidad final [1=conocida|2=incognita|3=desconocida]: 1
Velocidad final v: 0
Duracion del recorrido [1=conocida|2=incognita|3=desconocida]: 1
Duracion del recorrido t: 5
Distancia recorrida [1=conocida|2=incognita|3=desconocida]: 3
Aceleracion [1=conocida|2=incognita|3=desconocida]: 2

Aceleracion a = -3.333333 por ecuacion 1

El conductor desceleró a 3.333333 m/s2. El cálculo de la distancia queda como ejercicio para el lector.

Ejemplos de ejecución del programa.

Evaluación

  1. [20%] Implementa correctamente la clase y el método main(). Utiliza identificadores significativos. El código está perfectamente indentado. Imprime un mensaje corto indicando de lo que trata el programa
  2. [30%] Lee correctamente cada concepto físico. Utiliza dos variables para cada concepto: una para obtener el conocimiento que tiene el usuario del concepto (lo conoce, es la incógnita o lo desconoce), y otra para leer el valor del concepto sólo en caso de que el usuario lo conozca.
  3. [40%] Hace una adecuada estructuración de if o if/else para escoger la ecuación, el despeje y evaluación de la variable incógnita a partir de las otras tres variables conocidas. Produce resultados correctos.
  4. [10%] Despeja correctamente el tiempo en la tercera ecuación utilizando fórmula general. Descarta valores negativos, dado que el tiempo no puede serlo.
  5. [10% opcional] En lugar de hacer dos preguntas por cada concepto físico, realiza una única pregunta permitiendo al usuario ingresar el valor numérico si lo conoce, o el texto "i" si es la variable incógnita, o el texto "NA" si no se conoce ni es necesario conocer su valor. Adelante se muestra un ejemplo de ejecución con esta característica. Sugerencia: trabaje con cadenas de texto (String) y conversiones de texto a números.
Movimiento rectilineo uniformente acelerado. Ingrese el valor si lo
conoce, o la letra i para la incognita, o NA si desconoce el valor

Velocidad inicial v0: 0
Velocidad final v: na
Duracion del recorrido t: 240
Distancia recorrida d: 2000
Aceleracion a: i

Aceleracion a = 0.069444 por ecuacion 3
Ejemplo de ejecución con el ejercicio opcional implementado.

Para presentar su solución, suba el archivo .java que haya creado a Mediación virtual en la asignación con nombre Tarea01.