image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
TIAGO SOUSA
TIAGO SOUSA26/02/2023 20:01
Compartilhe

Programação Básica - Introdução à lógica

  • #Programação para Internet

Contextualização:

A definição exata de lógica para muitas pessoas não existe ou é motivo de controvérsia, já para outras, de forma simplista, basta que algo "faça sentido" para ter lógica e seja aceitável para a realidade cotidiana. Para a computação é interessante considerar que lógica é a ciência que avalia se uma expressão, esteja ela em linguagem natural (português) ou simbólica álgebra), é válida ou inválida, tendo o nosso referencial como base.

História:

Estima-se que o estudo da lógica, do raciocínio lógico, tenha iniciada na Grécia Antiga, com filósofos sofistas, homens que buscavam desenvolver técnicas de melhoramento da qualidade da argumentação em seus discursos. Entretanto a primeira contribuição mais significativa para o estudo da lógica como área de conhecimento foi dado por Aristóteles.

  • Aristóteles foi um filósofo grego que escreveu sobre política, ética, física e diversos outros temas. Sua obra, que define toda a teoria da lógica clássica, manteve-se como a principal referência sobre esse assunto por quase dois mil anos.

A lógica desenvolvida no trabalho de Aristóteles é conhecida até hoje como lógica clássica ou aristotélica. Seu conteúdo descreve uma metodologia de análise da argumentação que visa diferenciar as sentenças verdadeiras das falsas.

Exemplos de lógica aristotélica:

1° Todo mamífero é um animal vertebrado.

2° Uma girafa é um mamífero.

3° Uma girafa é um animal vertebrado.

1° Se não está chovendo, podemos ir à praia.

2° Não está chovendo.

3° Então podemos ir à praia.

  • A base da consistência argumentativa da lógica aristotélica está nas palavras de sentido de universalidade (como "todo") e em sentenças que identificam elemento com precisão são a base dessa lógica.
  • Porém a lógica aristotélica mostra vulnerabilidades em suas argumentações ao se inserir nas sentenças palavras de sentido vago, como: alguns, qualquer, quase, etc., a metodologia de Aristóteles perde capacidade de validação e veracidade.

Exemplo de vulnerabilidade:

1° Alguns estudantes têm desempenho ruim em matemática.

2° Pedro é um estudante.

3° Pedro tem desempenho ruim em matemática.

  • Baseado apenas no fato de que alguns estudantes apresentem desempenho ruim em matemática e sabendo que Pedro é um estudante, não é possível inferir com a certeza que Pedro terá um desempenho ruim nessa matéria.
  • Diante dessas lacunas, no início do século XVII, estudiosos como René Descartes e Gottfried Leibniz contribuíram no avanço do estudo da lógica com a formalização e o rigor matemático, através da argumentação representada em símbolos. Leibniz inicialmente reduz e deduz que a argumentação poderia ser combinada em elementos. Depois o matemático Gottcob Frege publica um trabalho que revolucionaria o estudo da lógica: a lógica de predicativos.

Lógica de predicativos:

A lógica de predicativos potencializa a lógica aristotélica, ampliando sua capacidade que já havia sido potencializada pela simbolização matemática de Leibniz. A lógica de predicativos adiciona quantitativos, dentre eles o universal (∀) e o existencial (∃). Com o uso desses operadores foi possível elaborar expressões complexas de maneira formal e consistente. O quantitativo universal é traduzido como "para todo" e o quantificador existencial como "existe um".

Exemplo: Ao considerar n e m são números naturais e sabendo que o conjunto dos naturais é infinito, infere-se: "Para "todo" número natural n, "existe" um número m, tal que m é maior que n.

O método de associar um grupo de objetos ou situações de uma argumentação ao conceito matemático de conjuntos ( ∀ e ∃) é uma das bases da lógica moderna. Por quê a linguagem natural é substituída por notações simbólicas que tornam as expressões menores e mais fáceis de manipular.

A lógica na computação:

Os avanços no estudo da lógica moderna, permitiram avanços significativos nas expressões lógicas, transformando sentenças em pedaços menores e simples, através do uso de predicativos. Isso foi imprescindível para o desenvolvimento da área da computação.

Como computadores têm por características serem orientados por instruções simples e concisas para executá-las em ações corretamente, é possível enxergar o desenvolvimento da lógica na computação. Nas linguagens humanas existe muita ambiguidade e palavras com diferentes significados, como manga que pode se referi a uma fruta ou parte de uma camisa, já o desenvolvimento da lógica de símbolos simplificou e resumiu orientações complexas para o computador, o que fomentou a base das linguagens de programação para computadores.

Usamos as linguagens formais para construir as linguagens de programação. Através de uma linguagem de programação, somos capazes de informar ao computador o que ele deve fazer, sem ambiguidade. Afinal, ele não tem um cérebro humano que o ajude a distinguir entre manga fruta e manga parte da camisa.

As linguagens de programação surgiram da mudança no processo de construção dos computadores. No começo do século XX, o matemático John Von Neumann propôs que, ao invés do computador ter suas funcionalidades programadas a nível de hardware, eles deveriam executar um pequeno conjunto de funções básicas. A partir daí, seria possível definir comportamentos mais complexos através de um conjunto de instruções mutáveis e armazenáveis: os programas.

Com o nascimento da ideia de programas de computação e a consolidação da lógica moderna com sua formalidade simplificada e não dúbia foram de suma importância no avanço da computação na área de validação semântica, inteligência artificial e em segurança da informação.

Abstração:

Na computação, utilizamos a abstração não só como ferramenta para criar representações de objetivos, mas também para simplificar problemas que desejamos resolver com ajuda do computador. Dessa forma conseguimos fazer o computador resolver problemas complexos através de pequenas tarefas, precisamos quebrar os problemas em partes menores, usando o conceito de abstração.

  • Criar uma abstração consiste em descrever um objeto ou uma situação com as informações relevantes para o seu objetivo. Se queremos resolver um problema, devemos identificar quais informações e ações são necessárias para resolvê-lo. Se queremos apenas representar um objeto, devemos reunir as características desse objeto que são importantes para identifica-lo.
  • Na computação a descrição de problemas de forma abstrata é fundamental para tornar o computador capaz de resolver problemas proposto a ele.

Sistemas binário:

O sistema binário possui apenas 2 símbolos para representar todos os números. No computador são usados os números zero (0) e um (1). Tudo que o computador consegue lidar consiste na manipulação desses dois números, isso vai desde jogos de vídeo game à simples textos, tudo é está sendo manipulado e representado como zero e um no computador.

Resumo final:

Entender as diversas etapas do desenvolvimento da lógica, sua história e os personagens que contribuíram com ela é sempre importante para profissionais de tecnologia serem mais completos em suas respectivas áreas, porque compreender de onde vem e como é o funcionamento interno do computador auxilia no desenvolvimento de aplicações cada vez mais complexas e eficientes.

Abraço e bons estudos a todos!!!

Compartilhe
Comentários (1)
Victor Rocumback
Victor Rocumback - 08/11/2023 15:28

Muito bom texto, estou estudando lógica aristotélica e passei a compreender o quanto esses princípios são valiosos na hora de construir o meu código