第章 计算机程序设计_第1页
第章 计算机程序设计_第2页
第章 计算机程序设计_第3页
第章 计算机程序设计_第4页
第章 计算机程序设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章计算机程序设计本章导读:

本章主要介绍程序设计基础知识、程序设计的一般过程和程序设计语言,重点介绍了面向过程程序设计、面向对象程序设计和可视化程序设计的特点,并结合C、C++、Java、VB等语言介绍这些程序设计方法的具体应用。本章主要知识点:程序设计基础知识面向过程程序设计的特点及其应用

面向对象程序设计的特点其应用可视化程序设计的特点其应用

第5章计算机程序设计5.1概述

5.2面向过程程序设计5.3面向对象程序设计5.4可视化程序设计5.1概述返回本章目录5.1.1程序设计基础5.1.2程序设计的一般过程5.1.3程序设计语言5.1.4程序设计发展概况5.1.1程序设计基础

计算机之所以能自动连续地进行工作,最根本的原因就在于“存储程序”和“程序控制”。“存储程序”——就是把计算机处理问题的步骤用计算机能够识别的指令编写出来,并送入计算机内部的存储器存储起来。“程序控制”——就是把事先存储好的程序从存储器取出来,送入CPU执行,计算机才能按照人的意图自动完成指定的工作。因此,程序就是为解决某一问题而编写的语句集合,是将一个实际问题的具体操作用某种程序设计语言描述出来的指令序列。编写程序的过程就是程序设计。程序设计语言就是计算机能够理解和执行的特殊语言。

5.1.2程序设计的一般过程返回本节目录概括地说,程序设计就是分析问题、编写程序、调试程序的过程。用计算机解决实际问题的基本过程如下图所示。程序设计步骤如下:(1)分析要解决的问题,明确任务(2)分析问题,建立数学模型,并选择合适的解决方案(3)确定数据结构和算法:数据结构+算法=程序(4)编写程序(5)调试程序(6)整理资料,交付使用分析问题确定解决方案确定具体算法编写程序调试程序整理文档5.1.3程序设计语言返回本节目录程序设计语言是人们根据描述问题的需要而设计的,是计算机能够直接识别的语言,有一套固定的符号和语法规则,是人与计算机交流所使用的“语言”。

程序设计语言可分成机器语言、汇编语言和高级语言。前两类依赖于计算机硬件,因机器而异,又称为低级语言,而高级语言与计算机硬件基本无关,是目前使用非常广泛的程序设计语言。1.机器语言机器语言是一种用二进制数“0”和“1”表示计算机各种操作的程序设计语言。一条机器指令能够控制计算机执行一种操作。计算机能够直接理解和执行使用机器语言编写的程序,执行速度快,占用内存少;但难于记忆,编程困难,可读性差,容易出错。机器语言是面向机器的语言,可移植性极差。

5.1.3程序设计语言2.汇编语言汇编语言是一种用助记符来表示各个基本操作的程序设计语言。如用ADD表示加法操作,SUB表示减法操作等。汇编语言的出现,大大减少了程序编写、阅读、修改、维护等方面的工作量,但汇编语言也是一种面向机器的语言,计算机不能直接执行,通用性和可移植性差,必须经过汇编程序翻译成机器语言程序后才能在计算机上执行,需要程序员对计算机内部结构非常了解。5.1.3程序设计语言返回本节目录3.高级语言高级语言是一种用接近自然语言和数学语言的语法、符号描述基本操作的程序设计语言。高级语言编写的程序不依赖于具体的机器,程序员编程时无需关心计算机内部的细节,从而大大提高了编程效率。计算机不能直接执行使用高级语言编写的程序,需用专门的翻译程序将其转换成机器语言程序后才能执行。目前,使用较广泛的高级语言有C、C++、VisualBasic、VisualC++、PowerBuilder、Java、Delphi、ASP、JSP、PHP、VisualFoxpro等。5.1.4程序设计发展概况

20世纪60年代,由于程序好坏的评价标准是指令少,运行速度快,占用内存少。这使程序员过分追求语言的表述能力和技巧,程序员往往将注意力集中在问题求解本身,而无暇顾及求解的过程,很少考虑程序结构的合理性和可扩展性。软件开发主要依赖程序员的个人经验,缺乏科学理论和方法作指导,开发出的软件或程序只能靠测试来检查错误,这些因素使得许多大型软件崩溃,软件开发周期长,生产效率低,可靠性及可维护性差,20世纪60年代末最终引发了“软件危机”。

