Questão de Programação — Programação estruturada — FUNDATEC 2026
Programação›Programação estruturada
Código
qg686039
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação de Sistemas
Analise o seguinte código em linguagem C:A saída produzida pelo programa será:
A1 2 3 4
B2 4 6 8
C1 4 9 16
D2 3 4 5
E0 2 4 6
Revelar gabarito e comentário▾
GabaritoB — 2 4 6 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 B — a conta chega a 2 4 6 8 — alternativa B.
A ideia por trás
O comando for é uma estrutura de repetição da programação estruturada que executa um bloco de código várias vezes. Ele é formado por três partes separadas por ponto e vírgula: a inicialização (executada uma única vez antes do laço), a condição (testada antes de cada repetição; se verdadeira, o bloco roda, se falsa, o laço termina) e a atualização (executada ao final de cada repetição, geralmente para modificar a variável de controle).
A cada iteração, o valor da variável de controle i é usado dentro do bloco. No código, o bloco imprime 2 * i, ou seja, o dobro do valor atual de i. A condição i <= 4 garante que o laço rode enquanto i for menor ou igual a 4, e o incremento i++ aumenta i em 1 a cada volta. Assim, i assume os valores 1, 2, 3 e 4, e o que é impresso é 2, 4, 6 e 8.
Esta questão testa se você entende que o valor impresso pode ser uma expressão que depende da variável de controle, e não a própria variável. A pegadinha é confundir o valor de i com o valor de 2 * i.
O que a questão dá
laço for com inicialização i = 1
condição i <= 4
atualização i++
corpo do laço: printf("%d ", 2 * i)
O que queremos: a sequência de números impressa pelo programa
Passo 1 — Executar a primeira iteração
Começamos com i = 1 (inicialização). Testamos a condição: 1 <= 4 é verdadeiro, então o bloco executa. O bloco imprime 2 * i, que é 2 * 1 = 2.
Por que esta fórmula: A expressão 2 * i é o que está dentro do printf; ela calcula o dobro do valor atual de i.
De onde vem cada valor: = constante: 2 · = definição: inicialização do laço, i = 1
NÃO CAIA NESSA!
Imprimir i em vez de 2 * i, resultando em 1.
Passo 2 — Atualizar e testar a segunda iteração
Após a primeira impressão, o i++ incrementa i para 2. Testamos a condição: 2 <= 4 é verdadeiro, então o bloco executa novamente, imprimindo 2 * 2 = 4.
Por que esta fórmula: O incremento i++ é a atualização padrão do for; ele soma 1 ao valor de i.
De onde vem cada valor: = passo 1: valor atual de i, 1
NÃO CAIA NESSA!
Esquecer de atualizar i, fazendo o laço infinito.
Passo 3 — Repetir para i = 3 e i = 4
O mesmo processo se repete: i vira 3, imprime 2 * 3 = 6; depois i vira 4, imprime 2 * 4 = 8. A condição ainda é verdadeira para i = 4.
Por que esta fórmula: Cada iteração segue o mesmo padrão: testar, imprimir 2*i, incrementar.
NÃO CAIA NESSA!
Parar antes de i = 4, achando que a condição é i < 4.
Passo 4 — Encerrar o laço
Depois de i = 4, o incremento faz i = 5. Agora a condição 5 <= 4 é falsa, então o laço termina. A sequência completa impressa é 2 4 6 8.
NÃO CAIA NESSA!
Incluir o 10, achando que o laço continua até i = 5.