Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Geral — VUNESP 2026

TI - Desenvolvimento de SistemasGeral
Código
vu169367
Banca
VUNESP
Órgão
FAPESP
Ano
2026
Cargo
Ana Sist ( )

Início

Inteiro: a, r, s, i;

a ← 2;

Leia r, s;

r ← r + a;

s ← s - a;

Para i de 1 até 4 faça

[

Se ((r+s) ≤ 10)

Então

[

r ← r + 2;

s ← s + 3;

a ← a + 1;

]

Senão

[

r ← r - 1;

s ← s - 1;

a ← a - 1;

]

]

a ← a + r + s;

Imprima a;

Fim.

Analise o seguinte algoritmo, expresso na forma de uma pseudolinguagem (português estruturado):     Suponha que os valores lidos para as variáveis r e s, no início do algoritmo, tenham sido, respectivamente, 4 e 6.   Dessa forma, ao final da execução do algoritmo, o valor impresso de a será:
  1. A6
  2. B7
  3. C8
  4. D10
  5. E9
Revelar gabarito e comentário

GabaritoE — 9

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 E — a conta chega a 9 (alternativa E).

A ideia por trás

Teste de mesa é a simulação manual da execução de um algoritmo, linha por linha, anotando o valor de cada variável a cada passo. É como se você fosse o computador: você lê a instrução, atualiza as variáveis e segue para a próxima. Isso é essencial para entender o que um código realmente faz, especialmente quando há laços e condições.

Um laço 'Para i de 1 até 4' repete o bloco interno quatro vezes, com i assumindo os valores 1, 2, 3 e 4. Dentro do laço, uma condição 'Se (r+s) ≤ 10' decide qual bloco de comandos executar: se a soma for menor ou igual a 10, executa um conjunto de operações; caso contrário, executa outro. Cada operação modifica os valores de r, s e a, e esses novos valores são usados nas próximas iterações. Por isso, é crucial atualizar as variáveis na ordem correta.

Esta questão exige executar o algoritmo passo a passo, prestando atenção especial às operações que ocorrem antes do laço e à atualização de 'a' dentro do laço, pois 'a' influencia a condição e o resultado final.

O que a questão dá

  • r = 4

  • s = 6

  • a = 2 (inicial)

  • laço: Para i de 1 até 4

  • condição: Se (r+s) ≤ 10

O que queremos: o valor impresso de a ao final do algoritmo

Passo 1 — Aplicar as operações iniciais

Antes de entrar no laço, o algoritmo executa duas atribuições que alteram r e s. Precisamos aplicá-las com os valores iniciais para começar o laço com os valores corretos.

Por que esta fórmula: As operações são dadas diretamente no algoritmo: r recebe r + a e s recebe s - a. Não há escolha de fórmula, é só seguir a ordem.

r=r+a;s=sar = r + a; s = s - a

De onde vem cada valor: rr = enunciado: 4 · ss = enunciado: 6 · aa = enunciado: 2 (inicial)

r=4+2=6;s=62=4r = 4 + 2 = 6; s = 6 - 2 = 4

r = 6, s = 4

NÃO CAIA NESSA!

Esquecer de aplicar essas operações antes do laço, usando r=4 e s=6 dentro do laço.

Passo 2 — Executar a primeira iteração do laço

O laço começa com i=1. Precisamos verificar a condição com os valores atuais de r e s e executar o bloco correspondente.

Por que esta fórmula: A condição é (r+s) ≤ 10. Se for verdadeira, executa o bloco 'então'; se falsa, o bloco 'senão'. Os comandos de cada bloco são dados no algoritmo.

Se(r+s)10enta~o:r=r+2;s=s+3;a=a+1.Sena~o:r=r1;s=s1;a=a1.Se (r+s) \leq 10 então: r = r+2; s = s+3; a = a+1. Senão: r = r-1; s = s-1; a = a-1.

De onde vem cada valor: rr = passo 1: 6 · ss = passo 1: 4 · aa = passo 1: 2

