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

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!