Pular para o conteúdo principal

Questão de Programação — Programação estruturada — Avança SP 2023

ProgramaçãoProgramação estruturada
Código
qq839087
Banca
Avança SP
Órgão
SAAE de Amparo - SP
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas da Informação
Em programação estruturada, temos as estruturas sequenciais, condicionais e de repetição. Assinale a alternativa que contenha apenas o comando utilizado como estrutura condicional:
  1. AIf.
  2. BWhile.
  3. CDo While.
  4. DFor.
  5. EUntil.
Revelar gabarito e comentário

GabaritoA — If.

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”.

Estruturas de controle na programação estruturada

Gabarito: letra A. O comando if é a estrutura condicional por excelência na programação estruturada: ele avalia uma condição lógica e, com base no resultado (verdadeiro ou falso), decide qual bloco de código será executado. As demais alternativas (while, do while, for e until) são todas estruturas de repetição, responsáveis por executar um bloco de código várias vezes, e não por tomar decisões.

A programação estruturada, paradigma que organiza o código em blocos lógicos e legíveis, fundamenta-se em três estruturas de controle básicas: sequência, decisão (condicional) e iteração (repetição). A estrutura sequencial executa comandos um após o outro, linearmente. A estrutura de decisão, também chamada de seleção ou condicional, permite que o programa escolha entre diferentes caminhos de execução com base em uma condição — é exatamente o papel do comando if. Já a estrutura de iteração, ou repetição, faz com que um trecho de código seja executado repetidamente enquanto (ou até que) uma condição seja satisfeita — é o papel dos comandos while, do while, for e until.

A confusão mais comum neste tema é tratar todos os comandos que envolvem uma condição como "condicionais". No entanto, a diferença é fundamental: na estrutura condicional, a condição decide se um bloco será executado (uma vez); na estrutura de repetição, a condição decide quantas vezes um bloco será executado (zero, uma ou várias vezes). O while, por exemplo, verifica a condição antes de cada execução do bloco, repetindo-o enquanto a condição for verdadeira — é uma repetição, não uma decisão. O for é um laço contado, ideal quando se sabe quantas vezes o bloco deve ser repetido. O do while garante que o bloco seja executado ao menos uma vez, pois a condição é verificada após a execução. O until (até que) repete o bloco até que a condição se torne verdadeira. Todos esses comandos pertencem à categoria de iteração.

Para fixar: a pergunta que separa as estruturas é "o código decide um caminho OU repete um trecho?". Se a resposta for "decide", é condicional (if); se for "repete", é iteração (while, do while, for, until). É exatamente esse critério que vamos aplicar a cada alternativa.

1Sequência
Executa comandos em ordem
2Decisão (condicional)
If
Decide qual caminho seguir
3Repetição (iteração)
While
Do While
For
Until
Decide quantas vezes repetir
Estruturas de controle
LEVELsoulevel.com.br
Estruturas de controle: Sequência (Executa comandos em ordem); Decisão (condicional) (If, Decide qual caminho seguir); Repetição (iteração) (While, Do While, For, Until, Decide quantas vezes repetir)

Alternativa A — ✅ Correta ⟵ GABARITO

O comando if é a estrutura condicional fundamental. Ele avalia uma expressão lógica (condição) que resulta em verdadeiro ou falso e, com base nesse resultado, executa ou não um determinado bloco de código. Pode ser combinado com else e else if para criar múltiplos caminhos de decisão, mas sua essência é sempre a mesma: tomar uma decisão com base em uma condição. É o comando que materializa a estrutura de decisão na programação estruturada.

Alternativa B — ❌ Incorreta

O while é uma estrutura de repetição, não condicional. Ele verifica a condição antes de executar o bloco e o repete enquanto a condição for verdadeira. Se a condição for falsa logo no início, o bloco pode nem ser executado. A pegadinha aqui é que o while também usa uma condição, mas a usa para controlar a repetição, não para decidir entre caminhos.

Alternativa C — ❌ Incorreta

O do while também é uma estrutura de repetição. Sua característica distintiva é que o bloco de código é executado ao menos uma vez, pois a condição é verificada somente após a primeira execução. É útil para situações em que se garante a execução inicial, como menus interativos, mas continua sendo iteração, não decisão.

Alternativa D — ❌ Incorreta

O for é uma estrutura de repetição com contador. É ideal quando se sabe exatamente quantas vezes o bloco deve ser repetido, pois combina inicialização, condição de parada e atualização em uma única sintaxe. Apesar de conter uma condição de parada, sua função é iterar, não decidir.

Alternativa E — ❌ Incorreta

O until (até que) é uma estrutura de repetição que executa o bloco até que uma condição se torne verdadeira. É o inverso lógico do while (que repete enquanto a condição for verdadeira). Está presente em algumas linguagens como alternativa ao while, mas continua sendo iteração.

NÃO CAIA NESSA!

A banca explora a confusão entre "comando que usa condição" e "estrutura condicional". Todos os comandos de repetição (while, do while, for, until) também avaliam condições, mas a finalidade é completamente diferente: a condição no if decide qual caminho seguir; a condição nos laços decide quantas vezes repetir. Guarde a pergunta-chave: "o código decide ou repete?" — se repete, não é condicional.

Gabarito: letra A — apenas o comando if é uma estrutura condicional; os demais são estruturas de repetição.

Link permanente: /questoes/qq839087