• No results found

6 DISKUSJON:

6.5 Kjernestabilitet relatert til ganghastighet:

Objetivo

Aprimorar a função de rotação através do condicionador if-else para teste de valor lógico, verdade e falsidade no processo de construção de “mandalas”. E Automatizar as

5.3 Isometria de rotação 123

(a) Triângulo em giro (b) Losângulo em giro

Figura 51: Applet 7.1: Catavento quadrangular em oscilação de cores

aplicações com elementos repetidos em coordenadas distintas para melhorar a linguagem durante a programação.

Conteúdo Programático

Linguagem de Programação; Transformação Geométrica - Rotação; Noções de ló- gica.

Subsídio Teórico

O desenvolvimento dessa atividade está atrelada a uma noção rápida de lógica, principalmente, no que discerne a operação de verdade e falsidade. Na programação existe alguns comandos utilizados para analisar os operadores lógicos através dos conectivos “e”, “ou” e “negação”. No entanto, tal análise não faz parte do enfoque dessa atividade, mas na próxima atividade abordaremos com mais detalhes, no momento foquemos nossa atenção ao fato da informação verdadeira executar uma operação e o contrário, a informação falsa executará outra operação.

Para esse tipo de análise vamos utilizar o recurso da função if-else. Essa estrutura atua em conjunto com o comando for que executa uma repetição no comando até que uma condição seja satisfeita, isto é, o comando for é uma estrutura de repetição empregado quando se conhece o número de vezes que o bloco da construção é executado. Sua estrutura fundamenta-se é um valor inteiro ou real associado a uma condição com incremento na função e, a parti daí, iniciamos os comandos para o argumento verdadeiro seguida da informação falsa, como segue no esquema abaixo:

for(valor inicial; condição; incremento na função){ if (afirmação) {

comando se for verdadeiro; } else{

comando se for falso; }

5.3 Isometria de rotação 124 A esse tipo de argumentação é possível inserir outras condições caso a primeira informação não seja verdadeira, com isso é possível criar ramificações no comando if-else até atingir todos os objetivos. No entendimento de Ben Fry e Casey Reas [27, p. 53], the conditionals allow a program to behave differently depending on the values of their variables3

. Para cada afirmação deve haver uma expressão que resolve para verdade ou falso e quando a expressão é verdadeira o código entre as chaves é executado, do contrário passa para a próxima afirmação. Os autores supracitados [27, p. 66] enumeram ainda como o comando for é executado a cada nova interação como segue na sequência com tradução nossa:

1. A declaração do valor inicial é executado;

2. A afirmação é avaliada como verdade (true) ou falso (false);

3. Se a afirmação for verdadeira, vá para a etapa 4. Se a afirmação for falsa, pule para a etapa 6;

4. Execute as instruções dentro do comando se verdadeiro;

5. Execute a instrução de incremento da função e passe para a etapa 2; 6. Saia da estrutura e continue a execução do programa.

Durante a aplicação será possível testar as informações anteriores e seus efeitos visuais na construção de mandalas.

Metodologia

Aula expositiva com construção do “Applet”; Exploração do código de repetição for com teste lógico de verdade ou falso com os estudantes agrupados em duplas ou trio; E explorar os efeitos visuais na retirada do preenchimento dos objetos para construir mandalas.

Material

Computador com o Processing instalado. Procedimento

Para construir imagens no estilo de mandalas facilmente vamos utilizar o recurso de repetição de comandos seguindo uma lógica para verdade e outra para falsidade. Como

3as estruturas condicionais permitem que um programa se comporte de forma diferente, dependendo

5.3 Isometria de rotação 125 essa é nossa primeira atividade no seguimento, iremos mostrar como utilizar esse recurso com detalhes para futuras construções ou remodelação das já realizadas com o intuito de enxugar o código ao máximo e otimizar a construção.

Vamos começar preparando o cenário para a construção das mandalas e depois lançar os dados dos objetos para gerar o visual gráfico necessário do nosso objetivo.

a) Abra um arquivo e salve como: Applet 8 nome da dupla ou trio. b) Configuração inicial do cenário da mandala.

1 size(300, 300);

2 background(255); //Fundo branco.

3 translate(150, 150); //Nova origem da construção.

c) Estrutura for com comando rotate.

1 for (int 𝑖= 1; 𝑖 < width; 𝑖 + +) { 2 rotate(radians(11.25)⋆𝑖);

3 //Construção inicia para 𝑖=1 e aumenta

uma unidade a cada novo giro até atingir o valor da largura (width) da tela.

4 · · · }

d) Incrementando o teste lógico no comando for para avaliar o efeito visual.

4 if (𝑖%3==0) { 5 fill(250, 200, 150); 6 stroke(200, 0, 200); 7 strokeWeight(3); 8 triangle(0, 0, 100, 0, 0, 100); 9 } else if (𝑖%2==0) { 10 fill(100, 100, 100); 11 stroke(0, 200, 150); 12 strokeWeight(2); 13 rect(0, 0, 100, 100); 14 } else { 15 fill(200, 200, 0); 16 stroke(0, 0, 0); 17 strokeWeight(2); 18 ellipse(0, 0, 100, 30); 19 }

e) Execute a construção e observe como fica o empilhamento dos objetos conforme mostra a Figura 52(a). Se omitirmos o preenchimento dos objetos colocando uma barra dupla nos comandos fill obteremos a Figura 52(b).

A função if desenha o triângulo se 𝑖 dividir por 3 sem resto. Se não dividir executa os códigos depois de else, para desenhar o quadrado de 100 pixels de lado, o valor de 𝑖 dividirá exatamente por 2 e, se houver resto ainda desenha uma elipse como comando final.

5.3 Isometria de rotação 126

(a) Sobreposição de objetos colori-

dos (b) Objetos sobrepostos

Figura 52: Applet 8: Construção dos elementos da mandala

f) No entanto, nossa construção ainda não apresenta uma característica de uma man- dala, para isso acrescente na configuração inicial antes da função translate o comando noFill();. Esse comando remove o preenchimento das construções permitindo so- brepor as linhas visualmente como podemos ver através da Figura 53(a).

g) O que acontece com a mandala se acrescentarmos logo após a cor do plano de função o comando rectMode(CENTER);. Teste esse comando e observe seu efeito.

(a) Mandala expandida (b) Mandala compactada

Figura 53: Applet 8.1: Mandala em duas perspectivas centrais

O comando rectMode combinado com o modo CENTER afeta como os retângulos são desenhados conforme mostra a Figura 53(b), esse modo faz com que o primeiro e o segundo parâmetro do retângulo seja o centro da construção para uma largura e altura estabelecida, para os alunos perceberem a diferença solicitem que ocultem o comando noFill e execute o programa. Depois oculte o comando rectMode(CENTER) e questionem qual a diferença visual da construção. Assim poderá explicar como esse comando funciona na integra.

5.3 Isometria de rotação 127 Avaliação

Avaliar se todos conseguiram construir suas mandalas nos dois formatos solicitados. Com essa atividade o mediador poderá solicitar uma nova construção mudando a posição dos objetos ou inserindo novos objetos geométricos. Com isso, vai ser possível reavaliar o domínio da nova ferramenta e sua potencialidade de ensino preparando-os para aplicações mais complexas.