Diversão com Operações Lógicas - Parte 3

Operadores lógicos

Condicionais

Comparação

Booleano

Nos tópicos anteriores exploramos os operadores condicionais, aninhamentos e os de comparação. Ao usar operadores lógicos, podemos combinar duas ou mais expressões relacionadas de modo a gerar um único resultado verdadeiro ou falso. 

No makecode temos três operadores E, OU e NÃO.

 

Operador Booleano “E”

 

O operador E (and) aceita duas expressões como parâmetro. Se ambas as expressões forem verdadeiras, o operador E retornará verdadeiro, caso contrário, retornará falso. 

A tabela verdade para E que lista todas as possíveis combinações de entradas  é:

 

Como exemplo de uso do operador E podemos supor o seguinte: estamos criando um game em que o jogador ganhará 10 pontos de bônus quando atingir 50 pontos no primeiro nível. O nível do game é controlado por uma variável chamada NÍVEL, e a pontuação, por uma variável chamada PONTOS.  As figuras abaixo mostram como essas condições podem ser testadas por meio de blocos SE aninhados ou com o uso do bloco operador E.

 

Nos dois casos os pontos bônus serão somados somente quando ambas as condições são verdadeiras. Mas se as duas formas produzem o mesmo resultado, porque usar o operador E? Como você pode ver, o segundo exemplo é uma forma mais concisa de realizar o mesmo teste. 

Operador Booleano “OU”

 

O operador OU (or) também aceita duas expressões como parâmetro. Se qualquer uma das expressões for verdadeira, o operador OU retornará verdadeiro. O operador retornará falso somente quando as duas expressões forem falsas.

A tabela verdade para OU que lista todas as possíveis combinações de entradas  é:

 

Para demonstrar o uso do operador OU vamos novamente usar o exemplo da construção de um game. Digamos que os jogadores tenham um tempo limitado para alcançar o próximo nível. Eles começam com uma determinada quantidade de energia que se esgota à medida que navegam pelo nível atual. O game encerrará se o jogador não conseguir atingir o próximo nível no tempo permitido ou se o jogador gastar toda energia recebida antes de atingir o próximo nível.

Para controlar o tempo restante, iremos usar uma variável chamada TEMPORESTANTE e o nível de energia atual do jogador, usaremos uma variável chamada NIVELENERGIA.  

As figuras abaixo mostram como a condição FIMDEJOGO pode ser testada por meio de blocos SE aninhados ou com o uso do bloco operador OU.

 

Como você pode ver novamente, o uso do operador OU oferece uma maneira mais concisa de realizar o mesmo teste.  

Operador Booleano “NÃO”

 

O operador NÃO (not) aceita somente uma expressão como entrada. O resultado do operador será verdadeiro se a expressão for falsa, e falso se a expressão for verdadeira.

A tabela verdade deste operador é apresentada na imagem a seguir:

 

Vamos supor que o jogador, do mesmo game que estamos criando, não consiga passar para o próximo NÍVEL se a pontuação não for superior a 100 pontos. Observe o código apresentado na figura abaixo, se o valor da variável PONTOS for menor ou igual a 100, a expressão de teste será avaliada como verdadeira e o comando mostrar string será executado. Perceba que a expressão NÃO (PONTOS > 100) é equivalente a (PONTOS  100).

Até agora, por meio de vários exemplos, exploramos vários conceitos do makecode, incluindo comparações, instruções condicionais e operadores lógicos. Agora vamos juntar todo esse conhecimento para criar um novo projeto. #borala

Rolar para cima