La distancia de frenado se calcula a partir de la siguiente fórmula
donde:
- Vo: es la velocidad inicial del vehículo en m / s
- Tr: es el tiempo de reacción. Tomaremos 0.5 segundos si la edad del conductor está entre 18 y 40 años y 0.7 segundos si está entre 41 y 60 y 1 segundo si es superior.
- Μ: El rozamiento con la carretera (que depende del tipo de asfalto, el neumático ...). Tomaremos el valor 12:55 que es lo normal sobre autopista seca.
- G: La gravedad. Es la constante 9.81 m/s2
A partir de los datos proporcionados crea un programa que pida dos velocidades en km / h (la primera inferior a la segunda!) Y dé todas las distancias de frenado entre la primera y la segunda con incrementos de 5 km / h.
ejemplo:
Introduce la edad del conductor / a: 30
Introduce velocidad 1 (km / h): 120
Introduce velocidad 2 (km / h): 132
Distancias de frenado:
------------------------------------
A 120 km / h >>> xxx.xx m
A 125 km / h >>> xxx.xx m
A 130 km / h >>> xxx.xx m
A 132 km / h >>> xxx.xx m
Puede consultar en Internet cuáles son las distancias de frenado habituales, a fin de comprobar el correcto funcionamiento de su programa.
- import java.lang.Math;
- import cs1.*;
- import java.util.*;
- import java.text.*;
- public class Distancia_Frenada {
- public static void main(String args[])
- {
- double segundo=0, resultado_final=0;
- int edad, veloc1, veloc2, velocidad_final, resto=0;
- System.out.println("Introdueix l'edat del conductor/a: ");
- edad = Keyboard.readInt();
- System.out.println("Introdueix velocitat 1 (km/h): ");
- veloc1 = Keyboard.readInt();
- System.out.println("Introdueix velocitat 2 (km/h): ");
- veloc2 = Keyboard.readInt();
- if (edad>=18 || edad<=40) {
- segundo = 0.5;
- }
- else if (edad>=41 || edad<=60) {
- segundo = 0.7;
- }
- else if (edad>60) {
- segundo = 1;
- }
- System.out.println("\nDistàncies de Frenada: ");
- System.out.println("--------------------------------------------");
- System.out.println();
- for (int i=veloc1; i<veloc2+5;) {
- resto = veloc2-i+5;
- if (resto<5) {
- DecimalFormat dc = new DecimalFormat("#.##");
- resultado_final = ((veloc2*segundo)+((veloc2*veloc2)/(2*9.81*0.55)));
- System.out.println("A "+veloc2+" km/h >>> "+dc.format(resultado_final)+" m");
- }
- else {
- DecimalFormat df = new DecimalFormat("#.##");
- resultado_final = ((i*segundo)+((i*i)/(2*9.81*0.55)));
- System.out.println("A "+i+" km/h >>> "+df.format(resultado_final)+" m");
- }
- i = i+5;
- }
- }}
No hay comentarios:
Publicar un comentario