分享
分销 收藏 举报 申诉 / 20
播放页_导航下方通栏广告

类型信息计算科学面向对象程序设计实验指导书.doc

  • 上传人:丰****
  • 文档编号:11116555
  • 上传时间:2025-07-02
  • 格式:DOC
  • 页数:20
  • 大小:39KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    信息 计算 科学 面向 对象 程序设计 实验 指导书
    资源描述:
    资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 《面向对象程序设计》 实 验 指 导 书 适用专业: 信息与计算科学 邵阳学院 理学系 前 言 《面向对象程序设计》是信息与计算科学专业本科生的一门专业选修课。面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、 封装性、 继承性和多态性于一体, 能够帮助人们开发出模块化、 数据抽象程度高的, 体现信息隐蔽、 可复用、 易修改、 易扩充等特性的程序。面向对象技术已广泛应用于计算机其它相关的领域, 如面向对象的网络协议、 面向对象的建模技术、 面向对象的数据库、 面向对象的系统分析与设计, 以及软件构架技术和基于组件对象模型的分布式多层设计技术。它的学习对信息与计算科学专业学生进一步学习起到了非常重要的作用。 经过本课程的学习要求学生了解结构化程序设计的基本思想及方法, 加深C语言的理解, 理解面向对象程序设计的基本思想及基本概念, 掌握C++语言基础, 理解类、 对象、 封装、 继承、 派生、 多态、 重载、 异常处理、 模板等概念, 初步掌握UML与面向对象的分析与设计, 理解标准模板库STL的使用方法, 理解Windows编程思想, 熟悉VC++的编程环境, 了解MFC编程方法, 结合实例使学生理解系统的开发过程和方法。 经过本课程的学习, 应熟练掌握面向对象的C++编程技术, 建立对象模型, 并熟悉C++的面向对象的各种特性, 初步掌握可视化面向对象编程技术 为了使学生更好地理解和深刻地把握以上知识, 并在此基础上, 训练和培养熟练掌握面向对象的C++编程技术, 建立对象模型, 并熟悉C++的面向对象的各种特性, 初步掌握可视化面向对象编程技术的技能, 设置了”Visual C++环境及程序设计基础练习”、 ”类、 对象、 继承、 方法重载及多态性练习”、 ”Windows编程基础练习”、 ”MFC编程练习”、 ”数据库编程练习”5个实验, 其中”数据库编程练习”为设计性实验。 各项实验主要了解、 掌握的具体知识, 训练及培养的技能见下面各实验目的。 本指导书各实验从C++编程基础、 类、 对象、 继承、 重载、 Windows编程、 MFC编程、 数据库编程等面向对象编程体系的各个方面对学生进行了训练, 培养其实际动手能力。 本指导书只适用于信息与计算科学专业。 实验1: 基本输入输出语句 实验学时: 2 实验类型: 验证 实验要求: 必修 一、 实验目的 经过本实验的学习, 使学生了解Visual C++的编程环境, 掌握C++的程序基础知识, 训练利用Visual C++编程环境的基本技能, 为今后继续学习面向对象的程序设计奠定基础。 二、 实验内容 1.上机实现第二章课后习题 三、 实验原理、 方法和手段 依据第一第二章所学C++的数据类型、 输入输出、 程序的基本结构与控制语句、 函数、 数组、 指针、 引用等知识, 根据各题的要求设计程序, 并上机编程、 调试, 最终实现各题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此每人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房。 六、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 八、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。 九、 其它说明 1.本次实验各题只是完成一个简单的程序, 也没有学到相关的知识, 因此同学们只能创立”C++ Source File”文件。 2.每做完一题, 先关闭工作空间, 然后再重新创立新的下一题的文件。 实验2: 顺序、 分支和循环结构程序设计 实验学时: 2 实验类型: 验证 实验要求: 必修 一、 实验目的 1.经过本实验, 加深对顺序、 分支和循环控制结构有关概念的理解。 2.熟练掌握while和for循环控制语句的特点, 掌握循环 结构程序设计和调试方法。 3.掌握二重循环结构程序的设计方法。 二、 实验内容 1.用for循环实现第二章课后习题9, 12。 2.编写并调试程序, 使用for循环控制语句实现上面的问 题。 3.阶乘累加问题。编写程序, 求1+2! +3! +…+n!的值。 三、 实验原理、 方法和手段 依据第一第二章所学C++的数据类型、 输入输出、 程序的基本结构与控制语句、 函数、 数组、 指针、 引用等知识, 根据各题的要求设计程序, 并上机编程、 调试, 最终实现各题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此每人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房。 六、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 八、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。 九、 其它说明 1.本次实验各题只是完成一个简单的程序, 也没有学到相关的知识, 因此同学们只能创立”C++ Source File”文件。 2.每做完一题, 先关闭工作空间, 然后再重新创立新的下一题的文件。 4. 实验3: 密钥加密 实验学时: 2 实验类型: 设计 实验要求: 必修 一、 实验目的 掌握一维数组的定义与使用。 掌握函数定义、 函数调用和函数说明的方法。 掌握函数递归调用的概念和使用方法。 理解C++程序的结构和特点。 熟悉C++程序基本的输入和输出操作。 掌握C++数据类型、 常量和变量以及修饰符的使用方法。 掌握C++的各种流程控制语句的使用。 二、 实验内容 将输入的一行字符以加密的形式输出, 然后将其解密, 解密的字符序列与输入的正文进行比较, 吻合时输出解密的正文, 否则输出解密失败。 加密时, 将每个字符的ASCII码依次重复加上4962873中的数字, 解密与加密顺序相反。 三、 实验原理、 方法和手段 依据所学面向对象程序设计基本概念、 string、 向量等知识, 根据该题的要求设计程序, 并上机编程、 调试, 最终实现该题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此没人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房 六、 实验步骤 1.实验前, 复习所学第一、 二、 三章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 八、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。 九、 其它说明 实验4: 去掉双斜杠注释 实验学时: 2 实验类型: 验证 实验要求: 必修 一、 实验目的 经过本实验的学习, 使学生了解文件流的知识, 训练文件打开和关闭, 向量, string流分流等基本操作, 为今后继续学习面向对象编程奠定基础。 二、 实验内容 设计一个程序从给定文件中读取一段程序代码, 该段代码包含大量注释内容, 要求该程序生成一个新文件, 这个文件里存储的是去掉了注释内容的程序代码。 三、 实验原理、 方法和手段 依据第二至六章所学数组, 文件输入输出, string分流, 向量等知识, 根据该题的要求设计程序, 并上机编程、 调试, 最终实现该题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此没人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房。 六、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 八、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。 九、 其它说明 实验5: 彼此两点距离最近 实验学时: 2 实验类型: 设计 实验要求: 必修 一、 实验目的 掌握C++数据类型、 常量和变量以及修饰符的使用方法。 掌握C++的各种流程控制语句的使用。 掌握函数定义、 函数调用和函数说明的方法。 二、 实验内容 用c++程序设计一个求解两点距离最近的算法。 三、 实验原理、 方法和手段 依据第二 至八章所学知识, 根据题目的要求设计程序, 并上机编程、 调试, 最终实现各题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此没人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房。 六、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 八、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。。 九、 其它说明 实验6: 简单类定义 实验学时: 2 实验类型: 设计 实验要求: 必修 一、 实验目的 掌握类、 类的数据成员、 类的成员函数的定义方式。 理解类成员的访问控制方式。 掌握对象的定义和操作对象的方法。 理解对象指针的概念, 学会用指针引用对象。 掌握静态数据成员和静态成员函数的基本使用方法。 理解友元与友元函数的作用, 掌握其使用方法。 掌握对象成员及其常类型的使用方法。 学会使用C++的多文件方式编写程序。 二、 实验内容 设计一个Student( 学生) 类, 并使Student类具有以下特点: 该类具有学生姓名、 学号、 程序设计、 信号处理、 数据结构三门课程的成绩。 学生全部信息由键盘输入, 以提高程序的适应性。 经过成员函数分别统计每个学生的平均成绩和每门课程的平均成绩, 当课程 数量增加或减少时成员函数无需修改仍可求取平均成绩。 输出学生的各科成绩与平均成绩。 学生对象的定义采用对象数组实现。 统计不及格学生人数。 表格输出整齐美观。 能以最方便的方式实现对课程数量和学生人数的修改。 采用多文件方式组织程序。 设计三个图形类: Circle( 圆) 、 Rectangle( 矩形) 、 Triangle( 三角形) , 要求: Circle 类基本信息: 圆心坐标、 半径; Rectangle 类基本信息: 长、 宽; Triangle 类基本信息: 三个顶点坐标; 其中: 成员变量为 private 属性, 成员函数为public 属性。 为Circle类设计缺省的构造函数, 并用init成员函数进行数据成员的初始化。 为其余两个类设计多个构造函数: 无参、 带参、 参数值缺省的构造函数。 每个图形类有计算图形的面积GetArea(), 计算图形的周长GetPerimeter(), 显示图形的基本信息函数Show(), 修改基本信息的函数Set(形参)。以Circle 类为例: 经过GetArea()计算圆的面积, GetPerimeter()计算圆的周长, Show()函数中显示圆心坐标、 直径、 周长、 面积等基本信息; Set(int x,int y, int r)函数能够修改圆心坐标和半径。 注意多个构造函数的声明方式与定义的实现。 当输入数据为不合理数据时(例如: 输入的三角形的顶点是否能组成一个三角形), 提示用户输入错误。 三、 实验原理、 方法和手段 依据第八至十四章所学知识, 根据各题的要求设计程序, 并上机编程、 调试, 最终实现各题的功能。 四、 实验条件 具有与学生数相同数目计算机的机房。 五、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 六、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。。 实验7: 继承、 多态 实验学时: 2 实验类型: 设计 实验要求: 必修 一、 实验目的 理解类的继承的概念, 能够定义和使用类的继承关系。 掌握派生类的声明与定义方法。 熟悉三种派生方式的访问特性。 掌握多基继承, 理解和掌握虚基类。 理解编译时的多态性和运行时的多态性。 掌握虚函数的定义与使用方法。 掌握纯虚函数和抽象类的概念和使用方法, 运用纯虚函数实现多态性。 二、 实验内容 定义点Point类作为基类, 在此基础上派生出直线Line类和圆Circle类, 在Circle类的基础上以不同的属性派生出圆柱Cylinder类和球Spheroid类。并要求基类和各派生类具有以下特点: Line类含有计算直线长度和斜率的成员函数。 Circle类含有计算圆面积的成员函数。 Cylinder类含有计算圆柱表面积和体积的成员函数。 Spheroid类含有计算球体的表面积和体积的成员函数。 要求在实验报告中画出类层次图。 在题目的基础上, 增加以下内容: 在Line类的基础上派生长方形Rectangle类和正方形Squre类, 并分别在长方形Rectangle类和正方形Squre类的基础上派生长方体Cuboid类和正方体SquareBody类, 并要求基类和各派生类具有计算各图形的周长、 面积和体积的功能, 要求用纯虚函数实现。 注: 可先定义一个抽象类---图形Figure类, 含有求周长、 面积、 体积的纯虚函数, 用此类进行派生。假设某个图形由上述几个图形组成, 求该图形的总面积( 若为平面图形) 或总体积( 若为立体图形) 。 三、 实验原理、 方法和手段 依据第九至十四章所学知识, 根据各题的要求设计程序, 并上机编程、 调试, 最终实现各题的功能。 四、 实验组织运行要求 由于该实验对学生的合作配合没有什么要求, 因此没人一台机器, 分别实现各程序的编程和调试。 五、 实验条件 具有与学生数相同数目计算机的机房。 六、 实验步骤 1.实验前, 复习所学第一、 二章的内容, 并在纸上设计编写好程序; 2.实验时, 上机输入编写好的程序、 编译、 调试、 实现程序的功能; 3.实验后, 认真总结实验中出现的各种出错、 意外的情况及调试的过程, 形成编程、 调试经验, 并认真填写好实验报告。 七、 实验报告 按照实验报告的要求完整填写各项内容, 仔细记录实验结果, 认真总结并写好实验总结。 附录: 实验报告的书写规范 项目名称 Ø 实验目的和要求 Ø 实验内容 Ø 实验步骤: 1. 问题分析和算法描述。 2. 对于较大的题目, 要叙述采用的数据结构方式。如类的层次结构及其各成员的含义与功能及其实现。 3. 能够给出分析的流程图、 数据流图、 类的层次结构图、 程序的结构图。 4. 能够附上源程序。 Ø 实验结果及其分析: 1. 实验结果: 1.1. 给出实验的结果及其形式( 如程序运行后的界面等) 1.2. 至少给出两组测试用例, 要具有针对性, 最好要有一个刁难性的用例。 2. 实验分析: 2.1. 对程序用例的测试结果分析, 如用例结果的正确性, 程序的功能、 可靠性、 健壮性、 缺陷等。 2.2. 对整个程序的调试或运行过程中所遇到的问题进行分析, 并说明你的解决方法。 2.3. 对本次实验的体会做个总结, 如有没有达到预期的目的和要求, 掌握了哪些知识, 学到了哪些方法, 还有哪些内容不够清晰, 今后将怎么做等等。特别要对实验过程中学到的分析问题、 遇到的问题、 解决问题的方法、 策略做个总结。
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:信息计算科学面向对象程序设计实验指导书.doc
    链接地址:https://www.zixin.com.cn/doc/11116555.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork