logotipo Blog Giovani Da Cruz
Algoritmos Sequenciais

Exercício: segundos transcorridos entre dois horários

5 min de leitura 218 visualizações

algoritmos

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!

Deixe um comentário

Seu e-mail não será publicado.