Faça um algoritmo e um programa que leia um horário (hora, minuto e segundo) e escreva o horário correspondente ao segundo seguinte. Ex: se for lido, 17,21,36 escrever 17,21,37. Considere que os horários (lido e escrito) estão na faixa de 00:00:00 a 23:59:59

algoritmos teste condicional

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!

 

Exemplo em C / C++

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

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.

 

Exemplo em Pascal / Delphi / Lazarus

{

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.

 

Exemplo em Python

'''

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.

 

Exemplo em C#

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

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.

 

Exemplo em Java

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

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!

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 27 de janeiro de 2024

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Algoritmos com Se, Senão e Caso

Continue aprendendo

Aumente o seu conhecimento
Crie um algoritmo e um programa que leia uma data em três variáveis inteiras (dia, mes e ano) e escreva a data correspondente ao dia anterior também de forma separada: dia, mês e ano.

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 […]

8 de maio de 2024
Um estacionamento cobra R$ 8,00 para a primeira hora e para cada hora adicional é cobrado mais R$ 5,00. Fazer um algoritmo e um programa em que leia o tempo de estacionamento (em horas) e escreva o valor que deve ser pago.

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 […]

17 de abril de 2024
Crie um algoritmo e um programa em que leia 4 valores, Hi, Mi, Hf, Mf, representando respectivamente a hora e minuto inicial e final de um evento, e calcule a duração do mesmo em horas e minutos. Considere que o evento pode iniciar em um dia e terminar no dia seguinte.

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 […]

15 de abril de 2024
Crie um algoritmo e um programa em que leia um número e escreva: “Zero”, se o valor é zero; “Positivo”, e o valor é maior que zero; “Negativo” se o valor é negativo

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 […]

9 de abril de 2024
Crie um algoritmo e um programa que leia as 3 notas de um aluno e escreva “APROVADO” caso a média aritmética for maior ou igual a 6, caso contrário escreva “REPROVADO”

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 […]

4 de abril de 2024
O número 3025 tem a seguinte característica: 30+25=55 e 552=3025. Sendo um número de Kaprekar. Crie um algoritmo e um programa que solicite o usuário informar um número inteiro de quatro dígitos. O programa deve verificar e mostrar na tela uma mensagem indicando se este número possui esta característica, ou seja, ser um Número de Kaprekar.

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 […]

30 de março de 2024
Crie um algoritmo e um programa em que implemente uma calculadora de 4 operações. O programa deve solicitar que o usuário informe três dados: o primeiro operando, o operador (+,-,*,/) e o segundo operando. O programa deve mostrar na tela a operação e seu resultado.

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 […]

28 de março de 2024
Crie um algoritmo e um programa quesolicite o usuário informar a altura em metros e o sexo de uma pessoa. O programa deverá calcular o peso ideal da pessoa, utilizando as seguintes fórmulas:

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 […]

16 de março de 2024
Crie um algoritmo e um programa que solicite que o usuário informe um código e três valores nomeados como a, b e c. O código vai determinar qual operação o algoritmo irá realizar

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: […]

7 de março de 2024
Crie um algoritmo e um programa que solicite ao usuário informar um valor inteiro que corresponda a idade de um nadador. Após, o programa deverá classificar o nadador nas categorias abaixo e mostrar esta informação na tela do computador.

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 […]

6 de março de 2024
Sair da versão mobile