Lista e Recursão - Criando Um Projeto de Fusão de Personagens - Slides - AULA4 - 4 Bim

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 14

Habilidades trabalhadas nesta aula:

(EF08MA22) Calcular a probabilidade de eventos, com base na construção do espaço amostral, utilizando
o princípio multiplicativo, e reconhecer que a soma das probabilidades de todos os elementos do espaço
amostral é igual a 1.
(EF08CO02) Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas
informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como
uma técnica de resolver o problema.
(EF08CO11) Avaliar a precisão, relevância, adequação, abrangência e vieses que ocorrem em fontes de infor-
mação eletrônica.

Aula 4

2 + 1 = 21 ou 12?

Unidade

Lista e recursão: criando um


projeto de fusão de personagens
O que vamos aprender?

Utilizar blocos condicionais.

Aplicar variáveis para otimizar


o código.

Praticar a verificação do
funcionamento do código.
ACOMPANHE O VÍDEO DA AULA

2
Todas as combinações
Na aula anterior, programamos nosso código para que ele escolha as
fantasias 1 e 2 dos personagens de forma aleatória, concatenando ambas
para formar a fantasia do aluramon final. Nesta aula, faremos um ajuste
na troca dessas fantasias, ajustando a ordem com que elas são descritas
em nosso código, além de deixamos mais fácil a visualização e testagem
desse código.
Questione os estudantes sobre qual é a
necessidade de organização do código
ao longo da construção de um projeto.
Conduza a discussão para que enten-
dem que, quanto mais claro e organiza-
do o código estiver, mais fácil será a sua
testagem de funcionamento, bem como
a compreensão de outras pessoas que
possam acessar e contribuir na constru-
ção do projeto. Além disso, garanta que
o funcionamento da aplicação do código
esteja claro para todos, pois, como esta
aula é focada em fazer uma correção de
bug, é importante ter clareza do funcio-
namento atual.

3
Nosso código atual tem o seguinte problema: quando o valor de
Fantasia 1 é maior que o de Fantasia 2, o resultado é uma fantasia que
não existe para o aluramon final. Veja o exemplo a seguir.

Como a Fantasia 1 está como 5 e Fantasia 2 está como 1, a concatenação


forma P51, que não existe para o aluramon final. Para esse personagem,
temos apenas a fantasia P15. Como podemos fazer a correção?
Existem várias formas de resolver esse problema, e é interessante discutir as possíveis soluções com os estudantes antes de seguir com os próximos
passos desta aula. Uma outra maneira, além da descrita nesta aula, é duplicar as fantasias e renomeá-las de forma com que passem a ter ambos os 4
nomes. Por exemplo, podemos duplicar a fantasia P15 e renomeá-la como P51.
Uma possível solução é, quando a Fantasia 1 for maior que a Fantasia 2,
podemos inverter os seus valores no código.
Com o personagem aluramon final selecionado, começaremos

adicionando um bloco após o bloco de transmissão de mensagens.

Por enquanto, podemos separar


o bloco de Aparência do
restante do script.

5
A condição que queremos avaliar é se Fantasia 1 é maior que Fantasia 2.
Para isso, podemos utilizar o operador que compara dois valores,
analisando se um deles é maior que o outro.
Sendo assim, da seção Operadores, arrasteremos o bloco
e o colocaremos no espaço da condicional se. Depois, colocaremos a
variável Fantasia 1 no primeiro espaço desse bloco e a variável Fantasia 2
no segundo espaço.

É fundamental relembrarmos o funcionamento do bloco de condicional. Ele avalia uma expressão como verdadeira ou falsa: se verdadeira, executa
uma instrução determinada; senão, executa outra instrução.

6
Nesse caso, inverteremos a concatenação. Em vez de usarmos a
sequência definida anteriormente, colocaremos na primeira condicional
a operação de e, na condicional de caso a

expressão seja falsa, a operação de .

Nessa parte da aula, invista o tempo necessário para que os estudantes consigam assimilar o motivo dessa mudança na ordem das condicionais,
utilizando exemplos que ajudem a clarificar o uso do se/senão para a sala.
7
Agora, faremos outra alteração para melhorar nosso código. Essa alteração
não alterará o seu funcionamento, mas vai deixá-lo mais legível, facilitando
a confirmação do seu funcionamento correto.
Na seção Variável, criaremos uma variável e a nomearemos de
nome aluramon.

8
Em seguida, ainda da seção Variáveis, arrastaremos o bloco
e o colocaremos em nossa concatenação, no espaço abaixo da
condicional se. Além disso, alteraremos o campo desse bloco de
fantasia1 para nome aluramon. Por fim, arrastaremos nosso conjunto
de blocos de operação que está na condicional se para dentro do espaço
vazio do bloco de variável. O resultado deverá ser este:

É importante reforçar que esse passo otimiza o código, ainda que ele esteja executando as mesmas funções de antes. Essa otimização permite testes
e legibilidade mais eficientes.

9
Faremos o mesmo para a condicional senão, lembrando sempre de
inverter a ordem de Fantasia 1 e Fantasia 2.

10
Agora, o valor da fantasia concatenada está na variável .
Podemos utilizar, ao final do nosso script, um único bloco de

Aparência , adicionando nossa variável no campo de

escolha desse bloco.

11
A vantagem de fazermos essa mudança no código é que a caixa de texto
apresentando valor da variável surge na tela. Dessa forma, podemos
verificar se o nosso código está funcionando corretamente.
Perceba que, mesmo a ordem das fantasias sendo 3 e 1, a variável
recebeu P13, ou seja, está fazendo corretamente a inversão
entre as fantasias.

12
Para escondermos a caixa de texto da variável, basta clicarmos com o
botão direito do mouse e selecionarmos a opção esconder.

Com isso, concluímos nossa aula. Não se esqueça de salvar o seu


progresso até aqui e de sair de sua conta do Scratch.
13
Desafio
Espera-se que os estudantes utilizem o mesmo raciocínio que foi usado em aula para resolver o problema dos
números das fantasias, para resolver esse novo desafio. Eles precisarão criar e utilizar apenas mais uma condi-
cional, que será a condicional de quando os números das fantasias forem iguais. Ainda que os estudantes não
implementem algo que resolva o problema completamente, se eles entenderem o raciocínio de que precisarão
usar mais uma condição no código, já é um passo importante na estruturação do pensamento sobre resolução
de problemas, na forma de código.

Nesta aula, aprendemos a criar uma condição para inverter a ordem


com que os números das nossas fantasias são estruturados no
código, visando garantir que não ocorram erros no programa.
Você deve se lembrar de que, nas aulas anteriores, para lidar com
fantasias de números iguais, mudamos os nomes dessas fantasias
(ex: P1 para P11). Pensando nisso, como poderíamos resolver esse
problema utilizando código em vez de trocar os nomes das fantasias?
Nesse caso, os nomes dessas fantasias permaneceriam como P1, P2,
P3 etc. Seu desafio é propor essa solução usando blocos do Scratch!
Não se esqueça de realizar uma cópia do seu projeto para resolver
o desafio.

CLIQUE AQUI PARA AVALIAR ESTE MATERIAL


14

Você também pode gostar