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 \,0, deve desconsiderá‑lo e solicitar ao usuário que digite outro número quantas vezes for necessário (ou seja, não aceitar \,0, 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 \,0,; se for, repetir a leitura até obter um valor diferente de \,0.
  • Ao final, calcular e mostrar \dfrac{\text{primeiro}}{\text{segundo}}.

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:
\text{REPEAT}
\quad \text{comandos}
\text{UNTIL } (\text{condição})çã
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 \,0,; se for \,0, repetimos.

Passo 3

Definição das variáveis e tipos (explicação didática):
  • Vamos chamar o primeiro valor de a. Esse é o numerador da divisão.
  • Vamos chamar o segundo valor de b. Esse é o denominador e não pode ser \,0,.
  • O resultado da divisão chamaremos de r, onde r = \dfrac{a}{b}.
    Tip: use tipo numérico que aceite decimais (por exemplo, real, float) para não perder frações quando dividir.
O motivo de proibir b=\;0 é que divisão por zero não está definida — tentar calcular \dfrac{a}{0} 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):
  1. Ler o primeiro número:
    • Escreva uma mensagem pedindo o primeiro número e armazene em a.
  2. 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 b.
    • Se b = 0 então mostre uma mensagem de erro e o laço continuará.
    • O bloco se repete UNTIL b \neq 0.
  3. Após sair do laço, calcule r := \dfrac{a}{b}.
  4. Mostre o resultado r.
Explicando a verificação: a condição do UNTIL será b \neq 0. Enquanto essa condição for falsa (isto é, enquanto b = 0) o laço continua pedindo. Assim garantimos que, ao sair do REPEAT, b já é diferente de \,0,.

Passo 5

Exemplo concreto (traço de execução) para fixar:
  • Suponha que o usuário digita a = 10.
  • Começa o REPEAT e o usuário digita primeiro b = 0. Como b = 0 a condição b \neq 0 é falsa, então o laço repete e uma mensagem de erro é mostrada.
  • O usuário tenta de novo e digita b = -2. Agora b \neq 0 é verdadeira, então saímos do laço.
  • Calculamos r = \dfrac{a}{b} = \dfrac{10}{-2} = -5.
  • Mostramos r = -5.
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 \,0,.

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 a,b,r como real.
  • Leia a.
  • REPEAT: leia b. Se b=0 escreva uma mensagem de erro.
  • UNTIL b\neq 0.
  • Calcule r := a / b e imprima.
Dica prática de formatação de saída: ao imprimir r 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 a e b como inteiros, mas cuidado: a divisão inteira truncará o resultado. Para evitar truncamento declare r como real e converta antes de dividir.
  • Se quiser aceitar apenas números positivos como segundo valor, altere a condição do UNTIL para b > 0.
  • 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 \,0, calcule a divisão e imprima o resultado. Pronto — simples e seguro contra divisão por zero.

Resposta

Pseudocódigo:
\text{Leia } a
\text{REPEAT}
\quad \text{Escreva: "Digite o segundo número (não pode ser " }0\text{):"}úã
\quad \text{Leia } b
\quad \text{If } b = 0 \text{ Then Escreva: "Valor inválido. Digite novamente."}á
\text{UNTIL } (b \neq 0)
r := \dfrac{a}{b}
\text{Escreva: "Resultado da divisão: ", } rã

Exercícios relacionados