Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica e Programação
Capítulo 1 – Introdução a Lógica
Introdução:
A palavra Lógica tem origem no grego, λογική (logos), que significa "fundamento",
"pleito", "opinião", "expectativa", "pensamento", "palavra", "fala", "conta", "razão",
"proporção" e "discurso".
Logos é a lógica por trás de um argumento.
A lógica examina os argumentos, quais desses argumentos são verdadeiros e quais são
falsos.
Por exemplo, observe as proposições: 1+1=3, 2+2=4. A primeira proposição é falsa, 1+1
não é igual a 3. Enquanto a segunda proposição é verdadeira, 2+2 é igual a 4.
Lógica Aristotélica:
Dá-se o nome de lógica aristotélica ao sistema lógico desenvolvido por Aristóteles.
Aristóteles definiu que o fundamento da lógica é a
proposição. A proposição usa a linguagem para
expressar o pensamento.
Proposição é aquilo que é expresso através de
frases ou símbolos.
Exemplo: “A neve é branca” e 1+1=2 são
proposições.
Dois dos princípios centrais da lógica aristotélica são
a lei da não contradição e a lei do terceiro
excluído.
O princípio da não-contradição diz que uma
proposição verdadeira não pode ser falsa e uma
proposição falsa não pode ser verdadeira. Nenhuma
proposição, portanto, pode ser falsa e verdadeira ao
mesmo tempo.
Exemplo: “A bola é redonda e a bola não é Busto de Aristóteles – fonte: wikipedia.org
redonda.”
Na lógica, a lei do terceiro excluído afirma que, para qualquer proposição, ou a
proposição é verdadeira, ou sua negação é verdadeira.
Exemplo: “Sócrates é Mortal”, portanto, “ou Sócrates é mortal, ou não é o caso de
Sócrates ser mortal”.
O silogismo é a teoria que permite a demonstração das provas a que estão ligados o
pensamento científico e filosófico. Silogismo do grego antigo συλλογισμός, (syllogismós)
significa 'conexão de ideias' e 'raciocínio'.
1
Curso Tecnologia da Informação – CCPA 2023
Exemplo:
“Todos os homens são mortais.
Sócrates é homem,
Logo,
Sócrates é mortal.”
Exemplo:
Estrutura Lógica:
2
Curso Tecnologia da Informação – CCPA 2023
Da mesma forma que na matemática, certos operadores têm prioridade (tem que ser
“resolvidos” primeiro) sobre outros:
Fórmulas lógicas:
Vamos pegar como exemplo a proposição: John Carmack é Americano e um
Desenvolvedor.
Podemos traduzir essa frase como uma formula (acompanhe as cores para entender):
A(j) Λ (D)(j), onde A = Americano, D = Desenvolvedor e j = John Carmack.
Entendemos então que podemos atribuir a símbolos certos valores, e como vimos antes
na lógica atribuímos a proposições o valor de verdadeiro ou falso.
Vamos examinar a proposição complexa: Está chovendo e eu uso o guarda-chuva.
Está chovendo é uma proposição, e é o conectivo de conjunção, e eu uso o guarda-
chuva.
Vamos transformar essa proposição complexa em uma fórmula: CΛG, onde C = Está
chovendo, Λ = e, e G = eu uso o guarda-chuva.
Portanto, sabendo o significado de cada símbolo, lê-se CΛG como: Está chovendo e eu
uso o guarda-chuva.
Pare um pouco e pense: o que aconteceria se usarmos uma proposição verdadeira e
outra falsa juntas na mesma proposição? Como podemos expressar isso?
3
Curso Tecnologia da Informação – CCPA 2023
“Se eu perder esta partida e ganhar nenhuma skin, eu vou parar por hoje”. Essa
proposição pode ser transformada em: PΛS→H; onde → = Se ,P= eu perder esta partida
, Λ=e, S= ganhar nenhuma skin , e H = eu vou parar por hoje.
Vamos analisar mais afundo PΛS→H :
H é condicional de PΛS, ou seja, o valor de H depende do valor de PΛS. Mas, que valor
é esse? Verdadeiro ou Falso. Lembre-se proposições só podem ser verdadeiras ou
falsas.
Então H (eu vou parar por hoje) é verdadeiro se PΛS forem verdadeiras. É necessário
que o ator da proposição, perca a partida e ganhe nenhuma skin para a proposição (H),
eu vou parar por hoje aconteça.
Podemos substituir os símbolos de PΛS→H pelos símbolos de verdadeiro (V) e falso
(F) para nos ajudar a compreender operações lógicas:
Se P e S forem falsos: P = F e S = F: FΛF→ H, portanto FΛF→ F
Se P e S forem verdadeiros: P = V e S = V: VΛV→ H, portanto VΛV→ V
Se somente P for verdadeiro: P = V e S = F: VΛF→ H, portanto VΛF→ F
Na lógica proposicional existem fórmulas bem formuladas, ou fbf. Uma fórmula bem
formulada é uma cadeia de símbolos, para os quais faz sentido perguntar "este símbolo
tem valor verdadeiro?". Os símbolos que vimos anteriormente são as variáveis
proposicionais. Na lógica formal, as provas podem ser representadas por sequências
de fórmulas com certas propriedades, e a fórmula final na sequência é o que é provado.
Vamos continuar a utilizar PΛS→H como exemplo. Cada símbolo na fórmula é uma
variável proposicional ou um operador.
P, S e H são variáveis. Enquanto Λ e → são operadores.
Além disso, como vimos antes as variáveis podem possuir um valor de verdadeiro ou
falso. Portanto, elas também são fórmulas que precisam ser “resolvidas”.
Conjunção:
Vamos utilizar outra frase como exemplo de proposição complexa:
“Pedro gosta de futebol e João prefere basquete”
Vamos representar essa frase como:
PΛQ
Vamos descobrir os valores lógicos possíveis dessa proposição complexa, ou seja, o
que acontece quando as duas proposições são verdadeiras (V), quando uma é
verdadeira (V) e a outra falsa (F), e por fim quando as duas são falsas (F).
4
Curso Tecnologia da Informação – CCPA 2023
P Q PΛQ
V V V
V F F
F V F
F F F
Disjunção:
Vamos examinar a mesma proposição complexa, mas substituindo o “e” (Λ) por “ou” (V):
“Pedro gosta de futebol ou João prefere basquete”
Representada como:
PVQ
P Q PVQ
V V V
V F V
F V V
F F F
Condicional:
E substituindo o operador por “se” (→)?
P→Q
“Pedro gosta de futebol se João prefere basquete”
P Q P→Q
V V V
V F F
F V V
F F V
Para P→Q ser verdadeira, ambas as proposições têm que ter o mesmo valor ou Q tem
que ser verdadeiro. Se João prefere basquete então Pedro gosta de futebol, senão
Pedro não gosta de futebol.
5
Curso Tecnologia da Informação – CCPA 2023
Contudo, João pode preferir basquete enquanto Pedro não gosta de futebol. Porque só
o gosto de Pedro por futebol é consequência do gosto de João e não vice versa. Lembre-
se que a setinha só aponta para um lado, isso representa que só uma proposição
depende da outra!
Bicondicional:
E ←→?
“Pedro gosta de futebol se e somente se João prefere basquete”
P←→Q
P Q P←→Q
V V V
V F F
F V F
F F V
Negação:
¬ ou ~
~P ~Q ~PΛ~Q
F F F
F V F
V F F
V V V
Disjunção Exclusiva:
⊕ ou V
“Um dos dois: Pedro gosta de futebol ou João prefere basquete”
P Q P⊕Q
F F F
F V V
V F V
V V F
6
Curso Tecnologia da Informação – CCPA 2023
7
Curso Tecnologia da Informação – CCPA 2023
(a) A Λ (B V C)
(b) (A Λ B) V C
(c) (A Λ B) Λ C
(d) A V (B V C)
8
Curso Tecnologia da Informação – CCPA 2023
O ábaco é formado por hastes dispostas no sentido vertical e possui uma estrutura
retangular, geralmente em madeira, dividida longitudinalmente em duas partes por uma
vareta horizontal.
O funcionamento do ábaco não é importante para a nossa história, basta entendermos
que ele foi a principal maneira de realizar cálculos matemáticos muito complexos
durante séculos.
O ábaco era utilizado juntamente com uma ferramenta essencial para o cálculo pre-
computação, a tabela matemática.
Desde a época da Grécia Clássica tabelas matemáticas eram utilizadas para armazenar
o resultado de cálculos. Tabelas matemáticas são lista de números que mostram os
resultados de um cálculo com argumentos variados. Tabelas trigonométricas foram
usadas no passado para aplicações em astronomia e navegação celeste. Tabelas de
logaritmos e funções trigonométricas eram comuns em livros didáticos de matemática e
ciências, e tabelas especializadas foram publicadas para inúmeras aplicações.
Foi somente em 1833 que o pai dos computadores, Charles Babbage, começou a
desenvolver um computador mecânico. E então, em 1833, ele realmente projetou a
Máquina Analítica que era um computador de uso geral.
Na época de Babbage, as tabelas matemáticas impressas eram calculadas por
computadores humanos; em outras palavras, à mão. Eles eram fundamentais para a
9
Curso Tecnologia da Informação – CCPA 2023
10
Curso Tecnologia da Informação – CCPA 2023
mensagem se utilizava “i” no lugar de “a”, “r” no lugar de “b”, assim em diante, afim de
esconder o significado da mensagem.
Claro, o inimigo pode “quebrar” essa cifra tentando embaralhar as letras até achar algo
com significado. Mas, e se ao invés de usar só letras e uma simples troca de caracteres,
milhares de permutações forem utilizadas?
Esse é o princípio das máquinas de criptografia utilizadas nas duas Grandes Guerras.
Tal era o caso da máquina Enigma. A máquina Enigma é um dispositivo de cifra usado
no início e meados do século 20 para proteger a comunicação comercial, diplomática e
militar. Foi amplamente empregado pela Alemanha nazista durante a Segunda Guerra
Mundial, em todos os ramos das forças armadas alemãs. A máquina Enigma era
considerada tão segura que era usada para codificar as mensagens mais secretas.
Surgiu-se uma
competição, por causa
da guerra, para ter
máquinas
computacionais cada
vez mais sofisticadas
para encriptar e
decriptografar
comunicações. Esse é
um dos motivos para o
grande avanço da
computação no último
século.
Spitfire e BF 109 lutando nos céus de Londres - Nicolas Trudgian
Em 1939 Alan Turing, um matemático inglês, e sua equipe da Inteligência Britânica deu
continuidade aos esforços aliados dos Poloneses em tentar “quebrar” o código da
máquina Enigma.
Turing havia desenvolvido uma máquina eletromecânica chamada Bomba, que poderia
quebrar a Enigma com mais eficácia do que a Bomba Kryptologiczna polonesa, da qual
seu nome foi derivado. A Bomba, com uma melhoria sugerida pelo matemático Gordon
Welchman, tornou-se uma das principais ferramentas, e a principal ferramenta
automatizada, usada para atacar mensagens codificadas pela Enigma.
A bomba detectava quando ocorria uma contradição e descartava essa configuração,
passando para a próxima. A maioria das configurações possíveis causaria contradições
e seriam descartadas, deixando apenas algumas para serem investigadas em detalhes.
Ocorria uma contradição quando uma letra cifrada voltava a ser a mesma letra de texto
simples, o que era impossível com o Enigma. A primeira bomba foi instalada em 18 de
março de 1940.
Não muito tempo depois em 1946 foi construído o primeiro computador de uso geral. o
ENIAC (Electronic Numerical Integrator and Computer), que significa em português
Integrador Numérico Eletrônico e Computador. Os inventores deste computador foram
John W. Mauchly e J.Presper Eckert.
11
Curso Tecnologia da Informação – CCPA 2023
Sua construção começou em 1943 e não foi concluída até 1946. Embora não tenha sido
concluída até o final da Segunda Guerra Mundial, o ENIAC foi criado para ajudar no
esforço de guerra contra as forças alemãs. Durante a guerra, havia uma escassez de
engenheiros do sexo masculino, então a programação era feita por uma equipe de seis
mulheres: Betty Jean Jennings (Bartik), Marilyn Wescoff, Ruth Lichterman, Elizabeth
Snyder, Frances Bilas e Kathleen McNulty.
Em 1953, a Burroughs Corporation construiu uma memória de núcleo magnético de 100
palavras, que aumentou as capacidades de memória do ENIAC, que na época continha
apenas uma memória interna de 20 palavras. Em 1956, no final de sua operação, o
ENIAC ocupava cerca de 1.800 pés quadrados e consistia em quase 20.000 tubos de
vácuo, 1.500 relays, 10.000 capacitores e 70.000 resistores. Ele também usou 200
quilowatts de eletricidade, pesou mais de 30 toneladas e custou cerca de US$ 487.000.
Computadores continuaram a ser desenvolvidos e ficando mais complexos, porém foi
só com o surgimento do transistor e dos circuitos integrados que computadores deram
um grande salto.
Desenvolvido por John Bardeen, Walter Brattain e William Shockley nos Laboratórios
Bell em 23 de dezembro de 1947. O transistor (abreviação de "transfer resistance") é
feito de semicondutores. É um componente usado para controlar a quantidade de
corrente ou tensão ou usado para amplificação/modulação ou comutação de um sinal
eletrônico. A figura mostra vários exemplos de transistores.
O transistor é o bloco de construção primário de todos os microchips, incluindo sua CPU
(unidade central de processamento). É o que cria os 0s e 1s binários (bits) que seu
computador usa para se comunicar e lidar com a lógica booleana. Quando colocados
em configurações diferentes, os transistores formam portas lógicas, que podem se
combinar em arranjos chamados de meios somadores que também se combinam em
somadores completos.
Um circuito integrado, chipe ou microchipe (do inglês chip e microchip,
respectivamente), é um circuito eletrônico miniaturizado (composto principalmente por
dispositivos semicondutores) sobre um substrato fino de material semicondutor.
Os circuitos integrados são usados em quase todos os equipamentos eletrônicos
usados hoje e revolucionaram o mundo da eletrônica. Porque computadores não
estavam limitados mais a quantidade de válvulas, chips pequenos podiam fazer as suas
operações e melhor.
Transistores - fonte:
processador Intel 80486DX2 - fonte: wikipedia.com
https://www.computerhope.com
12
Curso Tecnologia da Informação – CCPA 2023
Graças aos transistores e circuitos integrados é que hoje em dia temos notebooks e
Iphones, e não computadores que ocupam toda uma sala.
A álgebra booleana usa operadores lógicos como a conjunção (e) denotada por ∧, a
disjunção (ou) denotada por ∨ e a negação (não) por ¬. Assunto que já vimos em outras
aulas.
A álgebra booleana foi introduzida por George Boole em seu primeiro livro, The
Mathematical Analysis of Logic (1847), e apresentada mais detalhadamente em seu An
Investigation of the Laws of Thought (1854).
Todos os computadores modernos de uso geral executam suas funções usando a lógica
booleana de dois valores; ou seja, seus circuitos elétricos são uma manifestação física
da lógica booleana de dois valores.
As arquiteturas de computador mais comuns usam sequências ordenadas de valores
booleanos, chamados bits, de 32 ou 64 valores, por exemplo
01101000110101100101010101001011.
Ao programar em código de máquina, linguagem assembly e algumas outras linguagens
de programação, os programadores trabalham com a estrutura digital de baixo nível dos
registradores de dados. Esses registradores operam em tensões, onde zero volts
representa o booleano 0 e uma tensão de referência representa o booleano 1.
Assim, ligado, positivo ou verdadeiro significam 1 na lógica booleana.
Enquanto, desligado, negativo e falso significam 0.
13
Curso Tecnologia da Informação – CCPA 2023
14
Curso Tecnologia da Informação – CCPA 2023
base 2 exemplificada:
2 7
2 6
2 5
24 23 22 21 20
128 64 32 16 8 4 2 1
Você lembra qual é lógica booleana? Os valores das variáveis são verdadeiros ou
falsos. O mesmo é verdade para essas tabelas de posições. Onde estiver um número
1, significa que aquele valor é verdade. Por exemplo, 5 em binário, 101, a posição 4 é
1, a posição 2 é 0, e a posição 1 é 1, portanto 101 = 5, porque só 4 e 1 são
verdadeiros e 4 + 1 = 5
Colocamos os dígitos nas colunas 10^0, 10^1 e assim por diante na base 10. Por
exemplo, quando houver necessidade de colocar um valor maior que 9 na forma de
10^(n+1), para somar 10 a coluna 10^0, você precisa adicionar 1 à coluna 10^1.
Colocamos os dígitos nas colunas 2^0, 2^1 e assim por diante na base 2. Para colocar
um valor maior que 1 em 2^n, você precisa adicionar 2^(n+1). Por exemplo, para
adicionar 3 à coluna 2^0, você precisa adicionar 1 à coluna 2^1.
Veja se você entendeu, escreva 9 em binário na tabela a seguir:
15
Curso Tecnologia da Informação – CCPA 2023
1010
x 1011
1010
1010
0000
+ 1010
1101110
E uma divisão?
Exemplo: 27/11
11011 | 11
11 1001
00
000
001
00
11
11
00
16
Curso Tecnologia da Informação – CCPA 2023
Negação (NOT)
No binário 0 é a negação de 1. Então por exemplo a negação de 5 (101) é 2 (10)
101
~
010 = 2
E (AND)
A conjunção de dois números binários vai resultar em um valor binário onde as posições
dos 0s e 1s tiverem os mesmos valores:
Exemplo: 3 e 5
011
ꓥ 101
001 = 1
OU (OR)
Na disjunção onde tivermos 0 nas mesmas posições o resultado da operação também
será 0.
Exemplo: 6 e 10
0110
V 1010
1110 = 14
OU Exclusivo (XOR)
XOR só retorna 1 se os valores das posições forem diferentes:
Exemplo: 7 e 10
0111
⊕ 1010
1101 = 13
17
Curso Tecnologia da Informação – CCPA 2023
AND = E; NAND= Negação de e; OR = OU; NOR = Negação de OU; NOT = Não; XOR
= Exclusivamente Ou; XNOR = Exclusivamente negação de ou.
As portas lógicas realizam as operações lógicas booleanas que vimos anteriormente no
último capítulo.
Geralmente refere-se a essas portas pelo seu nome em inglês (AND, NAND, OR, NOR,
NOT, XOR, XNOR, etc).
NAND, NOR e XNOR são portas que negam a operação, representado visualmente pela
bolinha na saída da porta (a direita).
18
Curso Tecnologia da Informação – CCPA 2023
Circuit Scramble
O App para mobile Circuit Scramble é um ótimo jogo
para você treinar os seus conhecimentos de lógica.
Navegue por um campo de portas lógicas enquanto
tenta encontrar as entradas corretas para completar os
níveis.
19