Links, pdfs e códigos referentes as disciplinas de "Programação CCF110" - UFV.
- Conhecer noções de algoritmos, programas e linguagens de programação de alto nível.
- Compreender o paradigma de programação estruturado, assim como manipular tipos de dados, variáveis e constantes.
- Implementar em uma linguagem de programação as estruturas de controle e repetição, variáveis compostas homogêneas (vetores e matrizes) e heterogêneas (registros).
- Conhecer a importância da modularização, documentação e testes de programas.
- Manipular entrada e saída de informações armazenadas em arquivos e compreender o conceito de recursividade.
1. Noções de algoritmos, programas e linguagens de programação de alto nível
- Definição de algoritmos e tipos de representação.
- Descrição Narrativa, Fluxograma e Pseudocódigo/Português Estruturado/Portugol.
- Linguagem de máquina e de montagem.
- Linguagem de programação de alto nível.
2. Paradigmas de programação
- Programação Imperativa (Programação Estruturada).
- Outros paradigmas: Orientado a Objetos, Funcional e Lógico.
3. Conceitos e Elementos básicos da Programação
- Tipos de Dados (simples e compostos).
- Variáveis e Constantes.
- Conceitos, declaração e inicialização.
- Atribuição de valores.
- Operadores lógicos, aritméticos e relacionais.
- Comandos de entrada e saída.
- Comentários no código dos programas.
- Testes de Mesa.
4. Paradigma de Programação Estruturada e Introdução à Linguagem C
- Estruturas sequenciais.
- Estruturas condicionais (if-then-else / Se-Então-Senão).
- Estruturas iterativas (for/Para, while/Enquanto, do-while/Faz-Enquanto).
5. Variáveis compostas homogêneas
- Variáveis compostas homogêneas unidimensionais - Vetores.
- Indexação, inserção, alteração e consulta.
6. Variáveis compostas homogêneas multidimensionais - Matrizes
- Indexação, inserção, alteração e consulta.
7. Ponteiros
- Declaração de ponteiros.
- Ponteiros e variáveis indexadas (vetores e matrizes).
8. Variáveis compostas heterogêneas (Registros)
- Declaração, inicialização e atribuição de registros.
- Uso de ponteiros em registros.
9. Modularização de programas
- Conceito de modularização.
- Parâmetros formais e parâmetros reais.
- Modalidades para passagem de parâmetros: valor ou referência.
10. Arquivos
- Arquivo texto e arquivo binário.
- Leitura e escrita em arquivos.
- Abertura, utilização e fechamento de arquivos.
11. Recursividade
- Conceitos básicos.
- Exemplos de recursividade.
- D. E. Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wes - ley, 1997.
- A. L. V. Forbellone, H. F. Eberspacher, Lógica de Programação: a Construção de Algoritmos e Estruturas de Dados, Makron Books, 2005.
- N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004.
- J. A. G. Manzano, Algoritmos: lógica para desenvolvimento de programação de computadores, Editora Érica, 2004.
- T. H. Cormen; C. E. Leiserson; R.L. Rivest. Algoritmos: teorema e prática. Campus, 2002.
- H. M. Deitel, P. J. Deitel, C - Como Programar , 6a Ed., Pearson Education - Br, 2011.
- J. Tremblay, Ciência dos computadores: uma abordagem algorítmica, Makron Books, 1983.
- H. Farrer, Algoritmos Estruturados. Rio de Janeiro: LTC, 1999.
- P. Feofiloff. Algoritmos Estruturados. Rio de Janeiro: Elsevier, 2009.