Lista 03 - Lógica de Programação Java - Laços de Repetições
(For, While e Do-While)

Exerc01

Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual número ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo.

Requisitos:

  1. Entrada de Dados:

    • O programa deve solicitar ao usuário que insira um número inteiro entre 1 e 10.
    • O número informado será usado para gerar a sua tabuada.
  2. Verificação da Entrada:

    • O programa deve garantir que o número inserido esteja dentro do intervalo de 1 a 10.
    • Caso o número esteja fora desse intervalo, o programa deve exibir uma mensagem de erro e solicitar que o número seja inserido novamente, até que o usuário informe um número válido.
    • Exemplo de comportamento de erro: Se o usuário inserir um número como 0 ou 11, o programa deve solicitar uma nova entrada, pois o número deve estar entre 1 e 10.
  3. Geração da Tabuada:

    • O programa deve gerar a tabuada completa do número informado. A tabuada deve ser composta de 10 linhas, onde cada linha mostra o resultado da multiplicação do número informado por um valor de 1 a 10.
  4. Formato de Saída:

    • O programa deve exibir a tabuada do número informado no formato descrito abaixo. Cada linha deve apresentar a multiplicação de 1 a 10, seguida do resultado.
  5. Exemplo de Entrada e Saída:

    • Entrada:
      Digite o número para ver a tabuada (1 a 10): 3
    • Saída:
      3 x 1 = 3
      3 x 2 = 6
      3 x 3 = 9
      3 x 4 = 12
      3 x 5 = 15
      3 x 6 = 18
      3 x 7 = 21
      3 x 8 = 24
      3 x 9 = 27
      3 x 10 = 30
  6. Exemplo de Entrada Inválida:

    • Entrada:
      Digite o número para ver a tabuada (1 a 10): 11
    • Saída:
      Erro: Por favor, insira um número entre 1 e 10.
      Digite o número para ver a tabuada (1 a 10):

Observações:

  • O programa deve continuar pedindo um número válido caso o usuário insira um número fora do intervalo permitido.
  • A tabuada deve ser gerada e exibida imediatamente após a entrada do número válido.

Exerc02

Faça um programa que solicite dois números inteiros, chamados de base e expoente, e calcule o valor da base elevada ao expoente. O programa deve realizar o cálculo manualmente, sem o uso de funções prontas de potência da linguagem de programação.

Requisitos:

  1. Entrada de Dados:

    • O programa deve solicitar dois números inteiros ao usuário:
      • Base: Número que será elevado.
      • Expoente: Número que indica a potência.
  2. Cálculo da Potência:

    • O cálculo deve ser feito multiplicando a base por si mesma o número de vezes indicado pelo expoente.
    • Exemplo de cálculo: Para a base 3 e o expoente 4, o cálculo deve ser:
      3³ = 3 × 3 × 3  = 27 .
    • Caso o expoente seja zero, o programa deve considerar que o resultado é 1, independentemente do valor da base.
    • Para expoentes negativos, o programa pode retornar uma mensagem indicando que o cálculo não é suportado (opcional).
  3. Validação e Tratamento:

    • O programa deve validar as entradas para garantir que sejam números inteiros.
    • Mensagens claras devem ser exibidas em caso de erro.
  4. Saída:

    • O resultado deve ser apresentado ao usuário no formato:
      “O resultado de [base] elevado a [expoente] é igual a [resultado].”
  5. Exemplo de Funcionamento:

    • Para uma base de 3 e um expoente de 4:
      A mensagem exibida será: “O resultado de 3 elevado a 4 é igual a 81.”
    • Para uma base de 5 e um expoente de 0:
      A mensagem exibida será: “O resultado de 5 elevado a 0 é igual a 1.”
    • Para uma base de -2 e um expoente de 3:
      A mensagem exibida será: “O resultado de -2 elevado a 3 é igual a -8.”
  6. Observações:

    • O programa deve utilizar laços de repetição para calcular o resultado.
    • O comportamento esperado para expoentes negativos pode ser definido pelo programador (exibir mensagem ou calcular o inverso da base).

Exerc03

Desenvolva um programa para coletar 10 números inteiros e determinar quantos deles são pares e quantos são ímpares.

Formato esperado:

  1. O programa deverá solicitar ao usuário que insira 10 números inteiros, um por vez.
  2. Após o término das entradas, o programa calculará e exibirá:
    • A quantidade de números pares.
    • A quantidade de números ímpares.

Exemplo de interação com o programa:

  • Entrada do usuário: 2, 7, 4, 9, 10, 5, 8, 1, 6, 3
  • Saída exibida pelo programa:
    • Quantidade de números pares: 5
    • Quantidade de números ímpares: 5

Exerc04

Desenvolva um programa que calcule o fatorial de um número inteiro positivo fornecido pelo usuário. O fatorial de um número n (representado por n!) é definido como o produto de todos os inteiros positivos de 1 até n.


Requisitos:

Entrada de Dados:

O programa deve solicitar um único número inteiro positivo ao usuário:

  • Número: O valor para o qual o fatorial será calculado.

Cálculo do Fatorial:

  • O fatorial deve ser calculado manualmente, utilizando laços de repetição.
  • Exemplo de cálculo:
    • Para n = 5:
      5! = 5 × 4 × 3 × 2 × 1 = 120.
    • Para n= 0:
      O programa deve considerar que 0! = 1.

Validação e Tratamento:

  • O programa deve verificar se o número fornecido é um inteiro não negativo.
  • Caso a entrada seja inválida, exibir uma mensagem de erro clara e permitir que o usuário tente novamente.

Saída:

O programa deve apresentar o resultado no seguinte formato:

  • “O fatorial de [número] é igual a [resultado].”

Exemplo de Funcionamento:

Entrada:

  • Número: 5

Saída:

  • “O fatorial de 5 é igual a 120.”

Entrada:

  • Número: 0

Saída:

  • “O fatorial de 0 é igual a 1.”

Entrada Inválida:

  • Número: -3

Mensagem de Erro:

  • “Entrada inválida. Por favor, insira um número inteiro não negativo.”

Exerc05

Desenvolva um programa que processe um conjunto de N números fornecidos pelo usuário e determine:

  1. O menor valor no conjunto.
  2. O maior valor no conjunto.
  3. A soma de todos os valores.

Requisitos:

Entrada de Dados:

  • O programa deve solicitar ao usuário:
    • N: A quantidade de números no conjunto (deve ser um número inteiro positivo).
    • Os N números: Devem ser um inteiro.

Processamento:

  • O programa deve realizar as seguintes operações:
    1. Determinar o menor valor entre os números fornecidos.
    2. Determinar o maior valor entre os números fornecidos.
    3. Calcular a soma de todos os números.

Validação e Tratamento:

  • O programa deve validar que N é um número inteiro positivo.
  • O programa deve garantir que todos os valores fornecidos são números válidos.
  • Caso alguma entrada seja inválida, exibir uma mensagem de erro clara e permitir que o usuário tente novamente.

Saída:

O programa deve exibir os resultados no seguinte formato:

  • “O menor valor é [menor_valor].”
  • “O maior valor é [maior_valor].”
  • “A soma dos valores é [soma].”

Exemplo de Funcionamento:

Entrada:

  • Quantidade de números (N): 5
  • Conjunto de números: 7, 3, 10, -2, 5

Saída:

  • “O menor valor é -2.”
  • “O maior valor é 10.”
  • “A soma dos valores é 23.”