Está en la página 1de 3

/*Un dron requiere hacer 50 recorridos, para ello se mueve en tramos de línea recta

a velocidad constante, sin embargo, en cada tramo adquiere una velocidad diferente.
El movimiento se realiza en un espacio tridimensional, pero el dron sólo es capaz
de indicar la posición (x, y, z) de cada parada y el tiempo transcurrido por tramo.
Construir un programa que permita calcular la distancia recorrida, el tiempo y la
velocidad del dron por cada tramo y la distancia y tiempo del recorrido total.
Además, el programa debe indicar cuál fue la velocidad promedio, cuál fue el tramo
en el que la velocidad fue mayor y cuál en el que fue menor. Suponga que las
posiciones están dadas en un eje de coordenadas en metros, mientras que los tiempos
en segundos. Si el desplazamiento del dron fue menor de medio metro el dato deberá
ser ignorado en la estadística. */

/*RF1:calcular la distancia en tres dimensiones apartir del las posiciones x y z y


las guarde en un vector para luego sumarlas
/*RF2:guardar el tiempo transcurrido por tramo*/
/*RF3:calcular el tiempo y distancia total*/
/*RF4:calular la velocidad en cada tramo y posteriormente su promedio*/
/*RF5:presentar el tramo en el que la velocidad fue mayor*/
/*RF6:presentar el tramo en el que la velocidad fue menor*/

/*RN1:guardar en un vector la distancia recorrida por tramo, Distancia = √(〖(x_1-


x_2)〗^2+〖(y_1-y_2)〗^2+〖(z_1-z_2)〗^2 )*/
/*RN2:generar un vector donde se guarde el tiempo que le tomo al dron por tramo*/
/*RN3:sumar el vector tiempo generado de RN2 y sumar el vector distancia generado
en RN1*/
/*RN4:calcular la velocidad del dron con la formula de velocidad con respecto a
tiempo y distancia V = d/t, luego su promedio (velocidad total/el nuemero de
velocidades)*/
/*RN5:generar un metodo que recorra el vector velocidad y me muestre la posición
donde se encuentre el valor mas alto*/
/*RN6:generar un metodo que recorra el vector velocidad y me muestre la posición
donde se encuentre el valor mas bajo*/

publico clase Dron

publico vacio Distancia_y_tiempo(real [] distancias, entero [] tiempo_tramo)


entero contador
real x_1,y_1,z_1
real x_2 = 0, y_2 = 0, z_2 = 0,distancia
para(contador = 0; contador < distancias.tamaño; contador = contador +
1)
imprimir "ingrese la distancia las posiciones x,y,z"
leer x_1
leer y_1
leer z_1
distancia = ((〖(x_1-x_2)〗^2+〖(y_1-y_2)〗^2+〖(z_1-
z_2)〗^2 ))^(1/2)
si(distancia > 0,50)entonces
distancias[contador] = distancia
imprimir "Ingrese el tiempo transcurrido"
leer tiempo_tramo[contador]
fin_si
x_2 = x_1
y_2 = y_1
z_2 = z_1
fin_para
fin_metodo

publico vacio velocidad(real [] distancias, entero [] tiempo_tramo, real []


velocidad)
entero contador
para(contador = 0; contador < distancias.tamaño; contador = contador +
1)
velocidad[contador] = distancias[contador]/tiempo_tramo[contador]
fin_para
fin_metodo

publico vacio distancia_total(real [] distancias)


entero contador
real distancia_T
para(contador = 0; contador < distancias.tamaño; contador = contador +
1)
distancia_T = distancia_T + distancias[contador]
fin_para
imprimir "La distancia total recorrida es : ("+distancia_T+")"
fin_metodo

publico vacio tiempo_total(entero [] tiempo_tramo)


entero contador
real tiempo_T
para(contador = 0; contador < tiempo_tramo.tamaño; contador = contador
+ 1)
tiempo_T = tiempo_T + tiempo_tramo[contador]
fin_para
imprimir "el tiempo total del recorrido es : ("+tiempo_T+")"
fin_metodo

publico vacio velocidad_promedio(real [] velocidad)


entero contador
real velocidad_Prom,velocidad_T
para(contador = 0; contador < velocidad.tamaño; contador = contador +
1)
velocidad_T = velocidad_T + velocidad[contador]
fin_para
velocidad_Prom = velocidad_T/velocidad.tamaño
imprimir "la velocidad promedio es : ("+Velocidad_Prom+")"
fin_metodo

publico vacio velocidad_mayor(real [] velocidad)


entero contador,contador2, tramo_Vma
real velocidad_Ma = 0
para(contador = 0; contador < distancias.tamaño; contador = contador +
1)
si(velocidad[contador] > velocidad_Ma)
velocidad_Ma = velocidad[contador]
fin_si
fin_para
para(contador2 = 0; contador2 < distancias.tamaño; contador2 =
contador2 + 1)
si(velocidad[contador2] == velocidad_Ma)
tramo_Vma = contador2
fin_si
fin_para
imprimir "El tramo en el que la velocidad fue mayor es : ("+tramo_Vma +
1")"
fin_metodo

publico vacio velocidad_menor(real [] velocidad)


entero contador,contador2, tramo_Vme
real velocidad_Me = 9999999
para(contador = 0; contador < distancias.tamaño; contador = contador +
1)
si(velocidad[contador] < velocidad_Me)
Velocidad_Me = velocidad[contador]
fin_si
fin_para
para(contador2 = 0; contador2 < distancias.tamaño; contador2 =
contador2 + 1)
si(velocidad[contador2] == velocidad_Me)
tramo_Vme = contador2
fin_si
fin_para
imprimir "El tramo en el que la velocidad fue menor es : ("+tramo_Vme +
1")"
fin_metodo

publico estatico vacio principal()


entero tramos,contador
Dron Objeto = nuevo Dron()
imprimir "ingrese la cantidad de tramos"
leer tramos
real [] distancias = nuevo real [tramos]
entero [] tiempo_tramo = nuevo entero [tramos]
real [] velocidad = nuevo real [tramos]
Objeto.Distancia_y_tiempo(tramos,distancias,tiempo_tramo)
Objeto.velocidad(distancias,tiempo_tramo,velocidad)
para(contador = 0; contador < tramos; contador = contador + 1)
imprimir "la distancia recorrida en el tramo ("+contador + 1+")
es: ("distancias[contador]")"
imprimir "la velocidad en el tramo ("+contador + 1+") es:
("velocidad[contador]")"
fin_para
Objeto.distancia_total(distancias)
Objeto.tiempo_total(tiempo_tramo)
Objeto.velocidad_promedio(velocidad)
Objeto.velocidad_mayor(velocidad)
Objeto.velocidad_menor(velocidad)
fin_metodo
fin_clase

También podría gustarte