Módulo 1 · Aula 1.4 · Condicionais e operadores lógicos
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐ | Scratch | C1, C2 |
Objetivos de aprendizagem
- Usar "se ... então" e "se ... então ... senão".
- Encadear condições (um "se/senão" dentro do outro) na ordem certa.
- Combinar condições com e, ou e não.
- Planejar casos de teste que passem por todos os caminhos do código.
Pré-requisitos
Aula 1.3.
Materiais
Computador; tabela de casos de teste (papel); projeto 1-4-boletim.sb3 (professor).
Conceitos
- Condição: pergunta de sim ou não. No Scratch tem forma de hexágono: "( ) > ( )", "( ) < ( )", "( ) = ( )", "tocando em [ ]?".
- "se < > então": faz os blocos de dentro só se a condição for verdadeira.
- "se < > então ... senão": escolhe um de dois caminhos. Sempre executa exatamente um deles.
- Encadear: colocar um "se/senão" dentro do "senão" de outro. A primeira condição verdadeira vence, então a ordem importa.
- e: verdadeiro só se as duas forem verdadeiras.
- ou: verdadeiro se pelo menos uma for verdadeira.
- não: inverte (verdadeiro vira falso).
- O Scratch não tem "maior ou igual". Para "nota ≥ 6" usamos o contrário: "não (nota < 6)", ou o caminho do "senão" de "nota < 6".
| A | B | A e B | A ou B | não A |
|---|---|---|---|---|
| V | V | V | V | F |
| V | F | F | V | F |
| F | V | F | V | V |
| F | F | F | F | V |
Exemplos
- Jogo: "se tocando em moeda e não está morto, ganha ponto".
- Porta da fase: "se tem chave ou é o modo fácil, a porta abre".
Regras do boletim deste projeto (inventadas para a aula)
- Mais de 10 faltas: reprovado por faltas (vale mesmo com nota alta).
- Senão, nota menor que 6: recuperação.
- Senão, nota maior que 8 e menos de 3 faltas: aprovado com louvor.
- Senão: aprovado.
Tutorial passo a passo
Parte A. Planejar os casos de teste (40 min)
- Antes de programar, preencha a coluna "esperado" da tabela abaixo usando as regras. Cada caso testa um caminho diferente.
| Caso | nota | faltas | esperado |
|---|---|---|---|
| 1 | 8 | 15 | |
| 2 | 5 | 0 | |
| 3 | 10 | 0 | |
| 4 | 9 | 5 | |
| 5 | 7 | 1 | |
| 6 | 6 | 10 | |
| 7 | 9 | 11 |
Parte B. Montar (90 min)
- Projeto novo
boletim-v1.sb3. Troque o gato pelo Parrot (ou mantenha o gato) e chame o ator de Professor. - Crie as variáveis
nota,faltasesituacao. - Monte o roteiro da bandeira: sorteia nota e faltas e transmite a mensagem nova
avaliar. - Monte o roteiro "quando eu receber [avaliar]" com os "se/senão" encaixados um dentro do senão do outro (código abaixo). Monte de fora para dentro: primeiro o "se/senão" das faltas, depois arraste o segundo para dentro do "senão" dele, e assim por diante.
Parte C. Testar cada caso (60 min)
- Para testar um caso específico sem depender do sorteio, deixe três blocos soltos na área de código: "mude [nota] para (8)", "mude [faltas] para (15)" e "transmita [avaliar]". Clicar em um bloco solto executa só ele. Clique nos três, nessa ordem. Para o próximo caso, troque os números e clique de novo.
- Confira a fala do professor com a coluna "esperado". Repita para os 7 casos.
O código completo
Ator Professor:
quando ⚑ for clicado
mude [nota] para (número aleatório entre (0) e (10))
mude [faltas] para (número aleatório entre (0) e (15))
transmita [avaliar]
quando eu receber [avaliar]
se <(faltas) > (10)> então
mude [situacao] para (reprovado por faltas)
senão
se <(nota) < (6)> então
mude [situacao] para (recuperação)
senão
se <<(nota) > (8)> e <(faltas) < (3)>> então
mude [situacao] para (aprovado com louvor)
senão
mude [situacao] para (aprovado)
fim
fim
fim
diga (junte (Nota ) com (junte (nota) com (junte (, faltas ) com (junte (faltas) com (junte (: ) com (situacao))))))O "junte" dentro de "junte" monta a frase "Nota 8, faltas 2: aprovado".
Projeto pronto: ../projetos/1-4-boletim/1-4-boletim.sb3.
Explicação do código
- Por que faltas vem primeiro? Porque a regra 1 vale "mesmo com nota alta". Se a nota fosse testada antes, um aluno com nota 10 e 15 faltas sairia "aprovado com louvor".
- O caminho do "senão" de "nota < 6" já garante que a nota é 6 ou mais. Por isso o caso 6 (nota 6) cai em "aprovado".
- O e exige as duas coisas: o caso 4 (nota 9, 5 faltas) não ganha louvor porque tem faltas demais.
Resultado esperado (testado nos 7 casos)
1 reprovado por faltas · 2 recuperação · 3 aprovado com louvor · 4 aprovado · 5 aprovado · 6 aprovado · 7 reprovado por faltas.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| Aluno com 15 faltas aparece aprovado | testou nota antes de faltas | faltas no primeiro "se" |
| Aparecem duas situações piscando | usou vários "se" soltos em vez de encaixar no "senão" | encaixar cada "se/senão" dentro do "senão" anterior |
| Nota 6 cai em recuperação | usou "nota < 7" ou "> 6" no lugar errado | revisar a regra: recuperação é menor que 6 |
| O "e" não encaixa | arrastou o "e" para dentro de um espaço redondo | o "e" encaixa só em espaço hexagonal |
Exercício guiado
Troque o "e" por "ou" na regra do louvor e refaça o teste de mesa dos 7 casos. Quais mudam? Resposta: o caso 4 (9, 5) vira "aprovado com louvor" e o caso 5 (7, 1) também, porque 1 < 3.
Desafio individual
Crie uma 5ª situação: nota exatamente 10 e zero faltas = "destaque da turma". Em que posição do encadeamento ela precisa entrar?
Desafio avançado (opcional)
Reescreva a condição "faltas > 10" usando "não" e "<". Dica: maior que 10 é o mesmo que "não (faltas < 11)" para números inteiros.
Critérios de avaliação
- Tabela de casos preenchida antes e confirmada depois.
- Os 7 casos dão o resultado esperado.
- O aluno justifica por que a regra das faltas vem primeiro.
Checklist de conclusão
Extensão
Escreva as regras de um jogo de tabuleiro que você conhece usando SE, SENÃO, E, OU. Exemplo: "SE tirou 6 OU tirou dois números iguais ENTÃO joga de novo".