当前位置:首页 > C++课程实践作业
江苏科技大学 课程实践报告
设计题目:设计时间:学 院:专业班级:学生姓名:学号: 指导老师:
计算机程序设计实践(C++)
第一题:
一、实践任务:
1、试建立一个类PP,求出下列多项式的前n项的值。 1 n=0 Pn(x)= x n=1 ((2n-1)xPn-1(x)-(n-1)Pn-2(x))/n n>1 具体要求如下: ⑴私有数据成员。
①int n:前若干项的项数。 ②double x:存放x的值。
③double *p:根据n的大小动态申请存放P(前n项的数组空间。 nx)⑵共有成员函数:
①PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。
②~PP:析构函数,释放p指向的动态内存空间。
③double fun(int n1,double x1):递归函数,用于求多项式Pn(x)的第n1项。注意:将递归公式中的n用作函数参数 。本函数供process()函数调用。
④void process():完成求前n项的工作,并将它们存放到p指向的动态数组中。
⑤ void show():输出n和x,并将前n项以每行4个数的形式输出到屏幕上。
⑶在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用nun和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前nun项的值。 二、系统设计: ⑴类的描述与定义: class PP{ int n; double x; double *p; public:
PP(int num,double x1){ n=num;x=x1;p=new double[n]; }
~PP(){delete[]p;}
double fun(int n1,double x); void process(); void show(); };
⑵fun函数定义:
double fun(int n1,double x) {
if(n1==0)return 1;
else if(n1==1)return x;
else return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; }
⑶process函数定义: void process(){
for(int i=0;i int count=0; cout<<\输出n和x的值为:\ for(int i=0;i cout<<'\\n'; } ⑸main函数定义: void main() {
共分享92篇相关文档