Computacional
Thiago Pinheiro Felix da Silva e Lima
© 2020 por Editora e Distribuidora Educacional S.A.
Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou
transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo
fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de
informação, sem prévia autorização, por escrito, da Editora e Distribuidora Educacional S.A.
Imagens
Adaptadas de Shutterstock.
Todos os esforços foram empregados para localizar os detentores dos direitos autorais das
imagens reproduzidas neste livro; qualquer eventual omissão será corrigida em futuras edições.
Conteúdo em websites
Os endereços de websites listados neste livro podem ser alterados ou desativados a qualquer momento
pelos seus mantenedores. Sendo assim, a Editora não se responsabiliza pelo conteúdo de terceiros.
ISBN 978-85-522-1688-9
CDD 511.3
Jorge Eduardo de Almeida CRB-8/8753
2020
Editora e Distribuidora Educacional S.A.
Avenida Paris, 675 – Parque Residencial João Piza
CEP: 86041-100 — Londrina — PR
e-mail: editora.educacional@kroton.com.br
Homepage: http://www.kroton.com.br/
Sumário
Unidade 1
Princípios fundamentais da matemática e
da lógica���������������������������������������������������������������������������������������������������������� 7
Seção 1
Fundamentos de lógica���������������������������������������������������������������������� 9
Seção 2
Evolução da lógica����������������������������������������������������������������������������20
Seção 3
Princípios matemáticos�������������������������������������������������������������������32
Unidade 2
Álgebra de conjuntos ���������������������������������������������������������������������������������49
Seção 1
Teoria dos conjuntos������������������������������������������������������������������������50
Seção 2
Álgebra de conjuntos ����������������������������������������������������������������������61
Seção 3
Aplicações de teoria dos conjuntos������������������������������������������������73
Unidade 3
Fundamentos da Lógica �����������������������������������������������������������������������������89
Seção 1
Introdução à lógica proposicional��������������������������������������������������91
Seção 2
Conectivos e classificação textual������������������������������������������������ 104
Seção 3
Métodos dedutivos e inferência lógica��������������������������������������� 119
Unidade 4
Tabela Verdade������������������������������������������������������������������������������������������ 133
Seção 1
Construção da Tabela Verdade���������������������������������������������������� 135
Seção 2
Resultados na Tabela Verdade���������������������������������������������������� 149
Seção 3
Aplicações Tabela Verdade����������������������������������������������������������� 162
Palavras do autor
P
rezado aluno, seja bem-vindo! Vamos dar início à disciplina de Lógica
Computacional, que trará conteúdos fundamentais para a construção
de algoritmos e a compreensão de linguagens de programação,
premissas importantes para disciplinas ligadas à computação e ao desenvol-
vimento de sistemas.
Na primeira unidade você terá a oportunidade de conhecer e explorar os
princípios da lógica, estudar sua evolução e tomar contato com os princípios
matemáticos que a regem. Na segunda unidade, você aprenderá a teoria de
conjuntos, suas operações, os conceitos em diversos casos, além de conhecer
aplicações. Na terceira unidade do material, você terá contato com práticas
e técnicas de lógica proposicional, incluindo o uso de conectivos, métodos e
inferências lógicas. Finalmente, na quarta e última unidade, você conhecerá
a tabela verdade e aplicará seus conceitos em problemas relacionados à lógica
computacional; vai aprender como construir a tabela verdade, analisar seus
resultados e suas aplicações.
Caro aluno, a lógica computacional contém assuntos multidisciplinares e
contribuirá para formação do seu senso crítico, pensamento lógico e racional.
Espero que você se sinta motivado a dedicar seu tempo e seus esforços a um
estudo que lhe proporcionará chances reais de assimilar os conceitos e as
práticas que você utilizará na sua vida profissional.
Vamos lá!
Unidade 1
Thiago Pinheiro Felix da Silva e Lima
Convite ao estudo
Olá, prezado aluno, seja bem-vindo! Nesta unidade você terá contato
com os princípios fundamentais da matemática e da lógica. A partir desses
conhecimentos, você estará pronto para se aprofundar no estudo da lógica
computacional, que vai ajudá-lo a entender como trabalhar com progra-
mação e a construir algoritmos.
Hoje em dia, com sistemas informacionais espalhados por todos os
setores da economia e em nosso dia a dia, as escolhas profissionais mais
populares quanto à profissão a seguir são, com certeza, voltadas à compu-
tação, programação ou análise de sistemas. O surgimento das startups é uma
tendência, e a demanda por profissionais qualificados em programação tende
a subir. Frente a isso, para que o profissional tenha condições de progredir na
profissão que demanda construção de sistemas que envolvem software, será
necessário um conhecimento sólido de lógica computacional.
Para resolver esses desafios, nesta unidade você aprenderá o que são
argumentos, inferências, silogismos e falácias, aprenderá a diferenciar
o raciocínio indutivo do raciocínio dedutivo e poderá comunicar-se de
maneira eficiente. Aprenderá também a classificar a lógica empírica e pura,
diferenciando-as conforme o estudo de lógica transcendental. Você também
compreenderá como se deu a evolução da lógica até os dias atuais explorando
problemas ligados à área computacional.
Na primeira seção apresentaremos os fundamentos de lógica, conheci-
mento essencial para se compreender quais são as origens da lógica e conse-
guir classificá-la. Na segunda seção desta unidade, você será apresentado à
evolução histórica da lógica, começando pelos conhecimentos de Aristóteles
até à lógica utilizada nos sistemas computacionais atuais. Na terceira e última
seção desta unidade, você vai explorar alguns princípios da matemática
relacionados à lógica computacional, conhecer seus fundamentos e conceitos
e ter contato direto com sua aplicação, abordando especialmente alguns
tópicos de análise combinatória e teoria das probabilidades.
Aproveite bem a oportunidade de praticar o estudo dos fundamentos da
lógica; tais conceitos são de suma importância para que o profissional que
desenvolve sistemas de software utilizando diferentes linguagens de progra-
mação e algoritmos execute, de forma eficaz, suas funções técnicas e tenha
resultados profissionais excepcionais.
Bons estudos!
Seção 1
Fundamentos de lógica
Diálogo aberto
Caro aluno, nesta seção será apresentada a definição de lógica e você
aprenderá a classificá-la como indutiva e dedutiva a fim de construir
argumentos válidos e tirar conclusões lógicas a partir de afirmações. Este
estudo é importante para o trabalho na medida em que, ao conversar com
pessoas, por escrito ou por meio da fala, não haja falha de comunicação
ou má interpretação. É fundamental considerar também que tais conceitos
permitem a construção de algoritmos para a resolução de problemas do
cotidiano e, posteriormente, o desenvolvimento de programas de compu-
tador (softwares) de forma a minimizar a existência de bugs, falhas e demais
comportamentos não esperados.
Para motivar sua aprendizagem, imagine que você trabalha em uma
empresa de tecnologia que ajudou a fundar, uma startup que desenvolve
aplicativos para o setor industrial. Para negociar com seu cliente, papel que
é de sua responsabilidade na empresa, você tem que usar o raciocínio lógico
para interpretar as intenções das pessoas que se relacionam comercialmente
com você e conseguir demonstrar seu produto e fechar vendas.
Seu desafio é interpretar se um negócio pode ou não ser fechado a partir
de frases contidas nos e-mails de seus clientes. Você deverá utilizar as classifi-
cações de lógica indutiva e dedutiva para esse exercício e pensar sobre possí-
veis diálogos de negociação. O ponto principal a ser entendido é: a partir
de uma determinada frase do cliente, como podemos inferir algumas outras
conclusões com grande probabilidade de acerto, ou seja, visando à venda de
um produto?
Por exemplo, a partir de um e-mail do cliente, você extraiu as
seguintes frases:
“Realizamos dezenas de testes com o seu software e em todos ele foi capaz
de chegar à melhor solução para nosso problema.”
“Nos últimos anos, os softwares que resolveram nossos problemas foram
adquiridos para a melhoria de nossos processos.”
Você deverá concluir, com base na lógica clássica, se o cliente está
motivado a adquirir o produto compondo argumentos e esclarecendo se a
lógica utilizada é a indutiva ou a dedutiva.
9
Os conteúdos teóricos necessários para vencer o desafio estão apresen-
tados nesta seção, na qual serão caracterizadas as definições de lógica, a
lógica transcendental e formal, classificação da lógica: indutiva, dedutiva,
clássica, não clássica.
Sua aprendizagem será importante para um futuro profissional de
sistemas computacionais, em especial os relacionados à análise de sistemas e
linguagem de programação. Então, bom trabalho!
10
• Premissas: consistem em proposições que são utilizadas como base
para um raciocínio. Pode-se dizer que são as proposições do silogismo.
• Argumento: conjunto de enunciados que se relacionam uns com
os outros.
• Silogismo: consiste em um raciocínio dedutivo (premissas) e possibi-
lita a dedução de uma conclusão a partir das premissas.
• Falácia: consiste em argumentos que logicamente estão incorretos.
A partir dos vocabulários, podemos definir os tipos de lógica existentes,
entre os quais estão a lógica formal e a lógica transcendental.
A lógica formal começa nos estudos de Aristóteles, na Grécia Antiga.
A lógica é dita formal quando analisa e representa a forma de qualquer
argumento para que possa ser considerado válido para alguma conclusão.
A lógica formal lida com as relações entre premissas e as conclusões que
se chegam a partir das premissas, independentemente se a premissa é verda-
deira ou falsa (MUNDIM, 2002).
A lógica busca uma harmonia de raciocínio utilizando-se de argumentos
para se desenvolver um raciocínio, bem como traz regras a fim de que um
raciocínio encadeado corretamente possibilite conclusões verdadeiras,
conforme expôs Fajardo (2017).
Para se entender a lógica formal e como formamos nosso raciocínio é
importante ter em mente alguns conceitos. Uma proposição é um pensa-
mento em forma de frase declarativa. Essa proposição pode ser verdadeira
ou falsa. A lógica não permite concluir se uma proposição ou afirmação é
verdadeira ou falsa, ela apenas garante que, com base em premissas verda-
deiras, seja possível chegar a conclusões verdadeiras.
Portanto, temos que as premissas podem ser verdadeiras ou falsas. Se
afirmo que o céu está claro e sem nuvens, você pode olhar pela janela e
concluir se a afirmação é verdadeira ou falsa. Se estiver chovendo, você dirá
que minha afirmação é falsa. Por outro lado, um argumento pode ser válido
ou inválido.
Exemplificando
Se eu afirmar (premissas):
Então (conclusão):
11
Em um dia sem nuvens, João sairá com seu guarda-chuva.
12
• A flecha que voa jamais sai do lugar, porque, em cada instante de
tempo, ocupa uma só posição no espaço, logo, ela está imóvel todo
o tempo.
• Entre dois pontos existem infinitos pontos. Ninguém pode atravessar
infinitos pontos. Então, não há movimento.
Quando a partir de argumentos válidos e verdadeiros obtemos conclusões
falsas, temos erros de raciocínio. Os paradoxos apresentados mostram que
conceituar o infinito com a linguagem tradicional escrita é muito complicado
quando lidamos com conceitos abstratos.
Um famoso silogismo presente nessa interpretação de Zenão de Eléia
apresenta que o herói Aquiles nunca seria capaz de alcançar uma tartaruga,
pois quando Aquiles alcançasse a posição da tartaruga, ela já teria avançado
mais um pouco.
É por isso que foi desenvolvida a lógica simbólica, relacionada à
matemática, a partir do século XIX. Ela permite a expressão das premissas e
de suas relações por meio de símbolos matemáticos, construindo equações
para expressar argumentos. Tal linguagem é absolutamente precisa e não dá
margem a duplas interpretações.
Vamos estudar mais à frente que a lógica matemática originou a lógica
utilizada em computadores, que são sistemas digitais construídos para
executar tarefas programáveis e que fornecem respostas e saídas exatas,
conforme determinado conjunto de instruções e dados fornecidos a
esses sistemas.
A lógica transcendental é desenvolvida por toda a obra do filósofo
Immanuel Kant, em especial em seu célebre livro Crítica da Razão Pura
(2015). Nesse livro, Kant discute que nosso conhecimento, o conhecimento
humano, parte de duas fontes principais. A primeira trata da receptividade
das impressões por meio de nossos sentidos; a segunda fonte é relativa
à faculdade de conhecer um objeto por representações mentais, a partir
do pensamento.
Desse modo, a lógica transcendental opera a partir das representações,
dos conceitos e não das coisas em si. Trata-se de uma investigação sobre
as representações a priori, as categorias, os conceitos puros em relação aos
objetos, enquanto a Lógica geral se volta para a forma lógica do pensamento.
Kant distingue Conhecimento Empírico e Conhecimento Puro.
13
O Conhecimento Empírico ou conhecimento a posteriori está relacio-
nado ao que é obtido por meio de nossos sentidos, à observação, à experi-
mentação, com base na presença real de determinado objeto.
Já o Conhecimento Puro, também chamado de conhecimento a priori,
é relativo à representação que não se mescla com a sensação, é puramente
racional, não depende de nenhuma informação vinda de nossos sentidos.
Como vimos anteriormente ao discutirmos as inferências, a lógica pode
ser classificada em indutiva ou dedutiva.
A lógica dedutiva é aquela que parte de premissas afirmativas ou leis
mais gerais permitindo a obtenção de verdades menos gerais ou particulares.
Vamos a um exemplo de inferência dedutiva ou dedução?
14
tomado com a lógica indutiva é que um único contraexemplo é capaz de
invalidar todo um raciocínio.
Um exemplo famoso é que por séculos a afirmação “todo cisne é branco”
foi considerada verdadeira pelos europeus, pois a cada encontro com um
cisne, eles verificavam que sua cor era branca. Pela lógica indutiva, chegou-se
à conclusão que todos eram brancos. Com as navegações, entretanto, verifi-
cou-se que na Austrália há cisnes negros. O contraexemplo, portanto,
invalidou imediatamente a conclusão anterior.
Observando alguns exemplos, fica mais fácil perceber as diferenças entre
as lógicas indutiva e dedutiva. Veja a seguir exemplos de lógica indutiva.
Assimile
Para a lógica dedutiva, partiremos de premissas gerais para concluirmos
verdades específicas e particulares. Por outro lado, para a lógica
indutiva, partiremos da experiência com as verdades e fatos particu-
lares na busca de uma conclusão geral.
15
Para exemplificar, podemos citar a lógica modal, desenvolvida por Lewis
no início do século passado, na qual a proposição pode ser, além de verda-
deira ou falsa, necessária ou impossível (necessariamente verdadeira ou
necessariamente falsa).
Conforme explica Oliveira (2010), as lógicas não clássicas seguem geral-
mente uma ou mais das três características a seguir:
• São baseadas em linguagens mais ricas em poder de expressão.
– Por exemplo: as lógicas modais, que apresentam operadores de
necessidade e possibilidade.
• São baseadas em princípios distintos.
– Por exemplo: as lógicas não reflexivas, que negam axiomas da
lógica clássica, que não admitem o princípio da identidade.
• Admitem semânticas distintas.
– Por exemplo: as lógicas do tempo, que apresentam operadores
temporais específicos para esse tipo de lógica.
Caro aluno, chegamos ao fim desta seção e esperamos que tudo que lhe
apresentado nas páginas anteriores o tenha inspirado a refletir sobre como a
lógica faz parte de nossa vida e pode nos ajudar nas decisões cotidianas, em
um mundo a cada dia mais informatizado e conectado.
16
Realizamos dezenas de testes com seu software e em todos ele foi capaz de
chegar à melhor solução para nosso problema.
Portanto, o software da sua empresa resolve o problema do cliente.
17
Faça valer a pena
18
3. Todos os alunos dos cursos de Análise e Desenvolvimento de Sistemas
fazem uma disciplina de lógica computacional.
________________.
Logo, José faz uma disciplina de lógica computacional.
A premissa que preenche corretamente a lacuna acima é:
a. José é aluno de um curso de Análise e Desenvolvimento de Sistemas.
b. José deseja trabalhar com Análise e Desenvolvimento de Sistemas.
c. No curso de José, não há disciplina de lógica computacional.
d. José gosta de lógica computacional.
e. José faz uma disciplina de lógica computacional, portanto, ele cursa
Análise e Desenvolvimento de Sistemas.
19
Seção 2
Evolução da lógica
Diálogo aberto
Caro aluno, nesta seção você vai estudar como se deu a evolução da
lógica, desde Aristóteles até os dias atuais. Parafraseando Isaac Newton, que
disse: “se eu vi mais longe, foi porque me apoiei em ombros de gigantes”,
é importante compreendermos os aspectos históricos que motivaram o
estudo da lógica. Os gigantes, nesse caso, são matemáticos, filósofos e pensa-
dores como Aristóteles, George Boole e Gottlob Frege, por exemplo. Suas
ideias serviram de base para todas as lógicas de programação com as quais
lidamos atualmente.
Lembre-se de que você está trabalhando como um colaborador de uma
startup de tecnologia. Seu segundo desafio será o de mostrar aos colabo-
radores do setor de desenvolvimento de softwares como alguns conceitos
de lógica podem ser relacionados à área da computação. Mais especifica-
mente, você deverá elaborar uma apresentação destacando como conceitos
como aberto e fechado, ou ligado e desligado podem ser representados e
trabalhados com uma álgebra booleana. Para tanto, foi proposto a você o
seguinte problema:
O comitê diretor de uma multinacional é formado por três membros:
o diretor executivo, o vice-diretor financeiro e o vice-diretor de relações
institucionais. Um projeto de criação de uma filial dessa empresa em um
país emergente será votado pelo comitê, e o projeto só passará se o diretor
executivo votar a favor e obtiver maioria. Você deverá projetar um circuito
de modo que cada membro vote a favor apertando um botão e, ao final do
processo, uma luz se acenderá caso o projeto seja aprovado. Esse circuito
poderá ser utilizado em outras votações pelo mesmo comitê. Como você
projetará esse circuito? Que relação esse projeto guarda com aspectos da
evolução da lógica?
O estudo dos grandes períodos de evolução da lógica, em especial o
Período Booleano, dará a você pistas para resolver esse problema. Bons
estudos e mãos à obra!
20
Não pode faltar
Assimile
Silogismo nada mais é do que um argumento constituído de propo-
sições das quais se infere (extrai) uma conclusão. Assim, não se trata
de conferir valor de verdade ou falsidade às proposições (frases ou
premissas dadas) nem à conclusão, mas apenas de observar a forma
como foi constituído. É um raciocínio mediado que fornece o conheci-
mento de uma coisa a partir de outras coisas (buscando, pois, sua causa)
(CABRAL, 2020).
21
Assumindo as premissas como verdadeiras, concluímos que José torce
pelo Brasil. Observe que ao analisarmos as premissas, não podemos fazer
juízo de valor sobre elas. O argumento lógico é deduzido a partir daquilo que
é colocado como verdade, e a nossa opinião sobre a validade das premissas
não pode interferir na elaboração da conclusão.
Antes de Aristóteles, filósofos e pensadores já aplicavam argumentos
lógicos, porém de maneira intuitiva, sem que houvesse necessariamente
uma reflexão sobre tais argumentos. Aristóteles, porém, foi o primeiro a
reconhecer que a lógica poderia ser examinada e desenvolvida, consti-
tuindo-se assim como uma ferramenta do pensamento que nos ajudaria a
compreender melhor o mundo.
Quando discorremos sobre o Período Aristotélico, estamos nos referindo
à chamada Lógica Clássica, que é regida, basicamente, por três princípios:
o da identidade, o da não contradição e o do terceiro excluído. Todos esses
três princípios são facilmente compreendidos. O mais importante é que esses
princípios funcionam como leis que permitirão a formulação de conclusões
lógicas sobre proposições, mesmo que não estejamos familiarizados com a
natureza daquilo que está sendo discutido (ZEGARELLI, 2013).
O princípio da identidade estabelece que todo objeto é idêntico a si
mesmo. O princípio da identidade mostra que qualquer proposição no
formato “A é A” tem que ser verdadeira.
O princípio da não contradição busca a especificidade de cada coisa, ou
seja, é impossível que ela seja e não seja ao mesmo tempo. Isso significa que
uma proposição não pode ser verdadeira e falsa ao mesmo tempo.
O princípio do terceiro excluído afirma que toda proposição é verda-
deira ou falsa, não havendo uma terceira possibilidade para valoração
da proposição.
Exemplificando
Compreender os três princípios que regem a Lógica Clássica é impor-
tante para chegarmos a conclusões lógicas sobre proposições. Consi-
dere as seguintes proposições:
22
II. O número dois é par.
III. O número dois é ímpar.
Exemplificando
Um exemplo interessante sobre paradoxos é o paradoxo do mentiroso,
atribuído a Eubúlides de Mileto, filósofo do século IV a.C., em que um
homem diz: “Estou mentindo”. O que este homem diz será verdadeiro
ou falso? Se for verdadeiro, então ele está realmente a mentir e, por
isso, o que diz é falso. Se for falso, isso concorda com o que ele afirma,
parecendo então que o que diz é verdadeiro (SANTOS, 2014).
Reflita
Uma variação mais elaborada do paradoxo do mentiroso pode ser
observada na construção apresentada na Figura 1.1:
23
Figura 1.1 | Paradoxo do mentiroso
24
(A) = 1
(B) = 0
Na Álgebra Booleana a adição é associada ao conectivo ou. Assim, a
proposição “O Brasil é um país da América do Sul ou Pablo Picasso é um
grande jogador de futebol” pode ser representada como:
(A) + (B) = 1 + 0 = 1. (Verdadeira).
E na Álgebra Booleana a multiplicação é associada ao conectivo e. Assim,
a proposição “O Brasil é um país da América do Sul e Pablo Picasso é um
grande jogador de futebol” pode ser representada como:
(A) ´ (B) = 1 ´ 0 = 0 (Falsa).
Embora o cálculo dos valores seja parecido ao da aritmética conven-
cional, o significado dessas operações é puramente lógico.
Georg Cantor foi o idealizador da Teoria de Conjuntos. A Álgebra dos
Conjuntos, advinda da Teoria de Conjuntos, com operações particulares
como União (∪) e Intersecção (∩) serviu não apenas como uma estrutura
de linguagem para a lógica formal, mas também como alicerce de toda a
Matemática Moderna.
Gottlob Frege foi o criador da chamada Lógica Matemática. Inspirado
nas ideias e notações de Leibniz, Frege reformulou toda a lógica tradicional,
construindo um sistema para apresentá-la em linguagem matemática. É com
base em suas obras que se desenvolveram o cálculo proposicional e o cálculo
de predicados. Uma de suas maiores contribuições foi a invenção do quantifi-
cador e a utilização de variáveis para formalizar a generalidade da linguagem
natural (JAPIASSÚ; MARCONDES, 2006). Segundo Alcoforado (2009), o
ponto de partida dos trabalhos de Frege consistiu em construir um sistema
formal cujas noções básicas fossem fixadas com exatidão e clareza, e a seguir
fossem estabelecidos os enunciados primitivos e regras de inferências que
tornassem possível desenvolver sem qualquer lacuna uma demonstração
nesse sistema. Ele foi assim levado a desenvolver, pela primeira vez, um
sistema formal a partir do qual é possível entender com exatidão não só o que
vem a ser uma prova como também obter provas pela exclusiva utilização de
regras formais aplicadas aos axiomas. Podemos afirmar, portanto, que toda a
notação (símbolos) utilizada pela lógica formal (lógica simbólica) nos dias de
hoje teve origem com as notações introduzidas por Frege.
Segundo Alencar Filho (2002), quando pensamos, efetuamos muitas
vezes certas operações sobre proposições, chamadas operações lógicas.
Estas operações obedecem a regras de um cálculo, denominado cálculo
proposicional, semelhante ao da aritmética sobre números. Os conectivos
25
sentenciais correspondem a várias palavras nas linguagens naturais que
servem para conectar proposições declarativas. Os principais conectivos
(operações lógicas fundamentais) são representados atualmente pelos
seguintes símbolos:
Quadro 1.1 | Operadores lógicos
O til corresponde à operação lógica NEGAÇÃO. Alguns autores também
utilizam o símbolo ¬ para designar negação.
Exemplificando
Como escreveríamos em linguagem simbólica a seguinte proposição:
“João não é gaúcho e Jaime não é paulista?
Considerando as proposições:
p: João é gaúcho e
q: Jaime é paulista.
26
lógicas paracompletas (que não respeitam o princípio do terceiro excluído),
as lógicas paraconsistentes (que não respeitam o princípio da não contra-
dição) e as lógicas modais (que estudam possíveis variações da veracidade
ou falsidade).
Também destacamos, no conjunto de lógicas não clássicas, a lógica
fuzzy, que tem apresentado contribuições para a Informática, no campo da
Inteligência Artificial, com os Sistemas Especialistas. De acordo com Martins
e Martins (2015), a lógica fuzzy é uma modalidade da lógica capaz de tratar
conceitos vagos, imprecisos ou ambíguos – em geral descritos na linguagem
natural humana – e convertê-los para um formato numérico, de fácil proces-
samento computacional. No nosso dia a dia utilizamos conceitos subjetivos
para classificar determinadas situações. Considere as seguintes afirmações:
• Para chegar ao posto de gasolina, prossiga na rodovia por mais
alguns metros.
• Para atingir meu peso ideal preciso perder alguns quilos.
• Podemos dizer que, devido à atual conjuntura econômica, estamos
com uma moeda estável.
• A previsão do tempo para amanhã indica que teremos um dia parcial-
mente chuvoso.
Os termos destacados nessas afirmações são conceitos vagos, que
envolvem imprecisão. Nesse sentido, esses termos são chamados de fuzzy.
O conceito “fuzzy” pode ser entendido como uma situação em que não
podemos responder simplesmente “sim” ou “não”. Mesmo conhecendo as
informações necessárias sobre a situação, dizer algo entre “sim” e “não” como
“talvez”, “quase”, …torna-se mais apropriado. (ABAR, 2004).
Aprendemos nesta seção como se deu a evolução da lógica desde seus
primórdios, partindo das ideias de Aristóteles, até os dias atuais. Compreender
essa evolução nos ajudará a melhor compreender as operações lógicas funda-
mentais e relacioná-las com diversas e atuais linguagens de programação.
27
empresa multinacional é formado por três membros: o diretor executivo, o
vice-diretor financeiro e o vice-diretor de relações institucionais que votarão
um projeto de criação de uma filial dessa empresa em um país emergente.
O projeto só passará se o diretor executivo votar a favor e obtiver maioria.
Você deverá projetar um circuito de modo que cada membro vote a favor
apertando um botão e, ao final do processo, uma luz se acenderá caso o
projeto seja aprovado. Lembre-se de que você deverá elaborar uma apresen-
tação destacando como conceitos como aberto e fechado, ou ligado e desli-
gado, podem ser representados e trabalhados com uma álgebra booleana.
Inicialmente vamos determinar como se dará o funcionamento do inter-
ruptor desse circuito. Um interruptor é um dispositivo ligado a um ponto de
um circuito, que pode assumir um dos dois estados, “fechado” ou “aberto”.
No estado “fechado” (que indicaremos por 1) o interruptor permite que a
corrente passe através do ponto, enquanto no estado “aberto” (que indica-
remos por 0) nenhuma corrente pode passar pelo ponto (ABAR, 2004).
Quando tivermos a passagem de corrente (estado 1), uma luz ligada ao
circuito se acenderá. De modo análogo, quando não tivermos a passagem de
corrente (estado 0) a luz não se acenderá.
Em nossa apresentação, representaremos o diretor executivo pela letra A,
o vice-diretor financeiro pela letra B e o vice-diretor de relações institucio-
nais pela letra C. Podemos então, elaborar uma tabela com a combinação de
todos os valores lógicos (1 ou 0) para os votos dos membros do comitê:
Tabela 1.1 | Combinação de valores lógicos
A B C Resultado
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 0
0 1 0 0
0 0 1 0
0 0 0 0
28
vice-presidentes (ou ambos) também deverá ser igual a 1. Logo, a luz ligada
aos circuitos só se acenderá e o projeto só será aprovado, quando o valor
lógico na ultima coluna da tabela for igual a 1.
Assim, projetando o circuito para acendimento da lâmpada conforme
a configuração apresentada na tabela, teremos um protótipo que poderá
ser utilizado não apenas nessa votação, mas também em outras votações
desse comitê. Perceba que para elaboração desse projeto utilizamos uma
linguagem simbólica (lógica simbólica) baseada na álgebra booleana, que
ganhou notoriedade no Período Booleano estudado nesta seção.
29
Assinale a alternativa que apresenta a associação correta entre as colunas.
a. I - 1; II - 2; III – 3.
b. I - 1; II - 3; III – 2.
c. I - 2; II - 1; III – 3.
d. I - 3; II - 2; III – 1.
e. I - 3; II - 1; III – 2.
30
Assinale a alternativa que preenche corretamente as lacunas:
a. princípio da identidade; princípio da não contradição; princípio do
terceiro excluído.
b. princípio da identidade; princípio do terceiro excluído; princípio da
não contradição.
c. princípio da não contradição; princípio da identidade; princípio do
terceiro excluído.
d. princípio da não contradição; princípio do terceiro excluído; princípio
da identidade.
e. princípio do terceiro excluído; princípio da identidade; princípio da
não contradição.
31
Seção 3
Princípios matemáticos
Diálogo aberto
Caro aluno, após aprendermos o que é a lógica e estudarmos como se
deu sua evolução, nesta terceira seção nos debruçaremos sobre alguns princí-
pios matemáticos relacionados à lógica. Você pode já ter se deparado com
problemas do tipo:
• De quantas maneiras podemos escolher um password válido para
um computador?
• Qual é a probabilidade de eu ganhar um prêmio de loteria?
• Qual é a rota mais curta entre duas cidades, considerando um deter-
minado meio de transporte?
• Como podemos ordenar uma lista de inteiros de modo que os inteiros
fiquem em ordem crescente? Em quantos passos podemos fazer
essa ordenação?
Esses problemas, além do raciocínio lógico, envolvem noções de
listagem, contagem e agrupamentos, noções essas que teremos oportunidade
de conhecer um pouco melhor nesta seção e ajudarão você a resolver seu
terceiro desafio.
Lembre-se, você está trabalhando como um colaborador de uma startup
de tecnologia e mais um desafio lhe é apresentado, agora relacionado ao
número de dispositivos que têm acesso a uma determinada rede de computa-
dores privada (do tipo intranet). Essa rede de computadores foi configurada
de tal modo que, cada um dos 3 escritórios da empresa (A, B, C) tem cinco
pontos de acesso à rede. Em um determinado momento havia 13 compu-
tadores conectados à rede e uma sobrecarga foi detectada por um software
de gerenciamento de fluxo de dados. Essa sobrecarga foi causada em um
escritório em que cinco computadores estavam conectados à rede. Deseja-se
saber qual é a probabilidade (chance) de que essa sobrecarga tenha partido
do escritório C. Você deverá apresentar a solução desse problema de forma
detalhada a seu superior imediato. Será que você consegue?
Os conhecimentos discutidos nesta seção ajudarão você a resolver esse
desafio. Bons estudos!
32
Não pode faltar
33
memória consumida, ou seja, a análise da complexidade de um algoritmo.
Problemas de contagem normalmente se resumem em determinar quantos
elementos existem em um conjunto finito. Determinar essas quantidades
de recursos finitos podem gerar questões difíceis de serem respondidas
(GERSTING, 2017). Por isso, vamos inicialmente nos familiarizar com o
conceito de lista.
Uma lista é uma sequência ordenada de objetos (SCHEINERMAN,
2015). Costumamos representar uma lista abrindo parênteses e apresentando
cada elemento da lista, separando-os por vírgula. Por exemplo, a lista (2, 4,
8, 16) é uma lista cujo primeiro elemento é o número 2, o segundo elemento
é o número 4, o terceiro elemento é o número 8 e o quarto elemento é o
número 16. A ordem com a qual os elementos figuram na lista é significativa.
Assim, a lista (2, 4, 8, 16) não é a mesma que a lista (4, 2, 16, 8). Embora os
elementos que compõem a lista sejam os mesmos, a forma pela qual foram
arranjados (ordem) é diferente. Também é importante destacar que uma lista
pode conter elementos repetidos, como (3, 4, 5, 5, 6), em que o número 5
aparece duas vezes.
Em uma lista, chamamos de comprimento ao número de elementos que
a compõe. Quando a lista tem apenas dois elementos ela recebe o nome de
par ordenado. E uma lista vazia é uma lista cujo comprimento é igual a zero.
Exemplificando
A lista (2, 4, 8, 16) tem comprimento quatro.
A lista (3, 4, 5, 5, 6) tem comprimento cinco.
Você pode ter associado a lista de dois elementos (par ordenado) à forma
de representação de um ponto no plano cartesiano (coordenadas (x, y)). E é
isso mesmo! As listas estão presentes em uma série de aplicações na matemá-
tica e muito além. Um número é uma lista de algarismos; uma palavra é uma
lista de letras; um identificador em um programa de computador pode ser
uma lista de letras e algarismos; a placa de um automóvel é uma lista de letras
e algarismos, o número de um telefone é uma lista de algarismos, o código de
34
barras é uma lista de algarismos; só para citar algumas aplicações das listas.
E uma questão com a qual frequentemente nos deparamos é: quantas listas
podemos formar?
Vamos considerar a necessidade de se fazer uma lista de comprimento
dois em que seus elementos sejam uma das letras A, B, C ou D. Quantas listas
podemos formar?
A forma mais direta de resolver esse problema é descrever todas as possi-
bilidades, conforme indicado a seguir:
( A, A) ( A, B) ( A, C ) ( A, D)
(B, A) ( B, B) ( B, C ) ( B, D )
(C , A) (C , B) (C , C ) (C , D)
(D, A) (D , B) (D , C ) (D , D )
Assimile
Considere uma situação em que se deseja descobrir quantas listas de
comprimento 2 podemos formar, sendo que para o primeiro elemento
da lista temos n opções de escolha e para o segundo elemento da lista
temos m opções de escolha. E agora?
35
Vamos supor que os elementos possíveis na primeira posição da lista
sejam números inteiros de 1 a n e que os elementos possíveis para a
segunda posição sejam números inteiros de 1 a m. Podemos construir o
seguinte quadro para organizar todas as possibilidades:
(1,1) (1, 2) (1, m)
(2,1) (2, 2) (2, m)
(n,1) (n, 2) (n, m)
36
Essa expressão ocorre com frequência em matemática e recebe um nome
e símbolo especiais: chama-se fatorial de n e representamos por n! . Por
exemplo, 6 != 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅1 = 720 . Por definição, considera-se que 1!= 1 e
0 != 1 (SCHEINERMAN, 2015).
Exemplificando
De quantas maneiras distintas é possível ordenar três objetos a, b e c?
Observe que neste exemplo não podemos computar o mesmo objeto
mais de uma vez, ou seja, em nossa lista, cada um desses objetos
aparecerá exatamente uma única vez. De quantos modos diferentes é
possível ordená-los? Repare também que não foi mencionado o compri-
mento da lista, portanto ordenaremos os três objetos a, b e c, ou seja, o
comprimento das listas será igual a três.
37
que partem de um nó representam as alternativas possíveis para se chegar a
resultados ou ações e, nesse sentido, cada ramo indica um possível resultado.
Cada um desses resultados leva a nós adicionais, que se ramificam em outras
possibilidades. Assim, cria-se uma forma de árvore (LUCIDCHART, 2020).
Adaptando seu uso para a Combinatória, as árvores de decisão (chamadas
neste caso de Diagramas de Árvore) servem para ilustrar o número de possi-
bilidades de um evento baseado em uma série de opções possíveis. Considere,
por exemplo, o caso particular de se determinar quantas listas de compri-
mento dois, de elementos distintos, é possível formar a partir da ordenação
de três objetos arbitrários a, b e c. Para essa situação podemos construir a
árvore de decisão indicada na Figura 1.2:
Figura 1.2 | Árvore de decisão para três elementos tomados três a três
a c
b
b c b b b b
38
não conter elementos repetidos e que, para determinar o número de listas
que podem ser formadas, além de utilizarmos o princípio multiplicativo,
podemos também utilizar as árvores de decisão. Em Combinatória, existem
diferentes tipos de agrupamentos (ordenados ou não) que recebem os nomes
específicos de Arranjos, Permutações e Combinações. Apesar de ser possível
determinar esses agrupamentos de maneira intuitiva, existem fórmulas
matemáticas que nos auxiliam a realizar essa tarefa. Vamos, então, aprender
a utilizá-las, considerando os agrupamentos (Arranjos, Permutações e
Combinações) simples, isso é, formados por elementos distintos.
De acordo com Iezzi et al. (2004), dado um conjunto com n elementos
distintos, chama-se arranjo dos n elementos, tomados p a p, a qualquer
sequência ordenada de p elementos distintos escolhidos entre os n existentes.
Para determinar o número de arranjos podemos utilizar a fórmula
n!
An, p = . Para ilustrar esse conceito, considere o conjunto A = {1, 2, 3, 4} .
(n − p)!
Vamos determinar o número de arranjos desses quatro elementos ( n = 4 )
tomados dois a dois ( p = 2) . Utilizando a fórmula para determinação do
número de arranjos, temos que:
n! 4! 4 ! 4 ⋅ 3 ⋅ 2 ⋅1 24
A4 ,2 = = = = = = 12
(n − p)! (4 − 2)! 2 ! 2 ⋅1 2
De fato, discriminando todos os arranjos chegamos a 12 possibilidades:
(1, 2) (1, 3) (1, 4) (2,1) (2, 3) (2, 4)
(3,1) (3, 2) (3, 4) (4,1) (4, 2) (4, 3)
39
Ou seja, existem 720 maneiras distintas para organização dessa fila.
Como nas permutações sempre temos n = p , podemos simplificar a fórmula
matemática a ser utilizada. Observe:
n! n! n!
Pn = An,n = = = = n!
(n − n)! 0 ! 1
Portanto, nesse exemplo de determinação do número de filas poderíamos
simplesmente ter efetuado P6 = 6 ! = 720 .
Há ainda outra forma de agrupamento, denominada combinação, que
considera cada sequência obtida como um conjunto não ordenado. Dado um
conjunto com n elementos distintos, chama-se combinação dos n elementos,
tomados p a p, a qualquer subconjunto formado por p elementos distintos
escolhidos entre os n existentes. Para determinar o número de combinações,
n!
podemos utilizar a fórmula Cn, p = .
p !(n − p)!
Considere, por exemplo, que dos cinco funcionários A, B, C, D e E de
uma empresa do setor de Tecnologia da Informação, três serão promovidos.
Queremos determinar todas as combinações desses cinco funcionários,
tomados dois a dois. Podemos calcular o número de combinações utilizando
n!
a fórmula Cn, p = , em que n = 5 e p = 2 .
p !(n − p)!
n! 5! 5! 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅1 120 120
C5,2 = = = = = = = 10 .
p !(n − p)! 2 !(5 − 2)! 2 ! 3! (2 ⋅1)(3 ⋅ 2 ⋅1) 2 ⋅ 6 12
Observe que, para esse problema, a ordem dos elementos não faz
diferença, ou seja, tanto faz considerarmos o conjunto ( A, B, C ) ou (B, C , A) ,
pois os funcionários que estariam recebendo a promoção seriam os mesmos.
Os agrupamentos do tipo combinação, por não serem ordenados, não são
considerados listas.
Atenção
Tanto arranjo como combinação são agrupamentos de p elementos
distintos escolhidos a partir de um conjunto de n elementos. A
diferença é que, no arranjo, se mudarmos a ordem dos elementos de
certo agrupamento, obteremos um novo agrupamento; na combinação,
40
mudando a ordem dos elementos de certo agrupamento, obtemos o
mesmo agrupamento (IEZZI et al., 2004).
A B C D
3 5 5 5
5 3 5 5
5 5 3 5
5 5 5 3
41
Considerando as duas configurações temos um total de 10 maneiras
de alocação dessas subpastas, sendo que dessas 10 possibilidades, apenas 3
apresentam exatamente 4 subpastas na pasta a.
Logo, a probabilidade de haver exatamente 4 subpastas na pasta a é
3
= 0, 3 = 30% .
10
Reflita
A árvore de decisão é uma importante ferramenta para auxiliar na
tomada de decisões e pode ser muito utilizada em diversos algoritmos,
o qual se trata de uma sequência ordenada de instruções a serem
seguidas para se chegar a um objetivo, resultado e ou uma ação. Assim,
como seria uma árvore de decisão para o mapeamento de um algoritmo
de recomendação, em que encontre o tipo de filme mais adequado para
diferentes perfis de usuários com base no que já foi visto e recomende
novos filmes?
42
Pelo princípio multiplicativo sabemos que há um total de 3 ⋅ 5 = 15 pontos
de acesso a essa rede. Como no momento da detecção da sobrecarga havia
13 computadores conectados à rede, temos dois cenários possíveis: (I) havia
dois escritórios com todos os pontos de acesso utilizados e um terceiro escri-
tório utilizando apenas três pontos de acesso ou; (II) havia um escritório
utilizando todos os pontos de acesso e dois escritórios utilizando 4 pontos
de acesso.
No cenário (I) temos as seguintes possibilidades:
A B C
5 5 3
5 3 5
3 5 5
43
Faça valer a pena
44
A respeito dessas asserções, assinale a alternativa correta.
a. As asserções I e II são proposições verdadeiras, e a II é uma justifica-
tiva da I.
b. As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa da I.
c. A asserção I é uma proposição verdadeira, e a II é falsa.
d. A asserção I é uma proposição falsa, e a II é verdadeira.
e. As asserções I e II são proposições falsas.
45
Referências
ABAR, C. A. A. P. Noções de lógica matemática: Esboço do desenvolvimento da lógica.
Pontifícia Universidade Católica de São Paulo, Faculdade de Ciências Exatas e Tecnologia. [S.
l.], 2004. Disponível em: https://www.pucsp.br/~logica/. Acesso em: 14 jan. 2020.
ALCOFORADO, P. Introdução. In: FREGE, G. Lógica e filosofia da linguagem. 2. ed. rev. São
Paulo: Editora da Universidade de São Paulo, 2009.
IEZZI, G. et al. Matemática: ciências e aplicações. 2. ed. São Paulo: Atual, 2004.
JAPIASSÚ, H.; MARCONDES, D. Dicionário básico de filosofia. 4. ed. aum. Rio de Janeiro:
Jorge Zahar, 2006.
LOPES, S. O que é um sistema operacional? Oficina da Net, [s. l.], 30 mar. 2017. Disponível em:
https://www.oficinadanet.com.br/artigo/851/o_que_e_um_sistema_operacional. Acesso em: 24
jan. 2020.
LUCIDCHART. O que é um diagrama de árvore de decisão? Lucid Software Inc., [s. l.], 2020.
Disponível em: https://www.lucidchart.com/pages/pt/o-que-e-arvore-de-decisao#section_0.
Acesso em: 23 jan. 2020.
ROSEN, K. H. Matemática discreta e suas aplicações. 6. ed. Porto Alegre: AMGH, 2010.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788563308399/
cfi/2!/4/4@0.00:47.7. Acesso em: 24 jan. 2020.
TARSKI, A.; HELMER, O. Introduction to logic and to the methodology of the deductive
sciences. 1. ed. Nova York: Oxford University Press, 1946.
Álgebra de conjuntos
Convite ao estudo
Olá, caro aluno, seja bem-vindo! Nesta unidade você terá a oportuni-
dade de conhecer a Teoria de Conjuntos (Álgebra de Conjuntos). A Álgebra
de Conjuntos é um importante ramo da Matemática e com aplicações em
diferentes áreas de conhecimento, entre elas a Computação. A linguagem
de conjuntos se caracteriza por ser uma linguagem clara, concisa, rigorosa
e que não dá margens a interpretações equivocadas. Por apresentar essas
características, ela é utilizada na organização de informações e resolução de
problemas ligados a várias áreas, como a computação.
Considere, por exemplo, situações em que seja necessário contabilizar o
número de subconjuntos (possibilidades) derivados de outro conjunto;
identificar a quantidade de elementos que gozam de determinada caracterís-
tica e/ou propriedade; e estudar relações entre conjuntos. Compreender a
linguagem de conjuntos possibilitará a abordagem desses problemas. Tais
situações serão apresentadas, exemplificadas e discutidas nesta unidade. Na
primeira seção, você aprenderá a definição de conjunto, as diferentes formas
de apresentação de conjuntos e a simbologia (sintaxe) utilizada para repre-
sentar as relações entre conjuntos, entre elas as relações de pertinência e
continência. Já na segunda seção, iniciaremos o estudo das operações de
conjuntos. Algumas dessas operações, como as operações união e inter-
secção, por exemplo, você já deve ter estudado no Ensino Médio. Será uma
excelente oportunidade para retomar e aprofundar os estudos a respeito
dessas operações, relacionando-as aos conectivos lógicos e (∧) e ou (∨) ,
utilizados para a compreensão da lógica de programação e importantes para
entendimento e elaboração de algoritmos computacionais para resolução de
problemas do cotidiano. Já na última seção desta unidade, estudaremos
algumas aplicações da Teoria de Conjuntos em Computação, destacando as
relações lógicas implícitas nas diferentes operações de conjuntos. A partir
dos conteúdos estudados nesta unidade, além de conhecer e entender as
teorias e álgebras de conjuntos, suas operações e diferenças, você irá desen-
volver a habilidade de conhecer os conceitos de conjuntos e suas aplicações
em diferentes casos. Bons estudos!
Seção 1
Diálogo aberto
Prezado aluno, nesta seção serão introduzidos os principais conceitos da
Teoria de Conjuntos. Partindo da noção intuitiva de conjunto como uma
coleção não ordenada de objetos, iremos estudar uma série de conceitos,
como subconjuntos, igualdade de conjuntos, formas de representação de
conjuntos (sentenças e diagramas), quantificadores (universal e existencial)
e relações de pertinência (elemento – conjuntos) e continência (conjunto –
conjunto). Além disso, também teremos um primeiro contato com a notação
de conjuntos, que compreende uma série de símbolos e signos específicos.
Considere as seguintes questões: você sabe o que é a cardinalidade de
um conjunto? Você sabe demonstrar a igualdade entre dois conjuntos? Você
sabe determinar e identificar todos os subconjuntos derivados de um deter-
minado conjunto? Nesta seção, você aprenderá a responder questões como
essas. Profissionais da área da computação constantemente se deparam com
situações desse tipo.
Você foi contratado por uma grande empresa do setor de Tecnologia da
Informação (TI) e está trabalhando em uma equipe no desenvolvimento de
um aplicativo para telefones móveis. Você ficou responsável por elaborar
diferentes chaves de acesso para esse aplicativo, e durante esse trabalho, você
se deparou com o problema de identificar quantos e quais são os subcon-
juntos derivados de um conjunto constituído por quatro elementos arbitrá-
rios {1, 2, 3, 4}. As possíveis combinações (subconjuntos) encontradas
deverão ser apresentadas para o restante da equipe que utilizará essas infor-
mações para finalizar o layout da tela inicial do aplicativo. Você conseguiria
determinar quantos subconjuntos podem ser formados, independentemente
do seu “tamanho” (número de elementos) a partir da conjugação dos quatro
elementos arbitrários? Você saberia identificar todos esses subconjuntos?
Determinar quantos subconjuntos podem ser formados, independentemente
do seu “tamanho” (número de elementos) e identificá-los (um a um) é uma
tarefa que exige raciocínio combinatório, metodologia e organização. Para
resolver tal problema, será necessário compreender o significado de subcon-
junto e as relações entre conjuntos.
Prossiga estudando e aprenda os conceitos necessários para a resolução
dessa situação-problema!
16
Não pode faltar
Assimile
Considere o conjunto D = {3, 5, 7,} representado a partir de seus
primeiros elementos. Tal forma de representação pode suscitar dúvidas:
trata-se do conjunto dos números inteiros ímpares maiores do que 1 ou
17
dos conjuntos dos números inteiros primos maiores ou iguais a 3? Tal
descrição não possibilita inferirmos de que grupo se trata. Por isso,
escrever por extenso a propriedade característica dos elementos do
conjunto, mostra-se como uma descrição mais clara e precisa do que as
outras maneiras de descrição apresentadas.
18
não pertinência, pelo símbolo Ï . Assim, a indicação x Î A significa que o
objeto x é um elemento do conjunto A. Retomando o conjunto das cores da
bandeira do Brasil A = {verde, amarelo, azul, branco}, podemos afirmar que
verde Î A e que vermelho Ï A . A relação Î pode ser lida como “é membro
de” ou “está em” ou “é elemento de” ou “pertence a”.
Além de saber descrever um conjunto a partir das propriedades comuns de
seus elementos, também é importante saber determinar quantos elementos
constituem o conjunto. De acordo com Scheinerman (2015), ao número de
objetos (elementos) de um determinado conjunto dá-se o nome de cardinali-
dade. As barras de valor absoluto em torno de um conjunto representam a
cardinalidade ou o tamanho do conjunto (isto é, o número de elementos do
conjunto). Assim, considerando o conjunto A = {verde, amarelo, azul, branco},
pode-se afirmar que a cardinalidade de A é igual a 4, ou seja, A = 4 . De
maneira análoga, considerando o conjunto C = { x x é um número inteiro e
4 < x ≤ 9 }, pode-se afirmar que a cardinalidade de C é igual a 5, ou seja,
C =5 .
Exemplificando
Considere os seguintes conjuntos: A = { x x é um mês com exatamente
30 dias}, B = {1, 4, 9, 16, 25,…} e C = { x x é um número inteiro e
x > 3 e x < 4 }.
Tem-se que A = {abril, junho, setembro, novembro} e, portanto, A = 4 .
O conjunto B é o conjunto dos números quadrados perfeitos. Como
existem infinitos números quadrados perfeitos, não é possível deter-
minar a cardinalidade de B. Assim, dizemos que o conjunto B é infinito.
Já o conjunto C é o conjunto dos números inteiros que são, ao mesmo
tempo, maiores do que 3 e menores do que 4. Como não existe nenhum
número inteiro que atenda simultaneamente a essas duas proprie-
dades, dizemos que o conjunto C é um conjunto vazio. Essa afirmação
pode ser representada como C = { } ou C = Æ . Dizemos que a cardinali-
dade de C é igual a zero, ou seja, C = 0 . Como a cardinalidade de um
conjunto vazio é igual a zero, e zero é um número inteiro, podemos
afirmar que o conjunto vazio também é um conjunto finito.
19
= conjunto de todos os números inteiros não negativos. Perceba que
0Î .
Reflita
Vimos que dois conjuntos são iguais se, e somente se, eles contêm os
mesmos elementos. Considere os seguintes conjuntos:
E = { x Î x é par} e
F = { y ∈ y = a + b , em que a e b são ímpares}.
Podemos afirmar que E = F , ou seja, que todo elemento de E é também
elemento de F e vice-versa? Reflita sobre as propriedades desses
conjuntos e tente elaborar um esquema que valide ou refute a igual-
dade E = F .
20
é ∀x ∈ A , afirmações sobre x . A primeira afirmação “todo inteiro é par ou
ímpar” ficaria representada como ∀x ∈ , x é par ou x é ímpar.
O quantificador existencial é simbolizado por um E espelhado, $ , e é lido
como “há” ou “existe”. A forma geral para essa notação é ∃x ∈ A , afirmações
sobre x . A segunda afirmação “existe um número natural que é primo e par”
ficaria representada como ∃x ∈ , x é primo e par.
Exemplificando
Um exemplo de utilização do quantificador universal pode ser verifi-
cado no enunciado a seguir, em que se deseja provar que todo número
inteiro divisível por 10 é par.
Seja A = { x Î 10 divide x }. Queremos provar que ∀x ∈ A , x é par.
Prova: Seja x Î A , ou seja, x é um número inteiro divisível por 10. Isso
significa que existe um inteiro y , de modo que x =10 y . Podemos
escrever essa igualdade como x = (2 ⋅ 5) y = 2 ⋅(5 y ) . Portanto, x é
divisível por 2 e, consequentemente, x é par.
Atenção
Observe que Í e Î têm significados relacionados, porém, diferentes!
O símbolo Î é utilizado para representar uma relação de pertinência
entre um objeto e um conjunto. Por exemplo, seja o conjunto
A = {5, 7, 9,11,13} , podemos afirmar que 7 Î A . Já o símbolo Í é utili-
zado para representar uma relação de continência (subconjunto) entre
conjuntos. Por exemplo, seja A = {5, 7, 9,11,13} e B = {5,11,13} ,
podemos afirmar que B Í A .
Tome cuidado! Os sinais Í e Î não podem ser permutados.
21
Para provar que um conjunto N é subconjunto de um conjunto M,
devemos mostrar que todo elemento de N é também elemento de M (perceba
que, nesse caso, a recíproca não precisa ser verdadeira). Por exemplo, consi-
dere os conjuntos M = { x x é múltiplo de 5} e N = { x x é múltiplo de 10}.
Vamos provar que N Í M .
Temos que x satisfaz a propriedade característica de N, ou seja, x é
múltiplo de 10. Logo, podemos escrever x = 10 ⋅ y para algum inteiro y . Essa
igualdade pode ser reescrita como x = (5 ⋅ 2) ⋅ y = 5 ⋅(2. y ) ou x = 5 ⋅ k , em que
k = 2 ⋅ y , de tal forma que k também é um inteiro. Isso mostra que x também
é múltiplo de 5, ou seja, x também satisfaz a propriedade característica de
M, portanto, N Í M .
Um problema recorrente envolvendo subconjuntos diz respeito à deter-
minação do número de subconjuntos de um determinado conjunto. Por
exemplo, quantos subconjuntos tem o conjunto A = {a, b, c} ?
Uma maneira para resolver esse problema é listar todas as possibilidades.
Como a cardinalidade de A é igual a 3 ( A = 3) , qualquer subconjunto de A
pode ter de zero a três elementos. Consideremos o Quadro 2.1 com a
descrição de todas as possibilidades:
Quadro 2.1 | Subconjuntos de A (cardinalidade 3)
Total 8
22
imagine no caso de um conjunto com cardinalidade igual a 10: quantos
subconjuntos poderiam ser contabilizados?
O teorema a seguir permite contabilizar o número de subconjuntos de
um conjunto qualquer conhecendo-se a sua cardinalidade.
Teorema: seja A um conjunto finito. O número de subconjuntos de A é
A
2 (SCHEINERMAN, 2015).
Exemplificando
Seja A um conjunto com cardinalidade igual a 10, quantos subconjuntos
de A poderiam ser contabilizados?
Como A =10 , utilizando o resultado do Teorema anterior, o número
A
de subconjuntos de A é igual a 2 = 210 = 1024 .
Nesta seção, você, aluno, aprendeu o que são conjuntos, como podemos
representar os conjuntos, o que é cardinalidade de um conjunto, o que são
quantificadores (universal e existencial) e como podemos listar e contabilizar
os subconjuntos de um determinado conjunto. Todos esses conceitos serão
de suma importância na resolução de situações-problema que envolvam
conjuntos e relações entre conjuntos.
23
queremos dizer que x pode ser qualquer elemento de A e não podemos fazer
qualquer outra suposição sobre x .
Denotando o conjunto {1, 2, 3, 4} por A, podemos determinar a sua cardi-
nalidade. Temos que A = 4 , logo, o número de subconjuntos de A é igual a
A
2 = 2 4 = 16 . Resta, agora, identificar todos esses 16 subconjuntos. Como a
cardinalidade de A é igual a 4, podemos ter subconjuntos com 0, 1, 2, 3 ou 4
elementos. Por exemplo, {1, 3, 4} é subconjunto de A, pois {1, 3, 4} Í A . {2, 3}
também é subconjunto de A, pois {2, 3} Í A .
Para identificar todos os subconjuntos de A, vamos elaborar uma lista
(Quadro 2.2):
Quadro 2.2 | Subconjuntos de A (cardinalidade 4)
24
corrente. A aquisição desse hábito pode ser muito facilitada pelo recurso de
algumas noções e alguns símbolos da Lógica Matemática (FERREIRA, 2001).
Seja o conjunto A = {1, 2, 3, 4, 7, 8,10,13} e o conjunto B = {4, 7, 8,10} , considere
as seguintes afirmações:
I. 4ÎA .
II. 6 Ï A .
III. B Î A .
Considerando as relações de pertinência e continência entre conjuntos, estão
adequadamente representadas as relações indicadas em:
a. I, apenas.
b. I e II, apenas.
c. I e III, apenas.
d. II e III, apenas.
e. I, II e III.
25
Considere o conjunto A descrito como:
A = { x (∃y )( y ∈ {0, 1, 2} e x = y 3 ) }
Portanto, o conjunto A pode ser representado como:
a. {0, 1, 2}.
b. {0, 3, 6}.
c. {1, 2, 3}.
d. {1, 3, 9}.
e. {0, 1, 8}.
26
Seção 2
Álgebra de conjuntos
Diálogo aberto
Prezado aluno, nesta seção estudaremos as operações de conjuntos.
Conjuntos são coleções não ordenadas de objetos que podem ser, de alguma
forma, relacionados (FERREIRA, 2001). Estudaremos, portanto, que relações
são essas, direcionando nosso olhar especialmente para as operações de
união (∪) , intersecção (∩) e diferença (−) entre conjuntos.
Lembre-se de que você foi contratado por uma grande empresa do setor
de Tecnologia da Informação (TI) e está trabalhando em uma equipe de
desenvolvimento de um aplicativo para telefones móveis. No desenvolvi-
mento desse aplicativo, por sua vez, surgiu um novo problema: a equipe de
desenvolvimento de software percebeu que alguns comandos de busca desse
aplicativo (ações solicitadas pelo usuário para sua execução) direcionam
a busca do usuário para o Banco de Dados A, enquanto outros comandos
direcionam a busca do usuário para o Banco de Dados B e, ainda, há
comandos que realizam essa busca em ambos os Bancos de Dados (A e B).
Considere que há 20 comandos que direcionam a busca do usuário para o
Banco de Dados A, que no total há 60 comandos distintos, e que 12 comandos
direcionam a busca para os Bancos de Dados A e B. Você saberia informar
quantos desses 60 comandos realizam a busca no Banco de Dados B?
Você deverá apresentar a representação e resolução desse problema à
equipe de desenvolvimento de software para que ela decida sobre a viabili-
dade de unificação desses Bancos de Dados.
Perceba que, apesar de parecer ser um problema de simples solução, é
necessário tomar cuidado para não contabilizar comandos em duplicidade. E
agora, como resolver essa situação?
Nesta seção, você aprenderá a encontrar a união, a interseção e a diferença
entre conjuntos e a utilizar essas relações na resolução de situações-problema
como essa.
Bons estudos!
27
Não pode faltar
28
Exemplificando
Exemplo 1: Sejam os conjuntos A = {10,11,12,13,14,15} e
B = {13,14,15,16,17,18,19} , o conjunto A È B consiste no conjunto
formado por todos os elementos de A e de B.
A ∪ B = {10,11,12,13,14,15,16,17,18,19} .
Repare que há elementos pertencentes a ambos os conjuntos, porém,
ao efetuarmos a operação união (∪) , esses elementos são contabili-
zados uma única vez. Em relação à cardinalidade desses conjuntos,
temos que: A = 6 , B = 7 e A ∪ B =10 .
Já o conjunto A Ç B consiste no conjunto formado pelos elementos
comuns aos conjuntos A e B.
A ∩ B = {13,14,15} .
Temos ainda que A ∩ B = 3 .
Os diagramas de Venn podem ser utilizados para ilustrar as operações
binárias de união e intersecção de conjuntos. Na Figura 2.2 visualizamos
a imagem mental dessas operações:
29
Figura 2.3 | Exemplo 1
• Leis de idempotência: A ∪ A = A e A ∩ A = A .
Vamos demonstrar a propriedade associativa para a união. Considere os
conjuntos A, B e C. Queremos provar que A ∪ ( B ∪ C ) = ( A ∪ B) ∪ C . Temos que:
A ∪ ( B ∪ C ) = { x x Î A ou x ∈ ( B ∪ C ) }
A ∪ ( B ∪ C ) = { x x ∈ ( A ∪ B) ou x Î C }
Logo: A ∪ ( B ∪ C ) = ( A ∪ B) ∪ C .
Constatamos, portanto, que as condições A ∪ ( B ∪ C ) e ( A ∪ B) ∪ C são
logicamente equivalentes.
30
Reflita
Utilizando as definições das operações união (∪) e intersecção (∩) de
conjuntos, como você demonstraria a propriedade distributiva da união
em relação à intersecção?
Utilize a demonstração da propriedade associativa para a união como
referência e tente redigir a sua própria demonstração.
Além das operações união (∪) e intersecção (∩) , outra operação que
costuma aparecer com frequência ao estudarmos álgebra de conjuntos é a
operação diferença de conjuntos. Sejam A e B dois conjuntos, de acordo com
Scheinerman (2015), a diferença A - B é o conjunto de todos os elementos de A
que não estão em B, ou seja: A − B = {x x ∈ A e x Ï B} . Considere, por exemplo,
os conjuntos A = {1, 2, 3, 4, 5} e B = {4, 5, 6, 7} . Para determinarmos a diferença
A - B temos de verificar quais elementos pertencem ao conjunto A, mas não
pertencem ao conjunto B, ou seja, A − B = {1, 2, 3} . Analogamente, podemos
definir o conjunto B - A , que consiste em todos os elementos pertencentes a B,
mas que não pertencem ao conjunto A, ou seja, B − A = {6, 7} .
Assimile
Outra operação utilizada na álgebra de conjuntos é a chamada diferença
simétrica. Segundo Scheinerman (2015), a diferença simétrica de A e B
pode ser denotada por ADB . A diferença simétrica de A e B é o
conjunto de todos os elementos que pertencem a A, mas não pertencem
a B ou que pertencem a B, mas não pertencem a A. Essa diferença
simétrica pode ser representada como A∆B = ( A − B) ∪ ( B − A) .
Considere, por exemplo, os conjuntos A = {1, 2, 3, 4, 5} e B = {4, 5, 6, 7} .
A diferença simétrica ADB ficaria definida como:
A∆B = ( A − B) ∪ ( B − A) = (1, 2, 3) ∪ (6, 7) = (1, 2, 3, 6, 7) .
Utilizando diagramas de Venn, a diferença simétrica ADB ficaria repre-
sentada como observado na Figura 2.4.
31
Até agora nos ocupamos em abordar as principais operações entre
conjuntos. No entanto, em muitos problemas (especialmente quando se
trabalha com conjuntos finitos, porém numerosos) realizamos essas operações
levando em consideração o número de elementos (cardinalidade) de cada
conjunto. Suponha que desejamos contar o número de objetos que goza de
uma ou outra propriedade específica. Podemos abordar esse tipo de problema
utilizando um caso especial de um método de contagem chamado inclusão-ex-
clusão (SCHEINERMAN, 2015), que consiste na seguinte fórmula:
A ∪ B = A + B − A ∩ B . Observe que para determinarmos o numero de
elementos de A È B . devemos somar o número de elementos de A com o
número de elementos de B e subtrair o número de elementos de A Ç B . A
subtração se faz necessária para não incorrermos no risco de contabilizar o
mesmo elemento duas (ou mais) vezes. Essa fórmula é recomendada quando o
cálculo de A , B e A Ç B é mais fácil do que o cálculo de A È B .
Considere, por exemplo, que em uma pesquisa com profissionais do
setor de Tecnologia da Informação de uma grande empresa responsável pela
elaboração e manutenção de páginas (homepages) na Internet foi pergun-
tado qual era o navegador de Internet utilizado durante o trabalho. Essa
pesquisa apresentou os seguintes resultados: 280 profissionais alegaram
utilizar o navegador A, 300 disseram utilizar o navegador B e 120 profissio-
nais afirmaram utilizar ambos os navegadores. Sabendo que todos os funcio-
nários do setor de Tecnologia da Informação dessa empresa responderam a
essa pesquisa, como você determinaria o número desses profissionais?
Para responder a esse problema, podemos recorrer ao método de
contagem chamado inclusão-exclusão. Vamos considerar como conjunto A
o conjunto dos profissionais que utilizam o navegador A, e como conjunto B
o conjunto dos profissionais que utilizam o navegador B. Temos que:
A ∪ B = A + B − A ∩ B = 280 + 300 −120 = 460 .
Dica
Poderíamos resolver essa situação problema por meio de um diagrama
de Venn. Ao esboçarmos um diagrama, devemos sempre que possível
iniciar pela intersecção dos conjuntos, como pode ser observado na
Figura 2.5.
32
Figura 2.5 | Problema dos navegadores de internet (parte 1)
33
Há situações em que a intersecção entre os conjuntos é vazia. Nesse caso,
dizemos que os conjuntos são disjuntos. Sejam A = {1, 2, 3} e B = {7, 8, 9} .
Como A ∩ B = ∅ , podemos afirmar que A e B são conjuntos disjuntos.
Há uma relação íntima entre as operações união (∪) e intersecção (∩) da
álgebra de conjuntos e os conectivos lógicos largamente utilizados em
diversas linguagens de programação OU (or) e E (and), respectivamente. Os
conectivos lógicos OU e E são simbolizados por Ú e Ù .
Assim, podemos estabelecer as seguintes analogias:
I. x ∈ ( A ∪ B) ⇔ ( x ∈ A) ∨ ( x ∈ B) .
II. x ∈ ( A ∩ B) ⇔ ( x ∈ A) ∧ ( x ∈ B) .
Em I, temos que o elemento x pertence à união de A e B se, e somente
se, x pertence à A ou x pertence à B (podendo, inclusive, pertencer a ambos
o conjuntos).
Em II, temos que o elemento x pertence à intersecção de A e B se, e
somente se, x pertence à A e x pertence à B.
Nesta seção, nós conhecemos as principais operações de conjuntos
(união, intersecção e diferença) e aprendemos a utilizá-las na resolução de
problemas. Também pudemos perceber a importância da utilização dos
diagramas de Venn para representação dessas situações. Esses conheci-
mentos, além de serem componentes importantes no desenvolvimento do
raciocínio lógico, podem ser utilizados em inúmeras situações do nosso dia a
dia, como aquelas que exigem a contagem do número de objetos que goza de
uma ou outra propriedade específica.
34
distintos e que há 12 comandos que direcionam a busca para os Bancos de
Dados A e B, como você determinaria quantos desses 60 comandos realizam
a busca no Banco de Dados B? Lembre-se de que você deverá apresentar a
representação e resolução desse problema à equipe de desenvolvimento de
software para que juntos decidam sobre a viabilidade de unificação desses
Bancos de Dados.
Trata-se de um problema envolvendo operações de conjuntos. Uma vez
que A = 20 , A ∩ B =12 e A ∪ B = 60 , é preciso saber quanto é B .
Podemos recorrer ao método de contagem chamado inclusão-exclusão,
que consiste em:
A∪B = A + B − A∩B .
B = 60 − 20 + 12
B = 52
35
Banco de Dados B. É devido ao poder de síntese que a utilização de diagramas
é recomendada ao se trabalhar com problemas envolvendo conjuntos.
36
3. O setor de Tecnologia de Informação (TI) de uma empresa do ramo de
seguros dispõe de computadores de mesa (desktops) e computadores portá-
teis (laptops) de dois fabricantes (A e B). Há 35 desktops, sendo 7 do fabri-
cante A e 15 laptops do fabricante B. Sabe-se, ainda, que 18 computadores
(entre desktops e laptops) são do fabricante A.
Considerando os dados apresentados, o número de computadores desktops
fabricados por A é igual a:
a. 18.
b. 35.
c. 43.
d. 46.
e. 53.
37
38
Seção 3
Diálogo aberto
Prezado aluno, nesta seção estudaremos mais algumas operações e
relações entre conjuntos, dentre as quais citamos o complemento de um
conjunto, a diferença simétrica e o produto cartesiano.
Imagine, por exemplo, que em vez de determinar o conjunto de usuários
que avaliou positivamente um determinado aplicativo, você esteja interes-
sado no conjunto de usuários que não forneceu uma avaliação positiva. Ou
então que você precise determinar todas as maneiras pelas quais um elemento
de um conjunto possa se relacionar com um elemento de outro conjunto.
Essas duas situações servem para ilustrar os conceitos de complemento de
conjunto e produto cartesiano que serão estudados nesta seção.
Como funcionário de uma grande empresa do setor de Tecnologia da
Informação (TI), você se depara agora com uma situação inusitada: após
trabalhar com o desenvolvimento de um aplicativo para telefones móveis,
você e sua equipe foram contemplados com um curso de aprimoramento
profissional na área de lógica computacional. E um dos desafios do curso
consiste em representar uma relação arbitrária de três conjuntos, utilizando
diferentes esquemas de representação, como as representações diagramá-
ticas (com diagramas) e tabular (com tabelas). Você já compreende algumas
relações entre conjuntos, mas sua missão agora é apresentar de maneira
original uma relação arbitrária entre três conjuntos A, B e C, ou seja, você
deverá elaborar um esquema que indique se um determinado elemento
pertence ao conjunto A, B ou C, considerando todas as intersecções possí-
veis. Após elaborar sua solução, você deverá realizar uma apresentação para a
sua equipe para demonstrar o esquema de representação escolhido e explicar
sua interpretação.
Conseguir pensar nas relações entre conjuntos de maneira genérica é
um componente importante daquilo que chamamos de raciocínio computa-
cional. Além disso, saber representar tais relações de uma forma inteligível,
que se faça compreender por outras pessoas de sua equipe de trabalho, é um
exercício importante, pois muitas vezes não conseguimos expressar nossas
ideias no papel.
Nesta seção você aprenderá a articular representações de conjuntos utili-
zando Diagramas de Venn, números binários e tabelas-verdade. Você está
preparado? Mãos à obra e bons estudos!
39
Não pode faltar
Exemplificando
Seja A = {1, 2, 3, 4, 5, 6, 7, 8, 9,10} e B = {1, 2, 3, 5, 8, 9} . O complemento de
B em relação a A consiste no conjunto constituído por todos os
elementos pertencentes a A que não pertencem a B. Temos, portanto:
C A B = {4, 6, 7,10} .
Em outras palavras, podemos dizer que o complemento de B em relação
a A consiste no conjunto formado por elementos que pertencem exclu-
sivamente a A, quando comparados com os elementos de B.
40
elementos em comum, não é possível obter o conjunto complementar de um
deles em relação ao outro. Considere, a título de ilustração, os conjuntos
A = {2, 7, 9,13} e B = {3, 5,10,12} (Figura 2.9).
Figura 2.9 | Conjuntos disjuntos
Esses dois conjuntos são conjuntos disjuntos, pois a intersecção entre eles
é um conjunto vazio. Como B não é subconjunto de A, então não é possível
determinar o complemento de B em relação a A. De modo análogo, também
concluímos que não é possível determinar o complemento de A em relação a B.
Outro fato que também merece atenção diz respeito à maneira como o
conjunto complementar é representado simbolicamente. É importante notar
que C A B ¹ CB A . Para determinarmos C A B fazemos A - B , enquanto que
para determinarmos CB A fazemos B - A (lembrando que nem sempre é
possível determinar o complemento de um determinado conjunto).
Reflita
Em uma atividade sobre Álgebra dos Conjuntos foram apresentados
dois conjuntos definidos como M = {10, 20, 30, 40, 50, 60, 70, 80} e
N = {30, 50, 70} . Em seguida, foi solicitada a determinação dos comple-
mentos C M N e CN M .
O complemento de N em relação a M ficou determinado como
C M N = {10, 20, 40, 60, 80} , porém não foi possível determinar o comple-
mento de M em relação a N. Reflita: por que não foi possível determinar
CN M ?
41
Ainda em relação à representação simbólica (notação) do complementar
de um conjunto não há, na literatura, um consenso em relação a essa repre-
sentação. A representação do complementar do conjunto A em relação ao
conjunto universo U pode se dar tanto como CU A quanto CUA .
Quando não há dúvida sobre o universo U em que estamos trabalhando,
podemos simplesmente representar o complementar de A em relação a U
como A , ou A’ , ou ainda, AC .
Desse modo, quando não tivermos dúvida em relação ao conjunto
universo U com o qual estamos trabalhando, representaremos o comple-
mentar de A em relação a U simplesmente utilizando a notação AC . Por
exemplo, considere U = {12,13,14,15,16,17,18} e A = {12,13,14,15} . Neste caso,
podemos representar o complementar de A em relação a U simplesmente
como AC = {16,17,18} .
Vimos, portanto, que o complemento do conjunto A em relação ao
conjunto U equivale à diferença entre os conjuntos U e A, dado que A Í U .
Cabe, nesse momento, chamar a atenção para outro tipo de diferença de
conjuntos, denominado diferença simétrica. Segundo Scheinerman (2015),
diferença simétrica de A e B é o conjunto de todos os elementos que
pertencem a A, mas não pertencem a B, ou que pertencem a B, mas não
pertencem a A. Essa diferença simétrica pode ser representada como
A∆B = ( A − B) ∪ ( B − A) . Seja A = {1, 2, 3, 4, 5, 6, 7} e B = {5, 6, 7, 8, 9} . A
diferença simétrica ADB ficaria definida como:
A∆B = ( A − B) ∪ ( B − A) = (1, 2, 3, 4) ∪ (8, 9) = (1, 2, 3, 4, 8, 9) .
Assimile
A diferença simétrica entre os conjuntos A e B também pode ser definida
como o conjunto de todos os elementos que pertencem à união dos
conjuntos A e B e não pertencem à intersecção dos conjuntos A e B
(CABRAL, 2017). Vamos mostrar que as duas definições de diferença
simétrica são equivalentes, considerando o exemplo anterior, com
A = {1, 2, 3, 4, 5, 6, 7} e B = {5, 6, 7, 8, 9} .
Queremos mostrar que
A∆B = ( A − B) ∪ ( B − A) = ( A ∪ B) −( A ∩ B)
Tem-se que
( A − B) ∪ (B − A) = (1, 2, 3, 4) ∪ (8, 9) = (1, 2, 3, 4, 8, 9) e que
( A ∪ B) −( A ∩ B) = (1, 2, 3, 4, 5, 6, 7, 8, 9) −(5, 6, 7) = (1, 2, 3, 4, 8, 9) .
Logo,
A∆B = ( A − B) ∪ ( B − A) = ( A ∪ B) −( A ∩ B) .
42
Essa propriedade pode ser mais bem visualizada por meio do Diagrama
de Venn apresentado na Figura 2.10:
43
Figura 2.11 | Representação gráfica de pares ordenados
Assimile
Tomando como referência o conjunto , considere que
(2x − y , x + y ) = (7, −1) . Vamos determinar os valores de x e y .
Como estamos trabalhando com igualdade entre pares ordenados,
temos que o primeiro elemento do primeiro par ordenado é igual ao
primeiro elemento do segundo par ordenado, ou seja, 2 x − y = 7 .
Analogamente, temos que o segundo elemento do primeiro par
ordenado é igual ao segundo elemento do segundo par ordenado, ou
seja, x + y = −1 . Assim, temos um sistema de equações lineares:
2 x − y = 7
x + y = −1
Resolvendo esse sistema, temos que x = 2 e y = −3 .
Agora que já aprendemos o que é uma operação binária entre conjuntos,
voltemos à definição de produto de cartesiano. Sejam os conjuntos A e B. O
produto cartesiano de A e B, denotado por A´ B , é o conjunto de todos os
pares ordenados (listas de dois elementos) formados, tomando-se um
44
elemento de A juntamente com um elemento de B de todas as maneiras
possíveis. Ou seja, A× B = {(a, b) a ∈ A, b ∈ B} (SCHEINERMAN, 2015).
Exemplificando
Considere os conjuntos A = {4, 5, 6} e B = {6, 7, 8} . Vamos definir os
produtos cartesianos A´ B e B ´ A .
A× B = {(4, 6), (4, 7), (4, 8), (5, 6), (5, 7), (5, 8), (6, 6), (6, 7), (6, 8)}
B × A = {(6, 4), (6, 5), (6, 6), (7, 4), (7, 5), (7, 6), (8, 4), (8, 5), (8, 6)}
Note que A× B ≠ B × A . Isso acontece porque a operação produto
cartesiano não é uma operação comutativa.
45
Temos, portanto, o produto cartesiano A× B = {(2, 4),(2, 5),(3, 4),(3, 5)}
como o conjunto formado por todos os pares possíveis formados com os
elementos de A e de B.
Já vimos, na Seção 2.2, que os Diagramas de Venn também podem ser
usados para resolver problemas sobre cardinalidade de conjuntos, isto é,
problemas que envolvem a contagem do número de elementos de conjuntos
finitos. Mas, segundo Novaes (2014), o Diagrama de Venn não é apenas
um esquema para ajudar o raciocínio. O Diagrama de Venn foi concebido
como uma representação diagramática capaz de atender a todas as possí-
veis relações lógicas entre as classes em estudo, sendo úteis, inclusive, para
demonstrar relações arbitrárias entre conjuntos.
Vamos aqui utilizar um Diagrama de Venn para demonstrar uma relação
arbitrária entre dois conjuntos A e B (Figura 2.13). No caso de dois conjuntos
A e B, os compartimentos do diagrama representam as partes disjuntas do
universo: utilizaremos uma numeração binária, composta apenas pelos
algarismos 0 e 1, em que o primeiro algarismo é 0 ou 1, conforme um objeto
desse compartimento pertença ou não ao conjunto A, enquanto o segundo
algarismo é 0 ou 1, conforme um objeto desse compartimento pertença ou
não ao conjunto B.
Figura 2.13 | Representação diagramática de uma relação arbitrária entre dois conjuntos
46
um, zero) representa objetos que pertençam exclusivamente ao conjunto A.
O número 01 (zero, um) representa objetos que pertençam exclusivamente
ao conjunto B. Já o número 11 (um, um) representa objetos que pertençam
simultaneamente aos conjuntos A e B (intersecção de A e B). Por fim, o
número 00 (zero, zero) representa objetos que não pertencem a nenhum dos
conjuntos A e B.
Uma maneira equivalente de representar essa relação arbitrária é a
utilização de tabelas-verdade, que serão apresentadas posteriormente.
Apresentamos na Figura 2.14 a tabela-verdade para a relação arbitrária entre
dois conjuntos:
Figura 2.14 | Tabela-verdade de uma relação arbitrária entre dois conjuntos
47
Sem medo de errar
48
A numeração binária mostra que 23 = 8 compartimentos esgotam todas
as possibilidades lógicas para um objeto do universo. O número 100 (lê-se:
um, zero, zero) representa objetos que pertençam exclusivamente ao conjunto
A, o número 010 (zero, um, zero) representa objetos que pertençam exclusi-
vamente ao conjunto B e o número 001 (zero, zero, um) representa objetos
que pertençam exclusivamente ao conjunto C. Já o número 000 (zero, zero,
zero) representa objetos que não pertencem a nenhum dos conjuntos A, B e
C. Temos ainda as intersecções:
110 = A ∩ B ∩ C C
101= A ∩ BC ∩ C
001= AC ∩ B ∩ C
111= A ∩ B ∩ C
xÎA xÎB x ÎC x ∈ B ∩C x ∈ A ∪ (B ∩ C)
000 F F F F F
001 F F V F F
010 F V F F F
011 F V V V V
100 V F F F V
101 V F V F V
110 V V F F V
111 V V V V V
49
número binário pertença, ou não, à intersecção dos conjuntos B e C. Por fim,
na última coluna, anotamos V (verdadeiro) ou F (falso) conforme o objeto
representado pelo seu respectivo número binário pertença, ou não, ao
conjunto A ∪ ( B ∩ C ) . As proposições apresentadas na primeira linha da
tabela foram escolhidas a título de ilustração.
Assim, conseguimos representar uma relação arbitrária entre três
conjuntos A, B e C utilizando representações com diagramas e tabelas.
50
Assinale a alternativa que preenche corretamente as lacunas:
a. restrito; estão; complemento.
b. abrangente; estão; simétrico.
c. restrito; não estão; complemento.
d. abrangente; não estão; complemento.
e. abrangente; não estão; simétrico.
51
Referências
HOUAISS, A. Dicionário eletrônico Houaiss da Língua Portuguesa 3.0. [S. l.]: Objetiva, 2009.
CD-ROM.
SOUZA, J. A. L. Lógica matemática. São Paulo: Pearson Education do Brasil, 2016. Disponível
em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/150814/pdf. Acesso em: 2 dez. 2019.
Fundamentos da Lógica
Convite ao estudo
Caro estudante, bem-vindo a mais uma unidade do seu livro de lógica
computacional. Nesta unidade daremos um passo importante para a compre-
ensão da lógica no mundo computacional, principalmente no que se refere à
lógica usada na construção de algoritmos. Esse conhecimento será construído
através do estudo e entendimento da lógica proposicional e seus conectivos,
que permitem criar regras e valorar seus resultados como verdadeiro ou falso.
Logo nos primeiros anos de vida, aprendemos a falar, mesmo que
criando pequenas frases, que muitas vezes somente os pais entendem. Com
o desenvolvimento da linguagem, nossa comunicação vai ficando mais
fluida e complexa, pois vamos aprendendo “regras” que permitem fazer essa
construção. Essas regras vão além do vocabulário e sintaxe de uma língua
como, por exemplo, a língua portuguesa, pois elas envolvem a construção
do raciocínio lógico. Utilizando esse raciocínio tomamos decisões ao longo
de nossa vida e, quanto mais tivermos ciência dessas regras lógicas, melhor
serão nossas análises e, consequentemente, nossas decisões.
Você está participando de um processo seletivo para desenvolvedor
trainee em uma grande empresa de tecnologia. Você já passou a primeira fase,
composta por entrevistas com o gestor e o setor de recursos humanos, agora
chegou a hora de mostrar que você manda bem na lógica e que tem capaci-
dade para se tornar um grande desenvolvedor. Essa etapa do processo consiste
em três testes, no primeiro você deverá criar proposições simples e compostas
para resolver um problema com as formas geométricas. No segundo desafio,
você deverá criar estruturas condicionais usando os operadores lógicos para
resolver um problema com fórmulas. No último desafio, você deverá usar os
recursos da lógica para demonstrar a veracidade de um argumento.
Para concluir com êxito essa fase do processo seletivo e garantir sua vaga
na empresa, você aprenderá na primeira seção da unidade sobre a lógica
proposicional e os conectores de conjunção, disjunção e negação. Na segunda
seção iremos explorar novas proposições compostas aprendendo outros
conectores. Na terceira seção, veremos como as regras lógicas nos permitem
criar novas conclusões por meio de métodos dedutivos e inferenciais.
Vamos juntos dar esse importante passo rumo à formação
de programadores!
Bons estudos!
Seção 1
Diálogo aberto
Caro estudante, iniciamos agora nossa introdução à lógica proposicional.
Esse conhecimento o capacitará a construir condições lógicas embasadas em
regras e a valorar o resultado dessa condição. Sem dúvida, esse conhecimento
é imprescindível na construção de algoritmos computacionais.
Como candidato a uma vaga de desenvolvedor trainee em uma grande
empresa de tecnologia, após passar pelas entrevistas com seu futuro gestor e
com o setor de recursos humanos, chegou a hora de vencer mais uma etapa:
o teste de lógica. A empresa faz questão desse teste, pois sabe que um bom
desenvolvedor deve mandar bem na lógica. Nesse primeiro teste, a empresa
lhe forneceu uma folha com três figuras geométricas, conforme ilustra a
Figura 3.1.
Figura 3.1 | Figuras geométricas
27
Agora é com você! Como você poderá usar as dicas e transformá-las em
proposições simples e/ou compostas? Quantas proposições serão necessárias
para cada figura geométrica? Quais operadores lógicos você terá que usar
para construir as regras?
Para vencer esse desafio, nessa seção iremos aprender sobre a lógica
proposicional, o que são as proposições simples e como criar as proposições
compostas, utilizando os conectivos lógicos de conjunção e disjunção.
Vamos em frente garantir essa vaga de emprego!
28
Quadro 3.1 | Premissas e conclusões
1. Pedro é inteligente.
Premissas (razões) 2. Pedro estuda muito.
3. Todos os alunos inteligentes e estudiosos são aprovados.
29
4. Verdadeira.
Mas a quinta frase não pode ser valorada em V ou F, pois a resposta é um
certo horário.
5. ?
Essa distinção entre os tipos de sentenças é crucial para o estudo da
lógica, pois uma frase que pode ser classificada como verdadeira ou falsa (não
ambas ao mesmo tempo) é chamada proposição (MACHADO; CUNHA,
2008; SOUZA, 2016; GERSTING, 2017).
Assimile
Proposição é uma sentença declarativa que pode ser classificada como
verdadeira ou falsa, jamais ambas ao mesmo tempo. Ou seja, não pode
haver dúvida quanto à classificação da sentença. Também podemos
dizer que trata-se de uma classificação binária, pois só existem dois
resultados possíveis: V ou F, ou ainda 1 ou 0.
Reflita
As proposições (premissas) são usadas para sustentar uma conclusão
em um argumento. Sabendo que essa conclusão também é uma
proposição, podemos afirmar que uma conclusão verdadeira é sempre
composta por premissas que são suficientes para validá-la?
Sabendo que uma proposição é uma sentença declarativa que pode ser
classificada como V ou F, podemos encontrá-la nas mais diversas formas.
Observe o Quadro 3.2. Nele temos diagramas de Euler representando
conjuntos e sentenças que podem ser classificadas como V ou F, baseado no
diagrama, portanto, são proposições.
30
Quadro 3.2 | Proposições e conjuntos
Todo A é B.
Nenhum A é B.
31
Exemplificando
Observe as proposições A, B, C a seguir:
A: 11 é um número ímpar.
B: 11 é um número primo.
C: 11 é um número ímpar e primo.
As proposições A e B são compostas por uma única verdade.
A: verdadeira
B: verdadeira
Já a proposição C é composta por duas proposições simples (nesse caso,
pelas proposições A e B) que são ligadas pela palavra “e”. A valoração da
proposição C depende da valoração independente de A e de B, aplicada
ao operador lógico que está unindo as duas proposições simples.
Veremos em breve como fazer essa valoração.
32
(iii) não, (iv) se... então, (v) se, e somente se. (BISPO; CASTANHEIRA,
2011).
Conectivo lógico de conjunção - e
Vamos começar estudando o conectivo lógico “e”, que também pode ser
visto na literatura escrito em inglês AND ou ainda por meio do seu símbolo
Ù . Essa operação lógica é chamada conjunção e sua valoração será verda-
deira somente quando ambas as proposições simples forem verdadeiras.
Resumindo, se A e B forem proposições simples verdadeiras, a proposição
composta A Ù B (lê-se “A e B”) será verdadeira. Para compreendermos
melhor, considere as proposições a seguir:
A: Quatro é um número par.
B: Três é um número ímpar.
C: Cinco é maior que dez.
P: Quatro é um número par e três é um número ímpar.
R: Quatro é um número par e cinco é maior que dez.
Vamos começar valorando as proposições simples (A, B, C):
A: verdadeira.
B: verdadeira.
C: falsa.
Para facilitar nossa compreensão, vamos reescrever as proposições P, R
utilizando notação simbólica, portanto temos:
P: A Ù B
R: A Ù C
Na proposição P temos que as proposições simples A, B são verdadeiras,
portanto P = V e V, o que resulta em verdadeiro, ou seja, a proposição P pode
ser valorada como verdadeira. Já na proposição R, temos que A é verdadeiro,
mas C é falso, portanto R = V e F, o que resulta em falso, ou seja, a proposição
R deve ser valorada como falsa, já que para essa operação lógica ambas propo-
sições precisam ser verdadeiras para o resultado também ser verdadeiro.
Além da palavra “e” outras podem ser usadas para representar a
conjunção entre duas proposições: mas, todavia, contudo, no entanto, visto
que, enquanto, além disso, embora. (BISPO; CASTANHEIRA, 2011).
Veja alguns exemplos:
33
A: João foi ao cinema.
B: Maria foi ao shopping.
C: João foi ao cinema, mas Maria foi ao shopping.
D: João foi ao cinema, enquanto Maria foi ao shopping.
Conectivo lógico de disjunção – ou (inclusivo)
Outro conector muito utilizado tanto na Lógica Formal, quanto na
computacional é “ou” que também pode ser visto na literatura escrito em
inglês OR ou ainda por meio do seu símbolo Ú . Essa operação lógica é
chamada de disjunção e seu operador lógico pode ser utilizado de duas
formas distintas: inclusivo ou exclusivo. Veremos nesta seção a forma inclu-
siva do operador.
O operador lógico de disjunção usado na forma inclusiva terá sua
valoração falsa somente quando ambas as proposições simples forem falsas.
Resumindo, se A e B forem proposições simples falsas, a proposição composta
A Ú B (lê-se “A ou B”) será falsa, nos demais casos a valoração é verdadeira.
Para compreendermos melhor, considere as proposições a seguir:
A: Quatro é um número par.
B: Três é um número ímpar.
C: Cinco é maior que dez.
D: Sete é um número par.
P: Quatro é um número par ou três é um número ímpar.
R: Quatro é um número par ou cinco é maior que dez.
S: Cinco é maior que dez ou sete é um número par.
Vamos começar valorando as proposições simples (A, B, C, D):
A: verdadeira.
B: verdadeira.
C: falsa.
D: falsa.
Para facilitar nossa compreensão, vamos reescrever as proposições P, R, S
utilizando notação simbólica, portanto temos:
P: A Ú B
34
R: A Ú C
S: C Ú D
Na proposição P temos que as proposições simples A, B são verdadeiros,
portanto P = V ou V, o que resulta em verdadeiro, ou seja, a proposição P pode
ser valorada como verdadeira. Na proposição R, temos que A é verdadeiro,
mas C é falso, portanto R = V ou F, como se trata da disjunção inclusiva, o
resultado será verdadeiro, pois para ser falso ambas proposições simples têm
que ser falsas. Já na proposição S, temos que C, D são proposições simples
falsas, portanto S = F ou F, o que resultado em falso.
Operador lógico de negação – não
Os operadores lógicos de conjunção e disjunção são binários, ou seja,
juntam duas expressões para formar uma nova proposição. O operador
lógico de negação é unário, ou seja, ele não junta duas proposições, ele age
sobre uma única proposição (que pode ser resultado de uma operação
binária). A palavra usada para fazer a negação é o não que também pode ser
visto na literatura em inglês NOT, ou ainda de forma simbólica como ~ , ¬
, ‘ . Os dois primeiros símbolos são usados antes da letra que representa a
proposição, já o terceiro é usado depois da letra. Por exemplo, as expressões:
~ A , ¬B , C’ representam as negações das proposições A, B, C.
Ou ainda como:
~ A : É falso que Luís gosta de viajar.
Ou ainda
~ A : Não é verdade que Luís gosta de viajar.
35
universidade. Em uma das páginas do sistema, deverá ser implementada a
opção para o usuário escolher o curso, o semestre e a idade dos alunos. Nesse
cenário vamos considerar as seguintes proposições:
A: Todos os alunos são do curso de engenharia.
B: Todos os alunos são do segundo semestre.
C: Todos os alunos possuem idade superior a 30 anos.
Agora, suponhamos que o usuário do sistema queira listar alunos que não
são dos cursos de engenharia, alunos que estão no segundo semestre, alunos
que possuem idade superior a 30 anos. Como essa regra (proposição) deve
ser construída? Qual combinação de conectores deve ser usada para produzir
o resultado desejado? Considerando as proposições dadas, a lógica a ser
criada deve ser: ∼ A ∧ B ∧ C .
Como você pode notar, sem a Lógica Formal, jamais seríamos capazes de
construir nossos algoritmos computacionais. Portanto, continue estudando
esse importante tema!
36
2. Um quadrado é composto por quatro lados com medidas iguais e
quatro ângulos de noventa graus.
3. Um retângulo é composto por quatro lados com medidas paralelas
iguais e quatro ângulos de noventa graus.
Com essas informações você deve construir proposições simples e
compostas que representem as regras necessárias para a construção das
três figuras.
Pois bem, o primeiro passo é construir as proposições simples. Vamos
começar pelo triângulo.
A: A soma das medidas do lado a com o lado b do triângulo abc é menor
que a medida do lado c.
B: A soma das medidas do lado b com o lado c do triângulo abc é menor
que a medida do lado a.
C: A soma das medidas do lado a com o lado c do triângulo abc é menor
que a medida do lado b.
Agora que temos as proposições simples, vamos usar a dica 1 para construir
uma expressão lógica que traduza essa regra. Como as três proposições
precisam ser verdadeiras para que seja possível construir um triângulo, teremos
como resultado a expressão: A Ù B Ù C . Ou seja, foi necessário usar a conjunção
para construir a proposição composta que representa a regra.
Agora vamos construir as proposições simples para criar a regra para a
construção do quadrado.
P: A medida do lado d é igual à do lado e.
Q: A medida do lado f é igual à do lado e.
S: A medida do lado g é igual à do lado f.
T: A medida do ângulo r é diferente de noventa graus.
Com a criação das proposições simples, agora podemos criar a proposição
composta que representa a regra: P ∧ Q ∧ S∧ ∼ T . Veja, que na maneira como
construímos a proposição simples T, foi necessário usar a negação para construir
a regra correta. É importante você ficar atento ao aspecto sintático da expressão.
Por fim, vamos construir as proposições simples para o retângulo.
X: A medida do lado h é igual à do lado j.
Z: A medida do lado i é igual à do lado l.
37
W: A medida do ângulo r é igual a noventa graus.
Agora basta usar o(s) conector(es) corretos para criar a proposição
composta que representa a regra: X Ù Z Ù W .
Veja que, a partir da utilização de proposições simples e conectivos
lógicos, foi possível construir formas e regras que podem ser implemen-
tadas computacionalmente.
38
IV. Maria conseguiu concluir com êxito o segundo semestre da facul-
dade.
É correto o que se afirma em:
a. I apenas.
b. I e II, apenas.
c. II e III, apenas.
d. III e IV, apenas.
e. I, II, III, IV.
39
Seção 2
Diálogo aberto
Caro estudante, iniciamos agora mais uma seção do nosso estudo de
introdução à lógica proposicional. Nesta nova etapa, você aprenderá novos
conectivos lógicos, o que lhe possibilitará valorar proposições compostas
mais complexas, desenvolvendo suas habilidades de aplicar a lógica propo-
sicional com suas regras e formas. Você já deve ter ouvido e falado muito
frases do tipo “Se chover, eu não vou sair de casa”, ou então “Se eu ganhar
na loteria, não vou mais trabalhar!”. Esse tipo de frase possui uma estrutura
lógica embasada em uma condição: se algo acontecer, então outro evento
também irá acontecer. Nesta seção, vamos entender esse tipo de estrutura
lógica, bem como outros importantes conceitos.
Dando sequência ao seu teste de lógica para uma vaga de desenvolvedor
trainee em uma grande empresa de tecnologia, chegou a hora de vencer
mais um desafio, no qual você deverá criar estruturas condicionais usando
os operadores lógicos para resolver um problema com fórmulas. Foram-lhe
passadas duas fórmulas:
−b ± ∆
x= ∆ = b2 − 4ac .
2a
¬( A ∧ B) ⇔ ¬A ∨ ¬B .
40
Se o coeficiente a for positivo e o valor do delta (D) for positivo, então a
parábola tem a concavidade virada para cima e a equação possui duas raízes
reais distintas.
Para a segunda fórmula, você deverá utilizar as regras do cálculo proposi-
cional e fazer a demonstração, passo a passo, da veracidade da lei anunciada
por Augusto De Morgan.
Com base no seu conhecimento, quantas proposições simples devem ser
usadas para traduzir as regras apresentadas para a fórmula da equação do
segundo grau e de Bhaskara? Quais conectores devem ser utilizados para
escrever a fórmula de maneira correta? Qual mecanismo pode ser usado para
fazer a demonstração da lei de De Morgan? Existe alguma sequência especí-
fica para a resolução? Como a fórmula deverá ser valorada?
Para vencer esse desafio proposto, você aprenderá novos conectivos
lógicos, bem como construir e valorar fórmulas do cálculo proposicional.
Leia com atenção o conteúdo da seção. Bons estudos!
41
Agora vamos usar as proposições simples A, B, C, D, criar as compostas
usando a disjunção. Observe:
R: João é estudante ou é trabalhador.
S: João é Paulista ou é Carioca.
A proposição R representa uma disjunção inclusiva, pois João pode ser
estudante e também trabalhador. Já a proposição S é uma disjunção exclu-
siva, pois João não pode ser Paulista e Carioca, ele só pode ser um dos dois.
Segundo Souza (2016), a disjunção inclusiva é representada pelo símbolo
Ú , ou seja, a proposição R, pode ser escrita como A Ú B . Já a disjunção exclu-
siva é representada pelo símbolo , ou seja, a proposição S pode ser escrita
como C D.
Na valoração de uma disjunção exclusiva, o resultado será verdadeiro se,
e somente se, apenas umas das proposições simples forem verdadeiras.
Conectivo condicional (Implicação lógica) – se... então
Dadas as proposições simples A, B, elas formam uma condicional (ou
implicação lógica) se for possível construir a estrutura: se A, então B (BISPO;
CASTANHEIRA, 2011). A primeira proposição é chamada antecedente, e a
segunda consequente. A condicional significa que a verdade da primeira
proposição implica a verdade da segunda proposição (GERSTING, 2017). O
símbolo usado para representar a implicação lógica é o ® , logo a regra se A,
então B, pode ser escrita como A ® B .
Exemplificando
Considere as proposições a seguir:
P: João estuda para a prova.
R: João passa de ano.
A proposição P ® R (lê-se Se P, então R), deve ser traduzida como: Se
João estudar para a prova, então passará de ano.
Veja que para fazer sentido a composição da sentença condicionada,
ajustamos os verbos estudar e passar. Mas o que realmente importa é
entender a condição que foi criada. Veja que a proposição B está condi-
cionada à proposição A, ou seja, B depende de A para acontecer.
42
A: O interruptor da sala foi desligado.
B: A luz da sala apagou.
C: A ® B .
A proposição C deve ser traduzida como “Se o interruptor da sala for
desligado, então a luz se apagará”.
Se as duas proposições realmente acontecerem, então temos o caso
V → V = V , ou seja, C é verdade. Porém, se o interruptor for desligado, mas
por algum motivo a luz não se apagar, então temos o caso V → F = F , ou seja,
C é falso.
Reflita
Em um condicional existe o antecedente e o consequente, ou seja, uma
proposição depende da outra. Se trocarmos a ordem do antecedente
pelo consequente alteramos o resultado da condição? Quais implica-
ções essa troca poderia trazer ao algoritmo?
43
No algoritmo deverá ser implementada a regra: A ® B . “Se o pagamento
for à vista, então será concedido um desconto de 10%”.
A expressão “Se... então” é a mais comum de se utilizar para o condi-
cional, até mesmo porque na construção de algoritmos usamos exatamente
essas palavras. Mas a implicação lógica pode ser escrita de outras formas,
conforme ilustra o Quadro 3.3, que nos apresenta 8 formas diferentes de
“traduzir” essa expressão lógica.
Quadro 3.3 | Expressões para o condicional
Expressão em português Conectivo lógico Expressão lógica
1. Se A, então B
2. A condicional B.
3. A, logo B.
4. A só se B; A somente se B.
Condicional A® B
5. B segue de A.
6. A é uma condição suficiente para B.
7. Basta A para B.
8. B é uma condição necessária para A.
44
observar, o bicondicional resume a sentença, facilitando até mesmo
a compreensão.
A valoração do conectivo bicondicional será verdadeira quando o valor-
-lógico das duas proposições forem iguais, tanto para verdadeiro como para
falso. Ou seja, V ↔ V = V e F ↔ F = V .
Fórmula bem-formulada ou fbf
Assim como fez Aristóteles, a partir de agora, vamos focar na forma e nos
valores lógicos que as expressões podem assumir. Já sabemos que é possível
criar proposições compostas, fazendo conexões entre proposições simples.
Na verdade, podemos encadear preposições, conectivos e parênteses (ou
colchetes) e formar novas expressões lógicas, as quais chamamos fórmula.
Por exemplo, como a que vimos no conectivo bicondicional ( A → B) ∧ (B → A)
. Embora “Uma sequência qualquer de elementos do vocabulário do cálculo
proposicional constitui uma fórmula” (BISPO; CASTANHEIRA, 2011, p.
12), nem toda fórmula é válida. Segundo Gersting (2017), certas regras de
sintaxe precisam ser seguidas, assim como acontece em qualquer linguagem
de programação. Podemos fazer uma analogia entre as fórmulas do cálculo
proposicional com as fórmulas matemáticas. Os conectivos lógicos são como
os operadores matemáticos (soma, subtração, etc.), portanto sempre teremos
um conectivo entre duas proposições. O operador de negação é como o sinal
negativo na matemática e, por isso, ele pode aparecer perto de outro conector.
Uma fórmula que segue as regras de sintaxe é chamada de fórmula bem-for-
mulada ou ainda, em inglês, well-formed formula - wff (BISPO;
CASTANHEIRA, 2011; GERSTING, 2017). Observe o Quadro 3.4. Nele
temos três exemplos de fórmulas matemáticas, três de fórmulas válidas (fbf)
e três de fórmulas inválidas.
Quadro 3.4 | Fórmulas matemáticas e proposicional
Expressão matemática fbf Não fbf
(2 + 3) ∗ 5 ( A → B) ∨ C AA Ù B
(3 + 4) ∗ (2 + 3) ( A → B) ∧ (B → A) ∧∨ AB
2 + 3 ∗−5 A → B ∧ ¬C ∧¬B
45
de resolução sobre a adição. Na fbf da linha 1 também temos parênteses e o
motivo é o mesmo da expressão matemática: queremos que a condicional
seja resolvida antes da disjunção. Portanto, os parênteses no cálculo proposi-
cional também têm o papel de delimitar e indicar quais operações devem ser
efetuadas primeiro. Assim como os operadores matemáticos, os conectivos
lógicos também possuem ordem de precedência, sendo ela:
1. Para conectivos dentro de vários parênteses, efetuam-se primeiro as
expressões dentro dos parênteses mais internos.
2. Negação ( ¬).
3. Conjunção e disjunção ( Ù , Ú ).
4. Condicional ( ® ).
5. Bicondicional ( « ).
Quando dois operadores tiverem a mesma ordem de precedência, será
valorado primeiro o que estiver mais à esquerda, da mesma forma que
acontece em uma fórmula matemática.
Agora que sabemos a ordem de precedência dos conectivos lógicos,
podemos interpretar a fbf da linha 2 no Quadro 3.4. Veja que primeiro será
valorada a fórmula ( A ® B) , em seguida (B ® A) e, por fim, a conjunção
entre os dois resultados.
Já na fbf da linha 3, não temos parênteses, então devemos seguir a ordem
de precedência e valorar da esquerda para direita. Então seria primeiro
efetuada a negação ¬C , em seguida seria calculado a conjunção de B com o
resultado da negação: B ∧ ¬C e, por fim, seria feita a condicional entre A o
resultado da conjunção.
Esse entendimento é muito importante, então vamos valorar a fbf da
linha 3, dadas as seguintes entradas para as proposições A, B, C.
A é verdadeira.
B é falsa.
C é falsa.
Observe a Figura 3.3, ao submeter os valores-lógicos de entrada das
proposições, seguindo a ordem de execução, tem-se a seguinte sequência:
1. ¬F que resulta em V.
2. F Ù V que resulta em F.
3. V ® F que resulta em F.
46
Portanto, o resultado da fbf A → B ∧ ¬C é falso.
Ao observar o resultado das etapas na Figura 3.3, fica claro que o resul-
tado de uma etapa é usado em outra etapa, pois a fórmula precisa ser resol-
vida em partes seguindo a ordem de precedência.
Figura 3.3 | Esquema de valoração de fórmulas
Como você pode notar a valoração de uma fbf deve ser feita em
etapas, seguindo a ordem de precedência, assim como acontece em uma
fórmula matemática.
Equivalência lógica
No conectivo bicondicional apresentamos uma definição trazida por
Gersting (2017) que diz que a fórmula (i) A « B é um atalho para (ii)
( A → B) ∧ (B → A) . A autora usa o termo “atalho” porque o resultado da
fórmula (i) é igual ao da (ii) para todas as combinações possíveis de entradas,
isso acontece porque estamos diante de uma equivalência lógica.
Assimile
Quando duas fórmulas apresentam o mesmo resultado lógico para as
todas as possíveis combinações de entradas, então diz-se que elas são
equivalentes. O símbolo usado para representar a equivalência lógica é
o Û.
47
II. ¬( A ∧ B) ⇔ ¬A ∨ ¬B .
Observe na fórmula I que, do lado esquerdo da equivalência, a negação
está sendo aplicada ao resultado de uma disjunção, enquanto do lado direito
a negação afeta cada uma das proposições. Para treinarmos, vamos verificar
a veracidade da fórmula I. Para ser uma equivalência, o resultado precisa
ser igual para todas as combinações possíveis de entrada. Então temos as
seguintes combinações possíveis para as proposições A, B: (1) A = V e B = V;
(2) A = V e B = F; (3) A = F e B = V; (4) A = F e B = F;
Vamos testar essas quatro combinações de entrada, primeiro para a
fórmula ¬( A ∨ B) . A Figura 3.4 ilustra cada passo para a valoração da fórmula,
para cada combinação possível de entrada. Como resultado lógico temos que
para as entradas (1), (2), e (3) o resultado é F, já para a entrada (4) o resultado
é V.
Figura 3.4 | Valoração da fórmula ¬( A ∨ B)
48
resultado lógico temos que para as entradas (1), (2), e (3) o resultado é F, já
para a entrada (4) o resultado é V.
Figura 3.5 | Valoração da fórmula ¬A ∧ ¬B
49
Vamos relembrar as regras que devem ser traduzidas para forma simbólica:
Se o coeficiente a for positivo, então a parábola tem a concavidade virada
para cima.
Se o coeficiente a for negativo, então a parábola tem a concavidade virada
para baixo.
Se o valor do delta (D) for positivo, então a equação possui duas raízes
reais distintas.
Se o valor do delta (D) for negativo, então a equação não possui
raízes reais.
Se o coeficiente a for positivo e o valor do delta (D) for positivo, então a
parábola tem a concavidade virada para cima e a equação possui duas raízes
reais distintas.
Como primeiro passo você deve escrever as proposições simples, as
quais nos possibilitarão construir as implicações lógicas para a equação do
segundo grau e a fórmula de Bhaskara. A seguir, uma das possibilidades de
se escrever essas proposições.
A: O coeficiente a da equação é positivo e diferente de zero.
B: A parábola tem a concavidade virada para cima.
C: A parábola tem a concavidade virada para baixo.
D: O valor do delta é positivo e diferente de zero.
E: A equação possui duas raízes reais distintas.
F: A equação não possui raízes reais.
Com as proposições simples definidas, agora podemos escrever os condi-
cionais que representam, simbolicamente, as regras elencadas.
Para a regra 1, podemos escrever: A ® B .
Para a regra 2, podemos escrever: ¬A → C .
Para a regra 3, podemos escrever: D ® E .
Para a regra 4, podemos escrever: ¬D → F .
Para a regra 5, podemos escrever: ( A ∧ D) → (B ∧ E ) .
Veja que na regra 5 temos uma condição que envolve a conjunção entre
duas proposições. Para construir, basta ficar atento aos conectivos que estão
sendo usados na frase e na forma como se anunciou as proposições simples.
50
Agora é hora de fazer a demonstração da lei de De Morgan
¬( A ∧ B) ⇔ ¬A ∨ ¬B . Essa fórmula apresenta uma equivalência, ou seja, De
Morgan afima que a fórmula ¬( A ∧ B) apresenta os mesmos resultados que a
fórmula ¬A ∨ ¬B para todas as combinações possíveis de entradas lógicas
para A, B. Portanto, para resolver essa parte do desafio é necessário testar
todas as entradas possíveis para as proposições em cada uma das fórmulas e
verificar se os resultados são iguais.
Primeiro vamos estabelecer a sequência de combinações de entrada que
vamos usar: (1) A = V e B = V; (2) A = V e B = F; (3) A = F e B = V; (4) A =
F e B = F;
Agora é necessário submeter essa sequência a cada uma das fórmulas. A
Figura 3.6 apresenta os resultados para a fórmula ¬( A ∧ B) . Como resultado
lógico temos para a entrada (1) o resultado é F, já para as entradas (2), (3) e
(4) o resultado é V.
Figura 3.6 | Valoração da fórmula ¬( A ∧ B)
51
Figura 3.7 | Valoração da fórmula ¬A ∨ ¬B
52
I. ( A ∧ ¬B ) → C .
II. A¬∧ B → D .
III. ¬D → B ∧ D .
IV. B ∧ (¬A) → C .
É correto o que se afirma em:
a. Apenas a fórmula I é uma fbf.
b. Apenas as fórmulas I e IV são fbfs.
c. Apenas as fórmulas I, III e IV são fbfs.
d. Apenas as fórmulas II, III e IV são fbfs.
e. As fórmulas I, II, III e IV são fbfs.
53
3. Em uma fbf os conectivos lógicos são como os operadores matemáticos
(soma, subtração, etc.), ou seja, se para fazer a adição é necessário usar o
sinal “+” entre dois números, para fazer a conjunção, ou disjunção, ou o
condicional, ou o bicondicional é preciso duas proposições, uma antes, outra
após o conectivo. O operador lógico de negação é como o sinal negativo na
matemática e, por isso, ele pode aparecer perto de outro conector, sem a
necessidade de vir entre duas proposições.
Considerando a seguinte combinação de entradas: A = V, B = F, C = F, D = V
para as proposições A, B, C, D, analise as afirmativas a seguir:
I. A valoração para a fórmula A ∧ B ∨ C é falsa.
II. A valoração para a fórmula D ® B é falsa.
III. A valoração para a fórmula B ∨ D¬C é verdadeira.
IV. A valoração para a fórmula C ∨ A → D é verdadeira.
É correto o que se afirma em:
a. I e II, apenas.
b. I, II e IV, apenas.
c. I e IV, apenas.
d. II e III, apenas.
e. I, II, III e IV.
54
Seção 3
Diálogo aberto
Caro estudante, dando continuidade ao nosso estudo de lógica computa-
cional, chegou um momento muito importante no qual aprenderemos a fazer
demonstrações lógicas. O raciocínio usado para fazer uma dedução lógica é
similar ao usado para construir sequências lógicas em um algoritmo, pois,
em ambos os casos, é necessário escrever uma sequência correta de passos,
tanto em termos de sintaxe, quanto em relação ao raciocínio e as regras
necessárias para alcançar o resultado desejado.
Dando continuidade ao processo seletivo para a vaga de trainee, nessa
última fase do processo, os contratantes querem testar seu raciocínio lógico,
bem como seu conhecimento sobre as regras de dedução da Lógica Formal.
Você recebeu dois argumentos:
a. Se o papel de tornassol ficar vermelho, então a solução e ácida. O
papel de tornassol ficou vermelho. Portanto, a solução é ácida.
b. Se treino, eu venço o campeonato de xadrez. Se não jogo vôlei, então
eu treino xadrez. Não venci o campeonato de xadrez. Portanto,
joguei vôlei.
Seu desafio é traduzir para forma simbólica os dois argumentos e provar
a veracidade, usando as regras de dedução da Lógica Formal. Cada passo
na sequência de demonstração deve ser comentado, para que os avaliadores
tenham certeza que você conhece o processo. Quantos passos serão neces-
sários para demonstrar cada argumento? Será possível fazer uma demons-
tração usando somente regras de inferência? Sabendo que é mais impor-
tante conhecer o processo do que decorar regras, os avaliadores permi-
tiram que você usasse a Internet para consultar as regras de equivalência e
inferência lógica.
Para vencer esse desafio, você verá nessa seção as regras para avaliar um
argumento e verificar se ele é válido ou não. Também aprenderá como estru-
turar a sequência de demonstração, desenvolvendo, assim, o raciocínio e
dando um passo a mais na direção de se tornar um grande desenvolvedor.
Vamos em frente!
55
Não pode faltar
56
Assimile
Um argumento é composto por hipóteses e conclusão, e ambas podem
ser compostas por proposições simples ou fbf. No argumento, as propo-
sições são ligadas logicamente pelo conectivo de conjunção (e), as quais
implicam logicamente a conclusão. Por isso, a ligação entre as hipóteses
e a conclusão é feita por meio do conectivo condicional.
Exemplificando
Vamos analisar o seguinte argumento adaptado de Gersting (2017, p.
24).
D. Pedro I proclamou a independência do Brasil e Thomas Jefferson
escreveu a Declaração de Independência dos Estados Unidos. Portanto,
todo dia tem 24 horas.
Vamos separar as proposições do argumento em hipóteses e conclusão.
A: D. Pedro I proclamou a independência do Brasil.
B: Thomas Jefferson escreveu a Declaração de Independência dos
Estados Unidos.
C: Todo dia tem 24 horas.
Nosso conhecimento nos permite valorar as três proposições, logo,
A, B, C são todas verdadeiras. Embora, tanto as hipóteses, quanto a
conclusão sejam proposições verdadeiras, o argumento é inválido, pois
a conclusão nada tem a ver com as hipóteses.
Esse exemplo deixa claro que, basear-se apenas no conteúdo de um
argumento não é suficiente para dizer se ele é válido ou não.
Segundo a Lógica Formal, devemos nos basear apenas nas regras para
validar um argumento e não no conteúdo. O exemplo mencionado anterior-
mente deixa claro o motivo dessa restrição. Mas, afinal, quais são essas regras?
Para começarmos a entender as regras, vamos traduzir o argumento: D.
Pedro I proclamou a independência do Brasil e Thomas Jefferson escreveu a
57
Declaração de Independência dos Estados Unidos. Portanto, todo dia tem 24
horas, para notação simbólica, logo temos a seguinte fórmula: A ∧ B → C .
Nessa fórmula quando o valor lógico de entrada da proposição A for verda-
deiro e de B for falso, o resultado da implicação será falso, ou seja, existe pelo
menos uma combinação de entradas, para a qual a fórmula resultará em
falsa, logo essa fórmula não é uma tautologia e, consequentemente, não é um
argumento válido. Segundo Gersting (2017), tautologia é um resultado no
qual todas as entradas possíveis de uma fórmula obtêm verdadeiro como
resultado. Ainda, segundo a mesma autora, um argumento só é válido
quando a fórmula é uma tautologia.
Reflita
Um argumento composto por preposições verdadeiras não necessaria-
mente é um argumento válido. Um argumento que contenha proposi-
ções falsas, pode ser um argumento válido?
2. P2 (hipótese)
... ...
n) Pn (hipótese)
(resultado da aplicação de uma regra de
n+1) fbf1 dedução a hipóteses anteriores.)
(resultado da aplicação de uma regra de
n+2) fbf 2 dedução a hipóteses anteriores.)
... ...
(resultado da aplicação de uma regra de
n+n) C
dedução a hipóteses anteriores.)
58
Na sequência de demonstração, cada proposição deve ficar em uma linha,
enumeramos para facilitar na hora de aplicar as regras de dedução. Na frente
de cada linha devemos indicar o que ela representa, se é uma hipótese ou então
a regra que foi aplicada. Após elencar todas as proposições é hora de começar a
aplicar as regras e, consequentemente, obter novas fbfs. A quantidade varia de
caso para caso, mas as regras de dedução devem ser aplicadas até que se consiga
provar que o argumento é verdadeiro, ou então, que não existam mais regras a
serem aplicadas, mostrando, assim, que o argumento é falso.
P ®Q ¬P ∨ Q Condicional/cond
P P)
¬( ¬ Dupla negação/dn
Definição de equivalência/
P «Q (P → Q) ∧ (Q → P ) que
59
O Quadro 3.5 nos traz seis conjuntos de regras de dedução, sua utilização
será da seguinte forma: Se tivermos uma expressão como da linha 1, P Ú Q ,
quando necessário, podemos substitui-la por Q Ú P , pois essas fbfs são
equivalentes e trata-se da propriedade da comutatividade. O contrário
também é válido, quando aparecer Q Ú P , podemos substituir por P Ú Q .
Esse processo de substituir uma fbf por outra, é o mesmo para todas as
demais regras apresentadas.
60
Se João desligar o interruptor, então a lâmpada se apaga. Vamos separar as
proposições P, Q, portanto:
P: João desliga o interruptor.
Q: A lâmpada apaga.
Agora vamos representar cada parte da fórmula de Modus Tollens:
I. (P ® Q) : Se João desligar o interruptor, então a lâmpada se apaga.
61
Ao fazer a conjunção entre a primeira parte com a segunda, conseguimos
inferir a conclusão. Pois, se as árvores começam a florir, então começa a
primavera E se começa a primavera então as árvores dão frutos, logo podemos
inferir (concluir) que se as árvores começam a florir, então darão frutos.
A regra de Silogismo Hipotético também pode ser representada pelo
P ®Q
Q®R
esquema: . Veja que a consequente de uma proposição é a antece-
P®R
dente na outra e, por isso, o resultado pode ser inferido do antecedente da
primeira para a consequente da segunda proposição.
P ® Q , ¬Q ¬P Modus Tollens/MT
P, Q P ÙQ Conjunção/conj
P ÙQ P, Q Simplicação/simp
P P ÙQ Adição/ad
Assimile
Nas regras de equivalência, as colunas podem ser usadas nos dois
sentidos. Já nas regras de inferência, só existe um sentido: a fbf da
coluna “De” pode ser substituída pela coluna de “Podemos deduzir”,
mas o contrário não é verdade. Em outras palavras, “Ao contrário das
regras de equivalência, as regras de inferência não funcionam em
ambas as direções” (GERSTING, 2017, p. 27).
62
Agora que já conhecemos as principais regras de dedução lógica, vamos
utilizar esse método para mostrar que o argumento (¬A ∨ B) ∧ (B → C ) → ( A → C )
é válido. O primeiro passo é identificar as hipóteses e a conclusão. A fórmula
do argumento ( P1 ∧ P2 ∧ P3 ∧ ... ∧ Pn → C ) nos diz que as hipóteses são ligadas
pela conjunção e a conclusão é ligada pela última implicação lógica. Outro
detalhe importante é que as hipóteses podem ser fbf e não somente proposi-
ções simples. Portanto, para nosso caso temos:
Hipótese 1: (¬A ∨ B)
Hipótese 2: (B ® C )
Conclusão: ( A ® C )
Veja que na conclusão temos uma implicação, isso já nos dá indícios
de que conseguiremos usar o silogismo hipotético. Vamos à sequência
de demonstração.
1. ¬A ∨ B (hip).
2. B ® C (hip).
3. A ® B (1, cond).
4. A ® C (3, 4, SH).
Em quatro passos conseguimos demonstrar que o argumento é válido. Nos
passos 1 e 2 elencamos as hipóteses. No passo 3, consultamos as regras de equiva-
lência no Quadro 3.5, e usamos a regra de equivalência do condicional, ou seja,
trocamos a hipótese ¬A ∨ B por A ® B já que são equivalentes. Na linha 4,
consultamos as regras de inferência no Quadro 3.6 e aplicamos o silogismo
hipotético entre as linhas 3 e 2, ou seja, substituímos ( A → B) ∧ (B → C ) por
A ® C . Como chegamos exatamente a fbf da conclusão, provamos a validade do
argumento. As regras de dedução lógica devem ser consultadas a todo momento
no processo de demonstração. Não existe uma receita, somente a prática nos
auxilia a desenvolvermos o raciocínio. Podemos fazer uma analogia do processo
de demonstração com a atividade do programador. Na programação sequencial,
temos uma entrada e uma saída desejável, portanto implementamos uma
sequência lógica de passos para chegar a esse resultado. É trabalho do desenvol-
vedor descobrir qual a sequência de proposições (comandos) que farão a trans-
formação dos dados de entrada, para a saída. Cada linha do programa tem que
seguir as regras de sintaxe da linguagem de programação, bem como a lógica
necessária para alcançar o resultado. Portanto, praticar esse raciocínio de
sequência lógica é um passo importante na formação do profissional
de tecnologia.
63
Sem medo de errar
64
2. P (hip).
3. Q (1, 2 MP).
No item 1 tem-se a primeira hipótese P ® Q . No segundo item, a segunda
hipótese, lembrando que cada hipótese é conectada pela conjunção e, que cada
uma delas pode ser fbf. Após elencar as hipóteses, consultamos o Quadro 3.6 e
vimos que era possível aplicar a regra de Modus Ponens, ao aplicá-la na linha 3,
chegamos exatamente na conclusão do argumento, logo esse argumento é válido.
Agora vamos demonstrar o segundo argumento:
b. Se treino, eu venço o campeonato de xadrez. Se não jogo vôlei, então eu
treino xadrez. Não venci o campeonato de xadrez. Portanto, joguei vôlei.
Proposições:
P: Eu treino.
Q: Eu venci o campeonato de xadrez.
R: Eu jogo vôlei.
Forma simbólica do argumento: (P → Q) ∧ (¬R → P ) ∧ ¬Q → R .
Sequência de demonstração:
1. P ® Q (hip).
2. ¬R → P (hip).
3. ¬Q (hip).
4. ¬P (1, 3, MT).
5. ¬¬
R (2, 4, MT).
6. R (6, dn).
Para demonstrar esse argumento, foram necessários seis passos, sendo
três deles as hipóteses. Após elencar as hipóteses, consultamos o Quadro 3.6
e vimos que era possível aplicar a regra de Modus Tollens entre os itens 1 e 3,
com isso obtivemos o resultado ¬P no item 4. Também vimos que podíamos
aplicar a mesma regra entre os itens 2 e 4, com isso obtivemos o resultado
¬¬ R no item 5. Por fim, consultado o Quadro 3.5 vimos que podíamos
aplicar a dupla negação no item 5 e obtivemos R no item 6. Como R é a
conclusão, demonstramos que o argumento é válido.
Com essas demonstrações, finalizamos o desafio aplicando a lógica propo-
sicional com suas formas e regras para resolver os mais diversos problemas.
Agora é só esperar o resultado positivo da empresa!
65
Faça valer a pena
1. “Uma proposição pode ser verdadeira ou falsa e não pode ser válida ou
inválida; do mesmo modo, um argumento pode ser válido ou inválido e não
pode ser verdadeiro ou falso” (BISPO; CASTANHEIRA, 2011, p. 36).
Escolha a alternativa correta em que a fbfs é um argumento:
a. ( A → B) ∧ C ∨ D .
b. A ∧ B ∧ ¬C .
c. ( A → B) ∨ C .
d. A ∧ (B ∨ C ) → D .
e. A ∨ (B ∨ C ) ∧ D .
66
Referências
SOUZA, J. A. L. de S. (org.). Lógica matemática. São Paulo: Pearson Education do Brasil, 2016.
Unidade 4
Vanessa Cadan Scheffer
Tabela Verdade
Convite ao estudo
Caro(a) estudante, seja bem-vindo e/ou bem-vinda! Reparou no modo
como escrevi as boas-vindas (e/ou)? O que essa notação quer dizer? O que
eu quis dizer ao escrever “e”? Será que a resposta seria a mesma se eu optasse
pelo “ou”? Por exemplo: “vamos convidar somente a família e os amigos
próximos para a festa”. Qual seria o impacto se trocássemos E por OU nessa
frase?
Como você pode ver, a lógica faz parte do nosso cotidiano, da nossa
forma de comunicação.
Embora tenhamos esse conhecimento comum, precisamos ir além e
compreender, com clareza, como esses conectores se comportam no mundo
binário, pois da mesma forma que nos comunicamos uns com os outros por
meio da linguagem natural, os componentes do computador se comunicam
entre si usando a linguagem binária, e acredite, tudo é uma combinação de
0s, 1s e os conectores lógicos. Para auxiliar na compreensão e clareza dos
resultados dos conectores, existe uma “ferramenta” chamada tabela verdade,
que é o assunto desta unidade de ensino. A todo momento, nesta unidade,
vamos desenvolver e praticar o raciocínio lógico utilizando a tabela verdade
para que, ao final da unidade, você conheça e saiba aplicar os seus conceitos
e fundamentos a partir de cases e aplicações computacionais.
Como funcionário trainee na área de analytics de uma empresa de
varejo, você deve ser capaz de resolver os problemas propostos pela equipe
a fim de ajudá-la e, em breve, ser promovido a júnior. Seu primeiro desafio
consiste em construir uma tabela verdade com os resultados dos conectores
de conjunção, disjunção e negação para insights de vendas. Seu segundo
desafio é completar a tabela verdade com novos insights, baseados no
conector de implicação, a fim de direcionar uma campanha promocional.
Após completar as duas primeiras etapas, você deverá utilizar os novos
dados recebidos para extrair insights para uma campanha promocional
personalizada. Animado?!
Para solucionar os desafios propostos, você aprenderá a construir
tabelas verdades com os conectores lógicos, analisar os resultados obtidos e
solucionar fórmulas mais complexas.
Portanto, chegou a hora de se tornar um profissional mais completo e se
apropriar dessa nova ferramenta! Vamos lá!!!
Seção 1
Diálogo aberto
Caro estudante, seja bem-vindo! Iniciaremos agora uma jornada que lhe
capacitará compreender e aplicar a lógica por meio da construção de tabelas
verdade. Quem tem irmão já deve ter ouvido a mãe gritar: “Você E seu irmão
estão de castigo!”, mas esse “E” tem a ver com o conectivo lógico AND? A
resposta é sim, o resultado desse E é o mesmo, seja na linguagem natural
ou na binária, por isso aprendemos lógica proposicional e a aplicamos no
universo computacional.
Você foi recentemente contratado como um funcionário trainee na área
de analytics e almeja se tornar júnior em breve, mas para isso deve cumprir
seus desafios e ajudar a equipe. Você recebeu uma planilha com os dados de
compras de clientes, conforme ilustrado na Tabela 4.1. Dadas as seguintes
proposições: p: o cliente é do sexo feminino, q: o cliente tem idade entre
20 e 30 anos, o seu desafio é construir uma Tabela Verdade que generalize
a solução fazendo a conjunção e a disjunção para as proposições p e q, além
de criar os resultados para a negação de ambas as fórmulas. Após criar a
tabela verdade, você poderá analisar cada registro informando se o resul-
tado é verdadeiro ou falso para cada um dos conectores lógicos propostos
na Tabela 4.1. Tal resultado ajudará a equipe de vendas a criar rotinas para
tomada decisões.
Tabela 4.1 | Dados de compra dos clientes
codigo_cli nome_cli genero_cli idade_cli valor_compra E OU
53682 Karly Dillon F 40 74,84 ? ?
58246 Channing Vaz- M 49 98,04 ? ?
quez
27022 Adria Key F 47 65,93 ? ?
82075 Ella Nelson F 34 94,01 ? ?
90657 Arden Battle M 48 21,73 ? ?
80330 Brittany Ramirez F 38 42,23 ? ?
53989 Moses Graham M 42 37,20 ? ?
61370 Jin Fuller M 49 65,60 ? ?
41807 Phelan Blair M 46 77,40 ? ?
94269 Porter West M 22 67,19 ? ?
37
Para cumprir seu desafio, nesta seção você aprenderá o mecanismo de
construção de uma tabela verdade, bem como utilizar os conectores lógicos
de conjunção, disjunção e negação. Então, mãos à obra!
38
Quadro 4.1 | Matriz do conectivo AND
P AND Q Q=V Q=F
P=V V F
P=F F F
39
Alguns pontos sobre a lógica têm que estar bem claros para que possamos
construir nossas Tabelas Verdade.
Toda proposição é binária, ou seja, só pode assumir um dos seguintes
valores: Verdadeiro (V) ou Falso (F). Você pode optar por utilizar 1 para V
e 0 para F.
Ao realizar uma operação lógica com duas proposições, temos que testar
todas as combinações de respostas, o que influenciará diretamente a quanti-
dade de linhas necessárias na Tabela Verdade.
O segundo ponto é muito importante e precisa ficar bem claro. Observe
a Figura 4.2 (a). Criamos um esquema que mostra uma fórmula simples
(operação binária); nele, temos um espaço reservado para uma proposição,
um conector e outra proposição. Pois bem, sabemos que cada proposição
pode assumir somente os valores V ou F (1 ou 0 se preferir). Com esses
valores de entrada, essa fórmula genérica pode gerar quatro resultados
distintos. Mas como isso é possível? Na verdade, estamos diante de um
problema de análise combinatória, mas para facilitar nossa vida, em vez de
ficarmos decorando fórmulas, vamos entender por meio da árvore de possi-
blidades (Figura 4.2 b). Observe a Figura 4.2 (b), cada proposição gera um
nível na árvore, e como temos duas proposições, temos dois níveis. Os ramos
da árvore representam as possíveis respostas para cada proposição (somente
V ou F) e suas combinações. Para encontrar todas as combinações possíveis
é preciso percorrer os ramos passando pelos níveis, ou seja, para esse caso,
existem 4 caminhos diferentes VV, VF, FV, FF. Em outras palavras, podemos
dizer que a entrada V da primeira proposição pode se combinar com as
entradas V e F da segunda proposição, gerando, assim, dois resultados (o
resultado depende do conector utilizado). A entrada F da primeira propo-
sição também pode se combinar com as entradas da segunda proposição,
gerando dois novos resultados. Portanto, ao final, temos quatro resultados.
Figura 4.2 | Árvore de possibilidades
40
Assimile
É importante que você entenda a lógica da combinação dos resultados,
pois a quantidade de combinações será a quantidade de linhas da Tabela
Verdade. A quantidade de linhas (combinações) aumenta exponencial-
41
Figura 4.3 | Tabela Verdade da conjunção
Reflita
Como usamos duas proposições, foram necessárias 4 linhas para gerar
a valoração da fórmula A Ù B . Repare na distribuição das entradas.
Para a proposição A, primeiro foram dispostas as entradas V combi-
nando com as entradas V e F da proposição B; em seguida, foram
dispostas as entradas F combinando com as entradas V e F de B.
Portanto, a primeira coluna ficou com entradas VVFF e a segunda coluna
VFVF. Será que foi só uma coincidência ou existe uma lógica que ajuda
na organização? Como ficariam dispostas as entradas da Tabela Verdade
da conjunção para três proposições?
Exemplificando
Vejamos um exemplo prático para a conjunção. Imagine que estamos
criando uma aplicação que precisa informar se uma determinada
pessoa irá pagar imposto ou não, a depender da sua renda, de acordo
com a seguinte regra: Se o salário for superior a 5 mil e a idade menor
que 40 anos, a pessoa pagará de imposto 10% do seu salário. Considere
as seguintes proposições:
42
A: o salário é maior que R$ 5 mil.
B: a idade é menor que 40 anos.
Com base na tabela verdade da conjunção, vamos analisar qual seria o
resultado da fórmula A Ù B para uma pessoa que recebe um salário de
R$ 4 mil e possui 32 anos.
Avaliando a proposição A para o caso, temos um resultado F (pois não
ganha salário de 5 mil). Já a proposição B possui resultado V (a idade é
menor que 40 anos). Ao consultarmos a terceira linha da Figura 4.3,
vemos que o resultado de A Ù B para tais entradas é falso. Portanto,
para o caso analisado, o resultado da fórmula é F.
43
Figura 4.4 | Tabela Verdade com operador de negação
Como mostra a Tabela Verdade da disjunção, basta que uma entrada seja
verdadeira para obtermos um resultado verdadeiro.
Tabela Verdade para Negação
O operador lógico de negação tem a função de inverter, seja uma entrada
ou o resultado de uma operação. Utilizaremos o símbolo ¬ para representar
esse conector lógico. Na Figura 4.5 (a), temos uma Tabela Verdade com
negação para as proposições A, B. Veja que ¬A inverte o valor de A, ou seja,
onde é V fica F e vice-versa. O mesmo acontece para ¬B , que inverte o valor
de B. Na Figura 4.5 (b), temos nas colunas 3 (C3) e 5 (C5) os resultados já
conhecidos da conjunção e disjunção, e nas colunas 4 (C4) e 6 (C6) os novos
resultados, sendo na coluna 4 (C4) os resultados para a negação da conjunção
e na coluna 6 (C¨) a negação da disjunção. Repare nos parênteses, que são
obrigatórios, indicando que a negação é para toda a operação e não somente
para uma proposição.
Figura 4.5 | Tabela Verdade com operador de negação
44
Fonte: elaborada pela autora.
Como você já deve ter percebido, não adianta tentar decorar os resul-
tados, você precisa entender os operadores básicos e, a partir daí, ir resol-
vendo as fórmulas, parte por parte, com auxílio da Tabela Verdade.
45
Sem medo de errar
46
Na linha 2, o cliente é do sexo masculino e possui 49 anos; nesse caso,
tanto p quanto q são falsas, logo, ambas fórmulas são valoradas como F.
Termine de analisar suas respostas comparando os resultados com a
Tabela Verdade.
Tabela 4.2 | Valoração das fórmulas p Ù q e p Ú q
codi- gene-
linha nome_cli idade_cli valor_compra E OU
go_cli ro_cli
1 53682 Karly Dillon F 40 74,84 F V
Channing
2 58246 M 49 98,04 F F
Vazquez
3 27022 Adria Key F 47 65,93 F V
4 82075 Ella Nelson F 34 94,01 F V
5 90657 Arden Battle M 48 21,73 F F
6 80330 Brittany Ramirez F 38 42,23 F V
7 53989 Moses Graham M 42 37,20 F F
8 61370 Jin Fuller M 49 65,60 F F
9 41807 Phelan Blair M 46 77,40 F F
10 94269 Porter West M 22 67,19 F V
Nossa maior lição com esse desafio é entender como uma questão de
lógica formal pode ser utilizada em um algoritmo, e isso, no mercado de
trabalho, fornece resultados para as mais diversas áreas de uma empresa. Se
fornecêssemos para a equipe de vendas o resultado da coluna da conjunção,
a fim de comunicá-los sobre o lançamento de uma nova promoção, nenhum
desses 10 receberia tal comunicado, por outro lado, se nosso resultado fosse
baseado na disjunção, vários deles receberiam o comunicado.
É isso aí, você como um profissional deve ter consciência das suas respon-
sabilidades e tomar as melhores decisões para a empresa!
1.
Um circuito digital combinacional pode ser desenvolvido
com portas lógicas. Portas lógicas são circuitos eletrônicos
que representam as funções lógicas por meio de entradas
e saídas. As portas lógicas têm sua representação simbó-
47
lica para facilitar o desenvolvimento de projetos digitais
e seguem a mesma definição da lógica formal. (DACHI;
HAUPT, 2018, p. 35)
a. R = V F F F; S = V V V F.
b. R = V V F F; S = F V V F.
c. R = F F F V; S = F V V F.
d. R = F V V F; S = V F F F.
e. R = V F V V; S = V V F F.
48
Considerando a Tabela Verdade a seguir, complete a coluna com a fórmula
¬(¬A ∧ B) :
A B ¬(¬A ∧ B)
V V
V F
F V
F F
3.
As fórmulas podem ora ser valoradas em 0, em cujo caso
a valoração falsifica a fórmula, ora ser valoradas em 1, em
cujo caso a valoração satisfaz a fórmula. Estes fatos motivam
a classificação das fórmulas de acordo com o seu compor-
tamento diante de todas as valorações possíveis de seus
átomos. Um dos grandes desafios da computação é encon-
trar métodos eficientes para decidir se uma fórmula é satis-
fazível/ insatisfazível, ou se é válida/falsificável. Um dos
primeiros métodos propostos na literatura para a verificação
da satisfatibilidade e validade de fórmulas é o método da
Tabela da Verdade. (SILVA; FINGER; MELO, 2017, p. 13)
49
III. As respostas obtidas pela fórmula ¬A ∧ B são iguais às respostas
obtidas pela fórmula A ∧ ¬B .
É correto o que se afirma apenas em:
a. I.
b. II.
c. III.
d. I e II.
e. II e III.
50
Seção 2
Diálogo aberto
Caro estudante, profissionais das mais diversas áreas tomam decisões o
tempo todo em seu ambiente de trabalho. Todas as decisões precisam ser
bem avaliadas, pois toda ação gera uma consequência. Por exemplo, em uma
campanha promocional, se optar por desconto a um determinado grupo,
poderá não vender tanto para um outro grupo potencial. No mundo da
lógica computacional, as decisões são tomadas por meio de estruturas de
decisão, que têm sua origem em um conector lógico chamado de implicação,
o qual veremos sua tabela verdade nesta seção.
Como funcionário trainee na área de analytics de uma empresa de varejo,
você deve ajudar a equipe de marketing em uma campanha para o dia inter-
nacional da mulher.
Dadas as proposições:
A: o cliente é do sexo feminino.
B: o cliente fez um compra com valor superior a R$ 50,00.
C: ganhar cupom com 10% de desconto.
Seu desafio consiste primeiro em avaliar a fórmula A Ù B para cada um
dos registros da Tabela 4.3. Essa avaliação lhe permitirá classificar a propo-
sição C para cada um dos clientes, ou seja, se o cliente ganhará ou não o
cupom de 10% de desconto.
Após a classificação, você deverá generalizar, por meio de uma Tabela
Verdade, as possíveis respostas para a fórmula P ® Q , sendo P e Q duas
proposições genéricas.
Tabela 4.3 | Dados de compra dos clientes
codigo_cli nome_cli genero_cli idade_cli valor_compra cupom_10
53682 Karly Dillon F 40 74,84 ?
Channing
58246 M 49 98,04 ?
Vazquez
27022 Adria Key F 47 65,93 ?
82075 Ella Nelson F 34 94,01 ?
90657 Arden Battle M 48 21,73 ?
51
Brittany
80330 F 38 42,23 ?
Ramirez
Moses
53989 M 42 37,20 ?
Graham
61370 Jin Fuller M 49 65,60 ?
41807 Phelan Blair M 46 77,40 ?
94269 Porter West M 22 67,19 ?
56516 Zena Skinner F 54 73,98 ?
38904 Teagan Rios M 34 61,57 ?
52
Para entendermos como funciona a implicação, vejamos alguns exemplos.
Considere as proposições A e B:
A: há uma falha na rede elétrica.
B: a chave central irá desligar.
A fórmula A ® B , que significa que B está condicionado a A, deve ser
lida como: “se houver uma falha na rede elétrica, então, a chave central irá
desligar.”
Considere as proposições P, Q, R.
P: a nota mínima necessária para ser aprovado é 6,0.
Q: João tirou 8,0 na prova.
R: João será aprovado.
Nesse exemplo, temos o resultado de uma conjunção implicando uma
terceira proposição. Simbolicamente, escrevemos (P ∧ Q) → R , e deve ser lida
como: “Se a nota mínima necessária para ser aprovado é 6,0 e João tirou 8,0
na prova, então, ele será aprovado.”
Os possíveis resultados do operador condicional estão representados na
Tabela Verdade apresentada na Figura 4.8.
Figura 4.8 | Tabela Verdade para o condicional
53
A: soltar a pedra.
B: a queda da pedra.
A fórmula A ® B deve ser lida como “Se a pedra for solta, então, a pedra
cairá”. Agora, vamos avaliar todas as respostas possíveis com base na Tabela
Verdade da Figura 4.8. Na primeira linha (L1), temos como entrada a verdade
das proposições A e B, em nosso exemplo, quer dizer que a pedra foi solta
(proposição A é verdadeira) e caiu (proposição B é verdadeira), portanto, a
condição era verdadeira e o resultado é V (linha 1 e coluna 3). Na linha dois
(L2), temos como entrada que a proposição A é verdadeira e a proposição B
é falsa, isso quer dizer que a pedra foi solta, mas não caiu. Nesse caso, a
condicional não é verdadeira e o resultado é F (linha 2 e coluna 3). Nas
demais linhas, terceira e quarta (L3 e L4), temos como entrada que a propo-
sição A é falsa (que é o antecedente), nesse caso, não há como avaliar a condi-
cional e o resultado é tomado como verdadeiro.
Assimile
Os resultados lógicos das linhas 3 e 4 (L3 e L4) da Tabela Verdade da
condicional não são tão fáceis de identificar. Como se trata de uma
dependência, caso o antecedente seja falso, o resultado lógico será
sempre verdadeiro.
“Por convenção, A ® B será considerada verdadeira se A for falsa,
independentemente do valor lógico de B” (GERSTING, 2017, p. 2).
A ¬A A ∨ ¬A
V F V
F V V
54
Como podemos observar no Quadro 4.3, a coluna dos resultados (última
coluna) para a fórmula obteve como resposta somente verdadeiro. Quando
o resultado de uma fórmula obtém somente V como resposta, a fórmula é
denominada tautologia (GERSTING, 2017).
Agora, vamos considerar a seguinte proposição B:
B: hoje é segunda-feira.
Vamos construir a Tabela Verdade para a fórmula B ∧ ¬B , que quer dizer,
“Hoje é segunda-feira e hoje não é segunda-feira”. Veja o resultado na Quadro
4.4.
Quadro 4.4 | Tabela Verdade da fórmula B ∧ ¬B
B ¬B B ∧ ¬B
V F F
F V F
Reflita
A tautologia é uma proposição em que, independentemente das
entradas, todas as respostas são verdadeiras. Já a contradição é o resul-
tado quando todas as possíveis respostas são falsas.
Podemos afirmar que a tautologia acontecerá somente para as fórmulas
com conectores lógicos de disjunção (OR) e a contradição para os conec-
tores de conjunção (AND)?
Equivalência aplicada na tabela verdade
Considere as seguintes proposições:
A: o cliente tem 35 anos.
B: o cliente gastou mais do que R$ 100,00 na última compra.
55
Dadas as proposições A e B, vamos construir a Tabela Verdade (Quadro
4.5) para as seguintes fórmulas: A Ú B e B Ú A .
Quadro 4.5 | Tabela Verdade das fórmulas A Ú B e B Ú A
A B AÚ B BÚA A∨ B ⇔ B∨ A
V V V V V
V F V V V
F V V V V
F F F F V
Exemplificando
Para saber se duas fórmulas são equivalentes, é necessário construir a
tabela verdade e verificar se a equivalência é uma tautologia. Por
exemplo, vamos construir uma tabela verdade (Quadro 4.6) para testar
se as fórmulas A Ù B e B Ù A são equivalentes.
A B AÙ B BÙA A∧ B ⇔ B∧ A
V V V V V
V F F F V
F V F F V
F F F F V
Fonte: elaborado pela autora.
56
bem, aqui na lógica também temos essa mesma propriedade: a ordem dos
fatores não altera o resultado. Veja no Quadro 4.7 mais algumas propriedades.
Quadro 4.7 | Equivalências tautológicas
Comutativi-
1 A∨ B ⇔ B∨ A A∧ B ⇔ B∧ A dade
Associativi-
2 ( A ∨ B) ∨ C ⇔ A ∨ ( B ∨ C ) ( A ∨ B) ∨ C ⇔ A ∨ ( B ∨ C ) dade
Distributivi-
3 A ∨ ( B ∧ C ) ⇔ ( A ∨ B) ∧ ( A ∨ C ) A ∧ ( B ∨ C ) ⇔ ( A ∧ B) ∨ ( A ∧ C ) dade
57
Vamos agora verificar uma equivalência da propriedade da distributivi-
dade para a fórmula A ∧ (B ∨ C ) ⇔ ( A ∧ B) ∨ ( A ∧ C ) . O Quadro 4.9 apresenta o
resultado. Resolvemos primeiro o lado esquerdo da equivalência, ou seja, a
fórmula A ∧ (B ∨ C ) . Na coluna C4 fizemos a disjunção entre parênteses e na
coluna C5 utilizamos o resultado obtido em C4 para fazer a conjunção com a
proposição A. Nas colunas C6 e C7, resolvemos os parênteses da fórmula à
direita da equivalência, e na C8, usamos os resultados de C6 e C7 para a
disjunção. Por fim, na C9 comparamos os resultados obtidos em C5 e C8,
provando que se trata de uma equivalência.
Quadro 4.9 | Tabela verdade para propriedade da distributividade
A ∧ ( B ∨ C ) ⇔ ( A ∧ B) ∨ ( A ∧ C )
C1 C2 C3 C4 C5 C6 C7 C8 C9
A B C B ÚC A ∧ (B ∨ C ) AÙ B AÙC ( A ∧ B) ∨ ( A ∧ C ) Û
V V V V V V V V V
V V F V V V F V V
V F V V V F V V V
V F F F F F F F V
F V V V F F F F V
F V F V F F F F V
F F V V F F F F V
F F F F F F F F V
Não poderíamos encerrar esta seção sem mencionar, além das proprie-
dades, outros dois importantes resultados da equivalência, usados para fazer
a negação de uma proposição composta. Refiro-me às leis de De Morgan,
“[...] assim nomeadas em honra ao matemático inglês do século XIX Augustus
De Morgan, o primeiro a enunciá-las” (GERSTING, 2017, p. 9). As duas
equivalências são:
I - ¬( A ∨ B) ⇔ ¬A ∧ ¬B
II - ¬( A ∧ B) ⇔ ¬A ∨ ¬B
Observe que a primeira equivalência (I) trata da equivalência envolvendo
a negação em uma disjunção e a segunda equivalência (II) corresponde a
uma negação em uma conjunção. O Quadro 4.10 apresenta os resultados
para a fórmula I e o Quadro 4.11 para a fórmula II.
58
Quadro 4.10 | Tabela verdade para a lei de De Morgan ¬( A ∨ B) ⇔ ¬A ∧ ¬B
A B ¬( A ∨ B) ¬A ∧ ¬B Û
V V F F V
V F F F V
F V F F V
F F V V V
59
C: ganhar cupom com 10% de desconto.
Você deve primeiro avaliar a fórmula A Ù B para cada um dos registros
da Tabela 4.3 classificando a proposição C, como V ou F, para cada um dos
clientes, ou seja, se o cliente ganhará ou não o cupom de 10% de desconto.
Pois bem, vamos analisar o primeiro registro:
A: O cliente é do sexo feminino. (SIM – V)
B: O cliente fez um compra com valor superior a R$ 50,00. (SIM – V)
Portanto, para o primeiro registro a fórmula A Ù B resulta em V, pois
V ∧ V = V , então a proposição C é V.
60
Quadro 4.12 | Tabela verdade para a fórmula P ® Q
P Q P ®Q
V V V
V F F
F V V
F F V
Fonte: elaborado pela autora.
61
A: o computador desliga abruptamente.
B: os processos finalizam.
Escolha a fórmula que representa, simbolicamente, a sentença: “se o compu-
tador desligar abruptamente, então os processos finalizarão.” e a correta
sequência de resultados para as entradas: VF, FV, VV, FF.
a. A ® B ; F V V V.
b. A Ù B ; V F V V.
c. A ® B ; V F V V.
d. A Ú B ; F V V V.
e. A ® B ; V F V F.
62
3. “Uma tautologia é “intrinsecamente verdadeira” pela sua própria estru-
tura; ela é verdadeira independentemente dos valores lógicos atribuídos às
suas letras de proposição” (GERSTING, 2017, p. 17). A tautologia é um resul-
tado usado para verificar a equivalência de duas fórmulas.
Considerando a equivalência lógica, analise as afirmativas a seguir.
I. As fórmulas A Ú B e B Ú A são equivalentes, pois se trata da proprie-
dade da comutatividade.
II. As fórmulas A ∨ (B ∧ C ) e ( A ∧ B) ∨ ( A ∧ C ) são equivalentes, pois se
trata da propriedade da distributividade.
III. As fórmulas ¬( A ∨ B) e ¬A ∨ ¬B são equivalentes, pois se trata de
uma das leis de De Morgan.
É correto o que se afirma em:
a. I, apenas.
b. II e III, apenas.
c. I e III, apenas.
d. II, apenas.
e. I, II e III.
63
Seção 3
Diálogo aberto
Caro estudante, até você chegar ao ensino superior foram anos de estudos,
não é mesmo? Tudo começou com o processo de alfabetização, tanto de
leitura quanto das operações básicas de matemática (soma, subtração, divisão
e multiplicação). Primeiro você aprendeu a fazer operações matemáticas
simples, por exemplo, 2 + 3, depois apareceram os parênteses, por exemplo,
(2 + 3)× 4 . Mas será que esses parênteses são só de enfeite? Certamente que
não! Eles influenciam a ordem que as operações devem ser resolvidas e,
como você já deve saber, não seguir as regras certamente implica em chegar
em resultados errôneos. Pois bem, da mesma forma que a matemática tem
suas fórmulas e suas regras de resolução, a lógica formal também as possui, e
nesta seção vamos aprender mais sobre elas.
Como funcionário trainee na área de analytics de uma empresa de varejo,
você deve dar continuidade em seu trabalho, fornecendo novos insights
para a equipe de marketing realizar sua campanha promocional. Para esse
novo desafio foi enviada a você uma base com novas informações, conforme
ilustra a Tabela 4.5. Nessa base é possível encontrar o valor gasto na última
compra do cliente, o total de compras já feito por ele e o ticket médio (valor
médio gasto em cada compra). A partir desses dados você deve usar as
regras da lógica para classificar se o cliente tem potencial para comprar na
nova campanha e, se tiver, então ele ganhará um cupom com desconto de
10%. Caso não seja um cliente com potencial então ele ganhará somente
um cupom com 5%. Vamos às regras: para ser classificado como um cliente
com potencial de compra, não importa o gênero (pode ser feminino ou
masculino), o cliente deve ter idade entre 30 e 45 anos, ter feito acima de 10
compras e ter um ticket médio acima de R$ 50,00. Seu desafio é montar uma
fórmula que traduza essa regra e, então preencher a coluna “cliente_poten-
cial” com o resultado da fórmula para cada registro. Dada a classificação,
você deve escrever uma nova fórmula que traduza “Se o cliente tem potencial
de compra, então ele deve ganhar um cupom com 10% de desconto”, e outra
fórmula que traduza “Se é falso que o cliente tem potencial de compra, então
ele deve ganhar um cupom com 5% de desconto”. Por fim, use a lógica de
programação para preencher as colunas “cupom_10” e “cupom_5” valorando
as condicionais.
64
Tabela 4.5 | Dados de compra dos clientes
valor_ total_ clien-
codi- gene- ida- ticket_ cupom cupom
nome_cli ultima_ com- te_po-
go_cli ro_cli de_cli medio _10 _5
compra pras tencial
Karly
53682 F 40 74,84 5 45,00 ? ? ?
Dillon
Chan-
58246 ning M 49 98,04 20 200,00 ? ? ?
Vazquez
Adria
27022 F 47 65,93 12 34,00 ? ? ?
Key
Ella
82075 F 34 94,01 16 150,00 ? ? ?
Nelson
Arden
90657 M 48 21,73 4 23,00 ? ? ?
Battle
Brittany
80330 F 38 42,23 1 42,23 ? ? ?
Ramirez
Moses
53989 M 42 37,20 29 45,00 ? ? ?
Graham
61370 Jin Fuller M 31 86,00 35 123,00 ? ? ?
Phelan
41807 M 45 77,40 23 95,00 ? ? ?
Blair
Porter
94269 M 22 67,19 6 35,00 ? ? ?
West
Zena
56516 F 54 73,98 15 60,00 ? ? ?
Skinner
Teagan
38904 M 34 61,57 17 71,00 ? ? ?
Rios
Para cumprir esse desafio, nesta seção você aprenderá a importância dos
parênteses nas fórmulas, bem como seguir a regra de precedência dos opera-
dores. Você também verá um caso de como fazer a ligação entre a lógica
formal e a lógica na computação, assim já vai se preparando para em breve
começar a programar.
Então vamos lá!
65
a força é sempre diretamente proporcional ao produto da aceleração de um
corpo pela sua massa? Para conseguimos resolver esses tipos de equação,
primeiro foi necessário aprender as operações matemáticas básicas (soma,
subtração, multiplicação e divisão); depois essas operações passaram a se
combinar em fórmulas mais elaboradas, e nesse momento foi necessário
aprender a ordem de precedência dos operadores. Por exemplo: as fórmulas:
(i) 2 + 3× 4 e (ii) (2 + 3)× 4 apresentam o mesmo resultado? A resposta é não,
pois a primeira tem como resultado 14 e a segunda, 20. Isso acontece porque,
em uma fórmula, a multiplicação tem precedência sobre adição, então ao não
usar parênteses na fórmula (i) a multiplicação foi feita antes da soma. Outro
detalhe importante é que as fórmulas apresentam uma sintaxe correta, por
exemplo: não podemos escrever 2 ++ 3, pois essa fórmula é inválida.
Assim como as fórmulas matemáticas, podemos construir expressões
lógicas mais complexas a partir da combinação das proposições, dos conec-
tivos e dos parênteses (GERSTING, 2017). Da mesma forma que as opera-
ções matemáticas têm ordem de precedência, os conectivos lógicos também
a possui.
Assimile
Para resolver uma expressão lógica que combina várias proposições
com conectivos lógicos é preciso obedecer a seguinte regra de prece-
dência:
1. Para expressões que tenham parênteses, primeiro efetuam-se as
operações lógicas dentro dos parênteses mais internos.
2. ¬ (Negação) (maior precedência).
3. ∧, ∨ (Conjunção e disjunção).
4. ® (Implicação).
5. « (Bicondicional).
Exemplificando
Para exemplificar como a ordem de precedência dos operadores lógicos
pode influenciar o resultado, vamos construir uma Tabela Verdade para
as fórmulas A ∧ B → A e A ∨ (B → A) . Veja no Quadro 4.13 que os
resultados das colunas C4 e C6 são diferentes. Em C4, como o operador
66
de conjunção tem precedência sobre a implicação, chegamos em uma
tautologia, o que não ocorreu em C6 quando forçamos, por meio de
parênteses, a implicação ser efetuada primeiro.
F F F V V F
67
internos. Por exemplo, a fórmula (( A ∨ B) → C ) ∧ A deve ter a seguinte ordem
de resolução:
1 - A Ú B (parênteses mais internos)
2 - (( A ∨ B) → C ) (parênteses mais externo)
3 - (( A ∨ B) → C ) ∧ A (operação fora dos parênteses).
O Quadro 4.15 mostra o resultado para essa fórmula. Veja que usamos
proposições intermediárias para nomear os resultados. Primeiro obtemos P (
A Ú B ) que é o resultado 1, depois usamos para obter Q ( P ® C ), que é o
resultado 2, e por fim, o usamos para obter o resultado final da fórmula, o
qual também nomear, por exemplo R ( Q Ù A ).
Quadro 4.15 | Tabela Verdade para a fórmula (( A ∨ B) → C ) ∧ A
P Q R
A B C AÚ B P ®C QÙA
V V V V V V
V V F V F F
V F V V V V
V F F V F F
F V V V V F
F V F V F F
F F V F V F
F F F F V F
Reflita
Por praxe – mas não obrigatoriamente – construímos a Tabela Verdade
colocando nas colunas mais à esquerda as proposições, em seguida, as
colunas com as fórmulas. Em uma fórmula do tipo ( A ∨ B) → A , preci-
samos primeiro obter o resultado de A Ú B , para depois fazer a impli-
cação. Quando o resultado de uma operação é usado para entrada em
outra operação faz diferença a ordem das operações lógicas que serão
consideradas? Em outras palavras, nessa operação ( A ∨ B) → A ,
obteremos o mesmo resultado se fizermos A → ( A ∨ B) ?
Uma dúvida que pode surgir é sobre como vamos aplicar todas essas
operações e regras no universo da programação. A resposta é simples: vamos
utilizar para construir uma sequência de instruções, chamada de algoritmo.
68
Um algoritmo é uma sequência de passos que soluciona algum problema de
diversas áreas do mundo real. Mais precisamente, as operações lógicas são
usadas em estruturas condicionais (ou estruturas de decisão) e têm o objetivo
de realizar testes alterando o fluxo de execução de um programa, de acordo
com a resposta obtida (SOFFNER, 2013). Por exemplo, imagine que acabou
de se mudar e esteja realizando a busca de um apartamento em um site de
aluguel de imóveis. O site oferece uma interface na qual você clica nas opções
que deseja, conforme ilustra a Figura 4.9.
Figura 4.9 | Interface de site de busca de imóvel
69
Todas essas opções devem estar implementadas no algoritmo por meio das
estruturas condicionais.
Esse tipo de estrutura é amplamente usado em algoritmos computa-
cionais. Quem nunca fez uma compra em um site? Ao finalizar a compra,
o algoritmo faz uma conjunção dos itens que colocamos no carrinho de
compras, para calcular o preço final.
Para finalizar nossa seção, vamos utilizar uma base com dados reais e,
a partir de uma Tabela Verdade, veremos como classificar os registros. Os
dados usados são de domínio público e estão disponíveis no Portal Brasileiro
de Dados Abertos (BRASIL, 2019).
Trata-se de uma base com os preços de combustíveis em algumas cidades
do Brasil no ano de 2019, segregados por estado, cidade, estabelecimento
de revenda, produto, data da pesquisa, valor de venda, valor de compra e
bandeira do posto, conforme amostra dos dados na Tabela 4.6.
Tabela 4.6 | Amostra dos dados de combustíveis automotivos
Data da Valor de Valor de
Estado Município Revenda Produto Bandeira
Coleta Venda Compra
ABRITTA
POSTOS
DIESEL
1 DF BRASÍLIA DE 23/01/2019 3,899 xx
S10
SERVIÇOS
LTDA.
ABRITTA
POSTOS
2 DF BRASÍLIA DE ETANOL 16/01/2019 3,299 2,9999 xx
SERVIÇOS
LTDA.
3POSTO
JULIO DE
RIO DE CAS- GASOLI-
3 RJ 07/03/2019 5,096 4,305 xx
JANEIRO TILHO NA
LIMITA-
DA.
ABRITTA
POSTOS
GASOLI-
4 DF BRASÍLIA DE 23/01/2019 4,299 3,6745 xx
NA
SERVIÇOS
LTDA.
ABASTE-
CIMEN-
TO DE
RIO DE
5 RJ COMBUS- ETANOL 03/01/2019 3,499 2,9711 xx
JANEIRO
TIVEIS
RIO DO A
LTDA.
70
AM
COMER-
CIAL DE
6 DF BRASÍLIA ETANOL 23/01/2019 3,197 2,9416 xx
COMBUS-
TIVEIS
LTDA.
AM
COMER-
CIAL DE GASOLI-
7 DF BRASÍLIA 08/01/2019 4,187 3,735 xx
COMBUS- NA
TIVEIS
LTDA.
AUTO
BLUME- DIESEL
8 SC POSTO 7 02/01/2019 3,597 xx
NAU S10
LTDA.
AUTO
BLUME- GASOLI-
9 SC POSTO 7 12/02/2019 3,767 xx
NAU NA
LTDA.
71
V F F F F V
F V V V V V
F V F V V F
F F V V F V
F F F V F V
72
Dentro de um algoritmo computacional, o resultado da conjunção,
dentro de uma estrutura condicional, pode ser usado para classificar a propo-
sição C, pois onde a condição for satisfeita (V) a proposição C também será.
Na programação, o operador de implicação é feito por meio do comando
se… então… No nosso exemplo podemos dizer se ¬A ∧ B então C, ou seja,
onde ¬A ∧ B for V, C também será. Para matar um pouco da nossa vontade de
começar a programar, veja no Quadro 4.18 como ficaria esse comando dentro
de três importantes linguagens de programação.
Quadro 4.18 | Estrutura condicional em linguagens de programação
Linguagem Sintaxe
73
• Não importa o gênero (pode ser feminino ou masculino).
• Ele ou ela deve ter idade entre 30 e 45 anos.
• Ele ou ela deve ter feito acima de 10 compras.
• Ele ou ela deve ter um ticket médio acima de R$ 50,00.
A primeira parte do desafio consiste em escrever uma fórmula que
traduza essas regras e, então classificar o resultado da fórmula para cada
registro da base da dados.
Primeiro ponto importante para montar a fórmula é entender que todas
as condições precisam ser satisfeitas, ou seja, estamos diante de conjunções.
Como não importa o gênero – pode ser F ou M –, usaremos a disjunção.
Agora é montar essa disjunção com as várias conjunções, utilizando os
parênteses para indicar a ordem da valoração. Vamos começar escrevendo
os itens já em fórmulas:
• (feminino OU masculino).
• (idade >=30 E idade <=45).
• (compra >= 10).
• (ticket médio >= 50).
Agora é só juntar os itens com a conjunção:
(feminino OU masculino) E (idade >=30 E idade <=45) E (compra >= 10)
E (ticket médio >= 50). Veja que temos conectores que não são tão evidentes,
como no caso da idade, em que precisamos usar a conjunção para delimitar
a idade procurada. Agora vamos avaliar a fórmula para os dados. Observe os
resultados na coluna “cliente_potencial” na Tabela 4.7.
Vamos analisar juntos alguns registros. Na linha 1, o gênero, a idade
e o valor da última compra são satisfeitos, porém, o total de compras e o
ticket médio não são, o que resulta em falso para a coluna que indica se o
cliente é ou não potencial. Já na linha 4, todos os itens são atendidos, logo o
cliente é classificado como V, ou seja, é um cliente com potencial de compra
na campanha.
74
Tabela 4.7 | Resultado da valoração da fórmula
valor_ total_ clien-
codi- nome_ gene- ida- ticket_ cupom cupom
linha ultima_ com- te_po-
go_cli cli ro_cli de_cli medio _10 _5
compra pras tencial
Karly
1 53682 F 40 74,84 5 45,00 F ? ?
Dillon
Chan-
2 58246 ning M 49 98,04 20 200,00 F ? ?
Vazquez
Adria
3 27022 F 47 65,93 12 34,00 F ? ?
Key
Ella
4 82075 F 34 94,01 16 150,00 V ? ?
Nelson
Arden
5 90657 M 48 21,73 4 23,00 F ? ?
Battle
Brittany
6 80330 Rami- F 38 42,23 1 42,23 F ? ?
rez
Moses
7 53989 M 42 37,20 29 45,00 F ? ?
Graham
Jin
8 61370 M 31 86,00 35 123,00 V ? ?
Fuller
Phelan
9 41807 M 45 77,40 23 95,00 V ? ?
Blair
Porter
10 94269 M 22 67,19 6 35,00 F ? ?
West
Zena
11 56516 F 54 73,98 15 60,00 F ? ?
Skinner
Teagan
12 38904 M 34 61,57 17 71,00 V ? ?
Rios
Agora que já sabemos quais clientes têm potencial para comprar, vamos ao
próximo passo: marcar o cupom de desconto. Devemos escrever uma nova
fórmula que traduza “Se o cliente tem potencial de compra, então ele deve ganhar
um cupom com 10% de desconto”. Vamos chamar de P a proposição “o cliente
tem potencial de compra” e R a proposição “Ganhar um cupom com 10% de
desconto”. Então a fórmula pode ser escrita como P ® R . Na lógica de progra-
mação, a implicação é utilizada em estruturas condicionais do tipo se… então…
E como resultado temos que se P for verdadeira então R acontecerá.
Também foi dado a você o desafio de escrever a fórmula que traduza “Se é
falso que o cliente tem potencial de compra, então ele deve ganhar um cupom
com 5% de desconto”. Considerando a proposição P anterior e a proposição S
75
como “Ganhar um cupom com 5% de desconto”, obtemos a fórmula ¬P → S .
Agora já podemos finalizar o relatório completando as colunas que indicam a
qual cupom o cliente tem direito. Veja na Tabela 4.8 o resultado completo.
Vamos analisar a linha 1. Temos que o cliente não é potencial, ou seja, ¬P é
uma verdade nesse caso, logo S acontecerá.
76
Faça valer a pena
2. A Tabela Verdade deve ser usada como ferramenta para extração dos resul-
tados de todas as combinações possíveis. As proposições devem ser dispostas
nas colunas mais à esquerda e depois as fórmulas que se deseja valorar. O resul-
tado depende da combinação de entradas aplicada a cada fórmula.
Dada a sequência de entradas VF – VV – FV – FF para a fórmula P → R ∧ P ,
escolha a opção que representa a sequência correta de respostas que serão obtidas.
a. V – F – V – F.
b. F – V – V – V.
c. V – V – F – F.
d. F – F – V – V.
e. F – V – F – V.
77
a.
P R
A B ¬A ¬B A ∧ ¬B ¬A ∨ B R®P
V V F F F V F
V F F V V F V
F V V F F V F
F F V V F V F
b.
P R
A B ¬A ¬B ¬A ∨ B A ∧ ¬B R®P
V V F F V V V
V F F V F V F
F V V F V F F
F F V V V V V
c.
P R
A B ¬A ¬B ¬A ∨ B A ∧ ¬B P®R
V V F F V F F
V F F V F V V
F V V F V F F
F F V V V F F
d .
P R
A B ¬A ¬B A ∧ ¬B ¬A ∨ B P®R
V V F F F V V
V F F V F F V
F V V F F V V
F F V V F V V
78
e.
P R
A B ¬A ¬B ¬A ∨ B A ∧ ¬B R®P
V V F F V F V
V F F V F V F
F V V F V F V
F F V V V F V
79
Referências
BRASIL. Portal Brasileiro de dados abertos. 1º Sem 2019. Brasília, 2019. Disponível em: http://
dados.gov.br/dataset/serie-historica-de-precos-de-combustiveis-por-revenda/resource/927fe-
124-0648-4b17-8f05-e1ccf39ab358. Acesso em: 12 dez. 2019.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. de. Lógica para computação. 2. ed. São Paulo:
Cengage Learning, 2017.