Conforme dito na seção anterior, estruturas de seleção são instruções que permitem alteração de fluxo de execução nos algoritmos. Essas estruturas são muito utilizadas porque, na maioria das situações (ou problemas) é necessário algum tipo de decisão que irá alterar as sequências de instruções a serem processadas. Uma estrutura de seleção permite a escolha de um grupo de ações (bloco de instruções) a ser executado quando determinadas condições,
representadas por expressões lógicas ou relacionais, são satisfeitas ou não (FORBELLONE e EBERSPACHER, 2000).
A tabela 6.20 mostra como o aluno deve tomar conhecimento e compreender os conceitos sobre as estruturas de seleção, também conhecidas como estruturas condicionais ou alternativas.
Tabela 6.20 – Objetivos e Habilidades da Fase “Vejo, Escuto e Compreendo” para o Objetivo Específico “Entender as Estruturas de Seleção (Alternativas)”
Como Encaminhar o Aluno ao
Conhecimento e Compreensão? Como Levar o Aluno ao Acolhimento? Habilidade(s) a Ser(em) Adquirida(s) - Descrever os conceitos de
estruturas de seleção simples, composta, encadeada homogênea, encadeada heterogênea e de múltipla escolha.
- Demonstrar exemplos do uso de estruturas de seleção simples, composta, encadeada homogênea, encadeada heterogênea e de múltipla escolha.
- Solicitar que os alunos (em duplas) discutam e descrevam diversos exemplos de instruções de seleção simples, composta, encadeada homogênea, encadeada heterogênea e de múltipla escolha.
- Capacidade de construir instruções de seleção simples, composta, encadeada
homogênea, encadeada heterogênea e de múltipla escolha (quando as condições necessárias já estiverem pré- definidas no enunciado do problema).
O conhecimento sobre as instruções de seleção se faz primordial, entretanto, não agrega muito valor se o programador não estiver capacitado a reconhecer as situações em que o mesmo é necessário e a construir algoritmos a partir de sua aplicação. Este conhecimento pode ser considerado adquirido quando o aprendiz transpassa a fase “Discuto, Aplico e Reflito” do presente conteúdo programático (Tabela 6.21).
Tabela 6.21 – Objetivos e Habilidades da Fase “Discuto, Aplico e Reflito” para o Objetivo Específico “Entender as Estruturas de Seleção (Alternativas)”
Como Encaminhar o Aluno à
Aplicação e Análise? Como Levar o Aluno à Resposta e Valorização? Habilidade(s) a Ser(em) Adquirida(s) - Descrever situações em que é
necessário: o uso de estruturas de seleção simples; o uso de estruturas de seleção composta; o uso de estruturas de seleção encadeada homogênea; e o uso de estruturas de seleção encadeada heterogênea. - Descrever situações em que é
- Disponibilizar uma lista de problemas em que o uso de estruturas (dos diversos tipos) de seleção é necessário e solicitar que os alunos (em duplas) desenvolvam algoritmos para solucioná-los. - Disponibilizar algoritmos
incorretos com estruturas de seleção
- Capacidade de identificar situações em que é necessário o uso de estruturas de seleção simples e/ou composta. - Capacidade de identificar situações em que é necessário o uso de estruturas de seleção encadeada homogênea e/ou
necessário o uso de estruturas de seleção de múltipla escolha. - Demonstrar essas situações com exemplos práticos em que as condições estejam implícitas nos enunciados dos problemas, exigindo sua interpretação no intuito de identificar as alternativas existentes (necessárias ou complementares).
simples, composta, encadeada homogênea, encadeada heterogênea e de múltipla escolha e solicitar que os alunos (em duplas) identifiquem e corrijam os erros.
- Disponibilizar algoritmos semiprontos (faltando apenas a implementação das instruções de seleção) e solicitar que os alunos (em dupla) os completem de acordo com o enunciado do problema de cada algoritmo.
heterogênea.
- Capacidade de identificar situações em que é necessário o uso de estruturas de seleção de múltipla escolha.
- Capacidade de construir algoritmos com o apoio de estruturas de seleção a partir da interpretação de enunciados no intuito de identificar as alternativas existentes (necessárias ou complementares).
As instruções de seleção podem impactar na eficiência e performance dos algoritmos. Portanto, é interessante que programadores desenvolvam a habilidade de otimizar algoritmos diminuindo a quantidade de uso dessas instruções ou reestruturando-as, objetivando-se torná- las mais eficientes (diminuindo o tempo de processamento). Considera-se que os aprendizes adquirem esta habilidade quando transpassam a fase “Pratico, Faço e Crio” do presente conteúdo programático (Tabela 6.22).
Tabela 6.22 – Objetivos e Habilidades da Fase “Pratico, Faço e Crio” para o Objetivo Específico “Entender as Estruturas de Seleção (Alternativas)”
Como Encaminhar o Aluno à Síntese e Avaliação?
Como Levar o Aluno à Organização e Caracterização por
um Valor ou Complexo de Valores?
Habilidade(s) a Ser(em) Adquirida(s)
- Descrever situações em que é possível otimizar o uso de estruturas de seleção simples.
- Descrever situações em que é possível otimizar o uso de estruturas de seleção composta.
- Descrever situações em que é possível otimizar o uso de estruturas de seleção encadeada homogênea. - Descrever situações em que é possível otimizar o uso de estruturas de seleção encadeada heterogênea. - Descrever situações em que é possível otimizar o uso de estruturas de seleção de múltipla escolha.
- Disponibilizar algoritmos com estruturas de seleção de todos os tipos e solicitar que os alunos (em duplas) identifiquem melhorias e reescrevam cada algoritmo no intuito de otimizá-los.
- Capacidade de produzir algoritmos menores e mais eficientes usando estruturas de seleção simples otimizadas. - Capacidade de produzir algoritmos menores e mais eficientes usando estruturas de seleção composta otimizadas. - Capacidade de produzir algoritmos menores e mais eficientes usando estruturas de seleção encadeada homogênea otimizadas.
- Capacidade de produzir algoritmos menores e mais eficientes usando estruturas de seleção encadeada heterogênea otimizadas.
- Capacidade de produzir algoritmos menores e mais
eficientes usando estruturas de seleção de múltipla escolha otimizadas.
- Capacidade de identificar problemas em algoritmos construídos com o auxílio de estruturas de seleção.
Exemplos de exercícios para este conteúdo programático podem ser encontrados no Apêndice A.7.