5
CI202 - Métodos Numéricos - Trabalho 2 Integração Numérica 30/04/2014 Versões: (0.3) - 12/05 - Utilizar o cout.precision(20) em todo o trabalho. (0.2) - 12/05 - Utilizar define para a constante e : 2.7182818284590452353602874713526624977572470936999595 (0.1) - 30/04 - Especificação do trabalho, critérios de avaliação e data de entrega / apresentação. ______________________________________________________________________________ 1. Informações Gerais O trabalho deve ser desenvolvido em duplas ou trios (no máximo) obrigatoriamente. Receberá nota zero o grupo (os alunos integrantes) em casos de: a) códigos iguais em 85% (serão considerados plágios ou cópia); b) caso os alunos não entreguem (enviem) o trabalho conforme especificação ou até a data limite marcada; c) a defesa presencial do trabalho ocorrerá em data marcada e divulgada previamente, sendo considerada prova presencial. Assim, alunos que se ausentarem sem justificativa receberão nota 0 (zero). Apenas justificativas previstas no artigo 106, Seção V, Res. 37/97-CEPE, terão direito à 2a. chamada. d) programas que apresentarem: 1 - erros de compilação e/ou 2 - falhas de segmentação sem que qualquer resultado possa ser verificado. Programas que apresentarem 'warnings' sem qualquer motivo poderão ter a nota reduzida. A avaliação do trabalho consistirá na defesa do trabalho pelos alunos do grupo e na análise feita pelo professor do programa (código) e do relatório que foram enviados via email do professor. Alguns critérios de avaliação que serão considerados para os programas: corretude e bom funcionamento, clareza e legibilidade do código, eficiência, uso adequado de comentários para documentação, uso adequado de estruturas de dados e comandos, e modularidade (uso e desenvolvimento de funções). Data e Forma de Entrega Os trabalhos devem ser entregues no máximo até o dia 26/05/2014, até às 23:59h. Trabalhos entregues fora do prazo receberão nota zero. O trabalho deve ser enviado para o e-mail do professor: [email protected] , com o assunto: "Trabalho 2 Métodos - Turma D". O que deve ser enviado? a) O código-fonte (*.cpp) (programa). O nome do arquivo deve ser GRR1_GRR2_GRR3.cpp (ou seja, o GRR de cada integrante do grupo).

CI202 - Métodos Numéricos - Trabalho 2 realizar a inspeção em uma indústria específica, um Orgão Fiscalizador verifica se a concentração de . benzeno está dentro de um limite

  • Upload
    vophuc

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

CI202 - Métodos Numéricos - Trabalho 2 Integração Numérica

30/04/2014

Versões: (0.3) - 12/05 - Utilizar o cout.precision(20) em todo o trabalho. (0.2) - 12/05 - Utilizar define para a constante e : 2.7182818284590452353602874713526624977572470936999595 (0.1) - 30/04 - Especificação do trabalho, critérios de avaliação e data de entrega / apresentação.

______________________________________________________________________________

1. Informações Gerais

O trabalho deve ser desenvolvido em duplas ou trios (no máximo) obrigatoriamente. Receberá nota zero o grupo (os alunos integrantes) em casos de:

a) códigos iguais em 85% (serão considerados plágios ou cópia);

b) caso os alunos não entreguem (enviem) o trabalho conforme especificação ou até a data limite marcada;

c) a defesa presencial do trabalho ocorrerá em data marcada e divulgada previamente, sendo considerada prova presencial. Assim, alunos que se ausentarem sem justificativa receberão nota 0 (zero). Apenas justificativas previstas no artigo 106, Seção V, Res. 37/97-CEPE, terão direito à 2a. chamada.

d) programas que apresentarem: 1 - erros de compilação e/ou 2 - falhas de segmentação sem que qualquer resultado possa ser verificado. Programas que apresentarem 'warnings' sem qualquer motivo poderão ter a nota reduzida.

A avaliação do trabalho consistirá na defesa do trabalho pelos alunos do grupo e na análise feita pelo professor do programa (código) e do relatório que foram enviados via email do professor.

Alguns critérios de avaliação que serão considerados para os programas: corretude e bom funcionamento, clareza e legibilidade do código, eficiência, uso adequado de comentários para documentação, uso adequado de estruturas de dados e comandos, e modularidade (uso e desenvolvimento de funções).

Data e Forma de Entrega

Os trabalhos devem ser entregues no máximo até o dia 26/05/2014, até às 23:59h. Trabalhos entregues fora do prazo receberão nota zero. O trabalho deve ser enviado para o e-mail do professor: [email protected], com o assunto: "Trabalho 2 Métodos - Turma D". O que deve ser enviado? a) O código-fonte (*.cpp) (programa). O nome do arquivo deve ser GRR1_GRR2_GRR3.cpp (ou seja, o GRR de cada integrante do grupo).

b) O relatório em PDF com o nome GRR1_GRR2_GRR3.pdf conforme especificação. Quaisquer particularidades do programa devem ser informadas neste relatório.

Importante: O trabalho será dado como entregue quando o aluno receber uma resposta via email.

2. Especificação do Trabalho

O trabalho a ser desenvolvido consiste de três partes:

a) Implementação em C++ dos Métodos de Integração Numérica: Regra dos Retângulos, Regra de Trapézio (Simples e Múltiplos Segmentos) e Regra de Simpson 1/3 (Simples e Múltiplos Segmentos).

b) Utilização deste programa C++ para resolver o Problema proposto no item 3.

c) Construção do Trabalho Escrito (Relatório) apresentando o desenvolvimento, resultados e as análises/conclusões em relação a aplicação dos métodos para solucionar o problema proposto.

2.1. Detalhes em Relação a Implementação

