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

  1. Introdução
  2. Nomes, Vinculações e Escopos
  3. Tipos de Dados
  4. Expressões e Sentença de Atribuição
  5. Estruturas de Controle no Nível de Sentença
  6. Subprogramas
  7. Implementando Subprogramas
  8. Tipos Abstratos de Dados
  9. 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

  1. SEBESTA, Robert W. Conceitos de Linguagens de Programação. 11ª ed. Bookman Editora, 2018.
  2. TUCKER, Allen; NOONAN, Robert. Linguagens de Programação – Princípios e Paradigmas. AMGH Editora, 2009.
  3. SETHI, Ravi; ULLMAN, Jeffrey D.; MONICA S. LAM. Compiladores: princípios, técnicas e ferramentas. Pearson Addison Wesley, 2008.

Bibliografia Complementar

  1. RICARTE, Ivan. Introdução à compilação. Elsevier Brasil, 2012.
  2. FOROUZAN, Behrouz; MOSHARRAF, Firouz. Fundamentos da ciência da computação. Cengage Learning, 2011.
  3. BLAUTH, Paulo. Linguagens formais e autômatos. Artmed Editora SA, 2010.
  4. 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

Últimas Notícias

Segundo dia SECCIM 2023

Hoje ocorreu mais um dia da SECCIM, envolvendo até e escrita criativa para uma jornada de aprendizado e inspiração. O leia mais

31/10/2023

Primeiro dia de SECCIM 2023

Primeiro dia de SECCIM 2023

30/10/2023

Descubra Programação da Seccim – Edição 2023!

Na próxima semana se inicia a 12º Semana Acadêmica de Ciência da Computação da UFRRJ (Seccim). A programação promete enriquecer leia mais

27/10/2023


Nota de pesar

É com grande consternação que o Curso e o Departamento de Ciência da Computação comunica à comunidade universitária ruralina o leia mais

19/10/2023

Apresentação do projeto “O Uso do Pensamento Computacional para evitar a retenção e evasão nos cursos de graduação” na SNCT 2023

Nesta quarta-feira, dia 18 de outubro, os alunos Jorge Duarte Miguel Junior, Luiz Filipe Brandi e Maxwel Batalha, junto com leia mais

19/10/2023

mais notícias

Skip to content