Bacharelado em Ciência da Computação Cálculo...
Transcript of Bacharelado em Ciência da Computação Cálculo...
fig/logo-ifmg
Bacharelado em Ciência da ComputaçãoCálculo Numérico
Prof. Diego Mello da Silva
Instituto Federal de Minas Gerais - Campus Formiga
5 de junho de 2013
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 1 / 21
fig/logo-ifmg
Sumário
1 Plano de Ensino
2 Referências Bibliográficas
3 Recursos
4 Instruções para os Trabalhos Práticos
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 2 / 21
fig/logo-ifmg
Informações GeraisDisciplina : Cálculo Numérico
Créditos : 4
Carga Horária : 60 hs (72 horas/aula)
Professor : Diego Mello ([email protected])
Ementa :
Conceitos: aritmética de ponto flutuante e erros.
Resolução de Sistemas Lineares.
Raízes de equações algébricas e transcedentes.
Interpolação.
Integração Numérica.
Resolução de Equações Diferenciais Ordinárias.
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 4 / 21
fig/logo-ifmg
ObjetivosObjetivos Gerais
Compreender os conceitos de C.N. e sua aplicação em ciências;
Classificar os problemas numéricos;
Conhecer os principais métodos de resolução;
Objetivos Específicos
Modelar problemas físicos em problemas numéricos;
Aplicar métodos de análise numérica para resolução de problemas;
Selecionar o método mais adequado para resolver um problema;
Implementar métodos numéricos clássicos de Cálculo Numérico;
Analisar a complexidade computacional de métodos numéricos;
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 5 / 21
fig/logo-ifmg
Conteúdo Programático1 Introdução
Conceitos
Representação. Aritmética de Ponto Flutuante. Padrão IEEE 754.
Tipos de Erros e Propagação
2 Raízes de Equações
Isolamento de raízes. Refinamento. Critério de Parada.
Método da Bissecção
Método de Newton-Raphson
3 Sistemas Lineares
Classificação. Sistemas Triangulares. Substituição Retroativa.
Eliminação de Gauss
Fatoração LU
Jacobi
Gauss-Seidel
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 6 / 21
fig/logo-ifmg
Conteúdo Programático4 Interpolação
Interpolação Linear, Quadrática e Polinomial
Lagrange
Newton
5 Integração Numérica
Fórmulas de Newton-Cotes
Regra do Trapézio
Regra 1/3 de Simpson
6 Equações Diferenciais Ordinárias
Problema do Valor Inicial
Solução Numérica de EDOs de Primeira Ordem
Método de Euler
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 7 / 21
fig/logo-ifmg
Metodologia e AvaliaçãoMetodologia
Aulas expositivas, com uso de pincel, quadro e datashow
Resolução de Exercícios com auxílio do professor
Aulas Práticas em Laboratório (Implementações)
Avaliações : provas, trabalhos práticos e exercícios de fixação.
Provas : 3 provas, cada qual cobrindo 2 tópicos
Trabalhos : individuais ou em dupla (Linguagem C, Pascal ou R)
Exercícios : individuais, aplicados opcionalmente nas aulas
Modalidade No. Avaliações 1 Ptos/Avaliação Total PtosProvas 3 20 60
Trabalhos Práticos 6 5 30Exercícios Avulsos 10 1 10
1Quantidade prevista de avaliações desta [email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 8 / 21
fig/logo-ifmg
Horários de Aula e Atendimento
Horário Seg Ter Qua Qui Sex07:00 - 07:5007:50 - 08:4008:40 - 09:30
09:50 - 10:40 Atend. Aulas10:40 - 11:30 Atend. Aulas11:30 - 12:20
13:10 - 14:00 Atend. Atend. Atend.14:00 - 14:50 Atend.
15:00 - 15:50 Aulas15:50 - 16:40 Aulas
16:55 - 17:45 Atend.18:45 - 18:35 Atend.
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 9 / 21
fig/logo-ifmg
Referências Bibliográficas
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 10 / 21
fig/logo-ifmg
Referências Bibliográficas
RUGGIERO, Márcia; LOPES, Vera Lúcia da Rocha.
Cálculo Numérico - Aspectos Teóricos e Computacionais. 2a edição.
Editora Pearson Makron, 1996. ISBN: 978-85-346-0204-4.
SPERANDIO, Décio; MENDES, João Teixeira.
Cálculo Numérico: Características Matemáticas e Computacionais dosMétodos Numéricos.
Editora Pearson Prentice Hall, 2003. ISBN: 85-87918-74-5.
BARROSO, Leonidas; CAMPOS FILHO, Frederico Ferreira.
Cálculo Numérico (Com Aplicações). 2a edição.
Editora Harbra, 1987. ISBN: 85-29400-89-5
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 11 / 21
fig/logo-ifmg
Bibliografia Complementar
CAMPOS FILHO, Frederico Ferreira.
Algoritmos Numéricos, 2a edição.
Editora LTC (Grupo GEN), 2007. ISBN: 85-21615-37-8.
FRANCO, N. M. B.
Cálculo Numérico. 1a edição
Editora Pearson Prentice-Hall, 2006, ISBN 978-85-7605-087-2, [recursoeletrônico]
BURIAN, Reinaldo; LIMA, Antônio Carlos.
Cálculo Numérico. 1a edição.
Editora LTC, 2007.
PAZ, Alvaro Puga; PUGA, Leila Zardo; TARCIA, José H. M.
Cálculo Numérico. 1a edição.
Editora LTC, 2009.
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 12 / 21
fig/logo-ifmg
RecursosSite da disciplina:https://sites.google.com/a/ifmg.edu.br/diegosilva/disciplinas/20
Linguagem R
Apostila Introdução ao R (CRAN)http://cran.r-project.org/doc/manuals/r-release/R-intro.pdf
Apostila R (UFPR)http://www.est.ufpr.br/Rtutorial
Linguagem C
Curso Linguagem C (UFMG)www.ead.cpdee.ufmg.br/cursos/C
Livro ‘C - Completo e Total’. Schildt, Herbert, Editora MakronBooks. ISBN: 8534605955
Referência de Comandos C/C++http://www.cplusplus.com/
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 14 / 21
fig/logo-ifmg
RecursosLinguagem Pascal:
Documentação Free Pascal (Recomendado)http://www.freepascal.org/docs.var
Livro ‘Programando com Pascal’, Evaristo, Jaime. Editora BookExpress (2002).
Scilab
Documentação, Tutoriaishttp://www.scilab.org/resources/documentation/tutorials
Ambientes de Desenvolvimento Sugeridos:
FreePascal: http://www.freepascal.org/
Mingw32: http://www.mingw.org/
R-Studio: http://www.rstudio.com/
Scilab: http://www.scilab.org/download/5.4.1
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 15 / 21
fig/logo-ifmg
Instruções para TrabalhosPráticos
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 16 / 21
fig/logo-ifmg
Trabalhos Práticos - InstruçõesOs trabalhos práticos consistem em implementações de algoritmosnuméricos em linguagem computacional.
Podem ser feitos individualmente, ou em duplas.
Após a data limite, nenhum trabalho recebido será avaliado, recebendo notazero
Devem ser feitos exclusivamente nas linguagens C, Pascal, R ou Scilab.
Todas as aplicações devem ser do tipo console (sem interface gráfica), compassagem de parâmetros por linha de comando (Pascal e C)
Se codificado em C ou Pascal, o código fonte deve ser compatível com oscompiladores gcc (Linux), mingw (Windows) ou fpc (Linux/Windows).
Trabalhos que não compilarem nestes compiladores ou não executarem noWindows/Linux, com passagem de parâmetros por linha de comandoreceberão nota zero .
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 17 / 21
fig/logo-ifmg
Trabalhos Práticos - InstruçõesPara cada trabalho prático, o grupo deve entregar:
Código Fonte (bem documentado). Todo o código fonte deve estarimplementado em um único arquivo
Relatório do trabalho.
Arquivos de entrada, quando cabível, no formato definido pelaespecificação do trabalho prático.
O relatório deve conter as seções: (i) situação-problema que está sendoresolvida no trabalho prático; (ii) modelagem matemática desenvolvida; (iii)método numérico escolhido e pseudo-código; (iv) ambiente dedesenvolvimento e instruções sobre a compilação e ambiente de execuçãodo aplicativo, e (v) resultados encontrados com o método.
Modelos (templates) do relatório serão disponibilizados no site da disciplina,nos formato .doc, .odt e .tex
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 18 / 21
fig/logo-ifmg
Aplicativos Console (Linha de comando)Aplicativos em linha de comando:
Recebem os dados de entrada por meio de argumentos
Os argumentos seguem o nome do aplicativo (executável)
Todos os argumentos são interpretados em C e Pascal como strings
Portanto, precisam ser convertidos nos tipos de dados adequados
Seja um aplicativo denominado potencia, que calcula a operação xy parauma base x ∈ Z elevada ao expoente y ∈ Z.
Para este aplicativo funcionar, devemos informar a base e o expoente
Entrada de dados via linha de comando: potencia <base> <expoente>
Ex: c:\> potencia.exe 2 3 (Win) ou $./potencia.bin 2 3 (Linux)
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 19 / 21
fig/logo-ifmg
Parâmetros de Linha de ComandoEm C:
São informados pelos parâmetros int argc e char **argv, dafunção main()
Protótipo: void main(int argc, char **argv) { ... }
Usa-se a função atoi() para converter para inteiro, e a funçãoatof() para converter para ponto-flutuante
Em Pascal:
São informados pelas funções ParamCount() e ParamStr()
São convertidos em valores numéricos pela função Val()
Em ambos os casos, cada argumento é listado como uma string diferente,pelos índice 1..n
Exemplo : potencia.bin︸ ︷︷ ︸
Str 0
2︸︷︷︸
Str 1
3︸︷︷︸
Str 2
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 20 / 21
fig/logo-ifmg
Pascal: ParamCount(), ParamStr() e Val()
program potencia;
var i, base, expoente, codbase, codexp, resultado : integer;
beginif(ParamCount < 2) thenbegin
writeln(’Erro. Usar potencia <base> <expoente>’); exit;end;
val(ParamStr(1), base, codbase);val(ParamStr(2), expoente, codexp);if((codbase <> 0) OR (codexp <> 0)) thenbegin
writeln(’Erro: formato numerico invalido’); exit;end;
resultado := 1;for i := 1 to expoente dobegin
resultado := resultado * base;end;writeln(’Resultado de ’, base, ’^(’, expoente, ’): ’, resultado);
[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 21 / 21