UFJF - Universidade Federal de Juiz de Fora

Plano de ensino

Disciplina: DCC119E - ALGORITMOS

Créditos: 4

Departamento: DEPTO DE CIENCIA DA COMPUTACAO /ICE

Ementa 1) Introdução
2) Noções de uma linguagem de programação
3) Algoritmos básicos
4) Algoritmos para estruturas de dados homogêneas
5) Algoritmos para estruturas de dados heterogêneas
6) Procedimentos e funções
Conteúdo 1) Introdução
Histórico, perspectivas e aplicações. Sistema de numeração. Sistemas computacionais. Arquitetura de computadores. Processadores. Periféricos. Sistemas operacionais. Ambiente de programação.
Compiladores e interpretadores. Sistemas aplicativos. Paradigmas de programação: estruturada, orientada a objetos, funcional, lógica. Conceito de algoritmos e estrutura de dados. Estruturas básicas de controle do fluxo de execução. Conceito de estrutura léxica, sintática e semântica de uma linguagem de programação. Tabelas de decisão.

2) Noções de uma linguagem de programação
Estrutura léxica, sintática e semântica. Construção de expressões aritméticas, lógicas e relacionais.
Precedência de operadores. Declaração de variáveis, tipos básicos, estruturas de controle básicas.
Manipulação de cadeias de caracteres. Entrada e saída básica. Regras básicas para a construção de algoritmos legíveis (indentação, nomes de variáveis, etc.)

3) Estruturas Básicas para Construção de Algoritmos
Inicialização de variáveis. Laços iterativos, acumuladores, contadores, sinalizadores (flags), condições de parada, entrada e saída. Decisão com expressões lógicas e alternativas. Exemplos de algoritmos: média, séries matemáticas, maior e menor valores, seqüência de Fibonacci, etc.

4) Algoritmos para estruturas de dados homogêneas
Declaração e manipulação de arranjos unidimensionais: vetores. Algoritmos para vetores: busca seqüencial, busca binária, ordenação. Declaração e manipulação de arranjos multidimensionais:
matrizes. Métodos básicos de busca em cadeias de caracteres (exemplos de métodos: Knuth-Morris- Pratt, Boyer-Moore, Boyer-Moore-Horspool).

5) Algoritmos para estruturas de dados heterogêneas
Declaração de registros. Manipulação de arranjos de registros.

6) Procedimentos e funções
Escopo de nomes, estrutura de procedimentos e funções, argumentos formais e reais. Funções e procedimentos recursivos. Exemplos de algoritmos recursivos: busca binária, Fibonacci, fatorial, torre de Hanói, etc.
Bibliografia DROZDEK, A. Estruturas de dados e algoritmos em C++. Cengage Learning, 2003.
KERNIGHAN, B. W.; RITCHIE, D. M. C: A linguagem de programação padrão. Rio de Janeiro: Campus, 1989.
MEDINA, M.; FERTIG, C. Algoritmos e Programação. 2ª ed. Novatec, 2005.
Bibliografia (continuação)
Bibliografia complementar DAMAS, L. Linguagem C. 10ª ed. Rio de Janeiro: Editora LTC. 2007.
DEITEL, H. M.; DEITEL, P.J. C - Como Programar. 6ª ed. Pearson, 2011.
FEOFILOFF, Paulo. Algoritmos em linguagem C. Campus, 2009.
SCHILDT, H. C - completo e total. 3ª ed.Editora Makron Books, 2005.
Voltar