- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 1 章(A)-面向过车奶-面向对象 2011(2h)
面向对象程序设计;主要内容
程序设计方法
结构化程序设计方法与面向对象程序设计方法各自特点、区别和相互联系
面向对象的基本概念
类、对象、封装、消息、继承、 多态
面向对象分析与设计 (OOA、OOD)
面向对象程序设计和C++语言;第一章 从过程抽象到数据抽象;程序设计方法的发展; 使用传统程序设计语言(如:C、FORTRAN)进行程序设计时,必须详细、准确地描述解题过程 。因为程序设计工作主要围绕设计解题过程来进行,所以传统的程序设计方法称为面向过程的程序设计。
面向过程的程序设计对应于面向过程开发模式。;;2) 面向过程开发模式的特点:
过程性开发模式侧重构建解决问题的处理流。
数据抽象(数据结构)根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。
系统的状态是一组全局变量,这组全局变量保存系统的状态的值,把它们从一个过程传送到另一个过程。;【 7.1.1 集合的实现与使用】
设有如下的要求:向整数集合的某一子集添加若干元素,从该集合中删除某些元素,判断指定元素是否在该集合中。
1.分析与实现
(1)数据声明:在程序中用整数数组set表示整数集合:集合(数组)最多含MAXLENGTH个元素,集合当前有count个元素。数据定义如下:
int set[MAXLENGTH];
unsigned count;
(2)数据处理:程序中抽象出集合上的三个操作:
添加(Add)
删除(Remove)
判断(Isin)
接着设计每个操作的算法-自顶向下、逐步求精
;(1) void Add(int elem, int* pset, unsigned count)
这个函数的功能是:添加新元素elem到集合pset。若元素elem不在集合pset中,elem加到pset尾部,集合的元素个数count加1;否则,元素elem已在pset中,结束。
函数定义如下:
void Add(int elem, int* pset, unsigned count)
{
if(countMAXLENGTH)
if(!Isin(elem, pset, count))
*(pset + (count)++) = elem;
};(2)Remove(int elem, int* pset, unsigned count)
这个函数的功能是:从集合pset中删除元素elem。若元素elem在集合pset中且位于pset[i],则将pset中最后一个元素pset[count-1]替换pset[i],集合的元素个数count减1;否则,给出元素不在集合中的提示信息。
函数定义如下:
void Remove(int elem, int* pset, unsigned count){
for(unsigned i=0; icount *(pset+i)!=elem; i++);
if(icount)
*(pset + i) = *(pset + (count--) - 1); //集合无顺序,最后一
个移到删除之处
else
cout待删除元素elem不在集合中。endl;
};(3)Isin(int elem, int* pset, unsigned count)
这个函数的功能是:判断元素elem是否在集合pset中。从头至尾检查集合pset中的元素,若有元素elem,返回1;否则,返回0。
函数定义如下:
int Isin(int elem, int* pset, unsigned count)
{
for(unsigned i=0; icount *(pset + i)!=elem; i++);
return (icount);
};2.完整的源程序
#include iostream
using namespace std;
#define MAXLENGTH 100
void Add(int elem, int* pset, unsigned count);
void Remove(int elem, int* pset, unsigned count);
int Isin(int elem, int* pset, unsigned count);
int main(){
int set[MAXLENGTH]; //
您可能关注的文档
最近下载
- QB_T 4508-2023 卫生用品用吸水衬纸.docx VIP
- 2024-2025学年初中信息技术(信息科技)山西版(2017)第二册教学设计合集.docx
- 附件5:成都锦城学院家庭经济困难学生认定申请表填写模板(发学生).doc VIP
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 08汽车设计冲压se分析手册1.pdf VIP
- Lesson55-56TheSawyerfamily(课件)新概念英语第一册.pptx VIP
- 《铁路轨道维护》课件——铁路轨道维护内容.pptx VIP
- WS_T 819-2023 县级综合医院设备配置标准.docx VIP
- 营口温泉旅游:资源禀赋、发展态势与战略转型研究.docx
- 工厂管理顾问合同协议.docx VIP
文档评论(0)