Forums » RGSS

Aula Extra 3: Lógica Booleana

    • 683 posts
    4 de junho de 2015 13h02min09s ART

     

    Posted Image

    Quem é George Boole?
    "Matemático inglês (2/11/1815-8/12/1864). Considerado o pai da lógica moderna. Suas teorias têm implicações no desenvolvimento do computador, baseado em dígitos binários. Nasce em Lincoln, em família pobre, e estuda por conta própria, dedicando-se ao latim e ao grego. Aos 16 anos, começa a trabalhar como professor de escolas elementares.

    Quatro anos mais tarde, funda um colégio particular, que dirige por vários anos. Interessa-se por matemática e, depois de ler obras de franceses como Laplace e Legendre, passa a redigir artigos para o Jornal de Matemática da Universidade de Cambridge.

    Em 1847, no artigo Análise Matemática da Lógica, introduz o uso de símbolos para expressar processos lógicos que podem então ser lidos com o mesmo rigor de uma equação algébrica. Com isso, dá origem à lógica moderna.

    É condecorado pela Royal Society, em 1844, por suas contribuições ao desenvolvimento da análise matemática. Em 1848 publica Os Cálculos da Lógica e, em 1854, Uma Investigação das Leis do Pensamento."

    Posted Image

    Fonte: http://www.algosobre...orge-boole.html

    Posted Image


    Posted ImageIniciando:
    Lógica é a área da matemática que estuda as relações entre proposições.

    Para ser uma proposição eu devo poder dar o valor de verdadeiro ou falso por exemplo:
    2+2=5 Isto é uma proposição, pois eu sei o valór lógico dela: falso
    O dia esta bonito. isto não é uma proposição pois não é possível estabelecer o valor lógico, já que tal afirmação é relativa.

    O Que Interessa
    Para a informática, interessa a lógica na hora de programar, para entender as relações, vamos conceituá-las...

    Posted Image

    CONJUNÇÃO: relação lógica que se admite o valor verdadeiro caso as partes em questão sejam verdadeiras.
    Símbolo matemático: ^ (na escrita 'e')
    Símbolo em programação: and ou &&
    Tabela Verdade:
    V ^ V = V (se as duas são verdadeiras dá verdadeiro)
    V ^ F = F (se uma for falsa da falso)
    F ^ F = F (se as duas forem falsas da falso)
    V = proposição verdadeira
    F = Proposição falsa
    Exemplos:
    1:
    Escrita: Dois mais dois é quatro e três mais 1 é seis
    Símbolo: 2 + 2 = 4  ^ 3 + 1= 6
    Programação: 2 + 2 == 5 and 3 + 1 == 6
    Valor Lógico: falso, pois 3 + 1 = 4 e não 6, como uma das proposições é falsa e estamos na conjunção, a outra não importa, fica tudo falso.
    2:
    Escrita: Dois mais dois é cinco e três mais 1 é 4
    Símbolo: 2 + 2 = 4 ^ 3 + 1 = 4
    Programação: 2 + 2 == 4 and 3 + 1== 4
    Valor Lógico: como 2 + 2 é 4 e 3 + 1 é 6, esta proposição é verdadeira.

    Posted Image

    DISJUNÇÃO: relação lógica que se admite o valor verdadeiro se pelo menos uma das proposições forem verdadeiras
    Símbolo matemático: v (na escrita 'ou')
    Símbolo em programação: or ou ||
    Tabela Verdade:
    V v V = V (se as duas são verdadeiras dá verdadeiro)
    V v F = V (se uma for verdadeiro, dá verdadeiro)
    F v F = F (se as duas forem falsas da falso)
    V = proposição verdadeira
    F = Proposição falsa
    Exemplos:
    Escrita: Dois mais dois é quatro ou três mais 1 é seis
    Símbolo: 2+2=4 v 3+1=6
    Programação: 2+2==5 or 3+1==6
    Valor Lógico: verdadeiro, pois mesmo 3+1 diferente de 6, 2+2 é 4 e só precisamos de uma proposição verdadeira para dar tudo V.

    Posted Image

    NEGAÇÃO: operador lógico que muda o valor de uma proposição
    Símbolo matemático: ! (na escrita 'não')
    Símbolo em programação: not ou !
    Tabela Verdade:
    !V = F (contrario de verdadeiro é falso)
    !F = V (contrario de falso é verdadeiro)
    V = proposição verdadeira
    F = Proposição falsa
    Exemplos:
    Escrita: b não é 4
    Símbolo: !b=4
    Programação: !b==4
    Valor Lógico: impossível determinar ^^, o exemplo não é uma proposição da forma que está, coloquei só pra dar uma idéia.

    Posted Image

    CONDICIONAL: a principal das relações lógicas, possui um antecedente e um consequente.
    Símbolo matemático: -> (na escrita 'se..então')
    Símbolo em programação: if
    Tabela Verdade:
    V -> V = V (se verdadeiro então verdadeiro, então verdadeiro)
    V -> F = V (se verdateiro então falso, enão verdadeiro)
    F -> F = V (se falso então falso, então verdadeiro)
    F -> V = F (se falso então verdadeiro, então falso)
    V = proposição verdadeira
    F = Proposição falsa
    Exemplos:
    vou pular logo para a parte de programação para deixar tudo mais explícito ^^.

    Posted Image


    Posted Image

    APLICAÇÕES
    1:
    em rgss:

    if rand(2)==1and3>4 l =3elsif rand(2)==0or rand(2)==2 l=4else l=9end

    em linguagem corrente:

    se um número qualquer de 0 a 2for1 e tres maior que 4 a variável l é3 mas se um número qualquer de 0 a 2for0 ou um número qualquer de 0 a 2for2 a variável l é4 em quaiquer outra hipótese a variável l é9


    Em caso de dúvidas é só perguntar