Sequência Didática
Aula 3
Estruturas de Seleção no App Inventor
Na terceira aula se espera reforçar os conceitos apresentados na aula anterior revisando a construção do aplicativo de cálculo de média a partir do uso de uma estrutura condicional; compreender o que é e como utilizar uma estrutura de seleção e de seleção aninhada no App Inventor; criar um aplicativo de índice de massa corporal.
Três Momentos Pedagógicos
Discutir com os alunos como ocorre a utilização de uma estrutura de seleção no dia-a-dia. Em quais situações reais utilizamos uma estrutura condicional? Quais problemas podem ser resolvidos ou otimizados com suporte de uma estrutura de seleção? Quais critérios podem ser utilizados para a escolha (seleção)?
Ainda, propor que os alunos analisem o aplicativo desenvolvido na aula anterior com o intuito de identificar como uma estrutura de seleção pode ser implementada para classificar o resultado da média como "aprovado" ou "reprovado".
Compreender o que é uma estrutura de seleção, apresentar seu conceito e demonstrar a sua construção no App Inventor através do incremento de uma nova funcionalidade no aplicativo de cálculo de média desenvolvido na aula anterior.
Da mesma forma, conceituar a respeito de uma estrutura de seleção aninhada, demonstrando seu uso no App Inventor.
Retomar a discussão sobre a aplicabilidade de uma estrutura de seleção, agora instigando os alunos a pensarem em problemas que poderiam ser solucionados a partir do desenvolvimento de aplicativos com essa funcionalidade.
Como tarefa, lançar o desafio de desenvolver um aplicativo para o cálculo do índice de massa corporal que apresente a faixa de desnutrição ou obesidade na qual o indivíduo se encontra.
Estrutura de Seleção
Uma estrutura de seleção, também conhecida como estrutura condicional, permite o direcionamento da sequência de execução de um algoritmo de acordo com a aceitação ou não de certas condições (ASCENCIO; CAMPOS, 2012). As condições testadas são do tipo lógico (V ou F). A estrutura de seleção pode ser composta por:
SE - condição;
ENTÃO - o que fazer quando verdadeiro;
SENÃO - o que fazer quando falso;
Se a estrutura de seleção conter somente a condição verdadeira (se/então), é considerada simples. Do contrário, havendo um bloco de comandos para a condição falsa (senão), é conhecida como composta.
Um algoritmo de seleção costuma ter o seguinte formato:
se <condição> então
bloco de comandos (V)
senão
bloco de comandos (F)
fim-se
No App Inventor, uma estrutura de seleção pode ser utilizada a partir de dois blocos distintos de controle, conforme a figura ao lado.
Vamos entender na prática?
Observe as figuras ao lado e reflita a respeito da aplicação de estruturas de seleção no seu dia-a-dia. Como se dá o processo de autoatendimento em um caixa eletrônico ou num caixa de supermercado? Como classificamos e selecionamos os produtos dispostos em uma gôndola? Como ocorre a separação do lixo que produzimos?
Agora, no App Inventor, vamos continuar os passos para a criação do aplicativo de cálculo de média.
Nos blocos de “Controle”, inserir a estrutura “se-então-senão” [1];
Nos blocos de “Matemática”, inserir o operador relacional “>=” e testar se a média é superior ou igual a 7 [2];
Se verdadeiro, ajustar a propriedade “Texto” incluindo a descrição “ Aprovado!”. Para isso, inserir o bloco “juntar” do tipo “Texto” [3]. Alterar também a propriedade “CorDeTexto” para azul (bloco “Cores”) [4];
Se falso, ajustar a propriedade “Texto” incluindo a descrição “Reprovado!”. Para isso, inserir o bloco “juntar” do tipo “Texto” [5]. Alterar também a propriedade “CorDeTexto” para vermelho (bloco “Cores”) [6];
Remover o bloco anterior que altera a propriedade “Texto” e arrastar o bloco “se-então-senão” para o evento “Clique” do “btnCalcular” [7];
Na janela de Designer, inserir dois componentes “Som” da gaveta “Mídia” e renomeá-los para “SomAprovado” e “SomReprovado”. Alterar a propriedade “Fonte” enviando os arquivos disponíveis em: https://drive.google.com/drive/folders/11_LT-2T-38_R4WmjxkvcQhsF2tn5R-bL?usp=sharing (realizar o download antes de inserir no App Inventor) [8];
Na janela de Blocos, inserir o procedimento “Tocar” dos componentes de som nos respectivos blocos condicionais de média [9];
Estrutura de Seleção Aninhada
Também conhecida como estrutura de seleção encadeada, possibilita a inclusão de um comando de seleção dentro de outra estrutura de seleção (MANZANO; OLIVEIRA, 2016). Normalmente utilizada para realizar várias comparações com a mesma variável.
Suas condições testadas também são do tipo lógico e o seu formato costuma ser:
se <condição1> então
se <condição2> então
bloco de comandos (V)
fim-se
senão
se <condição3> então
bloco de comandos (V)
senão
bloco de comandos (F)
fim-se
fim-se
No App Inventor, uma estrutura de seleção aninhada pode ser utilizada a partir de dois blocos distintos de controle, conforme a figura ao lado, sendo o exemplo da esquerda um bloco único, enquanto o da direita é composto por dois blocos de seleção simples encaixados.
Vamos entender na prática?
No App Inventor, vamos implementar uma estrutura de seleção aninhada para verificar se o resultado da média habilita o aluno para o exame (>=6).
Nos blocos de “Controle”, inserir outra estrutura “se-então-senão” no bloco condicional “senão” existente [1];
Nos blocos de “Matemática”, inserir o operador relacional “>=” e testar se a média é superior ou igual a 6 [2];
Se verdadeiro, ajustar a propriedade “Texto” incluindo a descrição “ Em Exame!”. Para isso, inserir o bloco “juntar” do tipo “Texto” [3]. Alterar também a propriedade “CorDeTexto” para amarelo (bloco “Cores”) [4];
Se falso, encaixar os blocos de reprovação que já haviam sido criados na condicional “senão” [5];
Vamos aprofundar os conhecimentos?
Para saber mais sobre estruturas de seleção, explore o material abaixo que contém vídeos sobre a temática abordada na aula 3.
Aula sobre estruturas de seleção, Prof. Dr. Junior Freitas (IFC)
Aula sobre estruturas condicionais, Prof. Gustavo Guanabara
Aula sobre estruturas de seleção no App Inventor, projeto de extensão "Pensando em Códigos" (UNIFAL)
Referências
ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. de. Fundamentos da Programação de Computadores: Algoritmos, Pascal, C/C++ e Java. 3. ed. São Paulo: Pearson, 2012.
MANZANO, J.; OLIVEIRA, J. Algoritmos - Lógica para desenvolvimento de Programação. 28. ed. São Paulo: Saraiva, 2016.