实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业

上传人:第*** 文档编号:34205180 上传时间:2018-02-21 格式:DOC 页数:13 大小:93.50KB
返回 下载 相关 举报
实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业_第1页
第1页 / 共13页
实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业_第2页
第2页 / 共13页
实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业_第3页
第3页 / 共13页
实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业_第4页
第4页 / 共13页
实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业》由会员分享,可在线阅读,更多相关《实验指导书-面向对象程序设计与实践(1)_蓝色为验收作业(13页珍藏版)》请在金锄头文库上搜索。

1、 北 京 邮 电 大 学计 算 机 学 院面向对象程序设计与实践(1)实验指导书宽带网研究中心 编著2009 年 8 月2实 验 要 求1. 实验前必须做好充分预习,写出简要的预习报告。实验前教师检查学生的预习报告。2. 实验时遵守实验室各项规章制度,不迟到,不做与实验无关的事情,爱护实验设备,保持室内安静。3. 实验结束后,先关闭实验设备,切断电源,并将实验设备恢复原状,整理好实验桌及周围环境卫生。4. 实验结束后,要求撰写实验报告。3目 录实验一 简单 C程序设计 .4实验二 类与对象 .6实验三 数组与指针 .8实验四 继承与派生 .10实验五 多态性 .11实验六 流式 IO .12实

2、验七 C程序设计应用 .134实验一 简单 C程序设计一、 实验类别:设计性 操作性二、 实验目的:1、 熟悉C编程环境,掌握在 Dev-C+开发环境下编写、编译、调试和执行C 程序的方法。2、 掌握C基本语法、数据类型和程序控制结构,能够编写简单C 程序。三、 实验学时:4四、 实验组人数:1五、 实验设备环境:1、 PC计算机一台;2、 Dev-C开发环境。六、 实验内容和要求:1、 猜价格游戏编写 C+程序完成以下功能:(1) 假定有一件商品,程序用随机数指定该商品的价格(1-1000 的整数) ;(2) 提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示;(3

3、) 直到猜对为止,并给出提示。2、 计算 N 以内的所有素数编写 C+程序完成以下功能:(1) 提示用户输入 N;(2) 计算出从 2 到 N 之间的所有素数;(3) 将结果保存在一个文本文件中。3、 袋中取球编写 C+程序完成以下功能(使用 enum):(1) 袋子中有 red, yellow, blue, white, black 五种颜色的球多个;(2) 一次从袋子里取出 3 个颜色不同的球,有几种取法;(3) 将每种方法的所有取法输出到屏幕上。4、 乘法口诀表编写 C+程序完成以下功能:(1) 输出乘法口诀表;(2) 显示格式如下所示。51*1=1 1*2=2 1*3=3 . 1*9=

