Ir para conteúdo
Fórum Script Brasil
  • 0

Integral no C++


WladimirC

Pergunta

Olá. É meu primeiro tópico no fórum. Qualquer deslize meu, por favor, me corrijam. Trata-se de um código que meu professor pediu em C++ para calcular a integral do seno de x de zero a pi sobre 2. O grande problema é que ele mandou fazer isso sem explicar quase nada dos operadores lógicos (meio que de propósito, para que a gente aprendesse por conta própria). Fiz, mas não obtive êxito no valor. Não aparece o resultado que eu quero - algo aproximado de 1, ou seja, 0,9999. Eu usei um laço for infinito, mas não sei se é esse o operador a ser usado. Pensei no while também. Poderiam me ajudar a raciocinar no procedimento que devo usar? Desde já agradeço.

----------------------------------------------------------------------------------------------------------------------------------------

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>


int _tmain(int argc, _TCHAR* argv[])
{

    float SOMA = 0; /*Variável que representa a soma dos retângulos*/
    float X = 0; /* Variável que representa os intervalos da função*/
    float A; /* Variável que representa a área de um retângulo*/


    for (;; )  {

        A = (X - X*X*X/6 + X*X*X*X*X/120 - X*X*X*X*X*X*X/5040) * 0,0001571; 
        
/* Estabeleci zero no início. Então essa conta dará zero inicialmente. Seria a área do primeiro retângulo, inexistente.*/

        SOMA = A + SOMA; 
        
/*Peguei a área e somei com a variável SOMA, também inicialmente em zero. Portanto, esse valor também dará zero.*/

        X = X + 0,0001571; 
        
/* Aqui é o mais importante. Eu pego X (inicialmente em zero) e adiciono esse valor, 0,0001571, que arbitrariamente foi imposto por mim. 
Ele representa pi/2 - o intervalo da função - dividido por 10000. Se você enxergar a integral por retângulos perceberá que essa linha representa o incremento dado
para que calculemos a próxima área do retângulo, e o valor deve ser igual ao termo que está no calculo da área (0,0001571).*/


    if  ( X > 1,571 ) /* Esse valor representa pi/2, que é quando ocorre o término do intervalo do qual queremos integrar.*/
        break;
    }

    printf("Valor da integral do seno de X de 0 a pi/2: %f", SOMA , 130);

    system ("pause");
        
    return 0;
}

Editado por kuroi
Adicionar tag CODE e arruma lay-out do topico
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eu fiz um modelo simplificado. Ao contrário do outro, que aparece a mensagem, este já não mostra nada na tela. Mas acredito que o comando while seja o mais adequado. Só não entendo por que ele não dá o loop. Não vejo erro lógico na sequência inserida entre chaves.

#include<stdio.h>


int main() {

    double S = 0;
    double X = 0;
    double A;

    while (X <= 1,571)

    {
        A = (X - X*X*X/6 + X*X*X*X*X/120 - X*X*X*X*X*X*X/5040) * 0,0001571; 
        S = A + S;
        X = X + 0,0001571; 
    }

    printf("Valor da integral do seno de X de 0 a pi/2: %f", S);
    

    system ("pause");

    
    return 0; 

}

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...