Skip to content

Repositório para aplicar os conhecimentos adquiridos no estudo da lógica em conjunto a programação.

Notifications You must be signed in to change notification settings

Lima001/BCC-Logica

Repository files navigation

Lógica

Este repositório foi criado com o intuito de aplicar conhecimentos adiquiridos ao longo do estudo da lógica formal na área da programação.

A Lógica

A lógica é um importante campo de estudos, que permite por exemplo para aquele que o estude desenvolver argumentos concisos e provar que eles são válidos. Em um ambiente moderno onde a ciência é parte da vida de todos, o desenvolvimento e a prova de teorias são aspectos importantíssimos para o amadurecimento da ciência.

Onde Encontrar a Lógica

Existem diversos tipos de lógicas sendo que eles podem ser aplicados em diversas áreas. Como exemplo pode-se citar:

  • Computação

    • Analise de Algoritmos
    • Teoria da Computação
    • Construção de Banco de Dados
    • Inteligência Artificial
    • Lógica para Programação
    • Circuitos Digitais
    • ...
  • Matemática

    • Indução Matemática
    • Prova de Teoremas
    • Teoria dos Conjuntos
    • Funções e Relações
    • Estatística
    • ...
  • Filosofia
  • Engenharias
  • ...

Além das aplicações citadas, cotidianamente pode-se encontrar o uso da lógica em uma conversa entre indivíduos, nas decisões de um casal etc. A lógica faz parte da vida humana de diferentes formas que podem até passar despercebidas...

O Repositório

Esse repositório foi criado inicialmente com um conjunto de programas com um grande foco na lógica proposicional desenvolvidos para compor uma atividade avaliativa da disciplina de Fundamentos Matemáticos da Computação, do Bacharelado em Ciência da Computação ofertado pelo IFC Blumenau.

Sobre a Disciplina

  • Período: 1º Semestre - 2020
  • Docente Responsável: Eder Augusto Penharbel
  • Ementa: Lógica Proposicional e de Predicados. Linguagem Proposicional e de Primeira Ordem. Sistemas Dedutivos. Tabelas Verdade e Estruturas de Primeira Ordem. Relações de Conseqüência. Corretude. Completude. Compacidade. Lowemhein-Skolem. Decidibilidade. Prova Automática de Teoremas. Computação Simbólica.
  • Observação: A disciplina foi planejada para ocorrer presencialmente, porém devido as situações enfrentadas pelo mundo em 2020, acabou tendo que ser adaptada para EAD.

Destaca-se aqui que pretende-se expandir esse repositório com outros programas, dando continuidade a aplicação da lógica formal na programação, algo que começou como uma atividade curricular de graduação, mas tem potencial para ir além.

Recursos

  • Linguagem: Atualmente a linguagem usada para desenvolver os programas é Python (Versão 3.8.5)
  • Referências Bibliográficas:
    • TELLER, Paul. A Modern Formal Logic Primer. Davis: Prentice Hall, 1989. 2 v. Disponível em: https://tellerprimer.ucdavis.edu/.
    • ALENCAR FILHO, Edgard de. Iniciação a lógica matemática. São Paulo: Nobel, 2002. 203 p. ISBN 9788521304036 (broch.).

Observações:

Como os programas iniciais foram desenvolvidos para serem apresentados na disciplina de graduação, o tempo de desenvolvimento esteve limitado. Devido a esse fato, os programas já desenvolvidos podem não serem de facíl compreensão para aquele que não acompanharam o processos do início. Tendo tomado nota disto, tem-se em mente a ideia de refatorar o código e adicionar comentários que expliquem o funcionamento de seus componentes, tornando-o assim mais legível e melhorando a sua performance.

Passos Futuros

  • Produzir um Documento Auxiliar explicitando as relações entre os programas e a lógica formal;
  • Refatorar Códigos;
  • Implementar um programa para Geração de Árvores Verdades;
  • Ampliar a área de abrangência do repositório para aplicar a lógica de Predicados;

About

Repositório para aplicar os conhecimentos adquiridos no estudo da lógica em conjunto a programação.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages