- Aula
- Revisão
- Editor
- Desafio 1
- Desafio 2
Muitas vezes a condição para uma execução condicional envolve mais do que uma comparação, e as comparações são independentes entre si.
Por exemplo, considere que na disciplina da Profa. Vilma a avaliação seja feita com duas provas, P1 e P2, e para um aluno ser aprovado as duas seguintes condições devem ser satisfeitas:
- as notas de P1 e P2 são ambas maiores ou iguais do que 50; e
- a soma das notas P1 e P2 é maior ou igual do que 140.
Um outro exemplo de condição que envolve mais de uma comparação é se quisermos escrever palavra “Parabéns” quando ao menos uma das duas condições abaixo for satisfeita:
- nota da P1 é igual a 100; ou
- nota da P2 é igual a 100.
Quando a condição envolve mais do que uma comparação vamos usar o bloco operação lógica . Esse bloco tem dois espaços em branco para serem preenchidos, que são os dois operandos da operação lógica. Clicando no seletor do bloco () podemos selecionar entre duas operações lógicas:
- e-lógico ("e")
- ou-lógico ("ou")
A operação e-lógico tem resultado Verdadeiro quando seus dois operandos forem Verdadeiros; caso contrário o resultado é Falso.
A operação ou-lógico tem resultado Verdadeiro quando pelo menos um dos dois operandos for Verdadeiro; caso contrário o resultado é Falso.
Quando executado, o bloco de operação lógica tem como resultado a operação lógica indicada. Ou seja, o bloco de operação lógica tem como resultado Verdadeiro ou Falso, dependente dos operandos e da operação lógica indicada.
Podemos usar como operando do bloco operação lógica qualquer bloco que tenha como resultado Verdadeiro ou Falso. Assim, podemos usar como operando do bloco de operação lógica um outro bloco de operação lógica. Também podemos usar como operando do bloco de operação lógica um bloco de comparação (recorde que um bloco de comparação tem como resultado Verdadeiro ou Falso). Note também que o bloco de operação lógica é muito similar ao bloco de bloco de comparação, é importante não confundir os dois:
Um exemplo de uso do bloco operação lógica é:
Um exemplo mais completo, que implementa o critério de aprovação da Profa. Vilma descrito acima é:
Veja esse programa na linguagem Python:
P1 = int(input()) P2 = int(input()) if P1 >= 50 and P2 >= 50 and P1 + P2 >= 140: print('Aprovado') else: print('Reprovado')
Móbile
O móbile na sala da Maria é composto de duas hastes e três bolas coloridas. Para que ele esteja completamente equilibrado, com todas as hastes na horizontal, como na figura à direita, os pesos das três bolas A, B e C precisam satisfazer ambas as seguintes duas condições:
- A = B + C; e
- B = C;
Dados os pesos das três bolas, seu programa deve decidir se o móbile está ou não completamente equilibrado.
Entrada
A entrada consiste de quatro linhas contendo, cada uma, um número inteiro, indicando os pesos das bolas. Os números são dados na ordem: A, B e C.Saída
Seu programa deve escrever uma única linha na saída, contendo o caractere "S" se o móbile estiver equilibrado, ou o caractere "N" se não estiver equilibrado.Restrições
- 1 ≤ A ≤ 1000
- 1 ≤ B ≤ 1000
- 1 ≤ C ≤ 1000
Exemplos
Entrada
12 6 6 |
Saída
S |
Entrada
2002 1002 1000 |
Saída
N |
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 1 da Aula 9 A = int(input()) B = int(input()) C = int(input()) if A == B + C and B == C: print('S') else: print('N') |
Impedido!
A regra do impedimento no futebol funciona dadas as posições de três jogadores: L o jogador atacante que lança a bola; R o jogador atacante que recebe a bola; e D o último jogador defensor.
Neste problema o campo tem 100 metros de comprimento. Dadas as posições desses três jogadores, no momento exato do lançamento, haverá impedimento se e somente se a seguinte condição for verdadeira:
O seu programa deve determinar, dadas as três posições L,R e D, se há ou não impedimento, implementando exatamente a condição acima. A figura abaixo mostra um exemplo onde não há impedimento:
Entrada
A entrada é composta de três linhas, contendo os três inteiros L, R e D, nessa ordem.Saída
Seu programa deve produzir uma única linha, contendo um único caractere, que deve ser "S" caso haja impedimento, ou "N" caso contrário.Restrições
- 0 ≤ L ≤ 100
- 0 ≤ R ≤ 100
- 0 ≤ D ≤ 100
Exemplos
Entrada
35 60 75 |
Saída
N |
Entrada
55 68 67 |
Saída
S |
Entrada
66 80 80 |
Saída
N |
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 2 da Aula 9 L = int(input()) R = int(input()) D = int(input()) if R > 50 and L < R and R > D: print('S') else: print('N') |