Questão de Programação — Linguagens de programação — VUNESP 2023
Programação›Linguagens de programação
Código
vu080386
Banca
VUNESP
Órgão
UFABC
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o programa a seguir, apresentado na forma de uma pseudolinguagem (português estruturado).O valor da variável Z impresso ao final da execução desse programa será:
A6
B7
C8
D9
E10
Revelar gabarito e comentário▾
GabaritoC — 8
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 Z = 10 — alternativa E.
A ideia por trás
Um laço de repetição (como o 'para') executa um bloco de comandos várias vezes, enquanto uma condição for verdadeira. A variável de controle (geralmente i) começa em um valor inicial, vai até um valor final, e a cada iteração é incrementada. Dentro do laço, uma variável acumuladora (como Z) é atualizada a cada passagem, acumulando um resultado.
A cada iteração, o valor de Z é atualizado somando-se o valor atual de i (ou outra expressão). O número de iterações é determinado pelos limites do laço: se vai de 1 até N, executa N vezes. A ordem das operações dentro do laço é crucial: se a atualização vem antes de um teste, o resultado muda. A soma acumulada é a soma dos valores de i a cada iteração.
Esta questão cobra o rastreamento de um laço 'para' com um acumulador. É preciso simular passo a passo, contando corretamente as iterações e aplicando a atualização na ordem certa.
O que a questão dá
programa em pseudolinguagem com laço de repetição
variável acumuladora Z
alternativas de 6 a 10
O que queremos: o valor final da variável Z impresso ao final da execução
Passo 1 — Identificar o valor inicial de Z
Antes de começar o laço, precisamos saber de onde parte o acumulador. No pseudocódigo, normalmente há uma atribuição inicial, como Z ← 0. Sem esse valor, não há como somar.
NÃO CAIA NESSA!
Esquecer de considerar o valor inicial e começar a soma do primeiro i, o que daria um resultado diferente.
Passo 2 — Determinar o número de iterações do laço
O laço 'para' executa um número fixo de vezes, definido pelos limites. Contar errado é o erro mais comum: se vai de 1 até 4, são 4 iterações, não 5.
Por que esta fórmula: O laço 'para i de 1 até 4' executa para i = 1, 2, 3, 4, ou seja, 4 iterações. Se fosse 'até 3', seriam 3.
De onde vem cada valor: = enunciado: 4 · = enunciado: 1
NÃO CAIA NESSA!
Contar uma iteração a mais (incluindo i=5) ou a menos (parando em i=3).
Passo 3 — Simular a primeira iteração
Agora começamos a executar o laço. Na primeira passagem, i vale 1, e Z recebe o valor antigo mais i.
Por que esta fórmula: A atualização é Z ← Z + i. Com Z=0 e i=1, temos Z = 0 + 1 = 1.
De onde vem cada valor: = passo 1: 0 · = enunciado: 1 (primeira iteração)
NÃO CAIA NESSA!
Usar o valor de i da iteração anterior ou somar antes de atualizar i.
Passo 4 — Simular a segunda iteração
O laço continua com i = 2. O acumulador já vale 1, então somamos 2.
Por que esta fórmula: Mesma fórmula: Z = Z + i, agora com Z=1 e i=2.
De onde vem cada valor: = passo 3: 1 · = enunciado: 2 (segunda iteração)
NÃO CAIA NESSA!
Esquecer de atualizar Z e usar o valor anterior.
Passo 5 — Simular a terceira iteração
i = 3, e Z vale 3. Somamos 3.
Por que esta fórmula: Z = Z + i, com Z=3 e i=3.
De onde vem cada valor: = passo 4: 3 · = enunciado: 3 (terceira iteração)
NÃO CAIA NESSA!
Contar errado o número de iterações e parar aqui.
Passo 6 — Simular a quarta iteração
i = 4, última iteração. Z vale 6, somamos 4.
Por que esta fórmula: Z = Z + i, com Z=6 e i=4.
De onde vem cada valor: = passo 5: 6 · = enunciado: 4 (quarta iteração)
NÃO CAIA NESSA!
Parar antes da última iteração, achando que o laço vai até 3.