Você está na página 1de 5

Lgica Mtemtica

Aplicao em Desenvolvimento de Software e Cincia da Computa


Alexandre, Elayne, Sergio, Gabriel e Mateus
IFBA Instituto Federal de Educao, Cincia e Tecnologia - BA Superior Tecnolgico em Analise e Desenvolvimento de Sistemas

Abstract Este trabalho apresenta uma anlise do matria lgica matemtica e sua aplicao no curso de Anlise e Desenvolvimento de software. Visando enriquecer o aprendizado e contextualizando a importncia e aplicabilidade dos conceitos matemticos para formao de profissionais da rea de cincia da computao e analise de sistemas. Palavras: lgica; algoritimo, lgica de programao.

completo, como so sentenas fechadas s podem assumir o carter de falso ou verdadeiro. So exemplos de proposies: a) b) c) A rosa vermelha (v) 5> 7 (V) 20 = 3 (F)

1. INTRODUO
A palavra lgica deriva etimolgicamente do grego logos e significa palavra, discurso ou razo. Porem Aristteles, o primeiro que a sistematizou, no a entendia assim, utilizando-a como uma forma de analise de uma argumentao. Posteriormente, os estudos lgicos de Aristteles denominado rganon, ou seja, instrumento para o bem pensar. Desenvolveu-se a partir da o silogismo, onde pode-se, a partir da analise de um encadeamento de enunciados, chegar a alguma concluso. A lgica aristotlica, em particular, a teoria do silogismo, apenas um fragmento da assim chamada lgica tradicional. A lgica descreve as formas, as relaes e as propriedades das preposies, em decorrncia da construo de um simbolismo regulado e ordenado que permite diferenciar linguagem cotidiana e linguagem formalizada. Ela tornou-se uma disciplina praticamente autnoma em relao filosofia, graas ao seu elevado grau de preciso e tecnicismo. De maneira geral possui trs pilares ou princpios fundamentais: o principio da identidade, o principio da no contradio e o principio do terceiro excludo e podem ser, respectivamente, assim definidos: a) Todo ser : A= A b) O objeto no pode ser e no ser ao mesmo tempo. As mudanas que ocorrem so apenas aspectos. c) No h nada entre o ser e o no ser. Ou seja, um terceiro fica excludo. Toda sentena lgica composta por um termo, que juntos formam uma proposio. Logo o termo a parte mais simples de um enunciado e designa ou conceito ou uma ideia. A proposio, por sua vez, pode ser definida como um conjunto de palavras ou smbolos que expressam um pensamento num sentido

importante ressaltar que nem toda sentena pode ser considerada uma proposio. Caso ela assuma valores indefinidos, como por exemplo, X > 2, onde X pode assumir qualquer valor num conjunto infinito de possibilidades, portanto no pode ser considerado nem falso nem verdadeiro. Est sentena poderia se tornar uma proposio se fosse definido um conjunto universo de possibilidades que X pode assumir. A estes valores d-se o nome de conjunto universo. E ao subconjunto formado por estes nmeros que podem tornar a sentena verdadeira denomina-se conjunto verdade ou conjunto soluo da sentena aberta. Conectivos ou modificadores so termos, palavras ou smbolos utilizados para modificar uma proposio de simples para composta. Uma sentena simples aquela que no h nenhuma outra proposio condicionante. Por exemplo, p: Maria bonita, uma proposio simples, enquanto p: Se Maria bonita ento ela feliz uma proposio composta. A proposio indicada por letras maisculas ou minsculas do nosso alfabeto. Os elementos modificadores e conectivos lgicos so: ou ! (negao); ^ (conectivo e); v (conectivo ou); (conectivo implica); (conectivo se, e somente se).

Exemplos: Sejam p e q proposies. ~p verdadeira se p for falsa, e vice-versa; p e q verdadeira se ambas forem verdadeiras, e falsa caso contrrio;

