文档详情

c++程序设计实践报告c++程序设计实践报告.doc

发布:2018-04-24约1.24万字共18页下载文档
文本预览下载声明
江苏科技大学 ? ? 课程实践报告 ? ? ? ? 设计题目: 程序设计(VC++)实践 设计时间 20 至 20 学院(系): 专业班级: 学生姓名: 学号 指导老师: ? 实践任务一(第1题) 一、程序设计基本题 试建立一个类PP,求出下列多项式的前n项的值。 1 n=0 Pn(x) = x n=1 ((2n-1)xPn-1(x)-(n-1)P n-2 (x)) n1 具体要求如下: 私有数据成员 int n:前若干项的项数。 double x:存放x的值。 double *p:根据n的大小动态申请存放Pn(x)前n项的数组空间。 共有成员函数 PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数据空间。 ~PP( ):析构函数,释放p指向的动态内存空间。 double fun(int n1,double x):递归函数,用于求多项式Pn(x)的第n1项。注意:将递归公式中的n用作函数参数。本函数供process函数调用。 void process( ):完成求前n项的工作,并将它们存放发到p指向的动态数组中。 void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。 在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,并输出多项式前num项的值。 二、系统设计 1、概要设计 通过类PP的成员函数process( )来求多项式Pn(x)的前n项的值,其中用fun( )函数来求第n项的值,根据n的大小来给数据成员p分配动态空间,程序结束前释放为分配的动态空间。 class PP { int n; double x; double *p; public: PP(int num,double x1){} void process( ){} void show( ){} }; ②类的主要成员函数的设计 double fun(int n1,double x) //设计函数来求Pn(x) { if(n1==0) return 1; else if(n1==1)return x; return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; } 三、系统测试 用以测试的数据为: 3 4 预期的输出结果为: n=3 x=4 1 4 23.5 154 四、实践小结 这道题主要是把题目看懂,其实只是一些简单的函数定义而已。 五、参考文献 [1]潘克勤,华伟,Visual C++程序设计 北京:中国铁道出版社 2008 #include iostream.h class PP { int n; double x; double *p; public: PP(int num,double x1){ n=num; x=x1; p=new double[n+1];} ~PP(){if(p)delete[]p;} double fun(int n1,double x) { if(n1==0)return 1; else if(n1==1)return x; return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1; } void process() { for(int i=0;in+1;i++) { p[i]=fun(i,x); } } void show() { coutn=n\tx=x\n; for(int i=0;in+1;i++) { coutp[i]\t; if((i+1)%4==0) cout\n; } } }; void main() { int num; double x1; cinnumx1; PP items(num,x1); items.fun(num,x1); items.process(); items.show(); } 实践任务二(第2题) 一、程序设计基本题 试建立一个类SP,求f(n,kpower(m,nm
显示全部
相似文档