·

Cursos Gerais ·

Lógica Matemática

Send your question to AI and receive an answer instantly

Ask Question

Preview text

MATEMÁTICA COMPUTACIONAL AULA 1 Prof Luiz Gonzaga de Paulo 2 CONVERSA INICIAL A história dos números faz parte da história da escrita e decorre da necessidade de contar de expressar quantidades e posteriormente de controlar e fazer negócios Uma boa oportunidade para conhecer um pouco dessa história é assistir ao vídeo httpswwwyoutubecomwatchvZWZKJb06CTU A necessidade de contar evoluiu com a civilização e com o advento do computador e a era da informação surgiram novos sistemas de numeração As operações de conversão entre estes sistemas passaram a ser conhecimento obrigatório para os profissionais da computação Nessa aula vamos abordar esses sistemas a conversão entre eles e os possíveis erros nesse processo além das operações lógicas e aritméticas em binário Para ampliar seus conhecimentos leia o capítulo 2 Teoria dos números do livro Tópicos de matemática aplicada e o capítulo 3 do livro Organização estruturada de computadores 5 ed TEMA 1 SISTEMAS DE NUMERAÇÃO Sistemas de numeração compreendem a forma de representarmos valores por intermédio de símbolos geralmente números organizados de forma que o valor de cada símbolo depende da posição que ele ocupa isto é um sistema posicional Existem diversos sistemas de numeração sendo o mais comum o decimal que utilizamos em nossas comunicações Além desse existem os sistemas octal hexadecimal e o binário sendo esse último utilizado naturalmente pelos computadores também chamado de sistema digital 11 Sistema de numeração decimal O sistema de numeração decimal é o nosso sistema numérico por padrão e nós seres humanos o utilizamos para representar valores e quantidades em processos de comunicação É um sistema posicional no qual o valor de um símbolo ou algarismo é proporcional à posição que ocupa no número A posição é crescente da direita para a esquerda partindo da posição 0 zero e decrescente da esquerda para a direita sendo que assume valores negativos a partir da vírgula Sua base expressa pela letra grega Beta em maiúsculo β é 10 e isso também define seu conjunto de símbolos algarismos ou números 3 N 0 1 2 3 4 5 6 7 8 9 A posição do símbolo no número referese ao expoente da base do sistema β 10 A Figura 1 traz o exemplo Figura 1 Exemplo de representação decimal No capítulo 2 do livro Tópicos de matemática aplicada são apresentadas as formas das operações aritméticas básicas deste sistema de numeração 12 Sistema de numeração octal Nos primórdios da era da computação digital foi criado um sistema melhor adaptado aos computadores o sistema octal usado como alternativa ao sistema binário vigente até então Podese verificar o uso desse sistema na computação e nas linguagens de programação das primeiras gerações Este sistema prevaleceu na programação em linguagem de máquina e na comunicação entre os computadores por algum tempo tinha a base β 8 a qual define o conjunto de símbolos ou seja os algarismos ou números utilizados N 0 1 2 3 4 5 6 7 O sistema octal também é um sistema posicional no qual o valor efetivo de um número depende da sua posição Para representarmos em Octal o mesmo exemplo usado anteriormente para o sistema de numeração decimal teremos o que nos mostra a Figura 2 Figura 2 Exemplo de representação em octal 4 13 Sistema de numeração hexadecimal O sistema de numeração binário é de difícil compreensão para nós pois gera números relativamente grandes para representar valores comuns no diaa dia Para fazer frente a esses problemas passamos a utilizar o sistema de numeração hexadecimal o mais utilizado nas linguagens de programação em especial nas linguagens da primeira até a terceira geração Entre outras representações o sistema hexadecimal é usado para referenciar os endereços de memória e de rede a cor e os caracteres em interfaces nas aplicações da internet e diversos outras Este sistema tem como base β o 16 e os símbolos expandem os números de 0 a 9 com letras compondo o seguinte conjunto de símbolos N 0 1 2 3 4 5 6 7 8 9 A B C D E F Um aspecto interessante desse sistema é que os valores em hexadecimal podem ser representados de diversos modos tais como0xNNNN NNNNh ou NNNN sendo N um dígito do sistema hexadecimal As letras ou símbolos alfabéticos desse sistema equivalem a valores do sistema decimal como mostrado na Figura 3 Figura 3 Símbolos alfabéticos do sistema hexadecimal Na Figura 4 apresentamos algumas representações de valores no sistema hexadecimal e seu equivalente no sistema decimal Figura 4 Representação em sistema hexadecimal 5 14 Sistema de numeração binário O sistema numérico utilizado por padrão pelos computadores é o sistema de numeração binário Isto se deve ao uso dos circuitos eletrônicos digitais que apresentam apenas dois estados ligado ou desligado aceso ou apagado presente ou ausente alto ou baixo verdadeiro ou falso entre outros Por isso o sistema de numeração binário é utilizado para representar as informações digitais e para a comunicação entre computadores e dispositivos digitais permitindo que a informação digital seja validada ou conferida já que seus valores são apenas dois O sistema de numeração binário tem a base β é 2 e um conjunto muito reduzido de símbolos N 0 1 A Figura 5 apresenta a representação de valores em binário e sua equivalência decimal Figura 5 Representação de um número no sistema binário TEMA 2 CONVERSÃO ENTRE OS SISTEMAS Diferente dos computadores nós utilizamos o sistema de numeração decimal para expressarmos valores e quantidade É comum haver a necessidade de converter números expressos em outros sistemas para o sistema decimal ou do sistema decimal para outros sistemas Também é necessário converter números expressos nos demais sistemas entre si para a realização de operações ou identificação de representações Ou seja é necessário conhecermos o processo de conversão de uma base β qualquer para outra base β o que denominamos conversão de base 6 O processo de conversão de base está sujeito às limitações de representação e de cálculo e às restrições do ambiente computacional o que pode ocasionar erros como resultados inexatos e imprecisões 21 Conversão de uma base qualquer β para a base 10 decimal Para executar a conversão de um valor expresso na base β uma base qualquer para a base decimal 10 executamos a fatoração do número expresso Isso já foi utilizado por nós na apresentação dos sistemas de numeração A Figura 6 apresenta a fórmula geral Figura 6 Fatoração de um número na conversão para a base 10 Nessa representação os dígitos do sistema de base β são as letras a b c d e Os expoentes de β na fórmula são as posições ocupadas cada dígito O valor das posições dos dígitos inteiros à esquerda da vírgula cresce da direita para a esquerda a partir do 0 zero Já as posições dos valores fracionários à direita da vírgula aumentam à medida em que o dígito se desloca à direita porém o valor diminui posto que o expoente é negativo A Figura 7 mostra essa forma de expressão Figura 7 Conversão de uma base qualquer β para a base 10 22 Conversão da base decimal para uma base β Para convertermos um valor expresso no sistema decimal base 10 para um sistema de base β fazemos divisões sucessivas do número na base 10 pela base β até que o quociente seja menor que β Isto se aplica à conversão da parte inteira do valor Já para o valor fracionário devemos fazer multiplicações sucessivas pela base β até obtermos um valor exclusivamente inteiro Ao 7 efetuarmos cada multiplicação devemos descartar a parte inteira da multiplicação anterior A Figura 8 é um exemplo de conversão de valores expressos no sistema decimal para o sistema binário Figura 8 Conversão de decimal para binário Um outro exemplo de conversão do sistema decimal para o sistema octal está na Figura 9 Figura 9 Conversão de decimal para octal A Figura 10 representa uma conversão do sistema decimal para o sistema hexadecimal Figura 10 Conversão de decimal para hexadecimal 8 23 Conversão da parte fracionária Como já adiantamos a conversão da parte fracionária valores entre 0 e 1 de um valor expresso no sistema decimal para um sistema de base β é feita por multiplicações sucessivas da parte fracionária por β até se obter um valor exclusivamente inteiro A cada multiplicação removese a parte inteira como mostrado na conversão do sistema decimal para o sistema binário na Figura 11 Figura 11 Conversão da parte fracionária 24 Conversão direta Uma opção para fazer a conversão entre sistemas é a substituição direta que é possível nos casos da conversão dos sistemas hexadecimal e octal para binário ou viceversa Isso porque as bases destes sistemas 16 e 8 são potências de 2 representadas por conjuntos fixos de dígitos binários Três dígitos binários para cada dígito octal já que 23 8 Quatro dígitos binários para cada digito hexadecimal já que 24 16 Os exemplos da Figura 12 a seguir demonstram o processo Figura 12 Conversão direta entre binário e octalhexadecimal 9 TEMA 3 ERROS DE CONVERSÃO Na conversão entre sistemas podem ocorrer erros de dois tipos 1 Os erros de precisão que ocorrem em função da quantidade insuficiente de dígitos para representar o valor Nos sistemas de computação digital o número de dígitos binários usados para representar os números é geralmente prédefinido e limitado caso haja a necessidade de representar um valor com uma quantidade de dígitos maior que o limite ocorrerá um erro de precisão Esta ocorrência é típica das variáveis em programas de computador 2 Os erros de exatidão ocorrem quando há a aproximação o arredondamento ou a ocorrência de dízimas periódicas Neste caso devido à limitação do número de dígitos ou da capacidade de cálculo geralmente há uma interrupção inesperada da representação Embora possam parecer a mesma coisa há uma diferença entre os tipos de erros e sua ocorrência gera consequências distintas no ambiente computacional O limite de precisão resulta em truncamento e afeta principalmente os cálculos com os números irracionais com o número π Pi Em geral este número é representado com duas casas decimais como 314 porém as calculadoras podem representálo com oito casas decimais 31415926 o que é razoável para maioria dos cálculos Porém em cálculos mais extensos é necessário usar uma maior precisão tal como a representação do Pi com cinquenta e duas casas decimais O uso de precisões maiores requer a aplicação de algoritmos computacionais específicos Por exemplo já se tem realizado o cálculo de Pi com trilhões de dígitos Os erros de conversão assim como os demais erros podem ser expressos de forma absoluta ou relativa 31 Erro absoluto O erro absoluto é a diferença entre o valor real e a forma na qual foi expresso Calculamos o erro absoluto pela seguinte fórmula 10 𝑬𝑨𝒙 x 𝐱 Tomando o exemplo dado do valor de Pi sendo x o valor de Pi com sete casas decimais e 𝐱 o valor de Pi com dois decimais então temos 31415926 314 00015926 É claro que isto é apenas um exemplo pois o valor real de Pi é algo ainda desconhecido 32 Erro relativo O erro relativo é a razão entre o erro absoluto EA e o valor real x isto é 𝑬𝑹𝒙 𝑬𝑨𝒙 𝒙 Ou 𝑬𝑹𝒙 𝒙 𝐱 𝒙 Se utilizarmos os valores do exemplo dado 𝑬𝑹𝒙 𝟑𝟏𝟒𝟏𝟓𝟗𝟐𝟔 𝟑𝟏𝟒 𝟑𝟏𝟒𝟏𝟓𝟗𝟐𝟔 𝑬𝑹𝒙 5 x 104 ou 005 TEMA 4 LÓGICA BINÁRIA Você já se perguntou de que forma as operações de um computador podem ser executadas já que esse usa somente o sistema binário As informações que os computadores armazenam e processam são bits dígitos binários pois os circuitos eletrônicos do computador digital operam somente com os dígitos zero 0 e um 1 Portanto todos os cálculos computacionais por mais complexos que sejam são realizados com a lógica e a aritmética binária O computador digital é uma formidável combinação de diversos circuitos eletrônicos que realizam um altíssimo volume de operações o que o torna capaz de realizar as mais complexas operações matemáticas por meio da programação 11 Estes circuitos elementares são conhecidos como portas lógicas e realizam as operações mais básicas da lógica e aritmética binária Estas operações são realizadas no nível dos bits e são apresentadas a seguir 41 NOT não ou negação A operação de negação NÃO ou NOT ou inversão também chamada de complemento é realizada apenas com um operador um único bit Apresenta como resultado o inverso do valor desse operador Nas expressões lógicas essa operação é representada por um til que precede o valor ou por uma barra horizontal colocada sobre o valor negado inverso 𝐴 que se lê A barra ou A barrado ou A negado A tabela verdade é a seguinte Tabela 1 Tabela 1 Tabela verdade da operação NOT 42 AND e É a operação de conjunção binária isto é uma operação muito semelhante à multiplicação Esta operação como resultado apresenta um valor 1 na saída apenas quando todos os operandos apresentam um valor 1 Para os demais valores o resultado é 0 Esta operação é representada pelo símbolo E comercial ou em inglês Ampersand A tabela verdade para esta operação é Tabela 2 Tabela 2 Tabela verdade da operação AND 12 43 OR ou É a operação de disjunção binária que é semelhante à soma ou adição Nesta operação há um resultado 1 quando qualquer um dos operandos tem valor 1 A operação OR é assinalada nas expressões lógicas com o sinal de adição e sua tabela verdade Tabela 3 é a seguinte Tabela 3 Tabela verdade da operação OR 44 XOR exclusivo Está é a operação lógica binária de disjunção exclusiva a qual tem por finalidade detectar uma desigualdade entre os valores dos operandos Somente apresenta um valor 1 como resultado quando os operandos têm valores diferentes É representada pelo sinal de adição contornado por um círculo A tabela verdade é a seguinte Tabela 4 Tabela 4 Tabela verdade da operação XOR 45 SHIFT deslocamento A operação binária de deslocamento ou rotação de bits efetua a divisão ou multiplicação por 2 e por seus múltiplos Dado um número binário ao 13 deslocarmos os bits da direta para a esquerda em uma posição operação representada pelo sinal multiplicamos o valor por 2 Realizando o deslocamento no sentido contrário da esquerda para a direita operação representada pelo sinal dividimos o valor por 2 com o resultado inteiro Essa operação é demonstrada na Figura 13 Figura 13 Operação SHIFT É bom ressaltar as posições deslocadas são preenchidas com 0 e dessa forma a operação só apresenta resultados inteiros Entretanto no caso de utilizarmos a aritmética de ponto flutuante os valores fracionários da divisão por 2 serão apresentados TEMA 5 ARITMÉTICA BINÁRIA As operações aritméticas básicas são realizadas por meio de circuitos semelhantes aos ou compostos pelos das operações lógicas ou seja as portas lógicas Do ponto de vista matemático essas operações em nada diferem das operações aritméticas fundamentais que conhecemos nos primeiros anos de nossa formação soma subtração multiplicação e divisão Os processos para a realização das operações seguem as mesmas regras e são simples Uma atenção especial é necessária devido ao fato de tratarmos de um sistema com apenas dois dígitos o qual não é natural para nós seres humanos 51 Adição binária A adição ou soma binária assemelhase à soma decimal incluindo a operação de vaium que aqui denominamos Carry Out porém utilizando somente os dígitos do sistema de numeração binário zero e um Esta operação Em binário 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 Em decimal x 2 Em binário 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 Em decimal 2 77 154 77 38 14 é designada pelo sinal de adição nas equações e as regras da operação são as seguintes 0 0 0 0 1 1 1 0 1 1 1 0 e vai um Carry Out 1 1 1 1 1 e vai um Carry Out 1 A tabela verdade da operação apresentada na Tabela 5 que relaciona os resultados Tabela 5 Tabela verdade da adição binária Vamos exemplificar a operação demonstrando a soma dos seguintes valores Figura 14 101 011 Figura 14 Exemplo Convém notar que não utilizamos a soma binária com dois bits apenas mas sim com todo tipo de valores No exemplo a seguir vamos realizar a soma dos valores decimais 65 e 68 tanto no sistema decimal como no sistema binário Na Figura 15 podemos validar o resultado 15 Figura 15 Validação do resultado Primeiro fizemos a conversão dos operadores para o sistema binário e em seguida somamos bit a bit sempre observando as regras da operação Vejamos mais este exemplo somar os valores octais 3705 e 3717 Figura 16 Figura 16 Exemplo Da mesma forma que no exemplo anterior primeiro fizemos a conversão para o sistema binário e a seguir somamos bit a bit observando as regras da operação Vamos realizar mais esta operação somar os valores hexadecimais 89F e 457 Figura 17 Figura 17 Exemplo Seguimos os mesmos passos das operações anteriores conversão e soma bit a bit obedecendo as regras Em seu ambiente virtual de aprendizagem UNIVIRTUS foi disponibilizada uma lista de exercícios com operações de soma Acesse essa lista e resolvaos Troque ideias a respeito dessa operação com seus colegas de turma por intermédio do fórum 1 1 65 1000001 68 1000100 133 10000101 Vai um Carry Out 1 1 11111 1111 3705 11111000101 3717 11111001111 7624 111110010100 Vai um Carry Out 1 11111 89F 100010011111 457 10001010111 CF6 110011110110 Vai um Carry Out 16 52 Multiplicação binária A multiplicação binária segue o mesmo modelo da multiplicação decimal porém com a utilização apenas dos dois dígitos binários zero e um Uma boa opção para estruturar a operação é colocar o número maior acima do número menor Assim a operação fica mais clara A tabela verdade Tabela 6 da operação é a mesma da operação lógica AND como segue Tabela 6 Tabela verdade da multiplicação binária As regras para a operação de subtração binária são simples a saber 0 x 0 0 0 x 1 0 1 x 0 0 1 x 1 1 Os resultados de cada multiplicação de um bit são colocados em linhas seguidas deslocandose um dígito para a esquerda e realizando uma soma ao término dos dígitos do multiplicador como mostra a Figura 18 Figura 18 Exemplo 6 110 x 5 x 101 30 110 000 110 11110 17 Vamos para mais um exemplo Figura 19 realizar em modo binário a operação decimal 22 x 7 Figura 19 Exemplo 53 Subtração binária A subtração binária segue o mesmo processo da subtração decimal incluindo o artifício de pedir emprestado um dígito de maior valor à esquerda quando se subtrai um valor maior de um valor menor isto é 1 um de 0 zero É semelhante à operação XOR e também pode ser realizada por meio da soma com complemento de 2 A tabela verdade da operação de subtração binária é a seguinte Tabela 7 Tabela 7 Tabela verdade da multiplicação binária As regras para a operação de subtração binária são 0 0 0 0 1 1 e pede emprestado 1 ao dígito da esquerda 1 0 1 1 1 0 Exemplo realizar a subtração 5 3 em binário 22 10110 x 7 x 111 154 10110 10110 10110 10011010 18 Figura 20 Exemplo Outro exemplo realizar a subtração 68 65 em binário Figura 21 Exemplo E mais um exemplo realizar a subtração 227 em binário Figura 22 Exemplo 54 Divisão binária O modelo da divisão binária segue o mesmo processo da divisão em decimal operando inclusive com os mesmos componentes O valor a ser dividido dividendo O número que deve estar contido n vezes no dividendo divisor O valor que se busca o resultado da divisão quociente Caso a divisão não seja inteira temos o resto isto é dividendo divisor quociente O resto sempre deve ser menor que o quociente Figura 23 Realizando a divisão decimal 42 6 em binário 101010110 68 1000100 65 1000001 3 11 22 10110 7 111 15 1111 19 Conferindo o resultado em Decimal 42 6 7 Realizando a divisão decimal 37 4 usando o sistema binário teremos Figura 24 Figura 24 Exemplo Resultado em decimal 37 4 9 e resto 1 É importante observar dois aspectos muito importantes neste último caso Sobra um resto pois a divisão não é inteira Realizada a primeira divisão quando 100 dividendo é dividido por 100 divisor ao fazer a descida do valor 1 do dividendo ainda não se tem um valor que possa ser dividido por 100 Foi adicionado um digito 0 ao quociente e descido mais um dígito No caso é 0 o que faz o dividendo ser ainda insuficiente pois 010 é menor que 100 Então repetese este passo acrescentase um zero ao quociente e descese mais um dígito formando assim o valor 0101 que desta forma pode ser dividido por 100 restando então o valor 1 Mais um exemplo vamos realizar a divisão decimal 22 7 usando o sistema binário Figura 25 Figura 25 Exemplo Note que há a mesma ocorrência dos dois aspectos de forma semelhante à do exemplo anterior 37 4 100101 100 36 9 100 1001 1 0101 100 1 22 7 10110 111 21 3 111 011 1 1000 111 1 20 FINALIZANDO Conhecer os sistemas numéricos e as operações apresentadas é um passo fundamental para conhecer o funcionamento dos sistemas computacionais e também para o entendimento das operações que estes realizam A maior parte destes processos apresentados são feitos por software e hardware entretanto o estudo destas operações e dos processos e o domínio das técnicas apresentadas é indispensável para a evolução na escalada do conhecimento Dominar as operações mais fundamentais realizadas por um sistema computacional digital ajudanos a compreender o funcionamento as restrições e as potencialidades desse sistema 21 REFERÊNCIAS GUIMARÃES CHC Sistemas de numeração aplicação em computadores digitais Rio de Janeiro Interciência 2014 LEITE A E CASTANHEIRA NP Teoria dos números e teoria dos conjuntos Curitiba InterSaberes 2014 MACEDO L R D CASTANHEIRA N P ROCHA A Tópicos de matemática aplicada Curitiba InterSaberes 2013 TANEMBAUM A S Organização estruturada de computadores São Paulo Pearson Prentice Hal 2014