Universidade Regional Integrada do Alto Uruguai e das Missões
Campus Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Algoritmos e Estrutura de Dados I
Informática I
-
Prof. Evandro Preuss
preuss@uri.br
http://www.uri.br/~preuss
|
1º Semestre/2002
|
Plano de ensino da disciplina: 30-701
|
Algoritmos e Estrutura de Dados I
|
Departamento: 03
|
Engenharias e Ciência da Computação
|
Carga horária: 90 horas 60 Teor./ 30 Prat.
|
Créditos: 06
|
EMENTA:
Estudo das formas para representação do pensamento lógico através de técnicas de desenvolvimento de algoritmos. Representação e manipulação de dados. Construções de algoritmos sequenciais, condicionais e com estruturas de repetição. Manipulação de estruturas de dados homogêneas e heterogêneas e utilização de sub-rotinas.
OBJETIVOS:
Fornecer elementos e técnicas que capacitem o aluno a construir algoritmos, através da identificação dos passos ou ações necessários para transformar um conjunto de dados de entrada em informações de resultado, promovendo dessa forma, um ambiente de prática da lógica de programação.
RELAÇÃO DOS CONTEÚDOS:
-
Abordagem Contextual
- Noções de lógica e conceito de algoritmos.
- Fatores a serem considerados na construção de algoritmos e importância da programação estruturada
- Métodos para construção de algoritmos
- Principais formas de representação de algoritmos (narrativa, pseudo-código e gráfica)
-
Tipos de Informações
Dados:
- Tipos primitivos de dados, constantes x variáveis
- Variáveis: uso, nomenclatura, atribuição e armazenamento na memória
- Operadores matemáticos e funções matemáticas
Instruções básicas ou comandos básicos:
- Entrada, atribuição e saída de dados
- Blocos de programas e uso de português estruturado
-
Estruturas de Controle do Fluxo de Execução
- Algoritmos sequenciais
- Algoritmos com seleção – Estruturas de controle:
- Desvio condicional simples, composto e encadeados, múltiplas opções, operadores lógicos
- Estruturas de repetição:
- utilização de contadores e acumuladores
-
Estruturas de Dados Homogêneas
- Matrizes de Uma Dimensão ou Vetores:
- Operações Básicas com Matrizes do Tipo Vetor
- Matrizes com Mais de Uma Dimensão:
- Operações Básicas com Matrizes de Duas Dimensões
-
Estruturas de Dados Heterogêneas
- Estrutura de Um Registro
- Atribuição, Leitura e Escrita de Registros
- Estrutura de Um Vetor de Registro
- Atribuição, Leitura e Escrita de Vetor de Registros
-
Subalgoritmos
- Mecanismo de Funcionamento e Definição de Subalgoritmos
- Funções
- Procedimentos
- Variáveis Globais e Locais
- Parâmetros
- Mecanismos de Passagem de Parâmetros
-
Obs: para suporte aos algoritmos desenvolvidos, serão trabalhados 2 créditos semanais em um laboratório, utilizando uma linguagem estruturada, possibilitando dessa forma a prática da lógica de programação.
BIBLIOGRAFIA BÁSICA (LIVROS TEXTOS):
FORBELLONE, André. "Lógica de Programação - A Construção de Algoritmos e Estruturas de Dados". São Paulo: Ed. Makron Books, 1993.
GOTTFRIED, Byron S. Programação em Pascal. Lisboa: Ed. Mc Graw-Hill, 1994.
MANZANO, José Augusto N. G. & OLIVEIRA, Jayr Figueiredo. Algoritmos: Lógica Para Desenvolvimento de Programação. São Paulo. Ed. Érica, 1996.
T. Cormen, C. Leiserson e R. Rivest. Introduction to Algorithms. MIT Press/McGraw-Hill, 1990. U. Manber.
BIBLIOGRAFIA COMPLEMENTAR (LIVROS REFERENCIADOS):
SALVETTI, Dirceu Douglas e Barbosa, L. M. Algoritmos. São Paulo: Ed. Makron Books, 1998. Introduction to Algorithms: a creative approach . Addison-Wesley, 1988.
G. Brassard e P. Bratley. Fundamentals of Algorithmics. Prentice-Hall, 1995.
COLLINS, Willian J. Programação Estruturada com estudo de casos em Pascal. São Paulo: Ed. Mc Graw-Hill do Brasil, 1988.
FARRER, Harry. Programação Estruturada de Computadores. Rio de Janeiro: Ed. LTC, 1989.
GOTTFRIED, Byron S. Programação em Pascal. Lisboa: Ed. Mc Graw-Hill, 1994.
GUIMARÃES, Angelo de Moura. Algoritmos e Estruturas de Dados. Rio de Janeiro: Ed. LTC, 1985.
KNUTH, D. E. The Art of Computer Programming. Vol 3. Sort and Searchim. Addison Wesley, Reading, Mass., 1973
MECLER, Ian & MAIA, Luiz Paulo. Programação e Lógica com Turbo Pascal. Rio de Janeiro: Ed. Campus, 1989.
ORTH, Afonso Inácio. Algoritmos. Porto Alegre. Ed. Pallotti, 1985.
SALIBA, Walter Luís Caram. Técnicas de Programação: Uma Abordagem Estrutura. São Paulo: Ed. Makron Booksl, 1992.
TERADA, Routo & SETZER, Valdemar W. Introdução à Computação e à Construção de Algoritmos. São Paulo: Ed. Makron Books, 1992.
SUMÁRIO
parte i – Introdução 1
1. Abordagem Contextual 2
1.1 Conceito de Algoritmo 2
2. formas de representação de algoritmos 4
2.1 Descrição Narrativa 4
2.2 Fluxograma Convencional 4
2.3 Diagrama de Chapin 5
2.4 Pseudocódigo 6
Parte II - Técnicas Básicas de Programação 8
3. Tipos de Dados 9
3.1 Tipos Inteiros 9
3.2 Tipos Reais 9
3.3 Tipos Caracteres 9
3.4 Tipos Lógicos 9
4. Variáveis e Constantes 10
4.1 Armazenamento de Dados na Memória 10
4.2 Conceito e Utilidade de Variáveis 10
4.3 Definição de Variáveis em Algoritmos 11
4.4 Conceito e Utilidade de Constantes 11
4.5 Definição de Constantes em Algoritmos 11
5. Expressões e operadores 12
5.1 Operadores 12
5.2 Expressões 14
Exercícios 15
6. Instruções Primitivas 16
6.1 Comandos de Atribuição 16
6.2 Comandos de Saída de Dados 17
6.3 Comandos de Entrada de Dados 17
6.4 Funções Matemáticas 18
7. Estruturas de Controle do Fluxo de Execução 20
7.1 Comandos Compostos 20
7.2 Estrutura Seqüencial 20
7.3 Estruturas de Decisão 20
7.4 Estruturas de Repetição 25
7.5 Estruturas de Controle Encadeadas ou Aninhadas 28
8. Estruturas de Dados Homogêneas 29
8.1 Matrizes de Uma Dimensão ou Vetores 29
8.2 Matrizes com Mais de Uma Dimensão 33
9. Subalgoritmos 36
9.1 Mecanismo de Funcionamento 36
9.2 Definição de Subalgoritmos 37
9.3 Funções 37
9.4 Procedimentos 39
9.5 Variáveis Globais e Locais 40
9.6 Parâmetros 40
9.7 Mecanismos de Passagem de Parâmetros 41
9.8 Refinamentos Sucessivos 42
PARTE iii - lINGUAGEM DE PROGRAMAÇÃO 43
10. Introdução 44
11. Dados 45
11.1 Elementos da Linguagem 45
11.2 Tipos de Dados 46
11.3 Constantes e Variáveis 50
11.4 Operadores 51
12. Estrutura do Programa 54
12.1 Identificação do programa 54
12.2 Bloco de Declarações 54
12.3 Bloco de Comandos 55
13. Comandos 56
13.1 Comandos Simples 56
13.2 Estruturas de Controle 62
14. Funções e procedimentos 68
14.1 Procedimentos 68
14.2 Funções 69
14.3 Parâmetros 69
14.4 Recursividade 72
15. Procedimentos e Funções das Unidades Padrão 73
15.1 Manipulação de Strings e Conversão 73
15.2 Manipulação Numérica 73
15.3 Manipulação de Diretórios 74
15.4 Unit CRT 74
15.5 Funções com Ordinais 76
15.6 Unit DOS 76
16. Tipos Estruturados 80
16.1 Vetores Unidimensionais e Multidimensionais (Matrizes) 80
16.2 Estruturas 81
16.3 Conjuntos - Set 84
17. Bibliografia 86
Apêndice A - Exercícios 87
parte i – Introdução
|