- Aula
- Revisão
- Editor
- Desafio
Os problemas que resolvemos até agora não necessitaram que o programa executasse diferentes ações dependendo de alguma "condição".
Suponha um aplicativo de jogo em que uma das tarefas do jogador é coletar moedas e que ao final do jogo, se o jogador tem menos do que cinco moedas ele perde todas as moedas que tem.
Nesse caso, precisamos manter uma variável no programa que armazena o número de moedas do jogador; suponha que essa variável tenha o nome moedas. No programa, temos que verificar uma "condição": se o valor de moedas é menor do que cinco. Caso a condição seja verdadeira temos que fazer a variável moedas ter o valor zero. Ou seja, a execução do comando "faça moedas valer zero" é condicional ao fato de o valor de moedas ser menor do que cinco.
Em Blockly, execução condicional é definida usando os blocos do menu Lógica da Barra de Ferramentas:
O bloco (chamado de bloco se-então) permite que blocos que estejam encaixados na abertura marcada com "então" sejam executados ou não, dependendo de uma condição.
A condição é definida em um bloco (chamado de bloco de comparação). O bloco de comparação é em geral usado encaixado em um bloco se-senão, como no exemplo abaixo:
O bloco de comparação tem dois espaços para serem preenchidos e realiza a comparação dos valores colocados nesses espaços, tendo como resultado Verdadeiro ou Falso. Se o resultado é Verdadeiro os blocos encaixados na abertura marcada com "então" são executados; se o resultado é Falso, os blocos encaixados não são executados.
Podemos selecionar o tipo da comparação usando o seletor do bloco de comparação clicando no seletor do bloco (). Podemos selecionar
- igual ("=")
- diferente ("≠")
- menor ("<")
- menor ou igual ("≤")
- maior (">")
- maior ou igual ("≥").
Considere o programa abaixo
O que ocorre na execução:
- se o valor da variável moedas é menor do que 5, o comando "faça moedas valer 0" é executado;
- caso contrário (valor de moedas maior ou igual a 5), o comando "faça moedas valer 0" não é executado.
Assim, se o valor lido para a variável moedas é 8, o programa produz na saída uma linha com o valor 8; se o valor lido para a variável moedas é 3, o programa produz na saída uma linha com o valor 0.
Veja esse programa na linguagem Python:
moedas = int(input()) if moedas < 5: moedas = 0 print(moedas)
Nota 100, nota 0
Dona Vilma é uma ótima professora, mas seus critérios para as notas são estranhos. Este semestre ela decidiu que
- alunos que tiraram na Prova 1 nota maior ou igual a 85 vão ter sua nota nessa prova aumentada para 100;
- alunos que tiraram na Prova 2 nota menor ou igual a 30 vão ter sua nota nessa prova diminuida para 0.
Implemente um programa que leia as notas das duas provas de um aluno e produza na saída as notas alteradas de acordo com o critério de Dona Vilma.
Entrada
A primeira linha da entrada contém um inteiro P1 que indica a nota da Prova 1 de um aluno. A segunda linha contém um inteiro P2 que indica a nota da Prova 2 do mesmo aluno.
Saída
Seu programa deve produzir duas linhas na saída. A primeira linha deve conter a nota da Prova 1 de acordo com o critério de Dona Vilma. A segunda linha deve conter a nota da Prova 2 de acordo com o critério de Dona Vilma.
Restrições
A entrada obedece às seguintes restrições:
- 0 ≤ P1 ≤ 100
- 0 ≤ P2 ≤ 100
Exemplos
Entrada
30 85 |
Saída
30 85 |
Entrada
90 25 |
Saída
100 0 |
Entrada
50 50 |
Saída
50 50 |
Solução
Aqui você encontra um exemplo de solução para o desafio. Mas antes de ver a solução tente resolvê-lo, criando a sua própria solução.
Solução do Desafio
Blockly
|
Python# Solução do Desafio da Aula 6 nota1 = int(input()) nota2 = int(input()) if nota1 >= 85: nota1 = 100 if nota2 <= 30: nota2 = 0 print(nota1) print(nota2) |