4、92*2=4 2*3=6 . 2*9=183*3=9 . 3*9=27.9*9=815、 最大公约数和最小公倍数编写 C+程序完成以下功能:(1) 提示用户输入两个无符号整数;(2) 计算两者的最大公约数和最小公倍数,并输出。6、 计算 Fibonacci 级数fib(1) = fib(2) = 1fib(n) = fib(n-1) + fib(n-2)分别编写递归和非递归的 C+程序完成以下功能:(1) 提示用户输入整数 n;(2) fib(n),并输出结果。7、 计算 n 阶勒让德多项式 1)( )(1()12( 0 ) 2nnxPxxPnn编写 C+程序完成以下功能:(1) 提示用户输入

5、整数 n 和实数 x;(2) Pn(x),并输出结果。实验二 类与对象一、实验类别:设计性 操作性二、实验目的:1、 理解面向对象程序设计的基本思想。2、 掌握面向对象程序设计的重要概念类和对象。3、 掌握用类分析问题的基本方法,并用C编程实现。三、实验学时:4四、实验组人数:1五、实验设备环境:1、 PC计算机一台;2、 Dev-C开发环境。六、实验内容和要求:1、 矩形编写 C+程序完成以下功能:(1) 定义一个 Point 类,其属性包括点的坐标,提供计算两点之间距离的方法;(2) 定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;(3) 创建一个矩形对象,提示用户输入

6、矩形左上角和右下角的坐标;(4) 观察矩形对象以及 Point 类成员的构造函数与析构函数的调用;(5) 计算其面积,并输出。2、 圆形编写 C+程序完成以下功能:(1) 定义一个 Point 类,其属性包括点的坐标,提供计算两点之间距离的方法;(2) 定义一个圆形类,其属性包括圆心和半径;(3) 创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。3、 友元编写 C+程序完成以下功能:(1) 定义一个 Boat 和 Car 两个类,他们都具有私用属性重量;(2) 编写一个函数,计算两者的重量和。double TotalWeight(Boat74、 分数编写 C+程序

7、完成以下功能:(1) 定义一个分数类,他们都具有私用属性分子和分母;(2) 定义分数类的构造函数和析构函数;(3) 定义方法 Set,设置分子和分母;(4) 定义方法 print,打印分数,格式如:2/7 ;(5) 定义方法 value,返回 double 型的分数值;(6) 定义方法 invert, 分子和分母交换。实验三 数组与指针一、实验类别:设计性 操作性二、实验目的:1、 理解面向对象程序实际的数据结构。2、 掌握C中利用数组和指针组织数据的方法。三、实验学时:4四、实验组人数:1五、实验设备环境:1、 PC计算机一台;2、 Dev-C开发环境。六、试验内容和要求1、 矩阵(一)编写

8、C+程序完成以下功能:(1) 假定矩阵大小为 45(整型数组表示) ;(2) 定义矩阵初始化函数,可以从 cin 中输入矩阵元素;(3) 定义矩阵输出函数,将矩阵格式化输出到 cout;(4) 定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;(5) 定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;(6) 定义三个矩阵:A1、 A2、A3;(7) 初始化 A1、A2;(8) 计算并输出:A3 = A1 加 A2,A3 = A1 减 A2。2、 矩阵(二)编写C+程序完成以下功能:(1) 假定矩阵大小为 45(整型) ;(2) 矩阵空间采用 new 动态申请

9、,保存在指针中;(3) 定义矩阵初始化函数,可以从 cin 中输入矩阵元素;(4) 定义矩阵输出函数,将矩阵格式化输出到 cout;(5) 定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;(6) 定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;(7) 动态申请三个矩阵:A1 、A2 、A3;(8) 初始化 A1、A2;9(9) 计算并输出 A3 = A1 加 A2,A3 = A1 减 A2;(10) 释放矩阵空间。3、 矩阵(三)编写C+程序完成以下功能:(1) 用类来实现矩阵,定义一个矩阵的类,属性包括: 矩阵大小,用 lines, rows(行、列来

10、表示) ; 存贮矩阵的数组指针,根据矩阵大小动态申请(new) 。(2) 矩阵类的方法包括: 构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组; 析构函数,需要释放矩阵的数组指针; 拷贝构造函数,需要申请和复制数组; 输入,可以从 cin 中输入矩阵元素; 输出,将矩阵格式化输出到 cout; 矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵类,但必须矩阵大小相同; 矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵类,但必须矩阵大小相同。(3) 定义三个矩阵:A1、 A2、A3;(4) 初始化 A1、A2;(5) 计算并输出 A3 = A1 加 A2,A3=A1 减

11、 A2;(6) 用 new 动态创建三个矩阵类的对象:pA1 、pA1、pA3;(7) 初始化 pA1、pA2;(8) 计算并输出 pA3=pA1 加 pA2,pA3=pA1 减 pA2;(9) 释放 pA1、pA1、pA3。4、 字符串翻转编写C+程序完成以下功能:(1) 输入一段字符串;(2) 将字符串翻转以后输出(不要利用库函数) 。5、 函数指针实现二分法求解方程。编写以下函数求方程 f(x)=0的解:double RolveRoot(double (*pf)(double x), double a, double b, int n);其中pf是一个函数指针(指向f(x)) ,Rolv

12、eRoot(),用来获得f(x)=0在区间a ,b内的解,f(x) 的形式如 f(x)=x*x-3x+6等。a,b 指定了方程 f(x)=0解存在的区间。n是迭代次数,次数越多,精度越高。二分法的步骤:(1) 计算 f(a) 、f(b)、f(a+b)/2);(2) 若 f(a)与 f(a+b)/2)异号,则在a,(a+b)/2区间内有解,令 b = (a+b)/2, 回到第一步继续迭代,直到到达足够精度;(3) 否则,令 a = (a+b)/2, 回到第一步继续迭代,直到到达足够精度。实现RolveRoot() ,并采用不同 f(x) 验证。10实验四 继承与派生一、实验类别:设计性 操作性二

13、、实验目的:1、 理解面向对象程序设计中继承与派生的概念。2、 掌握C中采用类的继承与派生解决问题的方法。三、实验学时:2四、实验组人数:1五、实验设备环境:1、 PC计算机一台;2、 Dev-C开发环境。六、实验内容和要求:1、 形状(一)编写C+程序完成以下功能:(1) 声明一个基类 Shape(形状) ,其中包含一个方法来计算面积;(2) 从 Shape 派生两个类矩形和圆形;(3) 从矩形派生正方形;(4) 分别实现派生类构造函数、析构函数和其他方法;(5) 创建派生类的对象,观察构造函数、析构函数调用次序;(6) 不同对象计算面积。2、 形状(二)虚函数(1) 将【形状(一) 】 中的基类计算面积的方法定义为虚函数,比较与【形状(一) 】程序的差异;(2) 将【形状(一) 】中的基类定义抽象类,比较与【

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号