《面向对象程序设计》课程上机教学大纲.docx

上传人(卖家):momomo 文档编号:7260867 上传时间:2023-11-05 格式:DOCX 页数:7 大小:20.13KB
下载 相关 举报
《面向对象程序设计》课程上机教学大纲.docx_第1页
第1页 / 共7页
《面向对象程序设计》课程上机教学大纲.docx_第2页
第2页 / 共7页
《面向对象程序设计》课程上机教学大纲.docx_第3页
第3页 / 共7页
《面向对象程序设计》课程上机教学大纲.docx_第4页
第4页 / 共7页
《面向对象程序设计》课程上机教学大纲.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、面向对象程序设计课程上机教学大纲课程编码:0502103课程名称:面向对象程序设计课程性质:必修课上机学时:16实验类别:专业核心上机适用专业:计算机科学与技术开课学期:4开课院系:一、课程简介面向对象程序设计是计算机科学与技术专业本科生的一门必修课程。面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。本上机教学是在面向对象程序设计课程上设置的,是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节

2、。培养学生面向对象程序设计的思想,进一步加深对高级语言基本语言要素、控制结构和面向对象思想的理解,针对课堂教学中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,强化上机动手能力,闯过编程关,把理论知识与实际应用相结合;同时强调好的程序设计风格。二、上机目的与要求1. 上机目的上机实习是理论教学内容的重要一环,其目的是使学生了解面向对象是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。通过上机实习使学生进一步理解课堂教学中所学

3、的理论知识,培养严谨的工作态度,锻炼学生利用所学知识处理问题的思维方式,提高学生的实践能力和分析解决问题的能力,为后续专业课程的学习打下扎实的程序设计基础。2. 上机要求本课程要求做16学时的上机实习,范围对应本课程课堂教学内容的主要部分,既有验证型和设计型上机实习,又有综合型上机实习。要求学生必须做好上机实习前的准备,上机前程序静态检查可有效提高调试效率,减少上机调试程序时的错误。充分地分析和理解程序设计问题本身,考虑怎样使程序结构清晰、合理、简单和易于调试。熟悉各个上机实习中相关的理论知识,在此基础上进行代码设计。三、上机方式与注意事项上机方式:独立分析问题,并编写、调试程序。按照要求对部

4、分重要的上机题目写出相应的实习报告。注意事项:1. 上机前,学生要认真复习课堂讲授内容,按上机题目要求编写静态程序,并设计测试用例,有条件的学生可先行进行调试。2. 对调试过程中出现的问题尽量自行分析解决,以提高分析解决问题的能力。3. 对上机得出的结果能加以分析,提出改进的措施。四、实验报告不要求写实习报告,但需按要求交上机完成的源程序。五、实验考核方法与成绩评定考核方法:主要通过检查上机题目完成情况进行评定。如:是否完成基本要求,功能是否完整、界面是否美观、操作是否简单等等。成绩评定:考核成绩占课程平时成绩的50%。六、主要仪器设备(主要耗材)微型计算机。七、上机项目设置及学时分配上机总学

5、时:16学时。序号上机项目名称学时上机要求上机类型每组人数备注上机一C+对C语言的扩充练习2必做验证1上机二类和对象的4必做综合1上机三友元2必做验证/设计1上机四继承和派生4必做综合1上机五多态性和虚函数4必做综合1上机六C+的输入输出流库0选做验证/设计上机七异常处理0选做验证/设计九、上机内容简介上机一:C+对C语言的扩充一、上机内容1定义一个函数,比较两个数的大小,形参分别使用指针和引用。2求不同类型的三个数的最大值,要求:(1) 使用重载函数和函数模板两种方法;(2) 使用带缺省参数的函数。3创建一个学生链表,进行链表的插入、删除、查找操作,要求:(1) 使用函数模板;(2) 使用n

