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

Neste tutorial você irá aprender a usar os recursos necessário para a criação de programas que possam comparar valores, avaliar expressões lógicas e tomar decisões de acordo com os resultados. 

Objetivos:

  • Entenda o que são declarações condicionais e, por que e quando usá-las em um programa;
  • Entenda técnicas básicas de resolução de problemas;
  • Entenda o que são declarações condicionais e por que e quando usá-las em um programa.
  • Aprenda a usar os blocos lógicos “se … então” e “se … então … senão“.
  • Pratique a codificação utilizando os blocos lógicos de forma o obter resultados específicos para condições diferentes.
  • Demonstre compreensão e aplique suas novas habilidades, criando um projeto que use o  micro:bit e um programa que explore as  condicionais de maneira correta e eficaz.

Operações lógicas e a história de George Boole

Os programas que criamos até agora seguem um modelo de execução simples. Começam com a primeira instrução, essa é executada, segue-se a próxima instrução e assim por diante, até que o final do programa é atingido. Os blocos de comandos desses programas são executados em sequência, seja disparado por um evento, como o pressionar de um botão, seja em um loop “sempre”, sem que algo seja ignorado e sem que haja saltos.

Em várias situações, pode ser necessário que esta sequencia de ações seja alterada para obter resultados específicos de seu pseudocódigo. Em primeiro lugar iremos apresentar os blocos condicionais, em seguida os operadores de comparação, e por fim os blocos de operações lógicas (booleano), como uma alternativa para testar múltiplas condições (na lição anterior explicamos brevemente sobre eles).

Condicionais

Comparação

Booleano

Todos nós estamos familiarizados com o conceito de condicionais em nossas vidas diárias!

Ainda me lembro de meus pais dizendo ..?

  • “Se você limpar seu quarto, pode sair brincar com seus amigos.”
  • “Se a lição de casa estiver pronta, você poderá assistir tv.”
  • “Se você fizer as tarefas da casa a semana toda, vai ter mesada, caso contrário, sem mesada e ainda vai ficar de castigo.”

Todas estas frases são condicionais! Os condicionais seguem o formato de SE isto, ENTÃO aquilo.

 

SE (condição atendida), ENTÃO (ação executada)

 

A parte SENÃO garante que uma ação diferente seja executada caso a primeira não seja atendida.

Pense em situações que tenham condicionais de suas próprias vidas.

Talvez estas inquietações e questionamentos levaram a George Boole a seus estudos e seu trabalho sobre a lógica booleana.

Os booleanos e o mundo real

A palavra booleano (Boolean) é usada para homenagear George Boole, um matemático britânico do século XIX que inventou um sistema de lógica baseado em apenas dois valores: 1 ou 0, verdadeiro ou falso. A álgebra booleana tornou-se a base da ciência da computação moderna. Em nosso cotidiano, usamos expressões booleanas o tempo todo para a tomada de decisões. Um sistema doméstico de segurança poder ser programados para acionar um alarme caso o código (senha) inserido esteja incorreto (senhacorreta = falso) ou desativá-lo caso a senha esteja correta (senhacorreta=verdadeiro).  Seu smartphone poderá mostrar um ícone de aviso quando a carga da bateria estiver baixa (cargabaixa = verdadeiro) e removê-lo  quando a carga estiver em um nível aceitável (cargabaixa =  falso).

George Boole

Matemático Britânico, nasceu em Lincoln em 2 de Novembro de 1815. Filho de um Sapateiro, não tendo assim condições financeiras para obter um grau elevado em termos de educação. Mas a sua determinação o levaria ultrapassar este obstáculo. Enquanto criança estudou na Escola Primária Lincoln, e depois em uma Escola Comercial.

George Boole é mais conhecido por seu trabalho sobre lógica booleana que recebeu seu nome. A HacKids gosta de celebrar pessoas famosas da história da ciência e tecnologia, por isso vamos falar um pouquinho sobre ele. 🙂

A lógica booleana é um conceito fundamental na computação e é definitivamente algo importante para aprendermos hoje. Mas, além de aprendermos sobre as idéias, achamos importante aprender de onde elas vieram.


O que é álgebra booleana?

A lógica booleana usa E, OU, NÃO(AND, OR, NOT) e alguns operadores relacionados para avaliar se as instruções são VERDADEIRO ou FALSO (TRUE ou FALSE | 1 ou 0 | ON ou OFF). É simples, mas algo realmente poderoso. Não é um exagero dizer que a lógica booleana é um dos conceitos fundamentais da era da tecnologia.


E quem foi George Boole?

George Boole de inicio interessou-se por línguas, tendo aulas particulares de Latim com um livreiro local. Aos doze anos de idade já conseguia traduzir um Poema Lírico em Latim, do poeta Horácio, demonstrando assim enormes capacidades. Aos 16 anos já era Professor Assistente, quatro anos mais tarde acabaria por fundar a sua própria Escola isto em 1835. Já há algum tempo que Boole estudava matemática sozinho, embora seu pai o tivesse estimulado quando era novo ao dar-lhe um conjunto  de construção de Instrumentos Ópticos.

