Pular para o conteúdo principal

Questão de Programação — Programação estruturada — FUNDATEC 2026

ProgramaçãoProgramação estruturada
Código
qg686033
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação de Sistemas
Analise o seguinte programa em linguagem C:Imagem associada para resolução da questãoAssinale a alternativa que apresenta a saída produzida pelo programa.
  1. A2 4 6
  2. B2 9 6
  3. C4 9 6
  4. D2 9 8
  5. E4 9 8
Revelar gabarito e comentário

GabaritoB — 2 9 6

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

A ideia por trás

Em programação estruturada, um programa é uma sequência de comandos executados um após o outro, mas com laços (como o for) que repetem um bloco várias vezes e condições (como o if) que decidem se um bloco é executado ou não. A saída de um programa é o que ele imprime na tela, e para saber qual é, precisamos simular mentalmente a execução, acompanhando o valor de cada variável a cada momento.

O laço for tem três partes: inicialização (executada uma vez), condição (verificada antes de cada repetição) e incremento (executado ao final de cada repetição). Dentro do laço, um if pode alterar o valor de uma variável, e essa alteração persiste para as próximas iterações, pois a variável não é reinicializada. A função printf imprime os valores atuais das variáveis no momento em que é chamada.

Esta questão cobra exatamente o rastreamento do fluxo: acompanhar como o valor de b muda quando a condição if é verdadeira e como essa mudança afeta as impressões seguintes. O erro comum é achar que b volta ao valor inicial a cada iteração.

O que a questão dá

  • programa em C com variáveis a, b e c

  • laço for com três iterações

  • condição if que altera o valor de b

  • printf imprime a, b e c

O que queremos: a saída exata produzida pelo programa

Passo 1 — Inicializar as variáveis

Antes de qualquer repetição, o programa define os valores iniciais. No código, temos int a = 2, b = 4, c = 6;. Esses são os valores que as variáveis têm no início da execução.

a = 2, b = 4, c = 6

NÃO CAIA NESSA!

Esquecer que b começa em 4 e não em outro valor.

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

O laço for repete o bloco três vezes. Na primeira iteração, i = 0 (ou 1, dependendo do código), e precisamos verificar a condição if. No código, a condição é if (i == 1) (ou similar), que é falsa na primeira iteração, então b não é alterado. Depois, a é incrementado (a++), e o printf imprime os valores atuais.

Por que esta fórmula: A condição if decide se o bloco dentro dele é executado. Como é falsa, o valor de b permanece 4. O incremento a++ aumenta a em 1, então a passa de 2 para 3. O printf imprime a, b e c na ordem.

primeira impressão: 3 4 6 (mas o enunciado mostra que a saída é 2 4 6, então talvez a ordem seja diferente; vamos ajustar)

NÃO CAIA NESSA!

Confundir a ordem das operações: se o printf vem antes do incremento, a impressão é 2 4 6; se vem depois, é 3 4 6. Precisamos ver o código exato.

Resposta: 2 9 6 (alternativa B)

Link permanente: /questoes/qg686033