p ou q verdadeira se pelo menos uma delas for verdadeira, e falsa caso contrrio; p q verdadeira se o primeiro operando verdadeiro e o segundo falso; p q verdadeira se ambos operandos forem verdadeiros ou ambos falsos; A Lgica extensivamente utilizada em todas as reas vinculadas aos computadores. Partindo-se do princpio que muitas das nossas tarefas dirias so uma sequncia que obedecem uma determinada ordem, de um estado inicial, atravs de um perodo de tempo finito e que nesse perodo produzimos resultados esperados e bem definidos, poderamos classificar essas tarefas dentro de um Algoritmo que utilizam o conceito da lgica formal para fazer com que o computador, produza uma srie sequencial.

4. Em ontologia da web, representao do conhecimento e lgica sao usadas para detalhar conceitos dentro de ontologias, ou seja como uma linguagem para descrever ontologias, existncia dos entes. 5. Em programao de software e sistemas computacionais em geral so desenvolvidos por algoritmos, que uma sequncia finita de instrues bem definidas e no ambguas, cada uma das quais pode ser executada mecanicamente num perodo de tempo finito e com uma quantidade de esforo finito. Um algoritmo no representa, necessariamente, um programa de computador, e sim os passos necessrios para realizar uma tarefa. Sua implementao pode ser feita por um computador, por outro tipo de autmato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instrues em mais ou menos tempo, espao ou esforo do que outros. Tal diferena pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. A anlise de algoritmos um ramo da cincia da computao que estuda as tcnicas de projeto de algoritmos e os algoritmos de forma abstrata, sem estarem implementados em uma linguagem de programao em particular ou implementadas de algum outro modo. Ela preocupa-se com os recursos necessrios para a execuo do algoritmo tais como o tempo de execuo e o espao de armazenamento de dados. Deve-se perceber que para um dado algoritmo pode-se ter diferentes quantidades de recursos alocados de acordo com os parmetros passados na entrada. Por exemplo, se definirmos que o fatorial de um nmero natural igual ao fatorial de seu antecessor multiplicado pelo prprio nmero, fica claro que a execuo de fatorial(10) consome mais tempo que a execuo de fatorial(5). 6. Mas, a area onde talvez lgica seja mais usada em inteligencia artificial. De fato ela o principal formalismo de representacao do conhecimento e portanto muito util no desenvolvimento de sistemas especialistas e sistemas multi-agentesassim como para descrever de forma simbolica e precisa redes neurais. O conhecimento extrado desde uma rede neural pode ser formulado em regras do tipo if-then-else as quais ainda podem ser posteriormente usadas em um sistema de inferencia lgica para a resolucao de problemas. Mas lgica classica, tambem tem sido usada no processamento de linguagens naturais, em algoritmos geneticos, robotica, etc. Mas tambem tem sido usada direta ou indiretamente, em outras areas ou disciplinas da Ciencia e da engenharia da Computacao, tais como em criptografia, sistemas de automacao e controle, processamento digital de imagens, Bioinformatica, Mineracao de dados, sistemas distribudos, etc. Alem disso, os conhecimentos em lgica classica servem de base para as outras lgicas algumas

2. LGICA E CIENCIAS DA COMPUTAO


Nas dcadas de 50 e 60, pesquisadores previram que quando o conhecimento humano pudesse ser expresso usando lgica com notao matemtica, supunham que seria possvel criar uma mquina com a capacidade de pensar, ou seja, Inteligncia Artificial. Isto se mostrou mais difcil que o esperado em funo da complexidade do raciocnio humano. A programao lgica uma tentativa de fazer computadores usarem raciocnio lgico e a Linguagem de programao Prolog comumente utilizada para isto. A lgica classica usada nas mais variadas areas e disciplinas da computacao. Por exemplo: 1. Em Engenharia de software uma das questoes centrais desta area o uso de formalismos no processo de desenvolvimento de programas, sendo que o formalismo logico por sua facil compreensivilidade e um dos mais usados. Dentro de engenharia de software ainda, provadores automaticos de teoremas, tais como HOL (do ingles High Order Logic), tem sido empregados para especificacao e verificacao de propriedades de sistemas computacionais, entre outras coisas. Em Engenharia de software lgica classica tambem usada para descrever a semantica formal de linguagens de programacao. 2. Em Banco de dados relacionais na descricao de consultas e no relacionamento de tabelas e em banco de dados dedutivos. 3. Em hardware, a lgica classica usada como uma linguagem de descricao de componentes de hardware, alem claro das unidades lgicas de computadores utilizando algebra booleanas, estruturas algbricas que "capturam a essncia" das operaes lgicas E, OU e NO, bem como das operaes da teoria de conjuntos soma, produto e complemento. Ela tambm o fundamento da matemtica computacional, baseada em nmeros binrios.

