No caso de a1 e a2 serem iguais, considerando ainda b=7, o n...

Próximas questões
Com base no mesmo assunto
Q2906214 Arquitetura de Software

Considere o seguinte algoritmo, apresentado por meio de Português Estruturado, para responder às questões de números 51 e 52.



Leia a1, a2, b

x ← 2

Para (i=1 até 6, faça)

[

Se ((a1-a2) < b)

Então

[

x ← x + b

b ← b - 1

]

Senão

[

x ← x – 2*b

]

]

Imprima x

Suponha que os valores lidos no início do algoritmo sejam: a1=13, a2=10, b=7.

No caso de a1 e a2 serem iguais, considerando ainda b=7, o número de vezes que o bloco “Senão” será executado é

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: A

Vamos entender detalhadamente o que está sendo pedido na questão e justificar a resposta correta.

Primeiramente, o algoritmo fornecido realiza uma série de operações com base nos valores de a1, a2 e b. A questão específica se refere ao caso em que a1 e a2 são iguais e b tem o valor 7. Vamos analisar o comportamento do algoritmo nessas condições.

O algoritmo começa lendo os valores de a1, a2 e b. Em seguida, inicializa a variável x com o valor 2 e entra em um loop que se repete 6 vezes (i de 1 até 6).

Dentro do loop, a condição verificada é (a1 - a2) < b. Como a1 é igual a a2, a expressão (a1 - a2) resulta em 0. Assim, a condição 0 < b será sempre verdadeira, já que b é 7, um valor positivo.

Portanto, em todas as iterações do loop, a condição (a1 - a2) < b será verdadeira e o bloco "Então" será executado, incrementando x e decrementando b. Sendo assim, o bloco "Senão" nunca será executado.

Vamos detalhar a execução para maior clareza:

  • Iteração 1: x ← 2 + 7 (x = 9), b ← 7 - 1 (b = 6)
  • Iteração 2: x ← 9 + 6 (x = 15), b ← 6 - 1 (b = 5)
  • Iteração 3: x ← 15 + 5 (x = 20), b ← 5 - 1 (b = 4)
  • Iteração 4: x ← 20 + 4 (x = 24), b ← 4 - 1 (b = 3)
  • Iteração 5: x ← 24 + 3 (x = 27), b ← 3 - 1 (b = 2)
  • Iteração 6: x ← 27 + 2 (x = 29), b ← 2 - 1 (b = 1)

Como podemos ver, em todas as seis iterações, o bloco "Então" é executado. Portanto, o bloco "Senão" nunca será alcançado.

Com isso, a alternativa correta é a Alternativa A, que indica que o bloco "Senão" será executado 0 vezes.

Vamos justificar as alternativas incorretas:

  • Alternativa B: Afirmar que o bloco "Senão" é executado 1 vez é incorreto, pois a condição (a1 - a2) < b é sempre verdadeira.
  • Alternativa C: Afirmar que o bloco "Senão" é executado 2 vezes também está incorreto pelo mesmo motivo acima.
  • Alternativa D: Afirmar que o bloco "Senão" é executado 4 vezes é incorreto, não havendo nenhuma iteração onde a condição seria falsa para ocorrer essa execução.
  • Alternativa E: Afirmar que o bloco "Senão" é executado 6 vezes é totalmente incorreto, pois o bloco "Então" é o que sempre é executado.

Resumo: A condição (a1 - a2) < b sendo verdadeira em todas as iterações, faz com que o bloco "Então" seja sempre executado e o bloco "Senão" não seja executado nenhuma vez.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo