Nome da Atividade
ALGORITMOS E PROGRAMAÇÃO
CÓDIGO
1110016
Carga Horária
102 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CRÉDITOS
6
CARGA HORÁRIA TEÓRICA
3
CARGA HORÁRIA EXERCÍCIOS
1
CARGA HORÁRIA PRÁTICA
2
CARGA HORÁRIA OBRIGATÓRIA
6
FREQUÊNCIA APROVAÇÃO
75%
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.
Objetivos
Objetivo Geral:
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.Conteúdo Programático
- 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 dad
-. 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 dad
Bibliografia
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)
Bibliografia 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