1 teoria da computaÇÃo motivação licenciatura em ciência e tecnologia da computação...
TRANSCRIPT
1
TEORIA DA COMPUTAÇÃO
Motivação
Licenciatura em Ciência e Tecnologia da ComputaçãoLicenciatura em Engenharia Informática e de Computadores (Prep.)
2
TEORIA DA COMPUTAÇÃO
CIÊNCIAS DA COMPUTAÇÃO
Processamento da informação Processos de informação Estruturas de informação e
respectivos procedimentos de representação
Implementação de sistemas ...
3
PRINCIPAIS ÁREAS DE ESTUDO DAS CIÊNCIAS DA
COMPUTAÇÃO
Concepção
Formulação
Implementação em computador
Análise
Avaliação de algoritmos
4
RELAÇÃO DAS CIÊNCIAS DA COMPUTAÇÃO COM OUTRAS CIÊNCIAS
MATEMÁTICA
ENGENHARIA
LINGUÍSTICA
BIOLOGIA
ETC.
5
QUESTÕES FUNDAMENTAIS NAS CIÊNCIAS DA COMPUTAÇÃO
O que é que pode ser automatizado
de forma eficiente?
Pode um problema ser resolvido por
um computador? É possível escrever
o respectivo programa? O programa
estará correcto? É eficiente?
Como garantir a correcção de
programas?
Como compor sistemas?
6
ALGORITMO
Noção que está no centro da Ciência da Computação
É um método para desempenhar uma operação de forma mecânica
Os primeiros algoritmos (informais) surgiram no tempo da Grécia Antiga
A formulação precisa do conceito de algoritmo só surgiu no século XX
7
Estudos actualmente desenvolvidos em torno da noção de algoritmo:
Limitações do método algorítmico (computabilidade e decidibilidade)
Eficiência (complexidade) Correcção (verificação) Linguagens de programação (sintaxe
e semântica) Modelos de dados (teorias de tipos de
dados) Paradigmas da programação
(imperativo, declarativo, etc.) ...
8
Alguns modelos alternativos no estudo da computabilidade Turing : Máquina de Turing (1936); Church: Funções definidas por termos
(1936); Gödel e Kleene : Funções (parciais)
recursivas (1936); Post : Sistemas de derivação de Post (1943) Markov : Algoritmos de Markov(1951) Shepherdson e Sturgis : Máquina URM
(1963)
Todas estas abordagens definem a mesma classe de funções.
Máquinas Físicas versus Máquinas Abstractas
9
Postulado de Church- Turing
A classe intuitiva e formal das funções efectivamente computáveis coincide com a classe das funções computáveis pela máquina URM.
Diversas propostas para a formulação precisa do conceito de função efectivamente computável têm conduzido à mesma classe de funções.
Todas as funções efectivamente computáveis conhecidas são computáveis pela máquina URM (Turing,...).
Ainda não foi encontrada uma função intuitivamente computável que não seja computável pela máquina URM (Turing,...).
1010
““Mapa” dos principais conceitos associados a Mapa” dos principais conceitos associados a programaprograma
MatemáticaMatemáticadiscretadiscreta
ÁlgebraArquitectura de Computadores
Programa
Estruturas de Informação
Controlo
ProcessoComputacional
ComplexidadeComputacional
Algoritmo
Linguagem
Teoria da ComputaçãoComputabilidade
Fundamentos
Estudo delinguagens
formais
Abstracções
Especificações
Processadoresde linguagens
Adaptado de “Programação em Scheme”, J. Pavão Martins e Mª dos Remédios Cravo, IST Press, 2004
1111
““Mapa” dos principais conceitos associados a Mapa” dos principais conceitos associados a programaçãoprogramação
InteligênciaInteligênciaartificialartificial
Interfaces gráficas
Bases de Dados
Programação
Sistemas operativos
Arquitectura de Programas
Arquitectura de Computadores
Programação imperativa
Programação funcional
Programação com objectos
Programação em Lógica
Técnicas Paradigmas
Adaptado de “Programação em Scheme”, J. Pavão Martins e Mª dos Remédios Cravo, IST Press, 2004
12
“Os especialistas de informática, na vida de todos os dias, devem ser capazes de traduzir problemas reais em abstracções baseadas no uso de modelos formais, para manipular essas descrições formais e para raciocinar acerca das suas propriedades de modo rigoroso. Esta atitude muito particular distingue o especialista de informática da maior parte dos técnicos profissionais...
Os tópicos teóricos não devem ser considerados como opções a serem mais tarde acrescentadas aos currículos. Deviam antes ser vistos como a base que inspirará e informará todos os currículos, e, em especial, todos os outros cursos práticos"
In Theoretical Foundations of Computer ScienceMandrioli e Ghezzi
John Wiley, 1987