思考问题:程序调试能否保证程序正确?怎样保证程序正确?程序好坏的评价标准是什么?科学指导程序设计的原理和方法是什么?1968年,E.W.Dijkstra指出:Goto语句是有害的,它造成了程序结构的混乱,高级语言程序设计应取消Goto语句,并由此引发了关于程序设计首先是讲究好的结构,还是讲究效率的讨论。

5.和1.刮4厚程健序设茄计发大展概帖况Di叠jk撞st株ra还提惧出了农结构榆化程然序设罚计思域想、第概念座和标舒准,财希望崇通过撇程序静坛态结炕构的织良好晌性来愿保证尺程序茅的正蚕确性甲,并伤提出竖了“收程序牛测试冬只能发现任程序暮中的插错误开而不租能保猾证程讲序无税错误每”的良科学上论断价。同时垦,Wi拒rt犯h也提察出了仿自顶愉向下坊、逐芝步求庭精的额程序香设计册方法别,将一个层复杂知的问底题分目解成结若干猫个相抖互独宫立的晕、简常单的牙模块胡,再蹲将模痕块分解成旺更简剩单的泳子模消块,侍直到桂所有爱问题刑能用香程序监设计快语言茧简单离方便焰地解决。脆采用裳这种特程序拼设计盼方法路,能丙有效脂地控汽制程拒序设悔计的肥复杂徒性,羊有益于提疏高程板序设普计的惩效率并。20助世纪夹80污年代宏,Gr奋ie异s综合无了各冶种程碍序设疼计理待论和训方法禁的成胀果,备完成了宿“Th台e慎Sc孟ie役nc黄e肌of示P草ro衡gr宽am猛mi夜ng框”一书珍,首旬次把偏程序园设计蛋从经倍验、容技巧上哗升为冰科学匠,使众程序粱设计抢从此圣步入醉了科奶学的恳轨道禁。5.哥2面向玩过程孕程序事设计返回美本章票目录5.孝2.付1环概达述5.肺2.梳2程基糊于C语言艰的面向量过程沈程序行设计5.赞2.灵1雅概权述面向筹过程彼程序滤设计陆有三晌种基盛本结法构:庸顺序缝结构紧、选闷择结熔构和鞭循环结串构,合又称渔“结依构化虑程序朋设计饱”。淘程序有一般香由一具个主者程序好(或阅主函数)绍和若紧干个倾子程越序(绸或函肝数)王组成优。程填序设斧计的拾首要密问题蒜是“骑设计过珍程”租。后来霞,人峡们将托程序既按功晃能划赏分成谋若干策个基箩本模带块,迁各模虏块在奴功能上张相对给独立有,这渴就是堡“模霉块化姨程序悬设计扬”。格但它差仍属鸣于面京向过蛾程的程序晌设计赶。它圆把数摇据和笋过程岗分离舌成两恳个相枪互独涌立的敬实体犯,程填序员惧必须时世刻注勿意所摊处理苏的数推据,栽对不叨同数拔据作叫相同巷处理事或对芬相同柏数据建作不同撤处理令,都岭要重糠新编宪程,忧程序飘的可萍重用威性不差好。面向栽过程矩程序宁设计蒙中过帆程的顷实现湿取决鸡于数须据结弄构。导如果低一个叛数据结中构发瓦生变勤化,捆将导屈致许附多函比数和弓过程行重写狐。有都时几圣个关逮键的猴数据结闲构发割生变垄化,佩将导耳致整终个软枣件系花统的晋结构线崩溃迎。5.菊2.洒2孔基罢于C语言萝的面向耽过程揉程序占设计C语言地是国肚际上嗽广泛截流行伪的程臂序设聋计语挨言,翼适合括作为委系统腹描述粘语言,炊既可擦用来跃写系馆统软喷件,锡也可抱用来的写应碑用软压件。悠特点到如下扩:(1嚷)是旧一种糠高级青语言遣,但岩它又叹提供季了低陕级语鲁言的岭功能瓶。(2)提陕供丰施富的锡数据榆类型硬,可污以实叙现各灭种数节据结脑构。(3)烤提供慰了丰柱富的翠运算睁符,皇表达领式类驾型多启样化贿。(4少)是芳结构锡化的域程序膛设计明语言总。(5刑)生亦成的侮目标掠代码都质量防高,冬程序托执行狂效率愉高。(6悲)可恼移植喇性好稿,可姐以用绿于各很种类背型的谊计算醉机和押操作巨系统斤中。(7张)设句有预尿处理樱功能达,提沾高了译程序香的可厦读性摩和可锅移植盲性。(8肉)语狂法限盆制不牺太严守格,铺程序出设计怜自由棋度大牌。综上笨所述浊,C语言对是一蓝种功改能很写强的舞语言担,但俩对程替序员诊要求呈较高换。程序避员使翁用C语言鞋编写版程序湿会感绢到限束制少足,灵之活性妄大,典可以谁编写童任何类型乌的程睬序。【例晴5.第1】5.捡3面向碍对象灵程序挥设计返回圈本节箭目录5.文3.岗1小概拳述5.仁3.病2背基鲜于C+榨+的面向挺对象桌程序辉设计5.益3.盏3恼基财于Ja桌va的面向宪对象摆程序剪设计5.棚3.回1路概蛇述返回部本节写目录传统呼程序拿设计葛方法盈的程剩序缺纸乏可控交换阿性,欺程序秤效率北低,猎可靠岗性差,谷程序桃维护塔困难唉。面孤向对庙象程财序设碍计是重一种卷通过杯模仿容人类事思维病方式包眼括概截括、疗分类驰、抽给象、辛归纳踢等)痛来建扶立现芳实世沸界模类型的至方法趁,是崭距新的侍程序捉设计砌思想珠体系猎。它亭通过苏数据机抽象卵,将斩许多笨对象范中共嗽性的数辆据和锋操作腐这些似数据前所需是要的问算法互抽取裁出来盈。它铅将数移据及羽数据速的操作去封装爆在一灰起,赚作为雹一个梢相互肺依存节、不刚可分贷割的似整体钱来处续理,拘并采用画信息遗隐藏尾技术连,将擦对象泉及对内象的拒操作穗抽象寒成一呜种新员的数厅据类蹈型——撒“类粮”,门并考靠虑不矮同对晒象之哥间的横联系买和类任的重反用性贝。在面委向对带象程取序设室计中仆,首伟要的率任务鼓就是客确定凑所需船要的业类,貌每个类阅应设抱置足悦够的直操作援,并位利用待继承住机制捉共享征其相妖同的尘特性宗。面向碧对象跃程序葵设计猪的最句大优狡点是雨允许可“继话承”拨,即梁在某拐个类跟的基础上贼可以碎派生帜出新庄类。5.把3.辱2室基考于C+颂+的面向众对象董程序吼设计返回擦本节英目录C+挡+是在C语言耳继承高了C语言盐的全雷部内坑容,看并在C语言妥的基蝇础上故增加了笼面向糠对象蒙程序衬设计霜的内延容。C+夹+既支叼持传好统的骆面向画过程翁程序绞设计,又曾支持厉新型杂的面校向对搬象程吨序设纤计。因此揪,C+授+成为忙面向帐对象过程序忽设计的遭主流有语言响。1.C+形+的特炮点(1)抽逗象:性是对挺具有糖特定槽属性循及行登为特众征的拘对象用进行闹概括坊,从跨中提炼兵出这夺一类毯对象袭的共载性,彼并从需通用讨性的望角度兵描述候其共挣有的袋属性教及行为扶特征版。抽著象又活分为荡数据苗抽象浮和代诱码抽表象,朝前者押描述宰某类睁对象椒的公共责属性耽,后亡者描照述某谷类对跨象共宫有的炸行为独特征待。(2倚)封喜装和吊数据惑隐藏集:在栗面向范对象滔程序脸设计猜中,狼通过眼封装大可以连将一部姐分属抄性和饿数据伸的操按作隐瞎藏起情来,世另一详部分迁作为祝类的仰外部相接口州,使用委者可脆以访泄问。悬这样雾可以碌对属竞性和壁操作蒸的访侵问权蛾限进哥行合激理控从制,减少特程序枕之间脏的相所互影旧响,挖降低挺出错棚的可钱能性提。返回扶本章诱目录5.撤3.诵2丸基芦于C+树+的面向赚对象封程序谋设计(3析)继怠承与月重用轮:继买承是裕指新牢建的约类从录现有猎的类笑那里陡得到招一些短已有的特们征。险现有百的类饭称为兴“基重类”枝或“覆父类涝”,捧继承国基类析特征脸的新沉建类匪称为“派竟生类祥”或轨“子贼类”包,由瘦父类盈产生卵子类勒的过忌程称钉作“该类的货派生维”。储继承墨有效地膊增强寇了系骄统的悄可扩慢充性够,C+现+通过浅继承智来支便持软剂件重疑用。(4童)多门态性腔:在C+雀+的类森中,企相同昼的函抓数名泊可以未有若兵干个貌不同服的函数体取,在明调用预同一驾函数众时由抗于环秧境的巷不同屿,可绪能引秧起不贼同的绪行为扑,这就塌称为鸦“多渐态性未”。2.C+科+与C语言戏的关秘系C+融+保持乱了C语言欲的简反洁、座高效易和接篮近汇率编语台言等漆优点小,同掩时又屈对C语言苍的不足捆和问曾题作舱了很游多重笑要改骆进。①增糖加了欣新的经运算质符,眠使C+纷+应用柿起来悠更加产方便格;②削改进改了类鱼型系痰统,葱增加了加安全沟性;窑③使尸用“击引用岛”作场函数歌参数犁为用阴户编尸程带帮来了门很大瓜方便醒;④千允许函数浑重载贵,允皂许设才置缺志省参塔数,智提高丈了编辉程的博灵活规性,减筛少了制冗余糕;⑤补对变量株说明假更加健灵活兄。【例5.倚2】5.删3.来3煎基范于Ja遮va的面向廉对象残程序以设计返回百本节厕目录Ja疲va是一消种广茫泛使择用的歼网络携编程雁语言侮,简影单,榴面向尼对象售,解恒释执行不垂依赖钓于机侧器的舟结构液,具粘有可倡移植天性、巴安全醋性,及并且弃提供叼了并摩发机制蒸,是自多线过程的牙。Ja兄va语言济的特贺性使结它可暑以最扭大限泪度地遵利用绍网络薯,Ja口va的小美应用努程序啊(Ap稍pl情et烂)是动念态、丧安全敞、跨砖平台战的网箭络应绘用程季序,可在泻网络谢上传稍输而调不受CP携U和环遍境的殿限制。Ja办va刑Ap渗pl盛et嵌入HT兆ML语言,晶通过眯主页虹发布绝到In成te巩rn溪et易。Ja抱va语言鄙的特颤点如草下:(1)简帮单性革;(2)面纸向对捧象;(3)分冰布性破;(4)安豪全性军;(5)体幕系结构躬中立炎;(6)可岛移植隐性;(7)解纸释执缴行;哥(8)高吧性能;(9)多材线程(10)动娃态性;(11)丰雷富的石类库【例5.次3】5.暂4可视培化程智序设确计5.擦4.猾1狐概俊述5.钞4.拌2基于Vi征su烘al盆B异as版ic的可慢视化久程序志设计5.器4.须1裹概天述如果称一个辽程序崭设计璃语言嘱的语呈句表达困式由一川组图他符组杂成,程就称档为可视套化程幅序设寸计语喝言。习由该良语言醒编制闸而成青的程近序称莫为可鹅视化磁程序较。与传快统程先序相疤比,氧区别末在于帜程序圆表达效式是他由图斗符还鹊是有壤字符裹组成屿。可视游化程恩序设忽计简任单说宗就是前“所见巴即所讨得”固,即沟在设似计时他,根这据头脑舱中所切想象摧的应贵用程露序界房诚面,糟通过途鼠标菊以“根手绘汽”的愉方式哑在屏结幕上“画透”出序程序撕界面败,而疤不是设编制晕大量静的代异码然外后再袋编译奸生成牛界面华,底层的副一些蒙程序丛代码泽可以姐由开返发平房诚台自普动生阅成。可视右化程腹序设阶计一笑般为彻用户胆提供村大量搁的界宗面元素斑或称为裂控件绪对象。用户伪只要倚利用均鼠标栏把这驻些控督件对摩象拖览动到要适当灾位置引,然查后设属置它们趁的大朽小、咽形状已、属禾性等治,就拥可以献设计蹈出自爽己所著想要棋的应祝用程哪序界面。5.巾4.纲2基于Vi其su俱al闯B馅as破ic的可反视化亦程序荐设计Vi栋su拜al洲B策as化ic是由廉微软雁公司针于19菜91年推摘出的牲可视僚化程胞序设帜计语泡言。“Vi番su荡al朋B专as掌ic”的意蔬思就齐是“匆可视倚化的BA敏SI校C语言倍”,溪它是侄对B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论