TALLER
PARA EL PARCIAL.
Taller
No. 6.
Desarrolle los ejercicios y uno será
escogido para realizarle una modificación, y a su vez presentado como parcial.
ALGORITMOS SECUENCIALES 2.
Manejo de Tiempo.
1.
En una competencia atlética de velocidad el tiempo se mide en minutos,
segundos y centésimas de segundo y, el espacio recorrido se mide en metros.
Diseñe un algoritmo para determinar la velocidad de un atleta en km/h.
M = Minutos
S = Segundos
H = Horas
X = Distancia
K = Kilómetros
C = Centésimas
V = Velocidad
H = (((C/100)+S)/60)+M)/60
K = X/1000
V = K/H
2.
Diseñe un algoritmo que lea la hora actual del día, y determine cuantas
horas, minutos y segundos restan para culminar el día. (Asumir que el usuario
digita horas, minutos y segundos por separado).
H = Horas
M = Minutos
S = Segundos
H1 = Horas Faltantes
M1 = Minutos Faltantes
S1= Segundos faltantes
S1 = 60 – S
M1 = 59 – M
H1 = 23 - H
3.
Diseñe un algoritmo para sumar dos tiempos dados en horas, minutos y
segundos, Ahora tres tiempos. (Asumir que el usuario digita horas, minutos y
segundos por separado).
H1 = hora 1
M1 = Minuto 1
S1 = Segundo 1
H2 = Hora 2
M2 = Minuto 2
S2 = Segundo 2
H = hora total
M = Minutos totales
S = Segundos totales
S = (S1+S2)Mod 60
M = ((M1+M2)+((S1+S2)-S)/60))Mod
60
H = (H1+H2)+((((M1+M2)+(((S1+S2)-S)/60))-M)/60)
Ahora con tres tiempos:
Tomamos las mismas
variables más:
H3 =Hora 3
H2 = Hora 2
H1 = Hora 1
S = (S1+S2+S3)Mod 60
M = ((M1+M2+M3)+((S1+S2+S3)-S)/60))Mod
60
H = (H1+H2+H3)+((((M1+M2+M3)+(((S1+S2+S3)-S)/60))-M)/60)
4.
Ahora modifique los dos ejercicios anteriores para recibir los datos en
el siguiente formato HHMMSS y SSMMHH, es decir en un solo número,
entregar los resultados en el mismo formato.
a. Tomaremos el segundo punto con este formato de
tiempo HHMMSS
H = Horas
M = Minutos
S = Segundos
H1 = Horas Faltantes
M1 = Minutos Faltantes
S1= Segundos faltantes
T = tiempo dado en
HHMMSS
S = T Mod 100
M = ((T Mod 10000)-S/100
H = (T –(T Mod 10000))/10000
S1 = 60 – S
M1 = 59 – M
H1 = 23 – H
b. Segundo punto con formato SSMMHH
Usamos las mismas variables
anteriores.
H = T Mod 100
M = ((T Mod
10000)-H)/100
S=(T Mod 10000)-H
c. Ahora tomamos el tercer punto en forma HHMMSS
H1 = hora 1
M1 = Minuto 1
S1 = Segundo 1
H2 = Hora 2
M2 = Minuto 2
S2 = Segundo 2
H = hora total
M = Minutos totales
S = Segundos totales
T1 = Tiempo 1
T2 = Tiempo 2
S1 = T1 Mod 100
M1 = ((T1 Mod 10000)-S1/100
H1 = (T1 –(T1 Mod 10000))/10000
S2 = T2 Mod 100
M2 = ((T2 Mod 10000)-S2/100
H2 = (T2 –(T2 Mod 10000))/10000
S = (S1+S2)Mod 60
M = ((M1+M2)+((S1+S2)-S)/60))Mod
60
H = (H1+H2)+((((M1+M2)+(((S1+S2)-S)/60))-M)/60)
d. Tomamos el punto 3 con el formato SSMMHH
Con las mismas
variables.
H1 = T1 Mod 100
M1 = ((T1 Mod 10000)-H1/100
S1 = (T1 –(T1 Mod 10000))/10000
H2 = T2 Mod 100
M2 = ((T2 Mod 10000)-H2/100
S2 = (T2 –(T2 Mod 10000))/10000
S = (S1+S2)Mod 60
M = ((M1+M2)+((S1+S2)-S)/60))Mod
60
H = (H1+H2)+((((M1+M2)+(((S1+S2)-S)/60))-M)/60)
5.
Si se quisiera un algoritmo que calcule cuantos años, meses y días ha
vivido una persona, partiendo de la fecha de nacimiento y una fecha actual.
¿Cuál sería el procedimiento matemático?. Haga una lista de restricciones y
condiciones. Realice posteriormente un algoritmo.
A1 = Año nacimiento
M1 = Mes nacimiento
D1 = Dia nacimiento
A2 = Año fallecimiento
M2= Mes Fallecimiento
D1 = Día fallecimiento
A = Años de vida
M = Meses de vida
D = Días de vida
D = ((D2-D1)+30) Mod 30
M = ((M2-M1)+12) Mod 12 –
((D-(D2-D1)) Mod 30)
A = (A2-A1)-
((((M2-M1)+12) Mod 12)-(M2-M1))Mod 12)
Recomendaciones:
“Divide y vencerás”
Utilizar la operación que entrega el residuo de la división.
No hay comentarios.:
Publicar un comentario