Ir ao conteúdo
  • Cadastre-se

Exercício envolvendo decimais e horas


Visitante

Posts recomendados

1. Considere a necessidade de obter-se o tempo necessário para realizar um percurso entre duas cidades distantes por x km e que você conseguirá percorrer a uma média de y km/h. Faça um algoritmo que a partir dos dados informados calcule o tempo necessário para este percurso. Este tempo deverá ser informado em horas e minutos.

_______________________________________

minha tentativa:
 

Program exer_10 ; var         m,h,d,km_h:real;                      Begin            WRITE('Informe a distância entre as duas cidade em KM: ');            READLN(d);              WRITE('Velocidade média (km/h)? ');            READLN(km_h);            h:=d/km_h;            m:=d/km_h*60;             WRITELN('Seu tempo de percurso será de: ',h:2:2,'h ou ',m:2:2,'min'); End.
_______________________________________
o meu problema é o seguinte, eu simulei usando o exemplo de 7 KM de distancia(d) e com velocidade 2km/h isso seria pela conta
h = 7/2 = 3.5
m = 7/2*60 = 210
 
os minutos estão corretos, mas o problema é nas horas pois o correto seriam 3h30minutos, eu estou fazendo separado, porque nao consegui fazer algo do tipo HH:MM, caso alguem consiga me ajudar a arrumar melhor o programa, e resolver esse meu problema eu ficaria grato.
Link para o comentário
Compartilhar em outros sites

Não sou nenhum especialista em pascal, porém consegui solucionar o seu problema da seguinte maneira:

Program exer_10 ; var         tempoEmMinutos, distancia, velocidade:double;	 horas, minutos:integer;                      Begin            WRITELN('Informe a distância entre as duas cidade em KM:');            READLN(distancia);              WRITELN('Velocidade média (km/h)?');            READLN(velocidade);            tempoEmMinutos:=distancia/velocidade*60;	    horas:=Trunc(tempoEmMinutos/60);	    minutos:=Trunc(tempoEmMinutos-horas*60);            WRITELN('Seu tempo de percurso será de: ',horas,':',minutos); End.

O que eu alterei foi adicionar o código para o calculo das horas e minutos a partir da quantidade total de minutos

horas:=Trunc(tempoEmMinutos/60);minutos:=Trunc(tempoEmMinutos-horas*60);

Foi necessário utilizar a função Trunc para que o valor retornado contivesse somente a parte inteira do número.

 

Também coloquei nomes mais sugestivos para as variáveis para facilitar a leitura do código (isso é uma boa pratica).

Link para o comentário
Compartilhar em outros sites

Valeu amigão, viu pascal já é uma linguagem velha e quase em desuso, meu professor falou que podemos optar por qual linguagem vamos trabalhar, o que tu me recomendas?

Ps: Já programei em C++ para microcontroladores, mas quero pegar outra, estava pensando em Java.

 

E quanto o lance de nomes mais sugestivos, vou tentar fazer isso.

Link para o comentário
Compartilhar em outros sites

Valeu amigão, viu pascal já é uma linguagem velha e quase em desuso, meu professor falou que podemos optar por qual linguagem vamos trabalhar, o que tu me recomendas?

Ps: Já programei em C++ para microcontroladores, mas quero pegar outra, estava pensando em Java.

 

E quanto o lance de nomes mais sugestivos, vou tentar fazer isso.

Sem problemas, é sempre bom poder ajudar.

 

Sobre a linguagem, Java é uma boa escolha, porque além de ser uma ótima linguagem usada amplamente em aplicações comercias, também é bem simples e amigável para o aprendizado. Isso sem falar na quantidade de material disponíveis, como livros, tutoriais, etc.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!