Algoritmos e Programação
Curso | 3800 |
Disciplina | Algoritmos e Programação |
Caráter | OPTATIVA |
Pré-requisito | – |
Código | 0750001 |
Depto. | Informática |
CHT | 102 h |
Créditos | 06 |
Natureza | 03 teóricas, 01 exercício, 02 práticas |
Prof. Resp. | |
Objetivos | Proporcionar ao aluno o primeiro contato com a teoria e a prática do desenvolvimento de programas, tomando como ponto de partida o paradigma de programação procedural. Fazer o aluno tomar conhecimento e exercitar exaustivamente a lógica de programação segundo o paradigma adotado, por meio de exercícios usando uma linguagem de programação didática, mas real. |
Ementa | Conceitos básicos. Tipos de instruções. Tipos de algoritmos. Formas de representação de algoritmos. Técnicas de construção de algoritmos. Modularidade. Sub-algoritmo. Recursividade. Laboratório de programação seqüencial: tipos de dados, estrutura de um programa, declarações, comandos, subprogramas, entrada e saída. |
Programa |
– Introdução aos algoritmos: desenvolvimento de programas (compilação), conceito de algoritmo; exemplo. Constantes: numéricas, literais, lógicas. Variáveis: tipos, formação dos identificadores, declaração de variáveis. Comentários. -. Expressões aritméticas: operadores, ordem de precedência dos operadores, funções. Expressões lógicas: operadores relacionais, operadores lógicos, ordem de precedência. Expressões literais. Comando de atribuição. Comandos de entrada e saída. -. Estrutura Seqüencial. Estrutura Condicional: simples, composta. Formas de representação de algoritmos: fluxograma, diagrama de Chapin. -. Estruturas de Repetição: repetição com variável de controle, repetição controlada por condição. Exemplos. -. Algoritmos com acumulador. Exemplos. -. Refinamentos Sucessivos (metodologia top-down). Exemplo. -. Variáveis compostas homogêneas. Exemplo introdutório. Variáveis compostas unidimensionais (vetores): declaração, inicialização, leitura, escrita, manipulação. Exemplos. Variáveis compostas bidimensionais (matrizes). declaração, inicialização, leitura, escrita, manipulação. Exemplos. Variáveis compostas multidimensionais. Declaração, inicialização, leitura, escrita, manipulação. Exemplos. -. Variáveis compostas heterogêneas: registro, declaração, conjunto de registros. -. Arquivos: conceito de arquivo, organização de arquivos, declaração, abertura e fechamento de arquivos, organização seqüencial e organização direta. Exemplos. -. Modularização (subalgoritmos): uso de subalgoritmos, tipos de subalgoritmos (sub-rotinas e funções), declaração, parâmetros formais e parâmetros reais, passagem de parâmetros: por valor, por referência e por resultado (copia-restaura). Exemplos. Considerações finais sobre modularização. -. Recursividade: uso, execução de um programa recursivo. Exemplos. Exercícios. Vantagens e desvantagens. -. Algoritmos de ordenação: shellsort, bubblesort, seleção direta, quicksort. -. Laboratório de Programação Pascal: tipos de dados, estrutura de um programa, declarações, comandos, estruturas seqüenciais, condicionais, de repetição, matrizes, tratamento de caracteres, subprogramas, registros, entrada e saída, arquivos. |
Bibliografia |
Básica FARRER, H. et al. Programação Estruturada de Computadores – Algoritmos Estruturados. Rio de Janeiro: Livros Técnicos e Científicos, 1999. (3a edição)
Complementar SALVETTI, Dirceu D.; BARBOSA, Lisbete M. Algoritmos. São Paulo: Makron Books, 1998 FORBELLONE, Andre Luiz Villar; EBERSPRÄCHER, Henri Frederico. Lógica de Programação: a construção de algoritmos e estruturas de dados. São Paulo : Makron Books do Brasil, 2000. (2a edição) ISBN: 8534611246 WIRTH, Niklaus. Algoritmos e Estruturas de Dados. Rio de Janeiro: Livros Técnicos e Científicos, 1989. ISBN 85-21611900 MANZANO, José Augusto N. G.; OLIVEIRA, Jayr F. Estudo Dirigido de Algoritmos. São Paulo: Érica, 1997. (Coleção PD). BERG, Alexandre C.; FIGUEIRÓ, Joice P. Lógica de Programação. Canoas: Editora da ULBRA, 2001 (2a edição) ISBN: 8585692510 ASCENCIO, Ana Fernanda G. Lógica de Programação com Pascal. São Paulo: Pearson Education, 2002. ISBN: 85-346-1063-0 ASCENCIO, Ana Fernanda G.; CAMPOS, Edilene A. V. Fundamentos da Programação de Computadores: Algoritmos, Pascal e C/C++. São Paulo: Prentice Hall, 2002. ISBN: 85-87918-36-2 |