ICC - Introdução a Ciência da Computação Álgebra Booleana e Circuitos Lógicos Os circuitos eletrônicos que formam os computadores digitais atuais são capazes de distinguir apenas dois níveis de tensão - computadores digitais binários. Estes sinais elétricos são tensões que assumem dois diferentes valores: um valor positivo (hoje, nos PC's, cerca de +3 V - três volts positivos) para representar o valor binário 1 e um valor aproximado a 0 V (zero volt) para representar o valor binário 0. Na realidade, estes valores não são absolutos, e sim faixas de valores, com uma margem de tolerância (entre +2.5 e +3.5 V, representando o valor binário 1, e entre 0 e + 0,5 V representando o valor binário 0). A lógica que permite aos computadores operar baseados nestes dois valores é chamada Álgebra de Boole, em homenagem ao matemático inglês George Boole (1815-1864). CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação BIT é uma contração de BInary DigiT e representa um dos valores possíveis em binário, 0 ou 1. BYTE é um grupo de 8 bits Em um byte, há 28 = 256 combinações, portanto pode-se representar 256 diferentes valores, desde 00000000 até 11111111. O termo "byte" foi inventado pela IBM. CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação CONCEITOS DE LÓGICA DIGITAL CIRCUITOS LÓGICOS E GATES Todos as complexas operações de um computador digital acabam sendo combinações de simples operações aritméticas e lógicas básicas: somar bits, complementar bits (para fazer subtrações), comparar bits, mover bits. Estas operações são fisicamente realizadas por circuitos eletrônicos, chamados circuitos lógicos (ou gates - "portas" lógicas). Computadores digitais (binários) são construidos com circuitos eletrônicos digitais - as portas lógicas (circuitos lógicos). . CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Os sistemas lógicos são estudados pela álgebra de chaveamentos, um ramo da álgebra moderna ou álgebra de Boole, conceituada pelo matemático inglês George Boole (1815 - 1864). Boole construiu sua lógica a partir de símbolos, representando as expressões por letras e ligando-as através de conectivos - símbolos algébricos. A álgebra de Boole trabalha com apenas duas grandezas: Falso(0) ou Verdadeiro(1). Nota: nos circuitos lógicos do computador, os sinais binários são representados por níveis de tensão Na informática, adotamos a notação [0,1], que é utilizada em eletrônica digital. CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação Complementação ou Negação -, ~, ’ A ~A 0 1 3 / 12 2 CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Álgebra Booleana e Circuitos Lógicos A chave de tudo é um circuito eletrônico chamado CHAVE AUTOMÁTICA. Como funciona uma chave automática? Vamos imaginar um circuito chaveador com as seguintes entradas: - uma fonte de alimentação (fornece energia para o circuito) - um fio de controle (comanda a operação do circuito) - um fio de saída (conduz o resultado) CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação OU (V) (Adição Lógica) A B A B A B A B OU V OU V OU V OU V CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação E (Λ) (Multiplicação Lógica) CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação Complementação ou Negação -, ~, ’ A Não (not ) ~ A Não (not) ~ CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação • Descrevemos as funções Booleanas utilizando tabelas. • A tabela que descreva uma função Booleana recebe o nome de tabela verdade. • Nela são listadas todas as combinações de valores que as variáveis de entrada podem assumir e os correspondentes valores da função (saídas). CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação TABELAS VERDADE p q p^q pvq V V F F V F V F V F F F V V V F CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação OU (V) (Adição Lógica) Só entra no Camarote do ASA quem tiver CONVITE ou INGRESSO. Entra = 1 Não Entra = 0 Convite Ingresso 1 1 1 0 0 1 0 0 (função) Função (Entrar) 2 / 12 CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Operação E (Λ) (Multiplicação Lógica) Só bebe no Camarote do ASA quem tiver CONVITE e tiver mais de 18 anos. Entra = 1 Convite 1 1 0 0 Não Entra = 0 > 18 1 0 1 0 (função) Função (Entrar) 2 / 12 CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Uma campainha que toca (saída) se o motorista der a partida no motor do carro (entrada) sem estar com o cinto de segurança afivelado (entrada). Se a ignição for ACIONADA (1) e o cinto estiver DESAFIVELADO (1), a campainha é ACIONADA (1). Caso contrário, a campainha não toca Tabela Verdade: Ignição Cinto 0 0 0 1 1 0 1 1 Campainha CHP – Desenvolvimento de Software ICC - Introdução a Ciência da Computação Detector de incêndio com vários sensores (entradas) e uma campainha para alarme (saída). Se QUALQUER UM dos sensores for acionado (significando que um dos sensores detectou sinal de incêndio), a campainha é ACIONADA. Tabela verdade: Sensor 1 Sensor 2 0 0 0 1 1 0 1 1 Campainha CHP – Desenvolvimento de Software