Nome da Atividade
ALGORITMOS E PROGRAMAÇÃO
CÓDIGO
22000179
Carga Horária
90 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CARGA HORÁRIA TEÓRICA
3
CARGA HORÁRIA PRÁTICA
2
CARGA HORÁRIA EXERCÍCIOS
1
FREQUÊNCIA APROVAÇÃO
75%
CARGA HORÁRIA OBRIGATÓRIA
6
CRÉDITOS
6
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:
- CAMPOS, Edilene A. V. Fundamentos da Programação de Computadores: Algoritmos, Pascal e C/C++. São Paulo: Prentice Hall, 2007.
- FARRER, H. et al. Programação Estruturada de Computadores - Algoritmos Estruturados. Rio de Janeiro: Livros Técnicos e Científicos, 2008.
- ASCENCIO, Ana Fernanda G.
- • SALVETTI, Dirceu D.
- • BARBOSA, Lisbete M. Algoritmos. São Paulo: Makron Books, 1998.
Bibliografia Complementar:
- 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, 2006. VIÉGAS,Fabian.
- Assis, Gilda A. Algoritmos. Novo Hamburgo: Ed. Feevale, 2003. MANZANO, José Augusto N. G.
- OLIVEIRA, Jayr Figueiredo de. Algoritmos: Lógica para desenvolvimento de programação. São Paulo: Érica, 1996. UCCI, Waldir, et al. Lógica de Programação: os Primeiros Passos. São Paulo: Érica, 1991. WIRTH, Niklaus. Algorithms + data structures = programs. Englewwod Cliffs: Prentice-Hall, 1976. 366 p. (Series in automatic computation)