Física | Análise de Circuitos | Lógica de Programação | Tecnologia da Informação | Sobre o blog

sexta-feira, 19 de novembro de 2010

Faça um procedimento que recebe, por parâmetro, a hora de inicio e a hora de término de um jogo, ambas subdivididas em 2 valores distintos: horas e minutos.

Faça um procedimento que recebe, por parâmetro, a hora de inicio e a hora de término de um jogo, ambas subdivididas em 2 valores distintos: horas e minutos. O procedimento deve retornar, também por parâmetro, a duração do jogo em horas e minutos, considerando que o tempo máximo de duração de um jogo é de 24 horas e que o jogo pode começar em um dia e terminar no outro.

Algoritmo "tempo de jogo"

Var
                hi, mi, hf, mf: inteiro
Inicio
                Procedimento duracao(ho,mo,ht,mt: inteiro)
                Var
                               hd,md: inteiro
                Inicio
                               hd <- 0
                               Se(ho >= ht)entao
                                               hd <- 12
                                               ht <- ht + 12
                               Fimse
                               Se (mo >mt) entao
                                               hd <- hd - 1
                                               mt <- mt + 60
                               Fimse
                               md <- (mt - mo)
                               hd <- hd + (ht -  ho)
                               Escreva("O jogo durou ",hd, " horas e ",md, " minutos.")
                Fimprocedimento
    Escreval("Informe o horário inicial do jogo: ")
                Escreva("hora inicial: ")
                Leia(hi)
                Enquanto (hi > 23) ou (hi < 0) FACA
                Escreva("Hora invalida. hora inicial: ")
                            Leia(hi)
                Fimenquanto
                Escreva("min inicial: ")
                Leia(mi)
                Enquanto (mi > 59) ou (mi < 0) FACA
                               Escreva("Minutos inválidos. min inicial: ")
                               Leia(mi)
                Fimenquanto
    Escreval("Informe o horário final do jogo: ")
    Escreva("hora final: ")
                Leia(hf)
                Enquanto (hf > 23) ou (hf < 0) FACA
                Escreva("Hora invalida. hora final: ")
                            Leia(hf)
                Fimenquanto
                Escreva("min final: ")
                Leia(mf)
    Enquanto (mf > 59) ou (mf < 0) FACA
                               Escreva("Minutos inválidos. min final: ")
                               Leia(mf)
                Fimenquanto
                duracao(hi,mi,hf,mf)
Fimalgoritmo
 Algoritmo Verificado! 

Jefferson, este código está funcionando,
mas se quiser depois posto o mesmo código com comentários
vlw, até mais ^^

2 comentários:

Anônimo disse...

Show de Bola ...
Obrigado pela atenção.

Anônimo disse...

Se vc puder comentar lhe agradeço. Vlw mesmo.