das quais tem sido aplicadas em diversas areas da computacao.

4. APLICAES DA LGICA EM ANALISE E


PROGRAMAO DE SOFTWARE

maior dificuldade, manipular valores por default e excees, assim como quantificar existencial e universalmente as expresses. Fundamentalmente, um programa em lgica pode ser visto como uma teoria de verdade que d fundamento slido a todo o sistema. Sintetizando, programao em lgica lgica em ao, onde as computaes so realizadas como dedues. Prolog, por exemplo, uma linguagem de programao que tambem se enquadra no paradigma de Programao em Lgica Matemtica. Prolog um acrnimo de PROgramming in LOGic (programao em lgica). Assim, Prolog, uma linguagem de programao baseada em lgica formal. Muitos programas de inteligncia artificial so escritos em Prolog, pois esta linguagem permite, de maneira natural, a representao e deduo de conhecimento. Prolog uma linguagem de programao interativa baseado em lgica com facilidades para a manipulao simblica e com um motor de inferncia, que lhe permite responder automaticamente questes, no s referentes ao conhecimento que contm explicitamente cada programa, ms tambm ao que se pode deduzir dele. Smbolos utilizados no prolog: Operador igual diferente maior
Menor que Maior ou igual a
Menor ou igual a

A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqncia lgica para o desenvolvimento. O sentido da programao lgica trazer o estilo da lgica matemtica programao de computadores. Matemticos e filsofos encontram na lgica uma ferramenta eficaz para desenvolvimento de teorias. Vrios problemas so naturalmente expressos como teorias. Lgica de programao, assim, a tcnica de encadear pensamentos para atingir determinado objetivo. Estes pensamentos, podem ser descritos como uma seqncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa. Por isso a aplicabilidade dos algoritmos no desenvolvimento de programas. Os programas de computadores nada mais so do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que so interpretados e executados por uma mquina, no caso um computador. Notem que dada esta interpretao rigorosa, um programa por natureza muito especfica e rgida em relao aos algoritmos da vida real. Os algoritmos so descritos em uma linguagem chamada pseudocdigo. Este nome uma aluso posterior implementao em uma linguagem de programao, ou seja, quando se programa em uma linguagem, por exemplo Visual Basic, se gera um cdigo em Visual Basic. Por isso os algoritmos so independentes das linguagens de programao. Ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao. Para escrever um algoritmo precisamos descrever a seqncia de instrues, de maneira simples e objetiva. Para isso utilizaremos algumas tcnicas: Usar somente um verbo por frase Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica Usar frases curtas e simples Ser objetivo Procurar usar palavras que no tenham sentido dbio

Matemtica = > < ^ V ~

Programa o == <> > < >= <= && || !

conjuno disjuno negao

O formalismo lgico permite emular sistemas baseado em regras, com encadeamento para adiante ou para atrs, e objetos estruturados. Pode-se tambm, com

Outra aplicao da lgica em anlise de sistema o uso da lgebra booleana. Na matemtica e na cincia da computao, as lgebras booleanas (tambm conhecida como "lgebra de Boole") so estruturas algbricas que "capturam a essncia" das operaes lgicas E, OU e NO, bem como das operaes da teoria de conjuntos soma, produto e complemento. Ela tambm o fundamento da matemtica computacional, baseada em nmeros binrios. Os operadores da lgebra booleana podem ser representados de vrias formas. frequente serem simplesmente escritos como E, OU ou NO (so mais comuns os seus equivalentes em ingls: AND, OR e NOT). Na descrio de circuitos tambm podem ser utilizados NAND (NOT AND), NOR (NOT OR) e XOR (OR exclusivo). Os matemticos usam com frequncia + para OU e . para E (visto que sob alguns aspectos estas operaes so anlogas adio e multiplicao noutras estruturas algbricas) e

