2-) Desenvolva um algoritmo que realize a leitura de 2 valores. Caso o segundo valor informado for 0 , o algoritmo deverá desconsiderar este valor e solicitar que o usuário digite outro número quantas vezes for necessário (não deverá ser aceito o valor 0 de maneira alguma). Ao final o algoritmo deverá informar o resultado da divisão do primeiro número pelo segundo número digitado (Utilizar a estrutura REPEAT).
Passo 1
O enunciado pede que o algoritmo faça o seguinte: leia dois valores, mas se o segundo valor informado for
, deve desconsiderá‑lo e solicitar ao usuário que digite outro número quantas vezes for necessário (ou seja, não aceitar
, de maneira alguma). No final o algoritmo deve informar o resultado da divisão do primeiro número pelo segundo número efetivamente digitado. Também é obrigatório usar a estrutura REPEAT (REPEAT … UNTIL). As informações relevantes fornecidas são:
- Ler dois valores (o primeiro e o segundo).
- O segundo valor não pode ser
,; se for, repetir a leitura até obter um valor diferente de . - Ao final, calcular e mostrar
.
Passo 2
Entendendo a estrutura REPEAT: REPEAT executa um bloco de comandos pelo menos uma vez e repete esse bloco enquanto a condição do UNTIL for falsa; quando a condição do UNTIL fica verdadeira, o laço termina. Em pseudocódigo:
A avaliação da condição só ocorre depois de executar o bloco uma vez. Isso é ótimo aqui porque queremos pedir o segundo número e só depois verificar se ele é diferente de
,; se for
, repetimos.
Passo 3
Definição das variáveis e tipos (explicação didática):
- Vamos chamar o primeiro valor de
. Esse é o numerador da divisão. - Vamos chamar o segundo valor de
. Esse é o denominador e não pode ser ,. - O resultado da divisão chamaremos de
, onde .
Tip: use tipo numérico que aceite decimais (por exemplo, real, float) para não perder frações quando dividir.
O motivo de proibir
é que divisão por zero não está definida — tentar calcular
não faz sentido e em programas causa erro/execução inválida.
Passo 4
Construindo o pseudocódigo passo a passo (explicando cada linha):
- Ler o primeiro número:
- Escreva uma mensagem pedindo o primeiro número e armazene em
.
- Escreva uma mensagem pedindo o primeiro número e armazene em
- Ler o segundo número dentro de um REPEAT:
- Inicie o bloco REPEAT.
- Peça ao usuário para digitar o segundo número e leia em
. - Se
então mostre uma mensagem de erro e o laço continuará. - O bloco se repete UNTIL
.
- Após sair do laço, calcule
. - Mostre o resultado
.
Explicando a verificação: a condição do UNTIL será
. Enquanto essa condição for falsa (isto é, enquanto
) o laço continua pedindo. Assim garantimos que, ao sair do REPEAT,
já é diferente de
,.
Passo 5
Exemplo concreto (traço de execução) para fixar:
- Suponha que o usuário digita
. - Começa o REPEAT e o usuário digita primeiro
. Como a condição é falsa, então o laço repete e uma mensagem de erro é mostrada. - O usuário tenta de novo e digita
. Agora é verdadeira, então saímos do laço. - Calculamos
. - Mostramos
.
Esse traço mostra que o REPEAT obrigou a entrada do segundo número ao menos uma vez e repetiu enquanto o usuário insistiu em digitar
,.
Passo 6
Implementação em estilo Pascal (porque Pascal tem REPEAT/UNTIL e é comum em provas). Vou explicar linha a linha junto com pequenas dicas:
- Declare
como real. - Leia
. - REPEAT: leia
. Se escreva uma mensagem de erro. - UNTIL
. - Calcule
e imprima.
Dica prática de formatação de saída: ao imprimir
em provas, use precisão adequada (por exemplo duas casas decimais) se pedirem; caso contrário mostre o valor exato ou com precisão razoável.
Passo 7
Possíveis variações e observações úteis para a prova:
- Se o enunciado pedir que os números sejam inteiros, declare
e como inteiros, mas cuidado: a divisão inteira truncará o resultado. Para evitar truncamento declare como real e converta antes de dividir. - Se quiser aceitar apenas números positivos como segundo valor, altere a condição do UNTIL para
. - REPEAT é preferível aqui porque garante a leitura inicial do segundo número sem verificar antes; usar WHILE exigiria escrever a lógica de leitura antes do laço ou duplicar código.
Passo 8
Resumo prático do algoritmo (antes da resposta final): leia o primeiro número, use REPEAT para ler o segundo até que ele seja diferente de
, calcule a divisão e imprima o resultado. Pronto — simples e seguro contra divisão por zero.
Resposta
Pseudocódigo: