信息计算科学面向对象程序设计实验指导书_第1页
信息计算科学面向对象程序设计实验指导书_第2页
信息计算科学面向对象程序设计实验指导书_第3页
信息计算科学面向对象程序设计实验指导书_第4页
信息计算科学面向对象程序设计实验指导书_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计实 验 指 导 书适用专业: 信息与计算科学 邵阳学院 理学系前 言面向对象程序设计是信息与计算科学专业本科生的一门专业选修课。面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。面向对象技术已广泛应用于计算机其他相关的领域,如面向对象的网络协议、面向对象的建模技术、面向对象的数据库、面向对象的系统分析与设计,以及软件构架技术和基于组件对象模型的分布式多层设计技术。它的学习对信息与计算科学专业学生进一步学

2、习起到了非常重要的作用。通过本课程的学习要求学生了解结构化程序设计的基本思想及方法,加深C语言的理解,理解面向对象程序设计的基本思想及基本概念,掌握C+语言基础,理解类、对象、封装、继承、派生、多态、重载、异常处理、模板等概念,初步掌握UML与面向对象的分析与设计,理解标准模板库STL的使用方法,理解Windows编程思想,熟悉VC+的编程环境,了解MFC编程方法,结合实例使学生理解系统的开发过程和方法。通过本课程的学习,应熟练掌握面向对象的C+编程技术,建立对象模型,并熟悉C+的面向对象的各种特性,初步掌握可视化面向对象编程技术为了使学生更好地理解和深刻地把握以上知识,并在此基础上,训练和培

3、养熟练掌握面向对象的C+编程技术,建立对象模型,并熟悉C+的面向对象的各种特性,初步掌握可视化面向对象编程技术的技能,设置了“Visual C+环境及程序设计基础练习”、“类、对象、继承、方法重载及多态性练习”、“Windows编程基础练习”、“MFC编程练习”、“数据库编程练习”5个实验,其中“数据库编程练习”为设计性实验。各项实验主要了解、掌握的具体知识,训练及培养的技能见下面各实验目的。本指导书各实验从C+编程基础、类、对象、继承、重载、Windows编程、MFC编程、数据库编程等面向对象编程体系的各个方面对学生进行了训练,培养其实际动手能力。本指导书只适用于信息与计算科学专业。实验1:

4、基本输入输出语句实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习,使学生了解Visual C+的编程环境,掌握C+的程序基础知识,训练利用Visual C+编程环境的基本技能,为今后继续学习面向对象的程序设计奠定基础。 二、实验内容1上机实现第二章课后习题三、实验原理、方法和手段依据第一第二章所学C+的数据类型、输入输出、程序的基本结构与控制语句、函数、数组、指针、引用等知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么要求,因此每人一台机器,分别实现各程序的编程和调试。五、实验条件具有与学生数相同数目

5、计算机的机房。六、实验步骤1实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。八、实验报告按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。九、其它说明1本次实验各题只是完成一个简单的程序,也没有学到相关的知识,所以同学们只能创建“C+ Source File”文件。2每做完一题,先关闭工作空间,然后再重新创建新的下一题的文件。实验2:顺序、分支和循环结构程序设计实验学时:2实验类型:验证实验要

6、求:必修一、实验目的1通过本实验,加深对顺序、分支和循环控制结构有关概念的理解。2熟练掌握while和for循环控制语句的特点,掌握循环结构程序设计和调试方法。3掌握二重循环结构程序的设计方法。二、实验内容1用for循环实现第二章课后习题9,12。2编写并调试程序,使用for循环控制语句实现上面的问题。3.阶乘累加问题。编写程序,求1+2!+3!+n!的值。三、实验原理、方法和手段依据第一第二章所学C+的数据类型、输入输出、程序的基本结构与控制语句、函数、数组、指针、引用等知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么

7、要求,因此每人一台机器,分别实现各程序的编程和调试。五、实验条件具有与学生数相同数目计算机的机房。六、实验步骤1实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。八、实验报告按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。九、其它说明1本次实验各题只是完成一个简单的程序,也没有学到相关的知识,所以同学们只能创建“C+ Source File”文件。2每做完一题,先关闭工作空间,然后再重新创建新

8、的下一题的文件。4实验3:密钥加密实验学时:2实验类型:设计实验要求:必修一、实验目的掌握一维数组的定义与使用。掌握函数定义、函数调用和函数说明的方法。掌握函数递归调用的概念和使用方法。理解C程序的结构和特点。熟悉C程序基本的输入和输出操作。掌握C数据类型、常量和变量以及修饰符的使用方法。掌握C的各种流程控制语句的使用。2、 实验内容将输入的一行字符以加密的形式输出,然后将其解密,解密的字符序列与输入的正文进行比较,吻合时输出解密的正文,否则输出解密失败。加密时,将每个字符的ASCII码依次反复加上4962873中的数字,解密与加密顺序相反。三、实验原理、方法和手段依据所学面向对象程序设计基本

9、概念、string、向量等知识,根据该题的要求设计程序,并上机编程、调试,最终实现该题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么要求,因此没人一台机器,分别实现各程序的编程和调试。五、实验条件具有与学生数相同数目计算机的机房六、实验步骤1实验前,复习所学第一、二、三章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。八、实验报告按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。9、 其它说明实验4:去

10、掉双斜杠注释实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习,使学生了解文件流的知识,训练文件打开和关闭,向量,string流分流等基本操作,为今后继续学习面向对象编程奠定基础。二、实验内容 设计一个程序从给定文件中读取一段程序代码,该段代码包含大量注释内容,要求该程序生成一个新文件,这个文件里存储的是去掉了注释内容的程序代码。三、实验原理、方法和手段依据第二至六章所学数组,文件输入输出,string分流,向量等知识,根据该题的要求设计程序,并上机编程、调试,最终实现该题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么要求,因此没人一台机器,分别实现各程序的编

11、程和调试。五、实验条件具有与学生数相同数目计算机的机房。六、实验步骤1实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。八、实验报告按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。九、其它说明实验5:彼此两点距离最近实验学时:2实验类型:设计实验要求:必修1、 实验目的掌握C数据类型、常量和变量以及修饰符的使用方法。掌握C的各种流程控制语句的使用。掌握函数定义、函数调用和函数说明的方法。二、实

12、验内容 用c+程序设计一个求解两点距离最近的算法。三、实验原理、方法和手段依据第二 至八章所学知识,根据题目的要求设计程序,并上机编程、调试,最终实现各题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么要求,因此没人一台机器,分别实现各程序的编程和调试。五、实验条件具有与学生数相同数目计算机的机房。六、实验步骤1实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。八、实验报告按照实验报告的要求完整填写各项内容,

13、仔细记录实验结果,认真总结并写好实验总结。9、 其它说明实验6:简单类定义实验学时:2实验类型:设计实验要求:必修一、实验目的掌握类、类的数据成员、类的成员函数的定义方式。理解类成员的访问控制方式。掌握对象的定义和操作对象的方法。理解对象指针的概念,学会用指针引用对象。掌握静态数据成员和静态成员函数的基本使用方法。理解友元与友元函数的作用,掌握其使用方法。掌握对象成员及其常类型的使用方法。学会使用C+的多文件方式编写程序。二、实验内容 设计一个Student(学生)类,并使Student类具有以下特点:该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩。学生全部信息由键盘输入,

14、以提高程序的适应性。通过成员函数分别统计每个学生的平均成绩和每门课程的平均成绩,当课程 数量增加或减少时成员函数无需修改仍可求取平均成绩。输出学生的各科成绩与平均成绩。学生对象的定义采用对象数组实现。统计不及格学生人数。表格输出整齐美观。 能以最方便的方式实现对课程数量和学生人数的修改。采用多文件方式组织程序。设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形),要求:Circle 类基本信息:圆心坐标、半径;Rectangle 类基本信息:长、宽;Triangle 类基本信息:三个顶点坐标;其中:成员变量为 private 属性,成员函数为public

15、属性。为Circle类设计缺省的构造函数,并用init成员函数进行数据成员的初始化。为其余两个类设计多个构造函数:无参、带参、参数值缺省的构造函数。每个图形类有计算图形的面积GetArea(),计算图形的周长GetPerimeter(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,GetPerimeter()计算圆的周长,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;Set(int x,int y, int r)函数可以修改圆心坐标和半径。注意多个构造函数的声明方式与定义的实现。当输入数据为不合

16、理数据时(例如:输入的三角形的顶点是否能组成一个三角形),提示用户输入错误。三、实验原理、方法和手段依据第八至十四章所学知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。四、实验条件具有与学生数相同数目计算机的机房。五、实验步骤1实验前,复习所学第一、二章的内容,并在纸上设计编写好程序;2实验时,上机输入编写好的程序、编译、调试、实现程序的功能;3实验后,认真总结实验中出现的各种出错、意外的情况及调试的过程,形成编程、调试经验,并认真填写好实验报告。六、实验报告按照实验报告的要求完整填写各项内容,仔细记录实验结果,认真总结并写好实验总结。实验7:继承、多态实验学时:2实验类型

17、:设计实验要求:必修一、实验目的理解类的继承的概念,能够定义和使用类的继承关系。掌握派生类的声明与定义方法。熟悉三种派生方式的访问特性。掌握多基继承,理解和掌握虚基类。理解编译时的多态性和运行时的多态性。掌握虚函数的定义与使用方法。掌握纯虚函数和抽象类的概念和使用方法,运用纯虚函数实现多态性。二、实验内容 定义点Point类作为基类,在此基础上派生出直线Line类和圆Circle类,在Circle类的基础上以不同的属性派生出圆柱Cylinder类和球Spheroid类。并要求基类和各派生类具有以下特点: Line类含有计算直线长度和斜率的成员函数。Circle类含有计算圆面积的成员函数。Cyl

18、inder类含有计算圆柱表面积和体积的成员函数。Spheroid类含有计算球体的表面积和体积的成员函数。要求在实验报告中画出类层次图。在题目的基础上,增加以下内容:在Line类的基础上派生长方形Rectangle类和正方形Squre类,并分别在长方形Rectangle类和正方形Squre类的基础上派生长方体Cuboid类和正方体SquareBody类,并要求基类和各派生类具有计算各图形的周长、面积和体积的功能,要求用纯虚函数实现。注:可先定义一个抽象类-图形Figure类,含有求周长、面积、体积的纯虚函数,用此类进行派生。假设某个图形由上述几个图形组成,求该图形的总面积(若为平面图形)或总体积(若为立体图形)。三、实验原理、方法和手段依据第九至十四章所学知识,根据各题的要求设计程序,并上机编程、调试,最终实现各题的功能。四、实验组织运行要求由于该实验对学生的合作配合没有什么要求,因此没人一台机器,分别实现各程序的编程和调试。五、实验条件具有与学生数相同数目计算机的机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论