Programação aplicada à Engenharia de Agrimensura
OBJETIVOS
- Sistematizar e organizar o raciocínio na resolução de problemas de forma algorítmica;
- Conhecer as principais formas de representação de um algoritmo, independente de uma linguagem de programação em particular;
- Iniciar o desenvolvimento de programas corretos, eficientes, estruturados, bem documentados e consistentes (robustos);
- Dominar o conceito de funções, funções recursivas, variáveis locais e globais, passagem de parâmetros, ponteiros e passagem de parâmetros por endereço;
- Conhecer a sintaxe e a semântica de uma linguagem de programação estruturada – C;
- Desenvolver programas de pequeno e médio porte, usando variáveis simples e estruturadas (arrays multidimensionais, struct e file), associados às diferentes classes de problemas numéricos e não-numéricos, fundamentais no exercício cotidiano da prática de programação;
- Trabalhar com algoritmos básicos associados a problemas de ordenação e de busca, além de alguns problemas geométricos;
- Estar apto a iniciar o aprendizado de estruturas de dados dinâmicas e técnicas de programação mais avançadas.
EMENTA
Conceitos básicos de computadores. Linguagem de programação. Aplicação de computadores digitais. Técnica e programação estruturada. Linguagem de programação. Conceito de sub-programação. Tópicos em sistemas operacionais. Simulação e otimização. Operações com vetores, matrizes, funções trigonométricas. Manuseio de imagens. Noções de CAD e georreferenciamento.
CONTEÚDO PROGRAMÁTICO
Estrutura Computacional: hardware e software. Linguagem de Programação de Alto Nível: aspectos históricos, conceitos e características básicas; compiladores existentes em diferentes plataformas; estrutura geral de um programa (linguagem adotada); operadores (atribuição, booleanos, aritméticos, relacionais, outros); precedência entre operadores; expressões aritméticas e booleanas; variáveis simples (identificadores e tipos de dados primitivos; resolução de problemas); comandos de entrada e saída; estruturas de controle de fluxo de execução de programas (comandos de atribuição, seleção e repetição); estruturas de dados homogêneas (arranjos multidimensionais; declaração, inicialização e representação interna; acesso a elementos de forma indexada; geração de números pseudo-aleatórios; resolução de problemas envolvendo arranjos multidimensionais; estudos de casos unidimensionais – problemas de ordenação e de busca; manipulação matricial); estruturas de dados heterogêneas (estruturas – declaração, inicialização e representação interna, acesso a componentes; estruturas aninhadas; arranjos de estruturas; uniões e tipos enumeráveis; arquivos – relevância; conceitos básicos, arquivos do tipo texto e binário; funções de manipulação de arquivos; manipulação de arquivos texto e de arquivos binários); modularidade (filosofia, conceitos básicos, passagem de parâmetros e valores de retorno, variáveis locais e globais); recursividade (princípio de indução finita; definição e exemplos; elaboração de funções recursivas simples; estrutura de pilha subjacente às chamadas recursivas; vantagens e desvantagens do uso da recursão).
REFERÊNCIAS
- ASCENCIO, A. F. G.; CAMPOS, E. A. V. C. Fundamentos da programação de computadores: algoritmos, pascal e C/C++. Pearson Prentice Hall, 2003. 355p.
- KERNINGHAN, B. W.; Pike, R. A Prática de Programação. Rio de Janeiro: Editora Campus, 2000. 280p.
- HOLLOWAY, J. P. Introdução a Programação para Engenharia: resolvendo problemas com algoritmos. LTC Editora, 2006. 339p.
- LOPES, A.; GARCIA, G. Introdução à Programação: 500 exercícios resolvidos. Rio de Janeiro: Editora Campus, 2002. 469p.
- MEDINA, M.; FERTIG, C. Algoritmos e programação: teoria e prática. São Paulo: Novatec Editora, 2005. 384p.
- OLIVEIRA, U. Programando em C, vol. I – fundamentos. Editora Ciência Moderna, 2008. 743p.
BIBLIOGRAFIA COMPLEMENTAR
- MANZANO, Jose Augusto N. G.; OLIVEIRA, Jayr Figueredo de. Algoritmos: lógica para o desenvolvimento de programação. 13. ed. São Paulo: Érica, 2002.
- NORTON, Peter. Introdução à informática. São Paulo: Makron Books do Brasil, 1997.
- FORBELLONE, A.L.V.; EBERSPÄCHER, H.F. Lógica de programação: a construção de algoritmos e estruturas de dados. São Paulo: Makron Books, 1993.