ch01_程序设计与算法教案解析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象的属性、方法和事件 属性、方法和事件构成了对象的三要素。 属性可用来描述同一类事物的特征,方法可描述同一类事物可做的操作,而事件是对象的响应,决定了对象之间的联系。 事件 导致某个对象的“操作” 被执行的过程称为事件。 事件就是发生在该对象上的事情。 例如,在学校,教学楼的铃声是一个事件,教师听到铃声就要准备开始讲课;学生听到铃声就要准备听教师上课;行政人员不受铃声影响就可不响应。 某个事件发生时对象所执行的操作称为事件响应。 面向对象的程序设计语言为每一个对象都预先定义了许多事件,一个事件发生了,要作如何的响应,需要程序员根据具体功能编写相应的响应代码。 例如,窗口中有一个按钮对象,希望在用户单击此按钮时显示一个信息框:“你刚才单击了我!”,则应该为该按钮的Click(单击)事件编写响应代码: MsgBox “你刚才单击了我!” 注意触发的条件和完成的功能,这样决定了代码应该放在哪里和怎么写 类 概念:是对同种对象的抽象描述,是创建对象的模板,对象是类的实例。例如,人类是人的抽象,一个个不同的人是人类的实例。 在VB中,工具箱上的可视图标是VB系统设计好的标准控件类如命令按钮类,若当在窗体上画一个控件时,就将类实例化为对象,即创建了一个控件对象。 1.1.5 程序的质量标准 什么样的程序才算是好程序呢?主要从以下几个方面来综合评价一个程序的质量。 正确性——最基本的要求 易读性——程序设计时应该尽可能地使程序容易阅读、容易理解。 有效性——运行速度快且占用空间少 可维护性——程序运行后的修正和维护。 适应性 程序对需求变化的适应程度;程序对运行环境变化的适应程度。 1.2 算法及算法描述工具 1.2.1 算法和算法设计 算法 形式地说,算法是一组(有限个)规则,它提供了解决某个特定问题的运算序列。 通俗地说,算法就是解决某个特定问题的方法和步骤的精确描述。 算法描述的精确程度取决于算法的执行者 例:描述求解一元二次方程的根的算法 对于 应有不同的精确程度 不能将算法狭义的理解为“计算方法” 中学生 小学生 计算机 程序与算法的关系 程序是用某种计算机语言来表示用于解决某个特定问题的算法,程序是算法用计算机语言实现的最终形式; 算法是程序的灵魂; 程序=算法+数据; 程序设计应该包括数据安排(构造数据结构)和算法设计两项工作。 对于同一个问题,计算机解决的算法和人解决的算法可能会大相径庭。有时对于人来说非常简单的问题,要给出计算机求解算法却是很困难的。 1.2.2 算法描述工具 目的是为了准确地描述算法。 目前广泛使用的算法描述工具有: 程序流程图 N-S图 PAD图 伪码 自然语言等等。 程序流程图:用简单的几何图形、必要的文字说明以及箭头指向来描述算法的执行过程 基本符号 三种基本结构程序流程图 顺序结构 选择结构 循环结构 求解一元二次方程的实数根 1.2.3 算法的基本特征 有穷性 一个算法必须保证执行有限步之后结束 ⑴S=1; ⑵N=2; ⑶计算T=N2; ⑷将T加到S上; ⑸将N加1; ⑹转到⑶; ⑺输出S; ⑻结束。 ⑴S=1; ⑵N=2; ⑶如果N≤10,则执行⑷以下,否则转到⑻; ⑷计算T=N2; ⑸将T加到S上; ⑹将N加1; ⑺转到⑶; ⑻输出S; ⑼结束。 确定性 算法中的每一个步骤都必须准确的定义。 ⑴输入系数a,b,c; ⑵计算根x1;(不够准确,若无实数根,还要计算?) ⑶计算根x2; ⑷输出根x1,x2; ⑸结束。 ⑴输入系数a,b,c; ⑵如果a=0,则报告“输入错误”,并转⑻; ⑶计算d=b2-4ac; ⑷如果d≤0,则报告“无解”,并转⑻; ⑸计算根 ; ⑹计算根 ; ⑺输出根x1,x2; ⑻结束。 可行性 两层含义: 一是算法中的每一个操作都应该是基本的,是可以付诸实现的。例如,“计算x=1/3”这一操作是可行的,但是“计算x=1/0”是不可行的。 二是算法应该在人们能够容忍的时间内完成预期的任务。例如,假设有根据下面公式计算π值的算法: 如果要求精确到5位,则该算法是能行的,但是如果要求精确到500位,则该算法是不可行的,其运行时间人们无法容忍。 有输入和输出 本质上,所有的算法都是在对数据进行加工和处理。只有输入了待加工的原始数据,算法才能将其加工成所需要的结果。 对于一个算法输入总是需要的,如果一个算法没有输入,则肯定在该算法的内部指定了默认的初始条件 输出是算法对输入数据加工处理的结果。没有输出的算法是毫无意义的,一个算法通常有一个或多个输出。 * * * * 主讲:胡凌云 E-Mail:misshz@ 引例——“字幕动画” 在电视、电影的片头、片尾中常见用字幕动画来显示制片

文档评论(0)

我是兰花草 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档