Prévia do material em texto
RELATÓRIO DE PRÁTICA JÚLIA SILVA NUNES OLIVEIRA, 47606555 RELATÓRIO DE AULAS PRÁTICAS ENSINO DIGITAL RELATÓRIO DATA: 06 08 2024 ______/______/______ RELATÓRIO DE AULAS PRÁTICAS: MÉTODOS COMPUTACIONAIS DADOS DO(A) ALUNO(A): NOME: JÚLIA SILVA NUNES OLIVEIRA MATRÍCULA:47606555 CURSO: ENGENHARIA CIVIL POLO: MACAÉ - RJ PROFESSOR(A) ORIENTADOR(A): ADILSON DA SILVA RELATÓRIO: ATIVIDADE PRÁTICA 1 – CONSTRUÇÃO DE PROGRAMA COM ESTRUTURA DE REPETIÇÃO E ESTUTURA DE DECISÃO #include using namespace std; int main() { int numero; // Variável destinada a guardar o número inserido pelo usuário soma = 0; // Variável usada para acumular o total dos números contdivisiveis = 0; // Variável para contar quantos números são divisíveis por 3 cout > numero; for (int i = 1; i #include // Para formatação de saída using namespace std; // Função para calcular a média double calcularMedia(double soma, int contador) { if (contador == 0) return 0; // Evita divisão por zero return soma / contador; } // Função para ler um número do usuário void lerNumero(double& numero) { cout > numero; } // Função para verificar se o número é positivo bool numeroPositivo(double numero) { return numero > 0; } int main() { double numero = 0; double soma = 0; int contador = 0; while (true) { lerNumero(numero); // Verifica se o usuário quer sair (número negativo) if (numero #include #include // Para formatação da saída using namespace std; // Definição da função f(x) = e^x - 3 * cos(x) - 6 double f(double x) { return exp(x) - 3 * cos(x) - 6; } // Método do Meio Intervalo (MMI) para encontrar a raiz double metodoDoMeioIntervalo(double a, double b, double epsilon) { double c; while ((b - a) / 2.0 > epsilon) { c = (a + b) / 2.0; if (f(c) == 0.0) { return c; // A raiz exata foi encontrada } else if (f(a) * f(c) = 0) { cout , que é uma alternativa à biblioteca math.h, para realizar operações matemáticas. O primeiro passo para encontrar a raiz de uma função é definir claramente a função matemática que queremos resolver. Neste caso, a função dada é: f(x)=ex−3cos(x)−6 A variável epsilon foi escolhida para representar a precisão desejada na solução do problema. O nome "epsilon" é comumente utilizado em matemática e computação para denotar uma pequena quantidade que tende a zero, indicando o nível de precisão que queremos alcançar nos nossos cálculos. Escolhemos o Método do Meio Intervalo (MMI) para encontrar a raiz da função, por ser uma técnica simples e eficaz para localizar raízes dentro de um intervalo específico. Esse método é preferido em relação ao Método das Secantes (MS) porque é mais direto e não requer o cálculo da derivada da função, o que pode ser mais complicado. O Método do Meio Intervalo funciona da seguinte forma: Ele começa com um intervalo (a e b), em seguida dividimos o intervalo ao meio e calculamos o ponto médio (x=(a+b)/2), se f(x) for zero, a raiz é encontrada, caso contrário é necessário ajustar o intervalo. RELATÓRIO DE AULAS PRÁTICAS ENSINO DIGITAL RELATÓRIO DATA: 06 08 2024 ______/______/______ ATIVIDADE PRÁTICA 4 – CONSTRUÇÃO DE PROGRAMA COM O USO DE FUNÇÕES E DE USO DE BIBLIOTECA ESPECIFICA DE FUNÇÕES MATEMÁTICAS PARA CALCULO DE RAIZES DE EQUAÇÕES UTILIZANDO O MNR (MÉTODOS DE NEWTON- RAPHSON #include #include using namespace std; double f(double x) { return pow(x, 4) + 12.6 * pow(x, 3) - 155.7 * pow(x, 2) + 1863; } double df(double x) { return 4 * pow(x, 3) + 37.8 * pow(x, 2) - 311.4 * x; } double newtonRaphson(double x0, double epsilon) { double x = x0; double delta; do { double fx = f(x); double dfx = df(x); delta = fx / dfx; x -= delta; } while (abs(delta) > epsilon); return x; } int main() { double epsilon = 0.001; double rootA = newtonRaphson(-18, epsilon); double rootB = newtonRaphson(-5, epsilon); double rootC = newtonRaphson(1.5, epsilon); double rootD = newtonRaphson(9, epsilon); cout<< "Rais D: " << rootD << endl; return 0; RELATÓRIO DE AULAS PRÁTICAS ENSINO DIGITAL RELATÓRIO DATA: 06 08 2024 ______/______/______ } Argumentação: O programa inicia mostrando a função matemática que será analisada, que é: f(x)=x4+12.6x3−155.7x2+1863. Em seguida, o programa exibe a derivada desta função, que é necessária para aplicar o Método de Newton-Raphson. Após a apresentação da função e sua derivada, o programa aplica o Método de Newton- Raphson. Esse método é usado para encontrar uma raiz da função, começando com um valor inicial e iterando até que a aproximação da raiz atenda à precisão desejada. Nas etapas finais foi colocado o erro de ap\roximação, intervalo A, intervalo B, intervalo C e intervalo D. RELATÓRIO DE AULAS PRÁTICAS ENSINO DIGITAL RELATÓRIO DATA: 06 08 2024 ______/______/______ REFERÊNCIAS BIBLIOGRÁFICAS: BORTOLOTTO, Franco et al. 4ª Fase-Implementação de uma Calculadora de Expressões Infixas na Linguagem C++ Utilizando a Ferramenta Dev C++. Anais SULCOMP, v. 4, 2008. GONÇALVES, Raul Santos et al. Análise dos Desafios para Programar sem Enxergar: estudo de caso na disciplina Linguagem de Programação 1. In: Anais Estendidos do XVI Simpósio Brasileiro de Sistemas de Informação. SBC, 2020. p. 17-20. JÚNIOR, Walteno Martins Parreira et al. USANDO ALGORITMOS PARA COMPARAR PERFORMANCE DE COMPILADORES DE LINGUAGEM C. Intercursos Revista Científica, v. 9, n. 2, 2010. SILVA, Luis Paulo et al. UTILIZAÇO DE LINGUAGEM C++ NO DIMENSIONAMENTO DE SAPATA ISOLADA. In: Congresso Interdisciplinar-ISSN: 2595-7732. 2017. TAHAN, Carlos Márcio Vieira; ROBBA, Ernesto João. Fluxo de potência: método de Newton-Raphson. 1978.