Nome da Atividade
PROGRAMAÇÃO EM SOFTWARE DE MATEMÁTICA
CÓDIGO
11100039
Carga Horária
60 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CRÉDITOS
4
CARGA HORÁRIA TEÓRICA
2
CARGA HORÁRIA PRÁTICA
2
CARGA HORÁRIA OBRIGATÓRIA
4
FREQUÊNCIA APROVAÇÃO
75%
NOTA MÉDIA APROVAÇÃO
7
Ementa
Conceitos Básicos. Tipos de Instruções. Tipos de algoritmos. Formas de representação de Algoritmos. Técnicas de Construção de Algoritmos. Laboratório de programação com softwares de matemática. Introdução ao estudo de computação em precisão finita.
Objectives
Objetivo Geral:
Gerais:Prover o aluno de noções de programação em softwares de matemática, bem como técnicas de construção de algoritmos, que permitam o melhor entendimento teórico-prático de conceitos matemáticos e a resolução de problemas específicos que requerem o uso do computador e a compreensão do funcionamento do computador em nível de programação.
Específicos:
Apresentar sistemas interativos e linguagem de programação para a computação técnica e científica em geral;
Desenvolver o raciocínio lógico para transformar problemas em geral em pseudocódigos programáveis em uma linguagem de alto nível;
Resolver problemas com a utilização de fluxogramas; Resolver problemas usando o raciocínio algorítmico.
Conteúdo Programático
Introdução
1.1 Organização de um Computador;
1.2 Linguagens de Programação.
Unidade 2 – Algoritmos
2.1 Regras e Convenções;
2.2 Comandos de Escrita;
2.3 Constantes;
2.4 Variáveis;
2.5 Comentários;
2.6 Expressões (aritméticas, lógicas e literais);
2.7 Instruções Primitivas (atribuição, entrada e saída de dados);
2.8 Controle de Fluxo de Execução;
Unidade 3 – Tipos de Algoritmos
3.1 Algoritmos Diretos;
3.2 Algoritmos Recursivos.
Unidade 4 – Formas de Representação de Algoritmos
4.1 Critérios para representar um algoritmo de maneira eficiente;
4.2 Fluxograma de um algoritmo;
4.3 Escrita do algoritmo utilizando sentenças convencionais.
Unidade 5 – Técnicas de Construção de Algoritmos
5.1 Critérios básicos para construir e avaliar algoritmos;
5.2 Correção;
5.3 Quantidade de trabalho realizado;
5.4 Quantidade de espaço utilizado;
5.5 Simplicidade, clareza;
5.6 Otimalidade e eficiência computacional
5.6.1 Análise do médio e pior caso;
5.6.2 Complexidade de um problema;
5.6.3 Ordem computacional;
5.6.4 Implementação e programação.
Unidade 6 – Diversos Softwares de Matemática
6.1 Softwares numéricos;
6.2 Softwares simbólicos;
6.3 Softwares de visualização;
6.4 Softwares livres e pagos.
Unidade 7 – Introdução à Aritmética de Máquina
7.1 Sistemas de Ponto Flutuante;
7.2 Arredondamentos
7.2.1 Erros;
7.2.2 Dígitos Significativos Exatos;
7.2.3 Precisão e Exatidão de Máquinas digitais;
7.2.4 Instabilidade dos Algoritmos e de Problemas.
1.1 Organização de um Computador;
1.2 Linguagens de Programação.
Unidade 2 – Algoritmos
2.1 Regras e Convenções;
2.2 Comandos de Escrita;
2.3 Constantes;
2.4 Variáveis;
2.5 Comentários;
2.6 Expressões (aritméticas, lógicas e literais);
2.7 Instruções Primitivas (atribuição, entrada e saída de dados);
2.8 Controle de Fluxo de Execução;
Unidade 3 – Tipos de Algoritmos
3.1 Algoritmos Diretos;
3.2 Algoritmos Recursivos.
Unidade 4 – Formas de Representação de Algoritmos
4.1 Critérios para representar um algoritmo de maneira eficiente;
4.2 Fluxograma de um algoritmo;
4.3 Escrita do algoritmo utilizando sentenças convencionais.
Unidade 5 – Técnicas de Construção de Algoritmos
5.1 Critérios básicos para construir e avaliar algoritmos;
5.2 Correção;
5.3 Quantidade de trabalho realizado;
5.4 Quantidade de espaço utilizado;
5.5 Simplicidade, clareza;
5.6 Otimalidade e eficiência computacional
5.6.1 Análise do médio e pior caso;
5.6.2 Complexidade de um problema;
5.6.3 Ordem computacional;
5.6.4 Implementação e programação.
Unidade 6 – Diversos Softwares de Matemática
6.1 Softwares numéricos;
6.2 Softwares simbólicos;
6.3 Softwares de visualização;
6.4 Softwares livres e pagos.
Unidade 7 – Introdução à Aritmética de Máquina
7.1 Sistemas de Ponto Flutuante;
7.2 Arredondamentos
7.2.1 Erros;
7.2.2 Dígitos Significativos Exatos;
7.2.3 Precisão e Exatidão de Máquinas digitais;
7.2.4 Instabilidade dos Algoritmos e de Problemas.
Bibliografia
Bibliografia Básica:
- FARRER, H. ET AL. Algoritmos Estruturados. 3a ed. Rio de Janeiro. Editora LTC, 1996
- LEVITIN, A. V. Introdução ao Desenho e Análise de Algoritmos. Pearson Addison Wesley, 2002.
- SIPSER, M, Introdução à Teoria da Computação. Brooks Cole, 1996.
Bibliografia Complementar:
- Sedgewick, R. Algoritmos em C++, Partes 1-4: Fundamentos, Estrutura de Dados, Ordenamento e Búsqueda. Addison-Wesley Pub Co, 1998
- Sedgewick, R. Algoritmos. Addison-Wesley Pub Co, 1988.
- BARROSO, L. et alii. Cálculo Numérico. São Paulo, Haper & Row do Brasil, 1987
- CLÁUDIO, Dalcídio M. M. & MARINS, Jussara M. Cálculo Numérico Computacional: Teoria e Prática. São Paulo, Atlas, 1989.
- RUGIERO, Márcia A. G. & LOPES, Vera L. R., Cálculo Numérico: aspectos Teóricos e Computacionais. 2. Ed. São Paulo, Makron Books do Brasil,1996.
- CORMEN, T. H. et aIii. Introdução a Algoritmos. McGraw-Hill Science/Engineering/Math, 1990.
- Knuth. D. A arte de programação em computadores, Volume 2: Algoritmos Semi-numéricos. Addison-Wesley Pub Co, 1997.
- DONALD, K. A arte de programação em computadores, Volume 1: Algoritmos Fundamentais. Addison-Wesley Pub Co, 1997.