Sequência Didática
Aula 4
Estruturas de Repetição no App Inventor
Na quarta aula se espera reforçar os conceitos apresentados na aula anterior revisando a construção do aplicativo de índice de massa corporal; compreender o que são e como utilizar diferentes estruturas de repetição no App Inventor; criar um aplicativo para calcular o fatorial de um número.
Três Momentos Pedagógicos
Discutir com os alunos como ocorre a utilização de uma estrutura de repetição no dia-a-dia. Em quais situações reais utilizamos uma estrutura de repetição? Quais problemas podem ser resolvidos ou otimizados com o suporte de uma estrutura de repetição? Quais artefatos podem ser utilizados durante a sua aplicação para o controle do número de repetições, evitando a execução infinita?
Compreender o que é uma estrutura de repetição nas suas diferentes formas, apresentar seu conceito e demonstrar a sua construção no App Inventor através do desenvolvimento de exemplos práticos.
Da mesma forma, conceituar a respeito do uso de contadores para auxiliar no controle do número de vezes que uma mesma instrução ocorre.
Retomar a discussão sobre a aplicabilidade das estruturas de repetição, agora instigando os alunos a pensarem em problemas que poderiam ser solucionados a partir do desenvolvimento de aplicativos com essa funcionalidade e qual tipo de estrutura é mais adequada para cada situação.
Como tarefa, lançar o desafio de desenvolver um aplicativo para o cálculo do fatorial de um número.
Estruturas de Repetição
São utilizadas em situações onde é necessário repetir uma tarefa mais de uma vez. Dessa forma, possibilitam a repetição de um conjunto de instruções sem que seja necessário escrevê-las várias vezes.
As estruturas de repetição podem ser classificadas em dois tipos:
Condicional - repetição ocorre enquanto a condição lógica testada for verdadeira (ENQUANTO);
Incondicional - tem um número pré-determinado de repetições (PARA);
Vamos entender na prática?
Observe as figuras ao lado e reflita a respeito da aplicação de estruturas de repetição no seu dia-a-dia. Como podemos explicar o processo que realizamos para nos alimentarmos? Ou então, para lavar a louça suja após uma refeição? Ainda, como realizamos o cálculo da tabuada de um número?
Estrutura de Repetição PARA
A estrutura de repetição "Para" é ideal em situações onde o número exato de repetições é conhecido (ASCENCIO; CAMPOS, 2012). Seu funcionamento consiste em repetir a instrução enquanto uma variável de controle (var_controle) for menor ou igual ao valor final (vlr_fim). A variável de controle é iniciada através de um comando de atribuição (vlr_ini) e é incrementada pelo valor da cláusula passo (<inc>), conforme a estrutura abaixo.
para <var_controle> = vlr_ini até vlr_fim passo <inc> faça
bloco de comandos
fim-para
No App Inventor, uma estrutura de repetição "Para" pode ser utilizada a partir de um bloco de controle, conforme a figura ao lado, já composto por três blocos numéricos de matemática para inicialização da variável de controle, definição do valor final e do passo.
Vamos entender na prática?
No App Inventor, vamos criar um aplicativo que exiba na tela os números de 1 a 10 utilizando um bloco de repetição do tipo "Para".
Na janela de Designer, arrastar para a tela um componente “Botão”, renomea-lo para “btRepeticao" e alterar a propriedade “Texto” para “Repetição”;
Arrastar para a tela um componente “Legenda”, renomea-lo para “txtResultado” e apagar o conteúdo da propriedade “Texto” (em branco);
Na janela de Blocos, nos blocos do “btRepeticao”, inserir o evento “Clique”[1];
Nos blocos do “txtResultado”, inserir o método “ajustar txtResultado.Texto para” e atribuir o valor “ ”(em branco) a partir de um bloco de “Texto” [2];
Nos blocos de “Controle”, inserir a estrutura "para cada número desde" [3] e alterar o valor final (até) para “10” [4];
Inserir outro método “ajustar txtResultado.Texto para” e atribuir o valor do próprio “txtResultado.Texto” em conjunto com o valor da variável “número” e um bloco de “Texto” com a descrição “\n” para realizar a quebra de linha a cada repetição. Para isso, inserir o bloco “juntar” do tipo “Texto” [5];
Estrutura de Repetição ENQUANTO
A estrutura de repetição "Enquanto" é ideal em situações onde o número exato de repetições não é conhecido (ASCENCIO; CAMPOS, 2012). Seu funcionamento consiste em repetir a instrução (0 ou "n" vezes) enquanto a condição for verdadeira. A condição é testada no início da instrução (V ou F), sendo a execução finalizada caso a condição se torne falsa. Sua escrita é representada abaixo.
enquanto <condição> faça
bloco de comandos
fim-enquanto
No App Inventor, uma estrutura de repetição "Enquanto" pode ser utilizada a partir de um bloco de controle, conforme a figura ao lado.
Contador
Diferentemente da estrutura de repetição "Para" que já inicia e incrementa uma variável de controle, a estrutura "Enquanto" requer a implementação dessa variável dentro do bloco de comandos. Essa variável costuma receber o nome de "contador".
Uma variável "contador" é utilizada para o controle do número de vezes que um bloco de instruções é repetido. A variável recebe ela mesma, mais um determinado valor (normalmente "1") e costuma ser inicializada com "0" (zero), sendo a instrução de incremento exibida abaixo.
i = i + 1
Vamos entender na prática?
No App Inventor, vamos alterar o aplicativo que exibe na tela os números de 1 a 10, agora utilizando um bloco de repetição do tipo "Enquanto".
Na janela de Blocos, inserir uma variável, alterar seu nome para "controle" e inicializá-la com "0" [1];
Abaixo do bloco "ajustar txtResultado.Texto para", alterar o valor da variável "controle" para "0" inserindo o bloco "ajustar global controle para" [2]. Essa atribuição é essencial para que o algoritmo possa ser executado mais de uma vez;
Nos blocos de "Controle", inserir a estrutura "enquanto testar" no local da estrutura "para" do exemplo anterior [3];
Nos blocos de "Matemática", inserir o operador relacional "<=" e testar se a variável "controle" é menor ou igual a 10 [4];
Manter a atribuição do "txtResultado" do exemplo anterior, inserir outro bloco "ajustar global controle para" e um novo bloco de "Matemática" para atribuir o próprio valor da variável "controle", acrescido de "1" [5];
Vamos aprofundar os conhecimentos?
Para saber mais sobre estruturas de repetição, explore o material abaixo que contém vídeos sobre a temática abordada na aula 4.
Aula sobre estruturas de repetição, Prof. Dr. Junior Freitas (IFC)
Aula sobre estruturas de repetição, Prof. Gustavo Guanabara
Aula sobre estruturas de repetiçã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.