Professional Documents
Culture Documents
Aula 1
Introdução – A priemira aula abordou diferentes assuntos, desde técnicas de
estudo, conforme os ensinamentos do professor Pierluigi Piazzi, até informações sobre a
disciplina e o curso de Ciência da Computação
“Programar, em Ciência da Computação, é o processo de escrita, teste e
manutenção de um programa de computador.”
Linguagens de programação: método padronizado para comunicar instruções a um
computador, a partir de um conjunto específico de regras de sintaxe (estrutura) e
semântica (significado).
Taxonomia das Linguagens de Programação:
• Abstração (entendimento do programador)
o Alto nível (ex. C++) – linguagem humana
o Baixo nível (ex. Assembly) – linguagem de máquina
• Paradigma (modo pelo qual o programador irá guiar-se quando for
construir um programa de computador)
o Estruturado/imperativo
o Orientado a objetos
• Ambiente
o Desktop
o Web
As linguagens são uma forma de comunicação constituídas por um conjunto de
elementos (alfabeto) e métodos (regras), que são usados e entendidos por uma
comunidade, porém passíveis de ambiguidade (mais de um entendimento dependendo do
contexto).
• pertence
• não pertence
Relação de inclusão (entre conjuntos)
• Dois conjuntos são comparáveis se entre eles existe uma relação de inclusão
Intersecção de conjuntos (∩)
• Todos os elementos que pertencem simultaneamente a dois conjuntos.
Diferença de conjuntos (A – B)
• Conjunto formado pelos elementos do conjunto universo (U) que não pertencem
ao conjunto A.
• U–A
Conjunto de conjuntos
• Conjunto cujos elementos são conjuntos.
• Ex.: A = { {a}; {b}; {a; b}}
Conjuntos numéricos
Aula 3
História
• Alan Turing (1930’s)
o Estudou os limites de uma máquina abstrata equivalente aos
computadores atuais.
• 1940-1950’s
o Estudos em autômatos finitos para modelar o cérebro.
• Noam Chomsky (1950’s)
o Gramáticas formais.
• S. Cook (1969)
o Teoria da Complexidade – o que é possível ou não computar.
Alfabeto: conjunto de símbolos (elementos) (geralmente Σ – sigma)
• não-vazio
• finito
Cadeia/palavra: sequência finita construída com símbolos de um alfabeto.
• s:[n] -> Σ
• s – sequência de símbolos
• [n] – comprimento – pode ser representado como |s|
• Σ – alfabeto
• ex.: Σ = {a; b} -> cadeias: (a), (aa), (b), (ab)...
• Σ = {a, b, c} e s = cbba
o s:[4] -> Σ
o s(1) = c
o s(2) = b
o s(3) = b
o s(4) = a
Cadeia vazia: nenhum símbolo (λ ou ε).
• λ ou ε = 0.
Tamanho de uma cadeia: número de símbolos que a compõem.
• x = aba
o |x| = 3
• T=c
o |T| = 1
Concatenação de cadeias
• u = abra
• v = cadabra
• uv = abracadabra
• vu = cadabraabra
• |u| + |v| = |uv|
Linguagem: conjunto de palavras ou sequência de símbolos de um alfabeto.