6、ew和delete进行动态内存空间的分配和释放。二、上机要求1掌握C+在结构化程序设计方面对C的扩充。2进一步掌握程序的调试方法。上机二:类和对象一、上机内容1设计一个学生类student,它具有的私有数据成员是:注册号、姓名、数学、英语、计算机成绩;具有的公有成员函数是:求三门课总成绩的函数sum;求三门课平均成绩的函数average;显示学生数据信息的函数print;获取学生注册号的函数get_reg_num;设置学生数据信息的函数set_stu_inf。编制主函数,说明一个student类对象的数组并进行全班学生信息的输入与设置,而后求出每一学生的总成绩、平均成绩、全班学生总成绩最高分、

7、全班学生总平均分,并在输入一个注册号后,输出与该学生有关的全部数据信息。2定义一个字符串类,使其至少具有内容和长度两个数据成员,分别定义不同的成员函数,用于显示字符串、求字符串长度,给原字符串后连接另一个字符串。3定义一个复数类,其属性为数据的实部和虚部,要求定义和使用构造函数和拷贝构造函数,并定义成员函数显示复数的值。4创建一个雇员类,该类中有数据成员姓名、家庭地址和邮政编码等。其功能有修改姓名、显示数据信息。要求其功能函数的原型放在类定义体中。5设计一个计数器类,当建立该类的对象时其初始状态为0,考虑为计数器定义哪些成员?6使用类创建一个学生链表,进行链表的插入、删除、查找操作。7.设计一

8、个学生选课系统。假设每个学生最多只能选修5门课程,每门课程最多30名学生选修。根据用户要求,可设置并能够得到学生所选课程;给出学生姓名,可得到某门课程的成绩,也可得到学生所有课程的平均成绩;根据课程名,可设置选修学生、设置或修改选修学生的成绩,也可计算该课程的平均成绩。二、上机要求1学习类、成员函数、对象的定义方法。2学习使用构造函数和析构函数。3学习使用静态成员、内联成员函数,掌握深拷贝构造函数的使用。4掌握对象成员的使用方法。5掌握多文件结构的程序使用。6进一步熟悉Visual C+的编译连接过程,掌握Visual C+2010的调试方法。上机三:友元一、上机内容1定义复数Complex类

9、,使用友元,完成复数的加法、减法、乘法、除法运算,以及对复数的输出。2定义矩阵类,使用友元实现矩阵的常用运算。3实现堆栈的压入和弹出。定义两个类,一个是结点类,它包含结点值和指向上一结点的指针;另一个类是堆栈类,数据成员为堆栈的头指针,它是结点类的友元。二、上机要求1了解为什么要使用友元。2掌握友元函数、友元成员、友元类的定义和使用方法。上机四:继承和派生一、上机内容1设计一个大学的类系统,学校中有学生、教师、职员,每种人员都有自己的特性,他们之间又有相同的地方。利用继承机制定义这个系统中的各个类及类上必须的操作。2假定车可分为货车和客车,客车又可分为轿车、面包车和公共汽车。请设计相应的类层次

10、结构并加以实现。3设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征(如宽、高、中心点等)和方法(如初始化、求面积等),并看看这些图形是否能进一步划分为子类。4考虑大学的学生情况,试利用单继承来实现学生和毕业生两个类,设计相关的数据成员及函数,编程测试继承的情况。提示:作为学生一定有学号、姓名、性别、学校名称及入学时间等基本信息,而毕业生除了这些信息外,还应有毕业时间、所获学位的信息,可根据这些内容设计类的数据成员,也可加入一些其它信息,除了设计对数据进行相应操作的成员函数,还要考虑到成员类型、继承方式,并在main()函数中进行相应测

