UFJF - Universidade Federal de Juiz de Fora

Plano de ensino

Disciplina: DCC119 - 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. Estruturas básicas para construção de algoritmos
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, sequê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 sequencial, 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.
SILVA, R. L.; OLIVEIRA, A. M. Algoritmos em C. Juiz de Fora: Clube de Autores, 2014.
Voltar