Bacharelado em Ciência da Computação Cálculo...

21
fig/logo-ifmg Bacharelado em Ciência da Computação Cá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

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

Plano de Ensino

[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 3 / 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

Recursos

[email protected] (IFMG) Cálculo Numérico 5 de junho de 2013 13 / 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