Linguagens de Programação (IM864)
Informações
Código: INF01202
Pré-requisito:
Programação Orientada a Objetos
Ementa
Tipos de Dados, Expressões e Estruturas de Controle. Subprogramas. Tipo Abstratos de Dados. Paradigmas de Linguagens de Programação. Suporte a Programação Orientada a Objeto.
Objetivos
Ao final da disciplina o aluno deve:
(a) Distinguir os conceitos básicos de linguagens de programação, tais como: sintaxe, semântica, análise léxica e sintática;
(b) Entender os tipos de dados, expressões e estruturas de controle componentes das linguagens de programação;
(c) Compreender os paradigmas de linguagens de programação.
Conteúdo Programático
Sumário
- Introdução
- Nomes, Vinculações e Escopos
- Tipos de Dados
- Expressões e Sentença de Atribuição
- Estruturas de Controle no Nível de Sentença
- Subprogramas
- Implementando Subprogramas
- Tipos Abstratos de Dados
- Suporte a Programação Orientada a Objeto
Tópicos de Aula
01. Introdução
- Avaliação de Linguagens de Programação.
- Linguagem de Máquina
- Tradução de uma Linguagem de Programação em Linguagem de Máquina.
- Compilação e Interpretação
- Paradigmas de Linguagens de Programação
- Evolução das Linguagens de Programação
02. Nomes, Vinculações e Escopos
- Nomes.
- Variáveis
- Vinculação.
- Escopo estático
- Escopo dinâmico
- Tempo de vida
- Ambientes de referenciamento
03. Tipos de Dados
- Tipos primitivos
- Cadeia de caracteres
- Tipo ordinal definido pelo usuário
- Arranjos
- Registros
- Tuplas
- Listas
- Uniões
- Ponteiros e referências
- Verificação de tipos, tipificação forte e equivalência de tipos
04. Expressões e Sentença de Atribuição
- Expressões aritméticas
- Sobrecarga de operadores
- Conversões de tipos
- Expressões relacionais e booleanas
- Avaliação em curto-circuito
- Sentenças de atribuição
- Atribuição em modo misto
05. Estruturas de Controle no Nível de Sentença
- Estruturas de seleção
- Estruturas iterativas
- Saltos
- Comandos guardados
06. Subprogramas
- Fundamentos
- Ambientes de referência local
- Métodos de passagens de parâmetros
- Parâmetros que são subprogramas
- Subprogramas sobrecarregados
- Subprogramas genéricos
- Operadores sobrecarregados definidos pelo usuário
- Fechamentos
07. Implementando Subprogramas
- A semântica geral das chamadas e retornos
- Implementando subprogramas simples
- Implementando subprogramas com variáveis locais dinâmicas na pilha
- Implementando subprogramas aninhados
- Blocos
- Implementando escopo dinâmico
08. Tipos Abstratos de Dados
- O conceito de abstração
- Introdução à abstração de dados
- Exemplos de linguagens
- Tipos abstratos de dados parametrizados
- Construções de encapsulamento
- Encapsulamento de nomes
09. Suporte a Programação Orientada a Objeto
- Programação orientada a objeto
- Suporte a programação orientada a objeto
- Implementação de construções orientada a objeto
Referencia Bibliográfica
Bibliografia Básica
- SEBESTA, Robert W. Conceitos de Linguagens de Programação. 11ª ed. Bookman Editora, 2018.
- TUCKER, Allen; NOONAN, Robert. Linguagens de Programação – Princípios e Paradigmas. AMGH Editora, 2009.
- SETHI, Ravi; ULLMAN, Jeffrey D.; MONICA S. LAM. Compiladores: princípios, técnicas e ferramentas. Pearson Addison Wesley, 2008.
Bibliografia Complementar
- RICARTE, Ivan. Introdução à compilação. Elsevier Brasil, 2012.
- FOROUZAN, Behrouz; MOSHARRAF, Firouz. Fundamentos da ciência da computação. Cengage Learning, 2011.
- BLAUTH, Paulo. Linguagens formais e autômatos. Artmed Editora SA, 2010.
- DEITEL, Harvey M.; DEITEL, Paul J. Java, como programar. 8ª ed. Porto Alegre: Bookman, 2015.
Postado em 18/11/2013 - 08:43 - Atualizado em 15/08/2023 - 15:02