Questão de Programação — Visual Basic — FUNDATEC 2023
Programação›Visual 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:Ao executar o algoritmo acima, o que será escrito na tela caso seja lido o número 4?
A12
B16
C24
D30
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á.
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.
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.
De onde vem cada valor: = passo 1: 1 · = passo 2: 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.
De onde vem cada valor: = passo 3: 1 · = passo 2: 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.
De onde vem cada valor: = passo 4: 2 · = passo 2: 3
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.
De onde vem cada valor: = passo 5: 6 · = passo 2: 4
NÃO CAIA NESSA!
Parar antes da última iteração e responder 6, ou multiplicar 4 por 4 = 16, ignorando os passos anteriores.