“计算机程序设计”实验教学大纲.docx
《“计算机程序设计”实验教学大纲.docx》由会员分享,可在线阅读,更多相关《“计算机程序设计”实验教学大纲.docx(13页珍藏版)》请在咨信网上搜索。
“计算机程序设计”实验教学大纲 课程中文名称:计算机程序设计课程英文名称:C++Programming 课程编号:COMP 1001实验学时:32学时,本课程总学时为64学时,实验学时占总学时的50%。 学分:课程总学分为3适用专业:一、二年级学生 先修课程:大学计算机基础开课学期:春、秋季 一、实验课程简介 本实验旨在使学生了解程序设计语言的基本知识,掌握程序设计的编程 方法与调试技术。其实验内容分为二个局部,第一,介绍程序设计语言基础, 包括程序设计语言概述、数据类型、运算符和表达式、控制结构、数组类型、 函数、编译预处理、结构体和共用体、指针和文件;第二局部为介绍面向对 象技术,包括类和对象、继承与派生、多态性、模板。 二、实验课性质、目的和任务 性质:”计算机程序设计”是面向非计算机类各专业的必修计算机类基础 课程,实验在这门课程的教学中具有重要的作用,是课程的重要组成局部。。 目的:帮助学生理解和掌握课程内容,训练学生的编程能力和程序调试 能力。 任务: (1)理解函数模板和类模板的概念。 (2)能够编写和使用函数模板和类模板。 (3)理解异常处理机制。 (4)编写具有异常处理功能的程序。 实验内容提要: (1)编写一个求绝对值的函数模板,并测试。 (2)请将的冒泡排序函数改写成为模板函数并编写一个程序进行测试。 (3)编写同时带有虚拟类型参数和常规参数的函数模板,其功能是求数 组的前n个数的和,它有两个参数:一个是数组,类型为T (模板类型参数, 虚参);另一个参数是整型(常规参数),表示待求和元素的个数。函数的返 回类型为T,返回值表示计算结果(和)。 在主函数中定义两个数组,一个为整型,元素为:1,2,3,4,5,6,7,8,9,10; 另一个为双精度型元素为 1. 1,2. 2,3. 3,4. 4,5. 5,6. 6,7. 7,8.8,9.9,10. 1,调 用模板函数,根据用户输入,求它们的前n项和,在主函数中显示结果。 (4)数组下标超界的异常处理。 (5)编写求阶乘n!的函数,当用户的输入太大时(如51),会出现错误, 使用异常处理机制来解决这一问题。 (6)编程并观察当库函数sqrt()的参数为负数,log()的参数为0时, 系统会出现什么情况,请解决之。 14.实验工程名称:标准库和输入输出流实验目的: (1)掌握C++的流和流类库的使用方法。 (2)掌握C++的格式化输入输出方法。 (3)掌握文本文件的读写方法。 实验内容提要: (1)分别用不同的域宽显示整数和浮点数。 (2)打印出ASCH字符集中码值为33〜126的字符的ASCII码表。 (3)编写一个程序,可以读入一个C++语言的源文件,每一行加上行号 后保存到另一个后缀为.prn的同名文件中。 (4)编写程序,读取第上题保存的有行号的文件,去掉行号后,写入另 一个文件。 15.实验工程名称:线性表实验目的: (1)理解线性表的顺序存储结构和链式存储结构。 (2)掌握顺序表和链表的基本操作和应用。 实验内容提要: (1)线性表采用顺序表类来存储,编写程序,颠倒线性表中的数据元素 的顺序。 (2)线性表采用带头结点链表类来存储,编写程序,颠倒线性表中的数 据元素的顺序。 (3)设计一个算法,将一个带头结点的单链表A分解为两个带头结点的 单链表B和C,使得B表中含有A表中序号为奇数的元素,而C表中含有A 表中序号为偶数的元素,且保持其相对顺序。设单链表中的数据元素为英文 单词及词义。 (4)设有一个带头结点的链表,其数据元素值为整数,试编写程序,反 复查找链表中的最小元素并删除该结点,直到链表为空。 16.实验工程名称:综合程序设计实验目的: (1)掌握利用所学到的面向对象的程序设计方法,编制含有多个类的程 序; (2)掌握根据实际问题和给定的算法,设计类结构并编码实现,解决小 型问题。 实验内容提要: (1)编写一个 簿管理程序,可以增加一个 号码,删除 号码, 按姓名和 号码排序,显示 列表,分别按姓名和 号码查询等。请 用类实现, 簿能保存在文件中。 (2)编写程序,模拟手机的菜单功能。 (3)编写程序,模拟电视遥控器的功能,能存储电视屏道,存储常看电 视屏道。 五、实验成绩的考核与评定方法 1 .实验考核每次依据预习、实验完成情况、实验报告等综合给出实验成 绩。未参加实验者或实验成绩不合格者,本课程不予通过。 2 .实验成绩加作业成绩占该课程总成绩的20%。 六、使用的主要仪器.硬件环境:普通联网的PC机 1 .软件环境:VC++6. 0 或者 Quincy2002七、实验工程的设置及学时分配 序号 实验工程 学时 实验类型 必修或选修 备注 1 C++集成开发环境的使用 2 验证 必修 选作2 2 基本数据类型与表达式 2 验证 必修 选作2 3 控制结构 2 验证 必修 选作2 4 数组与字符串 2 验证 必修 选作2 5 函数 2 综合 必修 选作2 6 指针 2 验证 必修 选作2 7 函数和指针 2 综合 必修 选作2 8 结构化设计方法 2 综合 必修 选作2 9 类和对象(一) 2 综合 必修 选作2 10 类和对象(二) 2 验证 必修 选作2 11 继承 2 然合 必修 选作2 12 多态性和运算符重载 2 综合 必修 选作2 13 模板与异常处理 2 综合 必修 选作2 14 标准库和输入输出流 2 综合 必修 选作2 15 线性表 2 综合 必修 选作2 16 综合程序设计 2 综合 选修 选作2 (I)培养学生C/C++程序设计能力,涵盖C/C++的基本理论和知识。 (2)软件测试与调试的能力,学会C/C++程序的基本调试技术。 (3)分析问题、解决问题的能力。 (4)独立撰写实验报告的能力。 三、实验课教学基本要求. C++语言基础知识 掌握变量与常量的定义与使用方法;掌握基本数据类型和表达式的使用 方法,掌握C++的基本语句。理解结构化和面向对象程序设计的基本思想和 有关概念,掌握C++程序的基本框架和上机调试计算机程序的过程。 1 .数组、指针与引用 掌握数组的定义、初始化和访问方法;掌握字符串使用方法;理解指针 和引用的概念,掌握指针使用方法,理解指针与数组的关系,了解动态内存 管理方法。 2 .函数 掌握函数的定义与函数调用方法,理解变量的生命周期、作用域和存储 类别(自动、静态、寄存器、外部),掌握C++库函数的使用方法。 3 .类与对象的基础知识 理解类与对象的基本概念,掌握类及其成员的声明、定义、访问方法, 对象的创立与使用方法;掌握构造函数与析构函数的定义与使用;掌握静态 数据成员与静态成员函数的定义与使用。 4 .类的复用掌握类的组合语法;掌握派生类的定义和访问权限,类的数据成员与成 员函数的继承;理解多态性概念及虚函数机制的要点;了解运算符重载。 5 .输入/输出流理解C++流的概念,掌握数据的格式输入输出,掌握文件的I/O操作。 6 .综合程序设计能力掌握利用所学到的面向对象的程序设计方法,编制含有多个类的程序; 掌握根据实际问题和给定的算法,设计类结构并编码实现,解决小型问题。 7 .程序调试 掌握C++程序调试的基本方法;理解程序错误的种类和产生的原因,掌 握排除语法错误的基本技能;掌握程序调试的基本技能(如设置断点、单步 执行、查看中间运行结果等)。 四、实验教学的内容与基本要求.实验工程名称:C++集成开发环境的使用 实验目的: (1)掌握集成开发环境的使用方法;2) 了解C++程序的基本特点。 实验内容提要: (1)熟悉VisualC++集成开发环境。 (2)编写一个计算矩形面积的程序。 (3)编写乘法计算器程序。 (4)编写生日卡程序,使其能够输入和显示日期。 2 .实验工程名称:基本数据类型与表达式 实验目的: (1)理解数据类型,整型、长整型、浮点型、双精度型和字符型等数据类型; (2)掌握常数和变量的使用方法;(3)掌握各种运算符及表达式的使用; (4)掌握不同类型数据间的转换原那么。 实验内容提要: (1)带数据检验的三角形面积计算。 (2)输入两个角度值x、y,计算如下式子的值。 sin(|x| + | y|)J|cos(x+y)| (3)求平均值并四舍五入。 (4)字符加密。 3 .实验工程名称:控制结构实验目的: (1)掌握C++的选择结构语句的使用,如:if…else…,switch…(2)掌握C++的循环结构语句的使用,如:while…,do…while…,for…. 实验内容提要: (1)编写计算n的阶乘程序。 (2)编写程序求斐波那契数列的第n项和前n项之和。 ^10.%5(2力!%2"+1arcsine = xd1F...+ —;F... (3)编程求2,3 24522〃(叫2(2" + 1)。 (4)求解猴子吃桃问题。 (5)用牛顿迭代法求方程。 6 6) 求 a+aa+aaa+aaaa++aa. . . a (n 个)。 7 .实验工程名称:数组与字符串实验目的: (1)掌握一维、二维数组的定义和使用方法(2)掌握字符数组和字符串处理的库函数 实验内容提要: (1)使用数组来求斐波那挈数列的第n项和前n之和。 (2)编写程序实现矩阵的转置。 (3)替换加密(恺撒加密法)。 (4)编写程序,实现不同数制的转换。 8 .实验工程名称:函数实验目的: (1)掌握函数定义及函数调用;(2)掌握函数间参数传递方式(值方式和引用方式); (3)掌握库函数的使用。 实验内容提要: (1)编写字符串反转函数mystrrev。 (2)编写一组求数组中最大最小元素的函数。 (3)编写函数isprime(inta)用来判断变量a是否为素数,假设是素数,函数返回1,否那么返回Oo (4)打印杨辉三角形。 9 .实验工程名称:指针实验目的: (1)掌握指针的概念,学会定义和使用指针变量;(2)掌握数组的指针和指向数组的指针变量; (3)正确使用字符串指针和指向字符串的指针变量。 实验内容提要: (1)编写一个字符串复制函数mystrcpy。 (2)不区分大小写字母的局部字符串比拟mystrnicmpo(3)字符串反序输出。 (4)利用指针输出数组中的元素。 (5)用指针编写冒泡排序函数。 (6)编写生成一个空白字符串的函数。 10 实验工程名称:函数和指针实验目的: (1)掌握递归函数的调用方法;(2)掌握函数重载的方法; (3)掌握函数调用中参数的值传递、地址传递,理解返回指针的函数。 实验内容提要: (1)用递归算法编写求斐波那契数列的第n项的函数。 (2)重载判断两个数值大小的函数max(3)编写一个用于去掉字符串尾部的空格符函数。 (4)整数转换成相应的英文单词。 11 实验工程名称:结构化设计方法实验目的: (1)掌握结构体、枚举等自定义数据类型的定义与使用方法。 (2)理解并应用“自顶向下,逐步求精”的结构化程序设计方法来解决 复杂问题。 实验内容提要: (1)输入某小组5个人的姓名、性别、出生年份等信息,统计男女人数 以及1988年以后(含1988年)出生的人数。 (2)定义一个名为Circle (圆)的结构体,其数据成员是圆的外接矩 形的左上角和右下角两点的坐标,计算该圆的面积。 (3)读入5个用户的姓名和 号码,按姓名的字典顺序排列后,输出 每个用户的姓名和 号码。 (4) 口袋中有红、黄、蓝、白、黑五种颜色的小球假设干个。如果每次都 从口袋中取出3个不同颜色的小球。问有多少种取法?要求使用枚举类型来 表示小球的颜色。 (5)用自顶向下、逐步求精的程序设计方法找出2〜10000之内的所有完 全数。 12 实验工程名称:类和对象(一)实验目的: (1)理解类和对象的概念。 (2)掌握类的定义和使用。 实验内容提要: (1)设计并测试Dog类。 (2)设计并测试Ellipse类。 (3)设计并测试Time类.实验工程名称:类和对象(二) 实验目的: (1)进一步理解类和对象的概念。 (2)掌握类的构造函数和析构函数的作用和使用方法。 (3)理解对象和指针的关系。 实验内容提要: (1)设计带构造函数的Dog类。 (2)设计带构造函数的Ellipse类。 (3)设计带构造函数的Time类。 (4)为类Person增加构造函数和析构函数。 13 .实验工程名称:继承实验目的: (1)掌握不同继承方式下对基类的成员的访问的控制。 (2)掌握通过继承派生出新类的方法。 实验内容提要: (1)定义基类Person的派生类Teacher。 (2)从Student类和Teacher类多重派生Graduate类。 (3) Line类继承基类Point。 (4)从Date类和Time类派生一个DateAndTime类。 14 .实验工程名称:多态性和运算符重载实验目的: (1)掌握使用虚函数实现多态性;(2)掌握运算符重载的方法。 实验内容提要: (1)虚函数的声明和使用。定义一个类Base,该类含有虚函数display, 然后定义它的两个派生类FirstB和SecondB,这两个派生类均含有公有成员 函数display,在主程序中,定义指向基类Base的指针变量ptr,并分别定 义 Base、FirstB、Second 的对象 bl、fl、si,让 ptr 分别指向 bl、fl、si 的起始地址,然后执行这些对象的成员函数display。 (2)基类Shape含有一个虚函数Area,由它派生出一个类Point类。 Point类有两个数据成员x和y。正方形类从Point类派生,增加一个数据成 员:边长;圆类也由Point类派生,增加一个数据成员:半径;圆柱体类从 Circle类派生增加一个数据成员:高。编写程序,输出正方形的面积和圆柱 体的体积。 (3)扩充实例编程中的日期类,为Date类增加一个成员函数,可以判 断一个日期是否是系统当前日期。 (4)定义Point类,有坐标x、y两个成员变量;对Point类重载“++” (自增)“一”(自减)运算符,实现对坐标值的改变。 (5)重载矩阵加法运算。 15 .实验工程名称:模板与异常处理实验目的:- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 实验教学 大纲
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文