domingo, 9 de marzo de 2014

PARCIAL DE PROGRAMACIÓN

Este es el primer parcial de Introducción a la programación con el profesor Jorge Caballero, lo subo solucionado, espero sea de su ayuda.



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