Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá amigos queria muito a ajuda de vocês, estou com um probleminha, pois preciso inserir dois tempos e soma-los ex: 2 horas + 30 minutos + 20 segundos
2 horas + 30 minutos + 20 segundos
total= 5 horas e 40 segundos, se vocês estão me entendendo é que as horas nao pode passar de 24 horas e os minutos quando dar 61 minutos o 1 pular para horas a mesma coisa dos segundos, os segundos pular para os minutos, eu fiz assim: mais nao consigo fazer a troca por favor me ajudem
algoritmo "semnome"
// Função :
// Autor :
// Data : 10/4/2010
// Seção de Declarações
var
h1,h2,m1,m2,s1,s2:inteiro
soma,soma1,soma2,total,cont:inteiro
inicio
// Seção de Comandos
escreva("Informe a 1ª hora:")
leia(h1)
escreva("Informe o 1º minuto:")
leia(m1)
escreva("Informe o 1º segundo:")
leia(s1)
escreval()
escreval("INFORME AGORA OUTRO TEMPO")
escreval()
escreva("Informe a 2ª hora:")
leia(h2)
escreva("Informe o 2º minuto:")
leia(m2)
escreva("Informe o 2º segundo:")
leia(s2)
cont<-1
soma<-h1+h2
soma1<-m1+m2
soma2<-s1+s2
escreval()
cont<-0
escreva("o tempo é:",soma,"hora",soma1,"minutos",soma2,"segundos")
fimalgoritmo
olá mario obrigado por me ajudar, eu tenho que entregar essa atividade amanha, eu fiz como você mandou mais olha pra mim o que ta dando de errado, pois ta dando, ficarei grato pela sua opinião:
algoritmo "semnome"
// Função :
// Autor :
// Data : 10/4/2010
// Seção de Declarações
var
h1,h2,m1,m2,s1,s2:real
soma,soma1,soma2,soma3,soma4,soma5,total,total1,total2,total3,total4,total5:real
cont,cont1:real
inicio
// Seção de Comandos
escreva("Informe a 1ª hora:")
leia(h1)
escreva("Informe o 1º minuto:")
leia(m1)
escreva("Informe o 1º segundo:")
leia(s1)
escreval()
escreval("INFORME AGORA OUTRO TEMPO")
escreval()
escreva("Informe a 2ª hora:")
leia(h2)
escreva("Informe o 2º minuto:")
leia(m2)
escreva("Informe o 2º segundo:")
leia(s2)
cont<-1
soma<-(h1*60)/3600
soma1<-(h2*60)/3600
total<-soma+soma1/3600
total1<-(soma-soma1)/3600
soma2<-(m1*60)/60
soma3<-(m2*60)/60
total2<-(soma2+soma3)/60
total3<-(soma2-soma3)/60
soma4<-(s1*60)/60
soma5<-(s2*60)/60
total4<-(soma4+soma5)/60
total5<-(soma4-soma5)/60
escreval()
escreva("o tempo é:",total,"hora",total2,"minutos",total4,"segundos")
escreval()
escreva("o tempo de diferença é:",total1,"hora",total3,"minutos",total5,"segundos")
fimalgoritmo
As contas estão erradas
>
soma<-(h1*60)/3600
soma2<-(m1*60)/60
soma4<-(s1*60)/60
Se for transformar para segundos as horas seria apenas
soma<-(h1*3600)
Os minutos seriam apenas
soma2<-(m1*60)
E os segundos não precisa mexer
Outra coisa não precisa de varias variáveis soma
Pode usar a mesma
Dados seis números inteiros representando dois intervalos de tempo (horas, minutos e segundos), faça um programa para calcular a soma desses intervalos. Faça outro programa para calcular a diferença entre os intervalos. é isso ou seja eu tenho que somar os 6 numeros e depois colocar a diferença amigo: eu fiz assim mais o final ta dando errado eu uso o Visualg
algoritmo "semnome"
// Função :
// Autor :
// Data : 10/4/2010
// Seção de Declarações
var
h1,h2,m1,m2,s1,s2:inteiro
soma,soma1,soma2,soma3,soma4,soma5,soma6,soma7:inteiro
total,total1,total2,total3,total4,total5:real
inicio
// Seção de Comandos
escreva("Informe a 1ª hora:")
leia(h1)
escreva("Informe o 1º minuto:")
leia(m1)
escreva("Informe o 1º segundo:")
leia(s1)
escreval()
escreval("INFORME AGORA OUTRO TEMPO")
escreval()
escreva("Informe a 2ª hora:")
leia(h2)
escreva("Informe o 2º minuto:")
leia(m2)
escreva("Informe o 2º segundo:")
leia(s2)
//tranformar os horarios tudo em segundo pois fica melhor para resolver
soma<-h1*60
soma1<-soma+m1
soma2<-soma1*60
soma3<-soma2+s1
soma4<-h2*60
soma5<-soma4+m2
soma6<-soma5*60
soma7<-soma6+s2
total1<-soma3-soma7
total2<-(total1)/60
total3<-(total1 % 60)
total4<-total2)/60
total5<-(total2 % 60)
escreva("diferença de intervalo é:",total4,"hr",total5,"min",total3,"segundos")
fimalgoritmo
Continua fazendo errado
Seria algo como
>
soma1 <- h1*3600
soma1 <- soma1 + m1*60
soma1 <- soma1 + s1
soma2 <- h2*3600
soma2 <- soma2 + m2*60
soma2 <- soma2 + s2
soma3 <- soma1 + soma2
temporestante = soma3
horastotais <- temporestante/3600
temporestante = temporestante % 3600
minutostotais <- temporestante/60
segundostotais = temporestante % 60
escreva("a soma do tempo é:",horastotais,"h",minutostotais,"m",segundostotais,"s")
mais esse jeito o mod ou % nao funciona no visualg o que devo fazer
>
soma1 <- h1*3600
soma1 <- soma1 + m1*60
soma1 <- soma1 + s1
soma2 <- h2*3600
soma2 <- soma2 + m2*60
soma2 <- soma2 + s2
soma3 <- soma1 + soma2
temporestante = soma3
horastotais <- temporestante/3600
temporestante = temporestante % 3600
minutostotais <- temporestante/60
segundostotais = temporestante % 60
escreva("a soma do tempo é:",horastotais,"h",minutostotais,"m",segundostotais,"s")
Primeiro você tem q começar a postar na área correta.
Já q n funciona crie uma formula de resto "na mão";
[]s
---
Tópico Movido:
Lógica de Programação e Algoritmos >> Curso (Lógica de Programação) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Lógica de Programação e Algoritmos
se transformar tudo para a mesma unidade no inicio deve simplificar
Depois é só colocar no padrão que deseja
Em seu exemplo
2 horas + 30 minutos + 20 segundos
26060 + 30*60 + 20
Teria tudo em segundos
Faça o mesmo com o outro
Some e depois começe a dividir por 3600 para obter as horas, o resto por 60 para os minutos e o resto são segundos