Olá, aluno(a)! Aprender a estruturar uma decisão e um resultado por meio das proposições será um conhecimento bastante útil para você! Aliás, desenvolver o raciocínio lógico é algo importante, pois as empresas priorizam muito pessoas com essa característica.
Nesta lição, portanto, você terá a oportunidade de aprender sobre o que é uma proposição e como aplicar sua estrutura. Afinal, em computação, na grande maioria das situações, você precisará criar estruturas de decisão baseadas em situações encontradas pela interação do usuário. Vamos lá?
Durante muitos e muitos anos, a lógica foi uma área de conhecimento pertencente à filosofia. Foi o grego Aristóteles que elaborou estudos baseados em argumentações, e estas tinham que ser testadas como válidas para assumirem a posição que lhes devia como verdadeiro ou falso.
Isso persistiu por muitos anos. Porém, com a ideia de obter avanços, sobretudo no que se refere à automatização, alguns cientistas e matemáticos começaram a aplicar a ideia da lógica em outras áreas.
Foi somente no século XIX que George Boole e Augustus de Morgan iniciaram os estudos de lógica algébrica. Esses estudos foram fundamentais para os anos que viriam à frente, sobretudo para algumas coisas que já vimos, como a invenção do tear por meio de cartões perfurados, a máquina de censo etc.
Assim, a lógica matemática tornou-se fundamental para que a programação de computadores realmente se tornasse uma ciência fundamentada.
São muitas as situações em que a álgebra de proposições pode ser utilizada. Pense, por exemplo, no caso de um robô autônomo. Para ele, realizar determinadas atividades que para nós são bastante simples, pode ser algo complexo.
Em 2011, orientei um trabalho de um braço robótico que identificava um objeto (no caso uma bola nas cores amarela, verde ou vermelha), a pegava e levava até dentro de uma caixa.
Para realizar essas ações, o robô precisa muito da álgebra das proposições. Por exemplo, ele precisa da lógica para decidir se o objeto já está seguro em suas garras robóticas e, também, para realizar o giro no momento certo para abrir as garras para soltar a bola. Além disso, ainda existe o retorno, que somente será feito se ele tiver soltado a bola.
Aprender as proposições é fundamental para se tornar um bom desenvolvedor de software.
Representar conhecimento é uma das muitas maneiras de conseguirmos passar dados para realizar uma computação, e uma das maneiras de se fazer isso é por meio da álgebra das proposições. De acordo com Guimarães e Lages (2005), proposição é qualquer afirmação verbal em que podemos dizer se ela é falsa ou verdadeira, sendo que algumas são compostas de subproposições ligadas por conectivos: e, ou e não. Temos alguns tipos:
Conjunção
Quando duas proposições podem ser combinadas pelo conectivo “e” para formar uma proposição chamada conjunção das proposições originais. A conjunção das proposições P e Q pode ser representada por P ٨ Q, onde lemos p e q.
Sejam as proposições:
p: Paris está na França
q: Paris está na Inglaterra
r: 2+2=5
s: 2+2=4
Qual será o valor verdade (falso, verdadeiro) das conjunções?
1 – p ٨ s
2 – p ٨ r
3 – q ٨ s
4 – q ٨ r
Conseguiu descobrir se o valor verdade é Falso ou Verdadeiro? Em nossos exemplos seria, nessa ordem: V, F, F, F.
A tabela a seguir nos ajuda:
No caso das conjunções, fica claro, então, que, para uma proposição ser considerada verdadeira, é necessário que ambas sejam verdade. Do contrário, o resultado sempre será falso.
Disjunção
Quando duas proposições podem ser combinadas pelo conectivo “ou”, que será representado por P V Q.
Sejam as proposições:
1 – p V s
2 – p V r
3 – q V s
4 – q V r
Você consegue descobrir o valor verdade de cada uma? Seria nessa ordem: V, V, V, F.
Mais uma vez, a tabela nos ajuda:
No caso das disjunções, fica claro que basta uma das proposições serem verdadeiras para que o valor verdade seja também verdadeiro. Apenas se ambas forem falsas, temos como resultado o valor verdade falso.
Negação
Se tivermos uma proposição p qualquer, uma outra proposição chamada negação de p pode ser formada se escrevermos “É falso que...” antes de p ou, se inserirmos a palavra “não” em p.
Podemos representar por: ┐p
Se pensarmos nas proposições anteriores para p e r, teremos:
┐p : é falso que Paris esteja na França – é portanto uma proposição falsa
┐r : é falso que 2+2=5 – é portanto uma proposição verdadeira
Assim temos, conforme a tabela a seguir:
De acordo com as Leis De Morgan, temos:
┐(p ٨ q) = ┐p V ┐q
Ou seja, a negação de p e q é igual a negação de p ou negação de q.
Também é bom lembrar alguns princípios que regem esse conhecimento das proposições:
Princípio da Identidade: os valores da proposição são sempre soberanos, ou seja, se ela é verdade, sempre será verdade.
Princípio do Terceiro Excluído: os valores aceitos para uma proposição serão e somente serão verdadeiro ou falso. Não há um terceiro valor ou uma terceira possibilidade.
Princípio da Não Contradição: uma proposição não pode ser verdadeira e falsa de forma simultânea.
Essa é uma área que ainda possui muitos estudos e seu uso é essencial para o treinamento de Inteligência Artificial e criação de sistemas autônomos e automatizados como semáforos, controle de tráfego e tomada de decisão, pois permite a criação de mais simplificações nas tecnologias.
Por meio da programação, podemos aplicar e criar muitas soluções com o princípio das proposições. Portanto, além de nos auxiliar a criar o pensamento lógico, a programação também nos possibilita estruturar diversas formas de construção de situações por meio do formato como ela foi pensada.
Pense, por exemplo, na criação de determinadas situações, como um elevador que está subindo e é solicitado para descida. Podemos aplicar exatamente as proposições para pensar em como estruturar e o que decidir nessa situação.
Outro exemplo bastante claro seria o login em um site, por exemplo. Ainda podemos citar um controle por voz ou por íris, uma identificação por cartão e senha e até mesmo uma automação de lâmpada de acordo com a temperatura ambiente.
É interessante que as linguagens de programação sempre foram estruturadas para conter esse tipo de aplicação, sendo que é muito importante aprender bem, pois essa lógica é essencial para criação de softwares confiáveis.
GUIMARÃES, A. M.; LAGES, N. A. Introdução à Ciência da Computação. Rio de Janeiro: LTC, 2005.