Pular para o conteúdo principal

Questão de Programação — Visual Basic — FUNDATEC 2023

ProgramaçãoVisual Basic
Código
qq902124
Banca
FUNDATEC
Órgão
Prefeitura de Maçambará - RS
Ano
2023
Nível
Superior
Cargo
Prefeitura de Maçambara - RS - Analista de Tecnologia da Informação e Comunicação
Analise o algoritmo abaixo, que foi escrito no software VisuAlg 3.0:Imagem associada para resolução da questãoAo executar o algoritmo acima, o que será escrito na tela caso seja lido o número 4?
  1. A12
  2. B16
  3. C24
  4. D30
  5. E48
Revelar gabarito e comentário

GabaritoC — 24

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”.

Resolução

Gabarito: letra C — a conta chega a 24 — alternativa C.

A ideia por trás

Um laço de repetição (no VisuAlg, o comando PARA) executa um bloco de comandos várias vezes, mudando o valor de uma variável de controle a cada passagem. Aqui, a variável i começa em 1 e vai até 4, e dentro do bloco a variável s é atualizada multiplicando-se pelo valor atual de i. Esse tipo de estrutura é usado para acumular resultados, como somas ou produtos, ao longo de várias iterações.

A cada iteração, a operação s = s * i substitui o valor antigo de s pelo produto do valor antigo pelo i da vez. Como s começa em 1 (elemento neutro da multiplicação), o efeito final é multiplicar todos os inteiros de 1 até o valor final de i — exatamente a definição de fatorial. Se a operação fosse s = s + i, o resultado seria uma soma; a diferença entre multiplicar e somar é o que decide o resultado.

Esta questão pede para simular o laço com entrada 4, ou seja, acompanhar o valor de s a cada iteração de i = 1 até i = 4. O passo a passo abaixo mostra essa simulação.

O que a questão dá

  • entrada lida: 4

  • algoritmo: s = 1; PARA i DE 1 ATÉ 4 FACA s = s * i

O que queremos: o valor escrito na tela após a execução do laço

Passo 1 — Inicializar o acumulador

Antes de começar o laço, o algoritmo define s = 1. Esse valor inicial é importante porque a multiplicação por 1 não altera o resultado — é o ponto de partida neutro para o produto que virá.

s=1s = \boxed{1}
NÃO CAIA NESSA!

Esquecer que s começa em 1 e achar que começa em 0 — se começasse em 0, o produto final seria 0.

Passo 2 — Percorrer i de 1 até 4

O laço PARA define que i assume os valores 1, 2, 3 e 4, um por vez. A cada valor, o bloco s = s * i é executado. Precisamos acompanhar essa sequência para saber o valor final de s.

Por que esta fórmula: A sintaxe do VisuAlg é PARA i DE 1 ATÉ 4 FACA, que incrementa i de 1 em 1 automaticamente. Não há fórmula aqui, apenas a regra do laço.

i=1 ,2,3,4i = \boxed{1\ , 2, 3, 4}
NÃO CAIA NESSA!

Pular algum valor de i, como ir de 1 direto para 3, ou incluir o 5.

Passo 3 — Multiplicar s por i na 1ª iteração

Na primeira passagem, i = 1. A operação s = s * i usa o valor atual de s (que é 1) e o multiplica por 1. Isso mantém s em 1, mas é um passo necessário para a sequência.

Por que esta fórmula: A operação é a definida no algoritmo: s = s * i. Ela atualiza o acumulador.

s=s×is = s \times i

De onde vem cada valor: ss = passo 1: 1 · ii = passo 2: 1

s=1×1s = 1 \times 1
s=1s = \boxed{1}
NÃO CAIA NESSA!

Achar que s vira 1 * 1 = 1 e depois esquecer de atualizar nas próximas iterações.

Passo 4 — Multiplicar s por i na 2ª iteração

Agora i = 2. O valor de s ainda é 1 (do passo anterior). Multiplicamos 1 por 2, obtendo 2. Esse é o primeiro produto que muda o acumulador.

Por que esta fórmula: Mesma operação do algoritmo, agora com i = 2.

s=s×is = s \times i

De onde vem cada valor: ss = passo 3: 1 · ii = passo 2: 2

s=1×2s = 1 \times 2
s=2s = \boxed{2}
NÃO CAIA NESSA!

Usar o valor de i anterior (1) em vez do atual (2).

Passo 5 — Multiplicar s por i na 3ª iteração

Com i = 3, o acumulador s vale 2. Multiplicamos 2 por 3, resultando em 6. O produto vai crescendo.

Por que esta fórmula: Mesma operação, agora com i = 3.

s=s×is = s \times i

De onde vem cada valor: ss = passo 4: 2 · ii = passo 2: 3

s=2×3s = 2 \times 3
s=6s = \boxed{6}
NÃO CAIA NESSA!

Somar em vez de multiplicar: 2 + 3 = 5, o que daria resultado errado.

Passo 6 — Multiplicar s por i na 4ª iteração

Última iteração: i = 4. O acumulador s vale 6. Multiplicamos 6 por 4, obtendo 24. Esse é o valor final de s, que será escrito na tela.

Por que esta fórmula: Mesma operação, agora com i = 4.

s=s×is = s \times i

De onde vem cada valor: ss = passo 5: 6 · ii = passo 2: 4

s=6×4s = 6 \times 4
s=24s = \boxed{24}
NÃO CAIA NESSA!

Parar antes da última iteração e responder 6, ou multiplicar 4 por 4 = 16, ignorando os passos anteriores.

Resposta: 24 — alternativa C

Link permanente: /questoes/qq902124