O programa deve ser desenvolvido de forma modular, ou seja, devem ser construídas diversas funções que devem ser utilizadas de forma apropriada.

No cabeçalho do programa devem estar em forma de comentário o nome dos alunos do grupo, bem como uma descrição do programa. Ao longo do código e para cada função devem ser utilizados comentários para documentação (o que a função faz, quais os parâmetros de entrada, parâmetros de saída, restrições, retorno, entre outros). Quaisquer particularidades do funcionamento ou limitações do programa devem ser informadas no relatório.

Para melhor uso do programa deve ser criado um menu de opções. Cada opção escolhida será um método e o programa deve solicitar os dados para o teste (estimativas, limites, precisão, etc). As opções devem ser:

==================================== 1) Regra dos Retângulos 2) Regra do Trapézio (1 Segmento) 3) Regra do Trapézio (Múltiplos Segmentos) 4) Regra de Simpson (1 Segmento) 5) Regra de Simpson (Múltiplos Segmentos) 6) Sair

Informe a Opção: ====================================

O programa deverá executar enquanto o usuário não escolher a opção 6. Após a execução de uma opção (de um método e exibição da resposta) o programa deve mostrar novamente o menu de opções. Para as opções 1, 3 e 5 (que envolvem múltiplos segmentos), o usuário poderá utilizar o método de duas maneiras (um sub-menu): ele poderá escolher entre

a) informar o número de segmentos para a função apenas calcular a aproximação para a integral (retorno);

b) ou informar um valor de precisão ε (em %) para a função calcular a cada iteração uma aproximação da integral com k segmentos, para k = 2, 3, ..., n, e o ERA (calculado usando a estimativa atual e a anterior), até que o ERA ≤ ε. Então, a função deve retornar o valor da integral e o número n de segmentos necessários para atingir a precisão requerida (i.e. você deve testar em cada iteração com um número k de segmentos; enquanto a precisão informada não for atingida, k deve ser aumentado e novos testes devem ser feitos).

Dica: você pode implementar os métodos de forma genérica para n segmentos (como visto em aula), e criar uma função auxiliar para fazer o controle de precisão e incrementar a cada iteração o número de segmentos, bem como calcular o ERA. Lembre-se, você pode passar uma função como parâmetro, logo, pode passar o nome do método selecionado pelo usuário para esta função de controle como parâmetro.

A função integrando ƒ(x) do problema deve ser implementado na forma de função no código em C++.

3. Problema

O benzeno é um hidrocarboneto com vasta utilização na indústria, por exemplo, para produção de diversos compostos químicos, como sub-produto de fonte-energética, como matéria-prima de alguns solventes e produtos tais como as tintas, a gasolina, entre outros.

Um grande problema é que a exposição ao benzeno pode causar diversos problemas a saúde (seja por concentrações acima dos limites permitidos pelas legislações em vigor ou pela intoxicação a longo prazo - crônica), tais como danos a medula óssea e câncer.

Uma das áreas que mais utiliza produtos químicos que envolvem o benzeno é a petroleira. Comumente, trabalhadores estão diariamente ou ocasionalmente (acidentes por vazamentos, infra-estrutura sucateada, entre outros) expostos a esta substância tóxica que é altamente cancerígena.

Ao realizar a inspeção em uma indústria específica, um Orgão Fiscalizador verifica se a concentração de

benzeno está dentro de um limite especificado. Para esta tarefa, é necessário calcular a concentração do Benzeno por meio da seguinte equação:

concentração = 0.075[ erfc(a1, b1) + e 0.1355 + erfc(a2, b2) ] * 100, onde erfc(a,b) = x ∫b

ae( −(1/x) 2)d

Para calcular esta concentração, você deve aplicar os métodos numéricos vistos em sala de aula para determinar os valores de erfc(a1, b1) e erfc(a2, b2) e utilizar os resultados na equação dada. Após inspecionar o local, o Orgão Fiscalizador constatou os seguintes valores para o cálculo da concentração:

[a1, b1] = [­2.75, ­0.560] e [a2, b2] = [0.890, 3.560].

Os níveis de concentração são medidos em 4 (quatro) categorias distintas:

Concentração (x) x < 1% 1% ≤ x ≤ 5% 5% ≤ x ≤ 20% x > 20%

Situação Conforme Nível Leve Nível Médio Nível Crítico

Se a concentração resultar em Nível Leve, o Orgão Fiscalizador multa a empresa e determina a imediata solução do problema. Se a concentração resultar em Níveis Médio ou Crítico, além da multa e do reparo, a empresa deve suspender as atividades imediatamente e submeter todos os seus funcionários a exames de saúde. Ao final do trabalho, você deve responder e justificar se a indústria em questão está Conforme em relação a concentração de Benzeno.

Para isso, você deve fazer os testes e responder as perguntas seguintes (para cada um dos métodos):

Método dos Retângulos:

a) Utilize para este método 6 segmentos (n = 6). b) Quantos segmentos são necessários para se obter um resultado com precisão = 0.05 %? Método dos Trapézios:

a) Calcule com a Regra do Trapézio Simples (1 segmento). b) Calcule com a Regra do Trapézio com 6 segmentos (n=6). c) Quantos segmentos são necessários para se obter um resultado com precisão = 0.05% Método de Simpson:

a) Calcule com a Regra de Simpson Simples (1 segmento). b) Calcule com a Regra de Simpson com 6 segmentos (n=6). c) Quantos segmentos são necessários para se obter um resultado com precisão = 0.05%?

Obs: para responder as perguntas, considere tanto erfc(a1, b1) quanto erfc(a2, b2). Ao final você deve fazer uma análise e um comparativo entre os métodos de integração utilizados (i.e. considerando desempenho, precisão, facilidade de implementação, entre outros).