面向对象程序设计:辛普森法求积分

简介: 面向对象程序设计:辛普森法求积分

#include <iostream.h>
#include <math.h>
class Base{
public://为了简化,数字域取公有
  double result,a,b,step;//Intevalue积分值,a积分下限,b积分上限
  int n;
  virtual double fun(double x)      (1)       ;//被积函数声明为纯虚函数
  virtual void Integerate(){
  cout<<"这里是积分函数"<<endl;
  }
  Base(double ra=0,double rb=0,int nn=2000){
  a=ra;   b=rb;  n=nn;  result=0;
  }
void Print(){
  cout.precision(15);
  cout<<"积分值="<<result<<endl;
  }
};
class Simpson:public Base{
public:
  void Integerate(){
  int i;
  step=(b-a)/n;
  result=      (2)       ;
  for(i=1;i<n;i+=2) result=      (3)       ;
  for(i=2;i<n;i+=2) result=      (4)       ;
  result=      (5)       ;
  }
  Simpson(double ra,double rb,int nn):      (6)        {}
};
class sinS:public Simpson{//辛普生法
public:
  sinS(double ra,double rb,int nn):      (7)       {}
  double fun(double x){return sin(x);}
};
class expS: public sinS {
public:
  expS(double ra,double rb,int nn):      (8)       {}
  double fun(double x){return exp(x);}
}; 
void main(){
  Base *bp;
  sinS ss(0.0,3.1415926535/2.0,100);
  bp=      (9)       ;
  bp->Integerate();
  bp->Print();
  expS es(0.0,1.0,100);
  bp=      (10)       ;
  bp->Integerate();
  bp->Print(); 
}

(1) 【 正确答案: 1=0】

(2)【 正确答案: fun(a)+fun(b)】

(3)【 正确答案: result+4fun(istep+a)】

(4)【 正确答案: result+2fun(istep+a)】

(5)【 正确答案: result*step/3】

(6)【 正确答案: Base(ra,rb,nn)】

(7)【 正确答案: Simpson(ra,rb,nn)】

(8)【 正确答案: sinS(ra,rb,nn)】

(9)【 正确答案: &ss】

(10)【 正确答案: &es】


目录
打赏
0
0
0
0
54
分享
相关文章
【C语言程序设计】数组程序设计
【C语言程序设计】数组程序设计
156 0
【零钱问题】C语言贪心算法分析(文末彩蛋)
【零钱问题】C语言贪心算法分析(文末彩蛋)
225 0
【C语言程序设计】函数程序设计
【C语言程序设计】函数程序设计
146 0
|
10月前
|
【C语言程序设计】循环结构程序设计
【C语言程序设计】循环结构程序设计
169 0
【C语言程序设计】顺序结构程序设计
【C语言程序设计】顺序结构程序设计
232 0
【C++精华铺】6.C++类和对象(下)类与对象补充及编译器优化
构造函数的初始化列表及其行为、static成员(函数,变量)、友元(函数,类)、内部类、匿名对象、对象拷贝时的编译器优化
107 0
Java面向对象程序设计综合练习3(判断题)
Java面向对象程序设计综合练习3(判断题)
160 0
c语言程序设计 编程题
20.求数字:输出 100(含 100)-200(含 200)以内的满足以下条件的数,条件 为:这个数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,输出这样的数。 #include <stdio.h> void main() { int i; for (i = 100; i <= 200; i++) if ((i + 3) % 5 == 0 && (i - 3) % 6 == 0) printf("%d,", i); } 21.求数字:找出乘积为 399 的两个相邻奇数。 #include <stdio.h> void main() { int i = 1; whil
160 0
c语言程序设计 编程题
8.求年龄:有 5 个人坐在一起,问第 5 个人多少岁,他说比第 4 个人大 2 岁。问 第 4 个人多少岁,他说比第 3 个人大 2 岁。问第 3 个人多少岁,他说比第 2 个 人大 2 岁。问第 2 个人多少岁,他说比第 1 个人大 2 岁。最后问第 1 个人,他 说是 10 岁。请问第 5 个人多大? #include <stdio.h> int age(int n) { if (n == 1) return 10; return age(n - 1) + 2; } void main() { printf("%d", age(5)); } 9.猴子吃桃问题:猴子第一天摘下若干个
115 0

相关实验场景

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等