11、试。可设计多种继承方式来测试继承的属性。5定义一个哺乳动物类,再由此派生出人类、狗类和猫类,这些类中均有speak()函数,观察在调用过程中,到底使用了谁的speak()函数。6通过多重继承定义研究生类,研究生既有学生的属性,又有教师的属性。7定义商品及其多层的派生类。以商品类为基类,派生出服装类、家电类;服装类又派生出帽子类、鞋类、衬衣类等;家电类又派生出空调类、电视类、音响类等。要求给出基本属性和派生过程中增加的属性。8定义一个单向链表的模板类,分别实现增加、删除、查找和打印操作。要求使用模板类。9某个单位现有的所有员工根据领取薪金的方式分为如下几类:时薪工(hourlyworker),计

12、件工(pieceworker),经理(manager),佣金工(commissionworker)。时薪工按工作的小时支付工资,对于每周超过50小时的加班时间,按照附加50%支付。按生产的每件产品给计件工支付固定工资,假定该工人仅制造一种产品。经理每周得到固定的工资。佣金工每周得到少许的固定保底工资,加上该工人在一周内总销售的固定百分比。试编制一个程序来实现该单位的所有员工类,并加以测试。二、上机要求1理解类的继承的概念,能够定义和使用类的继承关系。2掌握派生类的声明与定义方法。3掌握公有、私有和保护派生的访问特性。4掌握类模板和模板类的概念,了解它们的定义和使用。5掌握多继承的使用。上机五:

13、多态性和虚函数一、上机内容1编写程序,计算汽车运行的时间,首先建立基类car,其中含有数据成员distance存储两点间的距离。假定距离以英里计算,速度为每小时80英里,使用虚函数travel_time()计算并显示通过这段距离的时间。在派生类kilometre中,假定距离以千米计算,速度为每小时120千米,使用函数travel_time()计算并显示通过这段距离的时间。2编一个程序,分别用成员函数和友元重载运算符“+”和“-”,将两个二维数组相加和相减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。3. 对含有时、分、秒的时间编程设计+、-运算符的重载。4为日期类重载“

14、+”运算符,实现在某一个日期上加一个天数。5设计一个animal基类和它的派生类tiger(老虎)、sheep(羊),实现虚函数。提示:可自行定义这些类的成员变量,但animal基类中应有动物性别的成员变量,但要设定每种动物的叫soar()及吃eat()的成员函数,可用cout输出来表示。要求每个派生类生成两个对象,打乱次序存于一个数组中,然后用循环程序访问其叫与吃的成员函数,必须用到虚函数。6有三角形、正方形和圆形三种图形,求它们各自的面积。可以从它们中抽象出一个基类,在基类中声明一个虚函数,用来求面积,并利用单界面、多实现版本设计各个图形求面积的方法。7现有一个学校管理系统,在其中包含的处

15、理信息有三方面,即教师、学生和职工。利用一个菜单来实现对它们的操作。要求使用虚函数。8异质链表的实现:有两类经理、雇员,再定义一个链表类,此类用来存放这几个不同类的对象;并将链表类声明为所有这些类的友元,使它可以访问它们的私有成员。二、上机要求1理解运行时的多态性和编译时的多态性。2掌握运算符重载的两种方法.3掌握虚函数的定义和使用方法。4掌握抽象类的概念和使用方法。上机六:C+的输入输出流库一、上机内容1输出十进制、八进制、十六进制显示的数据015。2类stu用来描述学生的姓名、学号、数学成绩、英语成绩,分别建立文本文件和二进制文件,将若干学生的信息保存在文件中,读出该文件的内容。3设计一个留言类,实现以下的功能。(1) 程序第一次运行时,建立一个message.txt文本文件,并把用户输入的信息存入该文件。(2) 以后每次运行时,都先读取该文件的内容并显示给用户,然后由用户输入新的信息,退出时将新的信息存入这个文档。文件的内容,既可以是最新的信息,也可以包括以前所有的信息,用户可自己选择。二、上机要求1学习进行格式化输入输出。2掌握文件的输入输出操作。上机七:异常处理一、上机内容定义堆栈类及其相应的成员函数,进行异常处理二、上机要求掌握异常处理的机制和使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《面向对象程序设计》课程上机教学大纲.docx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|