Logo Saci
Projeto Programando o Futuro
Programação para Iniciantes (Blockly+Python)
registrar
login
Aula 9 - Operadores Lógicos
Avalie esta aula
 
Avalie esta revisão

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:

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:

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:

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:

  
Veja como fica o bloco de operação lógica com dois blocos de comparação usados como operandos:

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')

 

 

Entrada
Saída
Avalie este desafio

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:

  1. A = B + C; e
  2. 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
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')

 

 

Avalie este desafio

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:

R > 50   e   L < R   e   R > D.

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
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')