Exercício: segundos transcorridos entre dois horários

Fala galera da programação, tudo beleza?
O exercício de hoje consiste em ler dois horários e descobrir quantos segundos há enter eles. Pare resolver o exercício siga as seguintes regras:
Regra 1: Devem ser lidos 6 números inteiros em 6 variáveis diferentes, 3 para cada horário.
Regra 2: Transformar cada horário em segundos, lembrando que cada hora possui 3600 segundos e cada minuto 60 segundos.
Regra 3: Calcular a diferença dos dois horários utilizando os valor transformado em segundos acima. Supondo que o segundo horário é maior que o primeiro, calcular o segundo menos o primeiro.
Exemplo de resposta em C++
/***************************************************************************
Criado pelo Professor Giovani Da Cruz
****************************************************************************/
#include <iostream>
using namespace std;
int main() {
int hora1, minuto1, segundo1;
int hora2, minuto2, segundo2;
// Lendo o primeiro horário
cout << "Digite a primeira hora (hh mm ss): ";
cin >> hora1 >> minuto1 >> segundo1;
// Lendo o segundo horário
cout << "Digite a segunda hora (hh mm ss): ";
cin >> hora2 >> minuto2 >> segundo2;
// Convertendo ambos os horários para segundos
int tempo1 = hora1 * 3600 + minuto1 * 60 + segundo1;
int tempo2 = hora2 * 3600 + minuto2 * 60 + segundo2;
// Calculando a diferença entre os dois horários
int diferenca = tempo2 - tempo1;
// Exibindo o resultado
cout << "A diferença em segundos entre os dois horários é: " << diferenca << " segundos" << endl;
return 0;
}
Este programa lê dois horários em horas, minutos e segundos, converte cada um para segundos e, em seguida, calcula a diferença entre eles. Certifique-se de que o segundo horário seja maior que o primeiro para evitar resultados negativos.
Exemplo de Resposta em Python
'''
Criado pelo Professor Giovani Da Cruz
'''
# Função para converter horário em segundos
def converter_para_segundos(hora, minuto, segundo):
return hora * 3600 + minuto * 60 + segundo
# Lendo o primeiro horário
hora1, minuto1, segundo1 = map(int, input("Digite a primeira hora (hh mm ss): ").split())
# Lendo o segundo horário
hora2, minuto2, segundo2 = map(int, input("Digite a segunda hora (hh mm ss): ").split())
# Convertendo ambos os horários para segundos
tempo1 = converter_para_segundos(hora1, minuto1, segundo1)
tempo2 = converter_para_segundos(hora2, minuto2, segundo2)
# Calculando a diferença entre os dois horários
diferenca = tempo2 - tempo1
# Exibindo o resultado
print("A diferença em segundos entre os dois horários é:", diferenca, "segundos")
Este código em Python realiza a mesma lógica que o código em C++. Ele utiliza uma função converter_para_segundos para converter cada horário em segundos, lê os horários do usuário, calcula a diferença em segundos e imprime o resultado.
Exemplo de Resposta em Pascal (Delphi / Lazarus)
{
Criado pelo professor Giovani Da Cruz
}
program CalculaDiferencaHorarios;
var
hora1, minuto1, segundo1: Integer;
hora2, minuto2, segundo2: Integer;
tempo1, tempo2, diferenca: Integer;
begin
// Lendo o primeiro horário
Write('Digite a primeira hora (hh mm ss): ');
Read(hora1, minuto1, segundo1);
// Lendo o segundo horário
Write('Digite a segunda hora (hh mm ss): ');
Read(hora2, minuto2, segundo2);
// Convertendo ambos os horários para segundos
tempo1 := hora1 * 3600 + minuto1 * 60 + segundo1;
tempo2 := hora2 * 3600 + minuto2 * 60 + segundo2;
// Calculando a diferença entre os dois horários
diferenca := tempo2 - tempo1;
// Exibindo o resultado
WriteLn('A diferença em segundos entre os dois horários é: ', diferenca, ' segundos');
end.
Este código em Pascal realiza a mesma lógica que os exemplos anteriores em C++ e Python. Ele lê os horários do usuário, converte cada horário para segundos, calcula a diferença em segundos e imprime o resultado.
Exemplo em C#
/***************************************************************************
Criado pelo Professor Giovani Da Cruz
****************************************************************************/
using System;
class Program
{
static void Main()
{
int hora1, minuto1, segundo1;
int hora2, minuto2, segundo2;
// Lendo o primeiro horário
Console.Write("Digite a primeira hora (hh mm ss): ");
string[] input1 = Console.ReadLine().Split();
hora1 = int.Parse(input1[0]);
minuto1 = int.Parse(input1[1]);
segundo1 = int.Parse(input1[2]);
// Lendo o segundo horário
Console.Write("Digite a segunda hora (hh mm ss): ");
string[] input2 = Console.ReadLine().Split();
hora2 = int.Parse(input2[0]);
minuto2 = int.Parse(input2[1]);
segundo2 = int.Parse(input2[2]);
// Convertendo ambos os horários para segundos
int tempo1 = hora1 * 3600 + minuto1 * 60 + segundo1;
int tempo2 = hora2 * 3600 + minuto2 * 60 + segundo2;
// Calculando a diferença entre os dois horários
int diferenca = tempo2 - tempo1;
// Exibindo o resultado
Console.WriteLine($"A diferença em segundos entre os dois horários é: {diferenca} segundos");
}
}
Este código em C# realiza a mesma lógica dos exemplos anteriores em C++, Python e Pascal. Ele lê os horários do usuário, converte cada horário para segundos, calcula a diferença em segundos e imprime o resultado.
Exemplo em Java
/***************************************************************************
Criado pelo Professor Giovani Da Cruz
****************************************************************************/
import java.util.Scanner;
public class CalculaDiferencaHorarios {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int hora1, minuto1, segundo1;
int hora2, minuto2, segundo2;
// Lendo o primeiro horário
System.out.print("Digite a primeira hora (hh mm ss): ");
hora1 = scanner.nextInt();
minuto1 = scanner.nextInt();
segundo1 = scanner.nextInt();
// Lendo o segundo horário
System.out.print("Digite a segunda hora (hh mm ss): ");
hora2 = scanner.nextInt();
minuto2 = scanner.nextInt();
segundo2 = scanner.nextInt();
// Convertendo ambos os horários para segundos
int tempo1 = hora1 * 3600 + minuto1 * 60 + segundo1;
int tempo2 = hora2 * 3600 + minuto2 * 60 + segundo2;
// Calculando a diferença entre os dois horários
int diferenca = tempo2 - tempo1;
// Exibindo o resultado
System.out.println("A diferença em segundos entre os dois horários é: " + diferenca + " segundos");
}
}
Este código em Java realiza a mesma lógica dos exemplos anteriores em C++, Python, Pascal e C#. Ele lê os horários do usuário, converte cada horário para segundos, calcula a diferença em segundos e imprime o resultado.
Beleza pessoal? Espero que tenham gostado.
Dúvidas ou sugestões de outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!