Em programação, diferentes estruturas de controle permitem que os algoritmos executem tarefas específicas de acordo com a necessidade (Deitel; Deitel, 2011). Uma das situações mais comuns é a avaliação de condições, que determina o caminho que o programa deve seguir. Analise o caso descrito a seguir. Um sistema escolar precisa avaliar automaticamente as notas dos alunos. Nesse cenário, é necessário que o programa compare a média final do estudante com um valor de referência para decidir se o resultado será “aprovado” ou “reprovado”. Esse tipo de mecanismo é fundamental em sistemas que trabalham com tomadas de decisão, já que evita que todas as instruções sejam executadas de forma linear ou repetitiva. Com base nesse cenário, qual estrutura de programação é a mais adequada? Assinale a alternativa correta.
Questão
Em programação, diferentes estruturas de controle permitem que os algoritmos executem tarefas específicas de acordo com a necessidade (Deitel; Deitel, 2011). Uma das situações mais comuns é a avaliação de condições, que determina o caminho que o programa deve seguir.
Analise o caso descrito a seguir.
Um sistema escolar precisa avaliar automaticamente as notas dos alunos. Nesse cenário, é necessário que o programa compare a média final do estudante com um valor de referência para decidir se o resultado será “aprovado” ou “reprovado”. Esse tipo de mecanismo é fundamental em sistemas que trabalham com tomadas de decisão, já que evita que todas as instruções sejam executadas de forma linear ou repetitiva.
Com base nesse cenário, qual estrutura de programação é a mais adequada? Assinale a alternativa correta.
Alternativas
a) Estrutura sequencial.
b) Estrutura de repetição.
c) Estrutura de decisão.
d) Estrutura de armazenamento.
e) Estrutura de recursividade.
Explicação
O cenário descreve que o sistema precisa comparar a média final do aluno com um valor de referência (por exemplo, ) e, a partir dessa condição, escolher entre dois caminhos possíveis: imprimir/registrar “aprovado” ou “reprovado”.
Esse tipo de lógica é característico de estruturas de decisão (condicionais), como if/else, se/senão ou switch/case (quando há múltiplas alternativas). Elas permitem que o programa não execute todas as instruções de forma linear, mas sim selecione um fluxo conforme o resultado de uma condição booleana.
As demais opções não se encaixam:
- Estrutura sequencial: executa tudo em ordem, sem escolha de caminhos.
- Estrutura de repetição: usada para repetir blocos (laços), não para decisão simples aprovado/reprovado.
- Armazenamento: relaciona-se a variáveis/estruturas de dados, não ao controle de fluxo.
- Recursividade: técnica de função chamando a si mesma, não necessária aqui.
Alternativa correta: (c).