Fala galera da programação, tudo beleza?
Neste exercício envolvendo horas, será necessário utilizar testes condicionais (if) para verificar se o horário informado é válido e também para avaliar se ocorreu a virada do dia (meia-noite).
Como opção, considere uma maneira de exibir o horário no formato: hh:mm:ss.
Vamos ao código!
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ #include <iostream> #include <iomanip> // Para manipulação de saída formatada using namespace std; int main() { int hora, minuto, segundo; // Leitura do horário cout << "Digite a hora (0-23): "; cin >> hora; cout << "Digite os minutos (0-59): "; cin >> minuto; cout << "Digite os segundos (0-59): "; cin >> segundo; // Verificação se o horário está na faixa válida if (hora < 0 || hora > 23 || minuto < 0 || minuto > 59 || segundo < 0 || segundo > 59) { cout << "Horário inválido. Certifique-se de que os valores estão dentro da faixa permitida." << endl; return 1; // Encerra o programa com código de erro } // Incremento do segundo segundo++; // Verificação e ajuste se necessário if (segundo == 60) { segundo = 0; minuto++; if (minuto == 60) { minuto = 0; hora++; if (hora == 24) { hora = 0; } } } /* Exibição do horário resultante Aqui fiz um tratamento para apresentar o horário no formato: hh:mm:ss */ cout << "O horário seguinte é: " << setw(2) << setfill('0') << hora << ":" << setw(2) << setfill('0') << minuto << ":" << setw(2) << setfill('0') << segundo << endl; return 0; // Encerra o programa com sucesso }
Este programa solicita ao usuário que insira uma hora, minuto e segundo, verifica se os valores estão na faixa válida e, em seguida, calcula o horário seguinte. O resultado é exibido na tela.
Também foi utilizado a biblioteca iomanip
para formatar a saída e garantir que as horas, minutos e segundos sempre tenham dois dígitos, preenchendo com zero à esquerda, se necessário.
{ Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br } program HorarioSeguinte; uses SysUtils; var hora, minuto, segundo: Integer; begin // Leitura do horário Write('Digite a hora (0-23): '); ReadLn(hora); Write('Digite os minutos (0-59): '); ReadLn(minuto); Write('Digite os segundos (0-59): '); ReadLn(segundo); // Verificação se o horário está na faixa válida if ( (hora < 0) or (hora > 23) or (minuto < 0) or (minuto > 59) or (segundo < 0) or (segundo > 59) ) then begin WriteLn('Horário inválido. Certifique-se de que os valores estão dentro da faixa permitida.'); Exit; // Encerra o programa com código de erro end; // Incremento do segundo segundo := segundo + 1; // Verificação e ajuste se necessário if segundo = 60 then begin segundo := 0; minuto := minuto + 1; if minuto = 60 then begin minuto := 0; hora := hora + 1; if hora = 24 then begin hora := 0; end; end; end; // Exibição do horário resultante WriteLn('O horário seguinte é: ', Format('%2.2d:%2.2d:%2.2d', [hora, minuto, segundo])); end.
Este programa em Pascal faz basicamente a mesma coisa que o programa em C++. Note que a função Format
é usada para formatar a saída e garantir que as horas, minutos e segundos sempre tenham dois dígitos, preenchendo com zero à esquerda, se necessário.
Também utilizei a biblioteca SysUtils, ação necessária para poder utilizar a função Format.
''' Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br ''' # Função para verificar e ajustar o horário def ajustar_horario(hora, minuto, segundo): segundo += 1 if segundo == 60: segundo = 0 minuto += 1 if minuto == 60: minuto = 0 hora += 1 if hora == 24: hora = 0 return hora, minuto, segundo # Leitura do horário hora = int(input("Digite a hora (0-23): ")) minuto = int(input("Digite os minutos (0-59): ")) segundo = int(input("Digite os segundos (0-59): ")) # Verificação se o horário está na faixa válida if 0 <= hora <= 23 and 0 <= minuto <= 59 and 0 <= segundo <= 59: # Ajuste do horário hora, minuto, segundo = ajustar_horario(hora, minuto, segundo) # Exibição do horário resultante print(f"O horário seguinte é: {hora:02d}:{minuto:02d}:{segundo:02d}") else: print("Horário inválido. Certifique-se de que os valores estão dentro da faixa permitida.")
Neste código em Python, a função ajustar_horario
é responsável por incrementar os segundos e ajustar os minutos e horas conforme necessário. A formatação do horário resultante é feita utilizando as f-strings para garantir que os valores tenham dois dígitos, preenchendo com zero à esquerda, se necessário.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ using System; class Program { // Função para verificar e ajustar o horário static Tuple<int, int, int> AjustarHorario(int hora, int minuto, int segundo) { segundo++; if (segundo == 60) { segundo = 0; minuto++; if (minuto == 60) { minuto = 0; hora++; if (hora == 24) { hora = 0; } } } return Tuple.Create(hora, minuto, segundo); } static void Main() { // Leitura do horário Console.Write("Digite a hora (0-23): "); int hora = int.Parse(Console.ReadLine()); Console.Write("Digite os minutos (0-59): "); int minuto = int.Parse(Console.ReadLine()); Console.Write("Digite os segundos (0-59): "); int segundo = int.Parse(Console.ReadLine()); // Verificação se o horário está na faixa válida if (hora >= 0 && hora <= 23 && minuto >= 0 && minuto <= 59 && segundo >= 0 && segundo <= 59) { // Ajuste do horário var horarioAjustado = AjustarHorario(hora, minuto, segundo); // Exibição do horário resultante Console.WriteLine($"O horário seguinte é: {horarioAjustado.Item1:D2}:{horarioAjustado.Item2:D2}:{horarioAjustado.Item3:D2}"); } else { Console.WriteLine("Horário inválido. Certifique-se de que os valores estão dentro da faixa permitida."); } } }
Neste código em C#, a função AjustarHorario
é responsável por incrementar os segundos e ajustar os minutos e horas conforme necessário. A formatação do horário resultante é feita utilizando interpolação de strings ($""
) para garantir que os valores tenham dois dígitos, preenchendo com zero à esquerda, se necessário.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ import java.util.Scanner; public class HorarioSeguinte { // Função para verificar e ajustar o horário static int[] ajustarHorario(int hora, int minuto, int segundo) { segundo++; if (segundo == 60) { segundo = 0; minuto++; if (minuto == 60) { minuto = 0; hora++; if (hora == 24) { hora = 0; } } } return new int[]{hora, minuto, segundo}; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Leitura do horário System.out.print("Digite a hora (0-23): "); int hora = scanner.nextInt(); System.out.print("Digite os minutos (0-59): "); int minuto = scanner.nextInt(); System.out.print("Digite os segundos (0-59): "); int segundo = scanner.nextInt(); // Verificação se o horário está na faixa válida if (hora >= 0 && hora <= 23 && minuto >= 0 && minuto <= 59 && segundo >= 0 && segundo <= 59) { // Ajuste do horário int[] horarioAjustado = ajustarHorario(hora, minuto, segundo); // Exibição do horário resultante System.out.printf("O horário seguinte é: %02d:%02d:%02d%n", horarioAjustado[0], horarioAjustado[1], horarioAjustado[2]); } else { System.out.println("Horário inválido. Certifique-se de que os valores estão dentro da faixa permitida."); } } }
Neste código em Java, a função ajustarHorario
é responsável por incrementar os segundos e ajustar os minutos e horas conforme necessário. A formatação do horário resultante é feita utilizando printf
para garantir que os valores tenham dois dígitos, preenchendo com zero à esquerda, se necessário.
Beleza pessoal? Espero que tenham gostado.
Dúvidas ou sugestão de outras linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!
Fala galera da programação, tudo beleza? 📅💻 Explore a manipulação de datas e descubra como calcular o dia anterior em várias linguagens de programação! Aprenda algoritmos, lógica condicional e muito mais neste desafio divertido. Considerações Para facilitar, considerar que os anos bissextos são aqueles divisíveis por 4. Assim o mês 2 (fevereiro) possui 28 […]
Fala galera da programação, tudo beleza? Vamos a um novo exercício de algoritmos com desvio condicional. Desafie suas habilidades de programação com este exercício simples de cálculo de estacionamento em diversas linguagens! 🚗💻 Aprenda e pratique condicionais, entrada/saída e sintaxe em várias linguagens. Dicas para o exercício Lembrar que pode ser informado 0 no tempo […]
Fala galera da programação, tudo beleza? 💻 Novo exercício na área para aprimorar a nossa lógica de programação. Dica do exercício: Para simplificar o problema, converta cada par de valores em um único valor em minutos. 🕒 O que podemos aprender neste exercício? Neste exercício, podemos aprender várias coisas: Manipulação de Entrada/Saída: Aprendemos como […]
Fala galera da programação, tudo beleza? Novo algoritmo na área com o tema desvio condicional. Hoje vamos explorar uma variedade de linguagens de programação! 🚀 Comparando diferentes abordagens para resolver um problema simples: determinar se um número é zero, positivo ou negativo. Da sintaxe às estruturas condicionais, mergulhamos na essência de cada linguagem. O […]
Fala galera da programação, tudo beleza? Hoje vamos descubra como este simples exercício de programação em várias linguagens pode fortalecer suas habilidades de codificação! 🚀 Aprenda a calcular médias de notas e determinar a aprovação ou reprovação de alunos em C++, C, Pascal, Python, C#, Java, Rust e Go. O que podemos aprender neste […]
Fala galera da programação, tudo beleza? O exercício pede para verificar se o número lido possui determinada característica. Ela é conhecida como “Número Kaprekar”. Um número de Kaprekar é um inteiro positivo cuja representação em quadrados de seus dígitos pode ser dividida em duas partes que somam o número original quando somadas. O exemplo […]
Fala galera da programação, tudo beleza? Hoje um novo exercício de calculadora para aprimorar nossa lógica de programação. Dicas do exercício Em duas situações, o programa não deverá efetuar o cálculo: Se o operador informado pelo usuário for inválido mostrar a mensagem “Operador inválido” e encerrar a execução do programa. Se o segundo operando […]
Fala galera da programação, tudo beleza? Lá vamos nós a mais um interessante exercício. Dados do Exercício Formulas Para Homens: ( 72.7 * altura ) – 58 Para Mulheres: ( 62.1 * altura) – 44.7 Mais dicas A altura da pessoa é um valor real. O sexo da pessoa deverá ser identificado através […]
Fala galera da programação, tudo beleza? Vamos a um novo exercício para aprimorarmos nossas habilidades. Aqui existem dados importantes para podermos realizar a tarefa. Dados do exercício Tabela de códigos: código = 1: multiplicar os três valores código = 2: somar os três valores código = 3: subtrair os três valores código = 4: […]
Fala galera da programação, tudo beleza? Quer aprimorar suas habilidades com estruturas condicionais? Explore este desafio de aprendizado de if-else. O que podemos aprender neste exercício? Neste exercício, aprendemos a: Solicitar entrada do usuário: Aprendemos a solicitar entrada do usuário para obter informações necessárias para o programa, como a idade do nadador. Isso é útil […]