信息计算科学面向对象程序设计实验指导书Word格式文档下载.docx
- 文档编号:22686270
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:14
- 大小:20.42KB
信息计算科学面向对象程序设计实验指导书Word格式文档下载.docx
《信息计算科学面向对象程序设计实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《信息计算科学面向对象程序设计实验指导书Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
各项实验主要了解、掌握的具体知识,训练及培养的技能见下面各实验目的。
本指导书各实验从C++编程基础、类、对象、继承、重载、Windows编程、MFC编程、数据库编程等面向对象编程体系的各个方面对学生进行了训练,培养其实际动手能力。
本指导书只适用于信息与计算科学专业。
实验1:
基本输入输出语句
实验学时:
2
实验类型:
验证
实验要求:
必修
一、实验目的
通过本实验的学习,使学生了解VisualC++的编程环境,掌握C++的程序基础知识,训练利用VisualC++编程环境的基本技能,为今后继续学习面向对象的程序设计奠定基础。
二、实验内容
1.上机实现第二章课后习题
三、实验原理、方法和手段
依据第一第二章所学C++的数据类型、输入输出、程序的基本结构与控制语句、函数、数组、指针、引用等知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。
四、实验组织运行要求
由于该实验对学生的合作配合没有什么要求,因此每人一台机器,分别实现各程序的编程和调试。
五、实验条件
具有与学生数相同数目计算机的机房。
六、实验步骤
1.实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;
2.实验时,上机输入编写好的程序、编译、调试、实现程序的功能;
3.实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。
八、实验报告
按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。
九、其它说明
1.本次实验各题只是完成一个简单的程序,也没有学到相关的知识,所以同学们只能创建“C++SourceFile”文件。
2.每做完一题,先关闭工作空间,然后再重新创建新的下一题的文件。
实验2:
顺序、分支和循环结构程序设计
1.通过本实验,加深对顺序、分支和循环控制结构有关概念的理解。
2.熟练掌握while和for循环控制语句的特点,掌握循环
结构程序设计和调试方法。
3.掌握二重循环结构程序的设计方法。
1.用for循环实现第二章课后习题9,12。
2.编写并调试程序,使用for循环控制语句实现上面的问
题。
3.阶乘累加问题。
编写程序,求1+2!
+3!
+…+n!
的值。
4.
实验3:
密钥加密
设计
掌握一维数组的定义与使用。
掌握函数定义、函数调用和函数说明的方法。
掌握函数递归调用的概念和使用方法。
理解C++程序的结构和特点。
熟悉C++程序基本的输入和输出操作。
掌握C++数据类型、常量和变量以及修饰符的使用方法。
掌握C++的各种流程控制语句的使用。
2、实验内容
将输入的一行字符以加密的形式输出,然后将其解密,解密的字符序列与输入的正文进行比较,吻合时输出解密的正文,否则输出解密失败。
加密时,将每个字符的ASC
码依次反复加上4962873中的数字,解密与加密顺序相反。
依据所学面向对象程序设计基本概念、string、向量等知识,根据该题的要求设计程序,并上机编程、调试,最终实现该题的功能。
由于该实验对学生的合作配合没有什么要求,因此没人一台机器,分别实现各程序的编程和调试。
具有与学生数相同数目计算机的机房
1.实验前,复习所学第一、二、三章的内容,并在纸上设计编写好程序;
9、其它说明
实验4:
去掉双斜杠注释
通过本实验的学习,使学生了解文件流的知识,训练文件打开和关闭,向量,string流分流等基本操作,为今后继续学习面向对象编程奠定基础。
设计一个程序从给定文件中读取一段程序代码,该段代码包含大量注释内容,要求该程序生成一个新文件,这个文件里存储的是去掉了注释内容的程序代码。
依据第二至六章所学数组,文件输入输出,string分流,向量等知识,根据该题的要求设计程序,并上机编程、调试,最终实现该题的功能。
实验5:
彼此两点距离最近
1、实验目的
用c++程序设计一个求解两点距离最近的算法。
依据第二至八章所学知识,根据题目的要求设计程序,并上机编程、调试,最终实现各题的功能。
。
实验6:
简单类定义
掌握类、类的数据成员、类的成员函数的定义方式。
理解类成员的访问控制方式。
掌握对象的定义和操作对象的方法。
理解对象指针的概念,学会用指针引用对象。
掌握静态数据成员和静态成员函数的基本使用方法。
理解友元与友元函数的作用,掌握其使用方法。
掌握对象成员及其常类型的使用方法。
学会使用C++的多文件方式编写程序。
设计一个Student(学生)类,并使Student类具有以下特点:
该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩。
学生全部信息由键盘输入,以提高程序的适应性。
通过成员函数分别统计每个学生的平均成绩和每门课程的平均成绩,当课程数量增加或减少时成员函数无需修改仍可求取平均成绩。
输出学生的各科成绩与平均成绩。
学生对象的定义采用对象数组实现。
统计不及格学生人数。
表格输出整齐美观。
能以最方便的方式实现对课程数量和学生人数的修改。
采用多文件方式组织程序。
设计三个图形类:
Circle(圆)、Rectangle(矩形)、Triangle(三角形),要求:
Circle类基本信息:
圆心坐标、半径;
Rectangle类基本信息:
长、宽;
Triangle类基本信息:
三个顶点坐标;
其中:
成员变量为private属性,成员函数为public属性。
为Circle类设计缺省的构造函数,并用init成员函数进行数据成员的初始化。
为其余两个类设计多个构造函数:
无参、带参、参数值缺省的构造函数。
每个图形类有计算图形的面积GetArea(),计算图形的周长GetPerimeter(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。
以Circle类为例:
通过GetArea()计算圆的面积,GetPerimeter()计算圆的周长,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;
Set(intx,inty,intr)函数可以修改圆心坐标和半径。
注意多个构造函数的声明方式与定义的实现。
当输入数据为不合理数据时(例如:
输入的三角形的顶点是否能组成一个三角形),提示用户输入错误。
依据第八至十四章所学知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。
四、实验条件
五、实验步骤
六、实验报告
实验7:
继承、多态
理解类的继承的概念,能够定义和使用类的继承关系。
掌握派生类的声明与定义方法。
熟悉三种派生方式的访问特性。
掌握多基继承,理解和掌握虚基类。
理解编译时的多态性和运行时的多态性。
掌握虚函数的定义与使用方法。
掌握纯虚函数和抽象类的概念和使用方法,运用纯虚函数实现多态性。
定义点Point类作为基类,在此基础上派生出直线Line类和圆Circle类,在Circle类的基础上以不同的属性派生出圆柱Cylinder类和球Spheroid类。
并要求基类和各派生类具有以下特点:
Line类含有计算直线长度和斜率的成员函数。
Circle类含有计算圆面积的成员函数。
Cylinder类含有计算圆柱表面积和体积的成员函数。
Spheroid类含有计算球体的表面积和体积的成员函数。
要求在实验报告中画出类层次图。
在题目的基础上,增加以下内容:
在Line类的基础上派生长方形Rectangle类和正方形Squre类,并分别在长方形Rectangle类和正方形Squre类的基础上派生长方体Cuboid类和正方体SquareBody类,并要求基类和各派生类具有计算各图形的周长、面积和体积的功能,要求用纯虚函数实现。
注:
可先定义一个抽象类---图形Figure类,含有求周长、面积、体积的纯虚函数,用此类进行派生。
假设某个图形由上述几个图形组成,求该图形的总面积(若为平面图形)或总体积(若为立体图形)。
依据第九至十四章所学知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。
七、实验报告
附录:
实验报告的书写规范
项目名称
Ø
实验目的和要求
实验内容
实验步骤:
1.问题分析和算法描述。
2.对于较大的题目,要叙述采用的数据结构方式。
如类的层次结构及其各成员的含义与功能及其实现。
3.可以给出分析的流程图、数据流图、类的层次结构图、程序的结构图。
4.可以附上源程序。
实验结果及其分析:
1.实验结果:
1.1.给出实验的结果及其形式(如程序运行后的界面等)
1.2.至少给出两组测试用例,要具有针对性,最好要有一个刁难性的用例。
2.实验分析:
2.1.对程序用例的测试结果分析,如用例结果的正确性,程序的功能、可靠性、健壮性、缺陷等。
2.2.对整个程序的调试或运行过程中所遇到的问题进行分析,并说明你的解决方法。
2.3.对本次实验的体会做个总结,如有没有达到预期的目的和要求,掌握了哪些知识,学到了哪些方法,还有哪些内容不够清晰,今后将怎么做等等。
尤其要对实验过程中学到的分析问题、遇到的问题、解决问题的方法、策略做个总结。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 计算 科学 面向 对象 程序设计 实验 指导书