r+s=6+4=1010,enta~o:r=6+2=8;s=4+3=7;a=2+1=3r+s = 6+4 = 10 \leq 10, então: r = 6+2 = 8; s = 4+3 = 7; a = 2+1 = 3

r = 8, s = 7, a = 3

NÃO CAIA NESSA!

Errar a condição: achar que 10 > 10 e executar o bloco 'senão'.

Passo 3 — Executar a segunda iteração do laço

i=2. Usamos os valores atualizados do passo anterior para verificar a condição novamente.

Por que esta fórmula: Mesma estrutura condicional, mas com novos valores de r, s e a.

Se(r+s)10enta~o:r=r+2;s=s+3;a=a+1.Sena~o:r=r1;s=s1;a=a1.Se (r+s) \leq 10 então: r = r+2; s = s+3; a = a+1. Senão: r = r-1; s = s-1; a = a-1.

De onde vem cada valor: rr = passo 2: 8 · ss = passo 2: 7 · aa = passo 2: 3

r+s=8+7=15>10,enta~o:r=81=7;s=71=6;a=31=2r+s = 8+7 = 15 > 10, então: r = 8-1 = 7; s = 7-1 = 6; a = 3-1 = 2

r = 7, s = 6, a = 2

NÃO CAIA NESSA!

Usar os valores antigos de r e s (6 e 4) em vez dos atualizados.

Passo 4 — Executar a terceira iteração do laço

i=3. Continuamos a sequência, sempre com os valores mais recentes.

Por que esta fórmula: Mesma estrutura condicional.

Se(r+s)10enta~o:r=r+2;s=s+3;a=a+1.Sena~o:r=r1;s=s1;a=a1.Se (r+s) \leq 10 então: r = r+2; s = s+3; a = a+1. Senão: r = r-1; s = s-1; a = a-1.

De onde vem cada valor: rr = passo 3: 7 · ss = passo 3: 6 · aa = passo 3: 2

r+s=7+6=13>10,enta~o:r=71=6;s=61=5;a=21=1r+s = 7+6 = 13 > 10, então: r = 7-1 = 6; s = 6-1 = 5; a = 2-1 = 1

r = 6, s = 5, a = 1

NÃO CAIA NESSA!

Esquecer de atualizar a variável a, que é usada na condição e no final.

Passo 5 — Executar a quarta iteração do laço

i=4, a última iteração. Precisamos executar o bloco correto e obter os valores finais de r, s e a.

Por que esta fórmula: Mesma estrutura condicional.

Se(r+s)10enta~o:r=r+2;s=s+3;a=a+1.Sena~o:r=r1;s=s1;a=a1.Se (r+s) \leq 10 então: r = r+2; s = s+3; a = a+1. Senão: r = r-1; s = s-1; a = a-1.

De onde vem cada valor: rr = passo 4: 6 · ss = passo 4: 5 · aa = passo 4: 1

r+s=6+5=11>10,enta~o:r=61=5;s=51=4;a=11=0r+s = 6+5 = 11 > 10, então: r = 6-1 = 5; s = 5-1 = 4; a = 1-1 = 0

r = 5, s = 4, a = 0

NÃO CAIA NESSA!

Parar antes da última iteração ou errar a conta de subtração.

Passo 6 — Calcular o valor final de a

Após o laço, o algoritmo executa a atribuição final a = a + r + s. Precisamos aplicar essa operação com os valores obtidos no último passo.

Por que esta fórmula: É a instrução final do algoritmo, dada explicitamente.

a=a+r+sa = a + r + s

De onde vem cada valor: aa = passo 5: 0 · rr = passo 5: 5 · ss = passo 5: 4

a=0+5+4=9a = 0 + 5 + 4 = 9
a=9a = \boxed{9}
NÃO CAIA NESSA!

Esquecer de somar r e s, ou usar valores de passos anteriores.

Resposta: 9 (alternativa E)

Link permanente: /questoes/vu169367