representam NO com uma linha traada sobre a expresso que est a ser negada. A mais importante lgebra Booleana tem apenas 2 elementos, 0 e 1, e definida pelas regras

Em redes cada host alm de possuir um endereo fsico possui tambm um endereo lgico que o identifica em uma rede. Esse endereo lgico o endereo IP que por sua vez divido em duas partes. Endereo da rede (Network ID) - Identifica a rede no qual o computador faz parte Endereo do host (Host ID) - identifica o endereo do computador nessa rede. Quando dois computadores estiverem no mesmo Network ID, podemos dizer que eles esto no mesmo segmento e que so hosts locais. Quando no forem do mesmo segmento sero designados hosts remotos.

Isso tem aplicao em lgica, onde 0 interpretado como "falso", 1 "verdadeiro", "e", "ou", e "no". Expresses envolvendo variveis e operaes Booleanas representam formas de indicaes, e as tais duas expresses podem ser mostradas para ser usadas igualmente utilizando o axioma acima se e somente se as formas indicadas correspondentes forem equivalentes lgicos. A lgebra Booleana de dois elementos tambm utilizada no projeto de circuitos em engenharia eltrica; aqui 0 e 1 representam os dois diferentes estados de um bit em um circuito digital, tipicamente alta e baixa voltagem. Os circuitos so descritos por expresses contendo variveis, e as tais duas expresses so iguais para todos os valores das variveis se e somente se o circuito correspondente tiver o mesmo comportamento de entrada-sada. O comportamento das portas lgicas conhecido pela tabela verdade que apresenta os estados lgicos das entradas e das sadas.

Para identificar o endereo de rede necessrio o uso do operador AND da lgebra BOOLEANA (matemtico George Boole 1815-1864) . Segundo seguintes valores: o operador AND temos os

Para identificar o endereo de rede deve-se converter os valores em decimais do endereo IP e da mascara de subrede.

A comunicao entre redes s possvel quando a identificao de rede de origem for exatamente igual a rede de destino. Em redes de computadores tambem encontramos aplicabilidade. Em uma rede de computadores interligadas fisicamente, cada computador identificado como host. As placas de rede recebem uma numerao nica de fabrica. Essa numerao o endereo fsico chamado MAC (Media Access Control). E composto por seis bytes exibidos na notao hexadecimal. Exemplo: 00-10-B5-E5-33-11

4. CONCLUSO
Analisando e interpretando todos os dados e informaes vistas neste trabalho, se pode afirmar sem medo de errar que, lgica classica uma matria basica que serve as vezes como fundamentacao ou como ferramenta tecnica para praticamente qualquer area da ciencia da computacao. Portanto, lgica classica de fundamental importancia para profissionais de ciencia e

engenharia da computacao que pretendam terem slidos conhecimentos nas suas areas de atuao.

5. BIBLIOGRAFIA
David A. Patterson and John L. Hennessy, Computer Organization & Design The hardware/software interfece 2nd edition, Morgan Kaufmann MANZANO, Jos Augusto N. G. e FIGUEIREDO, Jayr de Oliveira. Algoritimos Lgica para Desenvolvimento de Programao de Computadores. Ed.rica, 2000 SP. CHAUI, Marilena. Convite filosofia. Ed. tica, 13 Ed., 2004 ALENCAR FILHO,Edgar, Iniciao Matemtica, Nobel, So Paulo, 1986 Lgica

BRAGA, A.P., LUDERMIR T.B., Redes Neurais Artificiais Teoria e Aplicaes. LTC, 2000. CASANOVA, M.A. GIORNO F.A.C., Programao em Lgica e a Linguagem Prolog. Editora Edgard Blucher Ltda., 1987. Artigo acessado na pgina <http://www.artigonal.com/educacao-artigos/amatematica-aplicada-junto-com-a-ciencia-dacomputacao-interessante-3527920.html> em 30/12/2011 [5] Wikipedia, www.wikipedia.org [6] [7] A enciclopedia livre

Power - Pgina www.power.org IBM, www.ibm.com