Trabalhos de Laplace e Lagrange eram alvo do estudo de Boole. Recebeu encorajamento de Duncan Gregory, Editor de um Jornal Matemático, para estudar em Cambrige. Contudo não abandonaria seus pais que necessitavam dos seus cuidados.


Boole tornou-se rapidamente conhecido, e o seu trabalho e idéias reconhecidos por todos os Matemáticos Britânicos e não só. 1840 foi o ano em que foi eleito para ocupar o lugar de Professor principal de Matemática na Irlanda, em Queen´s College em Cork. E seria ali, que Boole iria permanecer para o resto da vida.

Uma investigação sobre as Leis do Pensamento, seria em 1854 a sua nova publicação, onde estão cimentadas as Teorias da Lógica e das Probabilidades. Ele conseguiu aquilo que é conhecido como Álgebra de Boole, pois abordou a Lógica, de forma a reduzi-la a uma Álgebra simples, inserindo Lógica em Matemática.

Boole casou em 1855, com Mary Everest.


Em 1857 foi eleito membro da Royal Society, e recebeu Honras e reconhecimento das Universidades de Dublin e Oxford.


Do seu casamento, com Mary Everest teve cinco filhas. Boole viria a falecer em 1864, com apenas 49 anos de idade vitima de Pneumonia. Hoje em dia a Álgebra de Boole, é aplicada na construção dos Computadores, sendo assim uma das razões fundamentais da revolução que estes estão provocando no mundo de hoje.

Aplica-se igualmente à pesquisa de Inteligência Artificial e na ligação dos telefones, entre muitas outras atividades.


Boole foi contemporâneo de Ada Lovelace (falaremos desta cientista incrível em outro momento), viveu e trabalhou durante um período que o permitiu ver o nascimento da era da tecnologia.


Boole estava interessado em educação e teve cinco filhas. Uma de suas filhas, Alice Boole Stott, tornou-se uma matemática. Outra, Lucy Everest Boole foi a primeira professora do sexo feminino na Escola de Medicina de Londres (para mulheres) do Royal Free Hospital e também a primeira mulher do Royal Institute of Chemistry.


Boole foi e continua a ser considerado pelos colegas de profissão, e por todos aqueles que se dedicam à matemática, como tendo sido um homem genial.

Em 02 de novembro de 2015 foi comemorado 200 anos de seu nascimento e o 


Google fez uma homenagem a ele com o doodle especial:

George Boole’s 200th Birthday

Condicionais

Condicionais

Comparação

Booleano

O bloco SE corresponde a uma estrutura de decisão que oferece a capacidade de especificar se um conjunto de comandos deve (ou não) ser executado, de acordo com o resultado de uma condição de teste. 

 

Nas lições anteriores utilizamos o bloco de entrada “no botão … pressionado”, digamos que este botão tem a função de “escutar” a ação do botão e reagir conforme a programação dentro dele. Como ilustrado na figura ao lado.

Podemos obter este mesmo resultado usando a instrução SE <condição for atendida> ENTÃO <faça algo>.  

 

Observe que colocamos o bloco lógico SE dentro do bloco SEMPRE e adicionamos o bloco botão A é pressionado da categoria Entrada , substituindo a condição verdadeiro.

A execução será a seguinte: o programa sempre passará pelo bloco condicional SE, se for detectado que o botão A é pressionado o fluxo do programa será deslocado para dentro do bloco SE e executará a ação MOSTRAR ÍCONE. Este teste lógico será realizado enquanto o micro:bit estiver ligado.

 

 

Experimente… teste!!!

 

Que tal você fazer esta programação e testar no simulador.

Ao manter o botão A pressionado a imagem do coração grande seja mostrada.

Algumas ideias para você testar:

  • Altere o bloco “botão … é pressionado” para B;
  • Adicione outro bloco SE de forma que o coração grande seja  mostrado apenas se o botão A e B estejam pressionado.

Else

No exemplo anterior, o que acontece o o usuário não apertar o botão A? Você deve ter percebido que sempre é mostrado no display de LED´s o coração pequeno apenas. 

Se quisermos que sempre mostre a tela limpa, e somente mostre a mensagem Olá mundo!!! quando o usuário apertar o botão A. 

A imagem ao lado, demonstra esta possibilidade de uso. 

Recapitulando:

 

O bloco SEMPRE garante que nosso código seja executado para sempre. Se o usuário não pressionar o Botão B do micro:bit, a mensagem “Pressione B!” será exibida na tela, se o usuário pressionar o Botão B a mensagem “Você pressionou!” será apresentada. 

Não esqueça, você sempre pode utilizar o simulador para fazer os testes.

Rolar para cima