许荣斌 面向对象程序设计实验教案Word文件下载.docx
- 文档编号:17230023
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:22
- 大小:60.42KB
许荣斌 面向对象程序设计实验教案Word文件下载.docx
《许荣斌 面向对象程序设计实验教案Word文件下载.docx》由会员分享,可在线阅读,更多相关《许荣斌 面向对象程序设计实验教案Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
36 上机学时:
任课教师
许荣斌
职称
讲师
教师来源
■本校教师
□外聘教师
使用教材
■统编教材 □自编教材或讲义
书名
作者
出版社
出版时间
教材
C++程序设计实训(第2版)
李龙澍
清华大学出版社
2009年2月
教学参考用书
C++语言程序设计(第3版)
学生用书
郑莉傅仕星张瑞丰
2004年6月
C++面向对象程序设计(第5版)
WalterSavitch著
周靖译
2005年10月
AnIntroductiontoObject-OrientedProgramming,3/E
TimothyA.Budd
2004年9月
面向对象程序设计基础(第2版)
李师贤李文军周晓聪李宏新林瑛
高等教育出版社
2005年3月
C++程序设计
谭浩强
C++面向对象程序设计
王萍冯建华
2006年3月
第 1 次课程教学方案
周次
1
课时数
4课时
教学章节
第1章VisualC++6.0入门
第2章数据类型和表达式实训
教学目标和要求
介绍VC++语言的最基本的编程环境,通过实际例子讨论VC++的使用方法,使读者尽快学会在VC++环境下编写应用程序。
数据类型和表达式是C++语言的基础,组成了C++语言的最小语法单位,要求熟练使用。
教学重点
1.创建项目工程
2.掌握VC++菜单的使用
3.使用VC++编译、调试程序
4.复习巩固标识符和表达式等概念
教学难点
VC++专用的标识符
主要教学方式
■课堂讲授 □小组活动 ■实验演示 ■难点答疑 ■提问
□作业讲评 □实践教学 □考试测验 □其他活动
使用媒体资源
■文字教材 ■电子教案 □录像材料 □录音材料 □直播课堂
□CAI课件 □IP课件 □其他资源:
作业或练习
数字互换实训
板
书
设
计
(空白不够可添加附页)
PowerPoint课件:
以文字为主,辅助图像、动画、色彩
第 1 次教学活动设计
教学环节
主要教学内容
学生活动安排
(一般包括复习旧课、导入新课、讲授讨论、巩固练习、布置作业等环节)
复习旧课:
计算机的工作是用程序来控制的,程序是指令的集合,指令是计算机可以识别的命令。
高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。
这使得在书写程序时可以联系到程序所描述的具体事物。
导入新课:
VC++
环境项目工作区窗口的下面有三个图标:
类视图(ClassView)、资源视图(ResponseView)和文件视图。
实验内容:
设计一个字符串类String,可以求串长,可以连接2个串(如,S1=“计算机”,S2=“软件”,S1与S2连接得到“计算机软件”),并且重载“=”运算符进行字符串赋值,编写主程序实现:
S1=“计算机科学”,S2=“是发展最快的科学!
”,求S1和S2的串长,连接S1和S2。
听课
回答问题
第 2 次课程教学方案
2
第3章语句鱼函数实训
掌握复制语句、条件语句、循环语句的编程技巧,学会使用函数编制程序
函数编制程序
选择结构和循环结构的嵌套
职工信息处理函数实训
第 2 次教学活动设计
1.五箱货物,其中若干箱假货,重量为真货的1/2,请问如何选择五箱货物中的一部分,只称一次就能判断出哪些是假货;
拓展:
如何判断一个数是3、5、7的倍数还是3和5,3和7,5和7的倍数还是3,5,7的倍数。
2.编写程序,按下面形式输出6*6的逆时针螺旋方阵:
12019181716
22132313015
32233362914
42334352813
52425262712
67891011
提示:
应该是交错输入,先输入第一列,再输入最后一行,再输入最后一列,再输入第一行,依次进行。
输入的数据个数依次为:
65,54,43,32,21,1
第 3 次课程教学方案
3
第4章面向对象基本概念与类实训
类(class)是用户定义的一种新的数据类型,本章将通过做习题和上机实验,学会怎样定义简单的类。
类的定义
类的操作属性要求
编制类的接口定义
建造集合类实训
第 3 次教学活动设计
模拟存款与取款过程
使用银行卡存取款时,系统应记录交易日期、交易金额、交易后余额,以及累余额等信息。
要求模拟银行卡取款过程,并记录和输出相关信息。
数据结构如下:
#definemax100
ClassCard{
inttop;
//交易流水号
chardate[max][11];
//每次交易日期
intmoney[max];
//每次交易金额
intrest[max];
//每次交易后的余额
staticintsum;
//静态数据成员,记录累计余额
Public:
Card();
//定义构造函数
~Card();
//每次交易日期
voidCardin(chard[],intm);
//定义存款函数
voidCardout(chard[],intm);
//取款函数
voiddisp();
//显示清单函数
}
intCard:
:
sum=0;
//对静态数据成员进行初始化
日期存入取出余额
2010.3.510001000
2011.5.1920003000
2011.12.65002500
您的账户余额为:
2500
第 4 次课程教学方案
4
第5章对象实训
对象是用户使用类定义的一种变量,对象是一种复杂的变量,对象是一个独立的程序实体。
将通过习题和上机实验,学习怎样定义和使用对象。
使用构造函数
使用析构函数
使用复制构造函数
学习和理解对象的生存周期
数组数据处理对象实训
第 4 次教学活动设计
设计一个日期类Date,可以求昨天的日期和明天的日期,输出格式为:
月/日/年,编写主程序设置当前日期为2016年3月1日,显示昨天和明天的日期;
将日期改为2016年4月29日,显示修改后的日期。
将输入数字转化为以汉字形式输出的货币金额
输入一个小于1亿的数字,将它转换为以汉字形式输出的货币金额。
若输入的数字为小数,小数点后面两位四舍五入;
若数字为负数或大于1亿,则给出错误提示,并要求再次输入数字,连续输入错误三次,退出程序。
例如,输入3.786,输出三元柒角玖分。
设计计算图形面积的程序,图形有三种,圆、长方形和三角形,计算半径为15的圆、长宽分别为(32,56)的长方形和三条边为(14,16,18)的三角形的面积。
三种图形通过对象的参数进行区分。
第 5 次课程教学方案
5
第6章指针和引用实训
指针变量是用于存放内存单元地址的变量。
指针变量值是一个地址的变量,指针变量是另一个变量或对象的地址。
引用是变量或对象的别名,引用可以与变量或对象一样的格式使用。
学习使用指针和变量编制C++程序。
二维数组的使用
指针数组
指针函数
使用指针建立对象测试类
编制一个排序数组类
第 5 次教学活动设计
冒泡排序是一个排序程序,它将无次序的数列,排成从小到大的有序数列。
冒泡排序对要排列的数组做若干次循环处理,每一次循环过程都会将某一元素和气候的元素坐比较,次序不符合的时候,将两元素对调。
每一次循环处理中,较小的元素会像‘气泡’一样生逐渐升到适当的位置,所以称此排序方法为“冒泡排序”。
要求:
1.建成一个数组类
2.使用指针变量指向动态数组
3.运用运用参数实现数据交换
4.编写成员函数完成排序
5.编制主程序验证结果
第 6 次课程教学方案
6
第7章继承实训
在已有类的基础上定义新的类,不需要把已有类的内容重新书写一遍,掌握使用继承机制解决代码重用的问题。
派生类构造函数的执行次序
重载
虚基类
人员类的继承实训
第 6 次教学活动设计
设计一个字符串类Mystring,具有构造函数和复制构造函数,可以从终端接收一串包含空格和标点符号的字符串,以回车作为结束标志。
(1)编写成员函数,求字符串中出现频率最高的那个字符及其出现次数;
(2)编写成员函数,把小写字母放在前面,大写字母放在后面,数字放在字符串最后。
(3)求出字符串中最长的没有重复字符的子串。
设计一个人员类person作为基类,其数据成员为姓名和身份证号,成员函数有输入数据和显示数据;
生成person类的派生类学生student,student包括数据成员学号和C++成绩,成员函数也是有输入数据和显示数据;
在设计职工类employee继承person类,包括数据成员工号和学历,成员函数也是有输入数据和显示数据。
如何分别用公有继承和私有继承派生出两个子类,并如何利用派生类的对象,输出所有的信息,包括基类的数据信息。
第 7 次课程教学方案
7
第8章静态成员和友元实训
静态成员和友元的提出方便了程序的编写,可以满足一些特殊的要求。
通过学习做习题和上机实验,学会怎样定义和使用静态成员和友元。
静态数据成员和普通数据成员的区别
友元函数
运算符重载
运算符重载规则
个人所得税计算实训
运算符重载实训
第 7 次教学活动设计
回溯法采用试错的思想,它尝试分步的去解决一个问题。
在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。
回溯法通常用最简单的递归方法来实现,在反复重复上述的步骤后可能出现两种情况:
1、找到一个可能存在的正确的答案
2、在尝试了所有可能的分步方法后宣告该问题没有答案
在最坏的情况下,回溯法会导致一次复杂度为指数时间的计算。
第 8 次课程教学方案
8
第9章多态和虚函数实训
多态是面向对象程序设计和面向过程程序设计的主要区别之一,通过虚函数机制实现多态,多态与集成和重载共同构成了面向对象的三个编程特性。
通过习题和上机实验,学会使用虚函数实现多态。
虚函数的定义
如何使用虚函数
定义虚函数遵循的规定
抽象类与数函数区别
应用多态设计学生类实训
第 8 次教学活动设计
设计一个人员类person作为基类,其数据成员为姓名和身份证号;
设计一个学生地址类add,包括数据成员地址和年龄;
生成person类的派生类学生student,student包括数据成员学号和所在专业,成员函数也是有输入数据和显示数据;
设计学生成绩类score,是student类和add类的派生类。
所有类的成员函数都是输入数据和显示数据。
在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
第 9 次课程教学方案
9
第10章输入输出流实训
输入流和输出流是C++的基本输入输出机制。
通过练习和实训深入学习各种格式的输入和输出
不同进制的输入输出转换
控制输入输出流的函数
文件使用的多种模式
控制台输入输出流实训
第 9 次教学活动设计
编写一个通话计费程序,计费的方法是:
本地通话每10秒钟0.06元(不足10秒的按10秒计算),异地通话每6秒0.06元(不足6秒的按6秒算)。
根据输入的发话地点和接电话地点以及通话时间,输出通话费用。
设计两个基类,分别是通话地点类Destination,包含发话地点和接电话地点两个数据成员(两个字符数组),输入两个地点和显示两个地点的成员函数;
通话时长类Time,包含时、分、秒和总秒数,输入通话时间和显示通话时间的成员函数。
由这两个类派生出的Price类,用于根据通话时间和地点计算话费。
为了在派生类中能访问基类的数据成员,基类的数据成员都设置成protected成员。
使用不同方法接收输入流
intmain()
{
strings;
getline(cin,s);
cout<
<
s<
endl;
return0;
getline主要用于文件流,一般不用于输入流
getline函数从输入流的下一行读取,并保存读取的内容到变量中,但不包括换行符。
#include<
iostream>
string>
usingnamespacestd;
charname[90],dessert[90];
cout<
"
Enteryourname:
\n"
;
cin.getline(name,sizeof(name));
//此处sizeof(name),也可改为较大的数。
Enteryourfavoritedessert:
cin.getline(dessert,sizeof(dessert));
Ihavesomedelicious"
dessert<
foryou,"
name<
.\n"
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 许荣斌 面向对象程序设计实验教案 面向 对象 程序设计 实验 教案
![提示](https://static.bdocx.com/images/bang_tan.gif)