Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FAURGS 2018

Algoritmos e Estrutura de DadosAlgoritmos
Código
qq336716
Banca
FAURGS
Órgão
TJ-RS
Ano
2018
Nível
Médio
Cargo
Técnico em Eletrônica
A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), realizada através de operações de somas, foi implementado da seguinte forma:1: M := 0;2: ENQUANTO (A≠0) FAÇA3: M := M + A;4: A := A - 1;5: FIM-ENQUANTOO algoritmo, conforme implementado, não realiza a multiplicação. Assinale a alternativa abaixo que melhor identifica o erro de lógica do algoritmo.
  1. Aapenas na linha 1.
  2. Bapenas na linha 3.
  3. Cnas linhas 1 e 4.
  4. Dnas linhas 2 e 3.
  5. Enas linhas 3 e 4.
Revelar gabarito e comentário

GabaritoB — apenas na linha 3.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Algoritmo de multiplicação por somas

Gabarito: letra B. O algoritmo tenta calcular A*B por somas sucessivas, mas na linha 3 soma o próprio A (que está sendo decrementado) em vez de somar B. Com isso, calcula a soma dos números de A até 1, não a multiplicação. O erro está exclusivamente na linha 3.

Alternativa A — ❌ Incorreta

A linha 1 (inicialização de M=0) está correta. O erro não está aí.

Alternativa B — ✅ Correta ⟵ GABARITO

Exatamente: na linha 3, o comando correto deveria ser M := M + B para acumular B repetidamente A vezes. Como está somando A, o resultado é a soma dos números de A até 1, não a multiplicação desejada.

Alternativa C — ❌ Incorreta

As linhas 1 e 4 estão corretas: a inicialização e o decremento de A estão adequados. O erro é só na linha 3.

Alternativa D — ❌ Incorreta

A linha 2 (condição do loop) está correta: enquanto A≠0, repete. A linha 3 está errada, mas a linha 2 não. Portanto, não são ambas.

Alternativa E — ❌ Incorreta

A linha 3 está errada, mas a linha 4 (decremento) está correta. Logo, não são ambas.

PEGA ESSA DICA!

Em multiplicação por somas sucessivas, a variável que controla o número de iterações (geralmente o multiplicador) é decrementada, enquanto a outra variável (multiplicando) é acumulada. Verifique sempre qual variável está sendo somada no corpo do laço.

Gabarito: letra B

Link permanente: /questoes/qq336716