Lógica para Computação
Contato
- Jean Paulo Martins (jeanmartins utfpr edu br)
- Sala 105, Bloco S (UTFPR - Campus Pato Branco)
Conteúdo
Motivação
-
O objetivo da lógica em computação é desenvolver linguagens para modelar situações, de modo que possamos analisá-las formalmente.
-
Analisar situações significa construir argumentos sobre tais situações
-
Analisá-las formalmente, significa que tais argumentos devem ser não-ambíguos e possíveis de implementação no computador.
-
E geral, Lógica trata da formalização de linguagens e raciocínio
- Na computação a formalização é seguida da automatização por meio software.
-
LC21CP é o primeiro contato que o alunos tem com linguagens formais
-
Linguagens de programação são linguagens formais
-
A teoria da computação está fundamentada matematicamente sobre linguagens formais
-
Inferência sobre o mundo
-
A existência de um sistema formal que define as leis que regem determinado conceito, nos permite inferir/concluir sobre o sistema
-
Formalização das leis da mecânica de Newton => Conclusões sobre o sistema solar
-
Formalização de leis sobre comportamento humano (amigos) => Prever o comportamento em certas situações
-
Formalização sobre o comportamento dos filhos => Pais conseguem inferir problemas
-
-
Forma geral:
-
Argumentos
-
Relações (premissas e conclusão)
-
Conclusões
-
Exemplo de formalização lógica: Aritmética
-
A aritmética consiste da formalização dos mecanismos de contagem
-
A partir da formalização a contagem pode ser feita de forma simbólica, sem exigir “contagem”
-
Formalização da soma:
-
5 + 5 = IIIII IIIII
-
3 x 5 = IIIII IIIII IIIII
-
13 x 13 = ?
-
Com números grandes fica mais evidente que a multiplicação é feita sem pensarmos em contagem
-
-
A formalização da aritmética, permitiu o desenvolvimento de algoritmos para
-
multiplicação,
-
divisão, etc.
-
-
Esses algoritmos porém não nos lembram imediatamente do processo de contagem que originou a aritmética.
Analogia da Aritmética e modelos de software
-
Se aritmética (formalização) permitiu a abstração e desenvolvimento de ferramentas simbólicas para conclusão
-
A mesma ideia é observada em programação de computadores