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