logotipo Blog Giovani Da Cruz
Algoritmos Sequenciais

Exercício: converter segundos em horas, minutos e segundos

4 min de leitura 993 visualizações

algoritmos

Fala galera da programação, tudo beleza?

Hoje vamos ver um exercício simples de lógica. A ideia é ler um número inteiro e mostrar a sua representação em horas, minutos e segundos.

Dica: 1 hora = 3600 segundos.

Exemplo:

Lendo o número 3685 a saída deve ser: 1 hora(s), 1 minuto(s) e 25 segundos.

 

Exemplo em C / C++

/******************************************************************************

Criado pelo Professort Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
#include <iostream>

int main() {
    // Declaração de variáveis
    int segundos, horas, minutos, segundosRestantes;

    // Solicita ao usuário que insira o valor em segundos
    std::cout << "Digite a quantidade de segundos: ";
    std::cin >> segundos;

    // Calcula as horas
    horas = segundos / 3600;
    // Calcula os minutos restantes
    minutos = (segundos % 3600) / 60;
    // Calcula os segundos restantes após a conversão para horas e minutos
    segundosRestantes = segundos % 60;

    // Exibe o resultado
    std::cout << "O valor convertido é: " << horas << " hora(s), " << minutos << " minuto(s) e " << segundosRestantes << " segundos." << std::endl;

    return 0;
}

Neste programa, dividimos os segundos para obter as horas, em seguida, usamos o resto da divisão para calcular os minutos e os segundos restantes. Por fim, exibimos o resultado da conversão.

 

Exemplo em Pascal / Delphi / Lazarus

{

Criado pelo Professort Giovani Da Cruz
https://giovanidacruz.com.br

}
program ConverteSegundos;

var
  segundos, horas, minutos, segundosRestantes: integer;

begin
  // Solicita ao usuário que insira o valor em segundos
  write('Digite a quantidade de segundos: ');
  read(segundos);

  // Calcula as horas
  horas := segundos div 3600;
  // Calcula os minutos restantes
  minutos := (segundos mod 3600) div 60;
  // Calcula os segundos restantes após a conversão para horas e minutos
  segundosRestantes := segundos mod 60;

  // Exibe o resultado
  writeln('O valor convertido é: ', horas, ' hora(s), ', minutos, ' minuto(s) e ', segundosRestantes, ' segundos.');

end.

Neste programa Pascal, usamos a mesma lógica que no exemplo em C++, dividindo os segundos para obter as horas, usando o resto da divisão para calcular os minutos e os segundos restantes, e, por fim, exibindo o resultado.

 

Exemplo em Python

'''

Criado pelo Professort Giovani Da Cruz
https://giovanidacruz.com.br

'''

# Solicita ao usuário que insira o valor em segundos
segundos = int(input("Digite a quantidade de segundos: "))

# Calcula as horas
horas = segundos // 3600
# Calcula os minutos restantes
minutos = (segundos % 3600) // 60
# Calcula os segundos restantes após a conversão para horas e minutos
segundosRestantes = segundos % 60

# Exibe o resultado
print(f'O valor convertido é: {horas} horas, {minutos} minutos e {segundosRestantes} segundos.')

Neste programa em Python, a lógica é semelhante às versões em C++ e Pascal. Utilizamos operadores de divisão inteira (//) e módulo (%) para calcular horas, minutos e segundos restantes. O resultado é então exibido ao usuário.

 

Exemplo em C#

/******************************************************************************

Criado pelo Professort Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
using System;

class Program
{
    static void Main()
    {
        // Solicita ao usuário que insira o valor em segundos
        Console.Write("Digite a quantidade de segundos: ");
        int segundos = int.Parse(Console.ReadLine());

        // Calcula as horas
        int horas = segundos / 3600;
        // Calcula os minutos restantes
        int minutos = (segundos % 3600) / 60;
        // Calcula os segundos restantes após a conversão para horas e minutos
        int segundosRestantes = segundos % 60;

        // Exibe o resultado
        Console.WriteLine($"O valor convertido é: {horas} horas, {minutos} minutos e {segundosRestantes} segundos.");
    }
}

Neste programa em C#, seguimos a mesma lógica utilizada nos exemplos anteriores, utilizando operadores de divisão e módulo para calcular as horas, minutos e segundos restantes, e, por fim, exibindo o resultado ao usuário.

 

Exemplo em Java

/******************************************************************************

Criado pelo Professort Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
import java.util.Scanner;

public class ConverteSegundos {
    public static void main(String[] args) {
        // Cria um objeto Scanner para ler a entrada do usuário
        Scanner scanner = new Scanner(System.in);

        // Solicita ao usuário que insira o valor em segundos
        System.out.print("Digite a quantidade de segundos: ");
        int segundos = scanner.nextInt();

        // Calcula as horas
        int horas = segundos / 3600;
        // Calcula os minutos restantes
        int minutos = (segundos % 3600) / 60;
        // Calcula os segundos restantes após a conversão para horas e minutos
        int segundosRestantes = segundos % 60;

        // Exibe o resultado
        System.out.printf("O valor convertido é: %d horas, %d minutos e %d segundos.%n", horas, minutos, segundosRestantes);

        // Fecha o Scanner
        scanner.close();
    }
}


Neste programa em Java, utilizamos a classe Scanner para ler a entrada do usuário. A lógica para calcular horas, minutos e segundos restantes é a mesma dos exemplos anteriores. Por fim, exibimos o resultado formatado ao usuário.

 

Beleza pessoal? Espero que tenham gostado.

 

Dúvidas ou sugestões de outras linguagens? Deixe seu comentário!

 

Um abraço e até o próximo post. Valeu!

Deixe um comentário

Seu e-mail não será publicado.