Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thay Andrade

Cálculo de integral por regra do ponto médio

Recommended Posts

então, queria uma ajuda, se ela existir, é que estou com um código para uma apresentação de cálculo II, ele funciona "normal". Entretanto, gostaria de saber se tem alguma forma de entrar com a função que se deseja integrar direto pelo console/prompt de comando, pois toda vez que quero colocar uma nova função, tenho que adicionar ela mexendo no código...desde ja obrigada, e se coloquei algo errado por a que  é que sou nova a que e não sei como funciona, desculpa qualquer coisa. Segue o código:

 

#include<iostream>
#include<iomanip>
//#include<stdlib.h>
#include<math.h>
#include<locale.h>

#define PI 3.14159265

using namespace std;

int main(){
    setlocale(LC_ALL,"portuguese");
    cout<<"-------CÁLCULO DE ÁREA POR INTREGRAL---------\n";
    cout<<"\n---------REGRA DO PONTO MÉDIO----------\n\n";

    float a,b,n,d,x[100],v[101];
    int o,i;
    char op;
    do{
        do{
            do{
                cout<<"\tDigite o intervalo [a,b]:\n\n";
                cout<<"***********************";
                cout<<"\n\tOBS: a <= b.\n";
                cout<<"***********************\n";
                cout<<"a = ";
                cin>>a;
                cout<<"\nb = ";
                cin>>b;
            }while(a > b);

 cout<<"\n\nOscs[a,b] = " <<fixed <<setprecision(2)<<a<<"e" <<setprecision(2)<<b<<"Digit  ou[n]\n";
            fflush(stdin);op = getchar(); system ("cls");
        }while(op == 'n' || op == 'N');
        
        do{
            do{
                cout<<"\nDIGITE O NÚMERO DE RETÂNGULOS(subintervalos) (n = 100max)?\n\n";
                cout<<"=> ";
                cin>>n;
                if(n>100){
                    cout<<"Valor inválido";
                    return op;
                }
                }while(n<1);
    
            cout<<"\nDigite uma das opcões de funcão que deseja resolver: \n";
            cout<<"[1] Raiz de x";
            cout<<"\n[2] -1/x²";
            cout<<"\n[3] 3x² + 2";
            cout<<"\n[4] 5*x/(5*x^4+3)^(1/4)";
            cout<<"\n[5] (3*x² + 3*x - 6)/(x² + 2*x -3)";
            cout<<"\n[6] sin (x*PI/180)";
            cout<<"\n[7] cos ( x * PI / 180.0 )";
            cout<<"\n[8] tan ( x * PI / 180.0 )";
            cout<<"\n[9] (3x²-4)\n\n";
            cout<<"opcão: ";
            cin>>o;
            if(o>9){ // verifica o numero da função digitada
                cout<<"valor inválido";
                return op;
            }else if(o==0){
                cout<<"valor inválido";
                return op;
            }
            cout<<"\n\nEstá tudo correto? ( para sim e [n] para não) ";
            fflush(stdin);
            op = getchar();
            system ("cls");
            
        }while(op == 'n' || op == 'N');

        d = (b - a)/n;

        ///Cálculando as extremidades
        cout<<"\nAs extremidades são:\n";
        for(i=0;i!=n+1;i++){
            
            if(i==0){
                
                v = a;
                cout<<fixed<<setprecision(2)<<v<<endl;
                
            }else if(i==n){
                
                v=b;
                cout<<fixed<<setprecision(2)<<v<<endl;
                
            }else{
                
                v=v[i-1]+d;
                cout<<fixed<<setprecision(2)<<v<<endl;
                
            }

        }
        //Calculando os pontos médios
        cout<<"\nOs pontos médios são:\n";
        for(i=0;i!=n;i++){
            v=(v+v[i+1])/2;
            cout<<fixed<<setprecision(2)<<v<<endl;
        }
        
        cout<<"\nOs pontos médios dentro da funcão resultam em:";
        //a que está o problema, toda vez tenho que adicionar mais um "case", para uma nova função.
        switch (o)
        {
            case 1:
            for(i=0;i!=n;i++){
                x = sqrt((v));///raiz de x
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }
            break;

            case 2:
            for(i=0;i!=n;i++){
                x = -1/((v)*(v));///-1/(x^2)
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }
            break;

            case 3:
            for(i=0;i!=n;i++){
                x = 3*(v*v)+2;///3x^2+2
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }
            break;
    
            case 4:
            for(i=0;i!=n;i++){
                x = 5*v/pow(((pow(5*v,4))+3),(1/4));/// 5*x/(5*x^4+3)^(1/4)
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }
            break;
            
            case 5:
            for(i=0;i!=n;i++){
                x = ((3*(pow(v,2)))+(3*v)-6)/((pow(v,2))+(2*v)-3);/// (3*x^2 + 3*x - 6)/(x^2 + 2*x -3)
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }break;
            
            case 6:
            for(i=0;i!=n;i++){
                x = sin((v*PI)/180) ;/// sin (x*PI/180)
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }break;
            case 7:
                for(i=0;i!=n;i++){
                x = cos ((v*PI)/180.0) ;/// cos ( x * PI / 180.0 )
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }break;
            case 8:
                for(i=0;i!=n;i++){
                x = tan ((v*PI)/180.0) ;/// tan ( x * PI / 180.0 )
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }break;
            
            case 9:
                for(i=0;i!=n;i++){
                x = ((3*(pow(v,2)))-4) ;///(3x^2-4)
                cout<<fixed<<setprecision(2)<<"\nf("<<v<<")"<<setprecision(2)<<" = "<<x;
            }break;
            default:
            cout<<"opcão = ?"<<o;
        }
        
        ///Cálculando a soma dos resultados da função e exibindo na tela
        for(i=1;i!=n;i++){
            x = x + x[i-1];
            if(i==n-1){
                x = d*(x);
                cout<<"\n\nO resultado da Integral é: "<<fixed<<setprecision(2)<<x;
            }
        }
            
        cout<<"\n\nDeseja fazer outra integral? ( para Sim e [n] para Não) ";
        fflush(stdin);
     op = getchar(); 
     system ("cls");

    }while(op == 's' || op == 'S');
    system("pause");
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Lenon John
      Detalhe importante:
      Se eu digito MINHA_CHAVE_JADLOG incorreta, ai eu recebo um retorno informado que as credenciais estão incorretas.
      Se eu digito MINHA_CHAVE_JADLOG corretamente, não recebo nenhum retorno.

      $dados = [
        'frete' => [
          'cepori' => '29010070',
          'cepdes' => '29300040',
          'frap' => '',
          'peso' => 2,
          'cnpj' => '00000000000100',
          'conta' => '000001',
          'contrato' => '',
          'modalidade' => 4,
          'tpentrega' => 'D',
          'tpseguro' => 'N',
          'vldeclarado' => 100,
          'vlcoleta' => ''
        ]
      ];
      $postfields = http_build_query($dados);
       
      $header = array();
      $header[] = 'Authorization: Bearer MINHA_CHAVE_JADLOG';
      $header[] = 'Content-Type: application/json';
      $header[] = 'description:';
       
      $curl = curl_init('https://www.jadlog.com.br/embarcador/api/frete/valor/');
      curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
       
      $exec = curl_exec($curl);
      $jadlog = json_decode($exec);
       
      curl_close($curl);
       
      print_r($jadlog);
    • Por DuRodrig
      Pessoal, bom dia! 
      Estou fazendo uma página com um cálculo simples de porcentagem.
      Existe um formuário que coloco o valor da venda, a comissão é fixa em 13% e a tarifa é um valor que você coloca também.
      Exemplo: (valor da venda) R$ 100,00 - (comissão 13%) - (tarifa) R$ 8,50 = (resultado) R$ 78,50, só que está gerando o resultado de R$ 79,00.
      Como faço para corrgir esse problema?
      Segue o código:

       
      $(function(){ $('#valorVenda').on('input', function() { calculate(); }); $('#tarifa').on('input', function() { calculate(); }); function calculate(){ var pPos = parseFloat($('#valorVenda').val()); var tar = parseFloat($('#tarifa').val()); var result = " "; if(isNaN(pPos) || isNaN(tar)){ }else{ result = ((pPos - ((13.00 * pPos) / 100.00)) - tar).toFixed(2); } $('#total').val(result); } });  
      Desde já agradeço.
    • Por TkCode
      Estou tentando desenvolver um código para calcular o valor final de custas de imoveis.
      Exemplo: Entro com um valor de R$50.000,00. Tem o ITBI que é 2% sob os R$50.000,00 + o valor de custas que é o valor de uma tabela (essa tabela tem valores que de R$0,01 até R$17.800,90 é uma valor, e assim sucessivamente)
       
      Então teria que calcular os 2% (do valor informado) + o valor da tabela, dando um resultado final com o valor total (2%+ValorTabela).
       
      Alguem teria como me dar uma dica de como resolver isso?
      Desde já agradeço!
    • Por Leo da Silva
      Boa noite
       
      Alguém poderia me ajudar qual o resultado que o console mostrará nesse caso ? Sou iniciante.
       
      function calc(input) {
      var total = 0;
      for (i = 0; i < 1001; i++){
       total = i + total;
      }
      return total + input;
      };
      console.log(calc(100) + 1);
    • Por biakelly
      Oi, vim do fórum de PHP,  eu havia postado uma dúvida lá, mas acredito e por recomendação que minha dúvida seja melhor aplicada aqui.
       
      Bem, estou fazendo uma página que precisa ter a cotação do Bitcoin.
      Nesta pagina preciso de 2 inputs um que traga o preço do bitcoin e outro que traga o preço em real.
      Ex: 1 Bitcoin custa R$ xxx,00 reais (valor padrão)
       
      Mas ao digitar R$100,00 no campo real ele precisa trazer o preço equivalente a quantidade de Bitcoins que vale R$100,00
      O mesmo para o Bitcoin, se eu digitar uma fração ele precisaria trazer o valor em Reais.
       
      Encontrei um site que faz isso (https://dolarhoje.com/bitcoin-hoje/), mas queria algo para minha página parecido
       
       
      Bem, até consigo pegar o valor com este código simples em PHP:
       
      <?php $url = 'https://www.mercadobitcoin.net/api/btc/ticker'; $result = file_get_contents($url); $result = json_decode($result, true); ?>  
      Será que em Javascript é possível fazer isso? Desculpem, entendo quase zero de Javascript
      Vocês conseguem me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.