第6章程序设计(第6讲12月4日)_第1页
第6章程序设计(第6讲12月4日)_第2页
第6章程序设计(第6讲12月4日)_第3页
第6章程序设计(第6讲12月4日)_第4页
第6章程序设计(第6讲12月4日)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、第第6 6章章主要解决的问题主要解决的问题算法C程序?算法?程序?算法?COOP OOP ?C算法表示法算法表示法(传统流程图)(传统流程图) ?C语言的分类?翻译的种类?语言的分类?翻译的种类?第第6 6章章算法、程序、数据算法、程序、数据-p140-p140算法算法algorithmalgorithmp140p140计算机求解问题的方法、步骤计算机求解问题的方法、步骤过程过程最后一句话其设其设计与分析是计算机科学的核心问题计与分析是计算机科学的核心问题p141第一段最后一句程序程序programprogram 用程序设计语言描述的算法。用程序设计语言描述的算法。P144倒数第2段第1句数据

2、及数据结构数据及数据结构: :处理的所有对象,对象之间的相互关系。处理的所有对象,对象之间的相互关系。按按void main( ) int a, b, c; scanf (“%d,%d”, &a, &b); c =a ; a=b; b=c; printf (“a=%d, b=%d”, a,b); /*windowsxp含4千万行代码*/ 举例:交换举例:交换A A,B B杯中液体杯中液体 思考:程序和算法关系?两者之间的差异?思考:程序和算法关系?两者之间的差异?第第6 6章章计算机求解问题的一般过程p151三者举例算法详介下面就算法、程序设计方法、语言、测试等涉及到主要问题加

3、以介绍1.问题描述问题描述p1522.算法设计算法设计3.3.编写程序编写程序- -代码代码4.调试运行程序调试运行程序p153编写程序文档编写程序文档第第6 6章章算法的特征p141,表示方法-p142 自然语言自然语言 传统流程图传统流程图 伪代码伪代码 设计步骤基本方法按按自然语言与计算机语言的文字和符号自然语言与计算机语言的文字和符号Alice中的文本式故事板p152x=x+y y100起起/ /止框止框处理框处理框判断框判断框流程线流程线输出输出xI/OI/O框框 算法的表示:算法的表示: 算法的特征:算法的特征:可行性可行性:每步均可执行:每步均可执行确定性确定性: : 每步均无歧

4、义每步均无歧义有穷性有穷性: : 步骤有限步骤有限 (死循环例子)(死循环例子) 输入输入: 0: 0多个输入多个输入 输出输出:1:1多个输出多个输出 第第6 6章章常用算法的设计方法-p142 穷举法穷举法: 归纳法归纳法: 递归法递归法: 分治法分治法: 回溯法回溯法:逐一列出所有可能逐一列出所有可能- -找出100内素数,百钱买百鸡,破译密码分析分析-找到线索找到线索-试探试探-成功,成功,迷宫游戏迷宫游戏 没找到线索没找到线索-回退回退对象描述中本身对象描述中本身有有终止条件。终止条件。汉诺塔、年龄问题等汉诺塔、年龄问题等 大问题大问题 小问题小问题从特殊到一般,抽出通式。数列、从特

5、殊到一般,抽出通式。数列、n!n!算法表示算法评判按按第第6 6章章算法的评价-好算法标准-p144正确性:正确性: 可读性:可读性:健壮性健壮性*:复杂性:复杂性: 评判效率,低评判效率,低-高效。省时间、省空间高效。省时间、省空间 对异常情况的识别与处理能力,对异常情况的识别与处理能力,如求2个数之商 易于理解,便于检查、修改易于理解,便于检查、修改 给出正确答案给出正确答案 常用算法基本方法按按第第6 6章章语言分类-p145发发展展过过程程机器语言机器语言-低级 高级语言高级语言-与机器无关汇编语言汇编语言-低级 C/Basic/Fortran/Pascal面向过程C+,Java 面向

6、对象VC+/VB 面向对象与可视化00101100 00001010ADD A, 10 A=A+10性质翻译机器语言机器语言汇编语言汇编语言- -助记符助记符高级语言高级语言高级语言、汇编语言均需翻译后,机器才能识别按按语言分类语言分类语言翻译语言翻译语言翻译语言翻译语言翻译语言翻译与机器有关的,仅用于特定的CPU第第6 6章章高级语言处理程序高级语言处理程序-p145-p145高级语言源程序高级语言源程序机器语言机器语言编译程序编译程序解释程序解释程序翻译器翻译器编译:整个源程序编译:整个源程序 -目标程序目标程序-可执行程序可执行程序 解释:第解释:第1句源程序句源程序 -执行,第执行,第

7、2句句执行。执行。 两者的区别?两者的区别?编译编译程序程序链接链接程序程序解释解释程序程序*.obj*.exe数据是程序的中心语言分类语言分类语言分类语言分类语言分类语言分类语言翻译语言翻译两者的最大区别两者的最大区别之一:之一:编译生成编译生成目标程序或代码,目标程序或代码,解释无。解释无。分类Alice要点按按第第6 6章章类、对象类、对象-p148 面向对象基本概念面向对象基本概念p150OOOO程序是事件驱动,面向过程程序是事件驱动,面向过程- -顺序执行顺序执行:创建类创建类哺乳动物哺乳动物创建对象创建对象翻译封装小轿车小轿车封装性封装性继承性继承性* *多态性多态性* *抽象抽象

8、按按类类(class):对象对象(object):同类对象的抽象同类对象的抽象-属性属性+方法方法 类的实例类的实例对象对象类类属性属性: 特征特征-名词名词方法方法: 操作操作-动词动词 面向对象的三个特征:面向对象的三个特征:p149封装性、继承性、多态性封装性、继承性、多态性练习题p8第第6 6章章OOP的特点-封装增加对象独立性增加对象独立性增加数据可靠性增加数据可靠性保护类中的数据保护类中的数据 不被类外程序随不被类外程序随 意使用意使用鼠标轮子鼠标轮子 汽汽 车车结构化程序设计结构化程序设计-零部件集中存放零部件集中存放-以功能为设计主体以功能为设计主体oop-零部件按类存放零部件

9、按类存放-以对象为设计主体以对象为设计主体汽汽车车轮轮子子封装性封装性继承性继承性* *多态性多态性* *抽象抽象第第6 6章章OOP的特点-继承性已有类建新类已有类建新类提高程序重用性提高程序重用性提高程序修改、提高程序修改、 扩充和设计效率扩充和设计效率Circlepoint基类基类父类父类派生类派生类子类子类点点+半径半径圆圆+高度高度封装性封装性继承性继承性* *多态性多态性* *抽象抽象第第6 6章章OOP的特点-多态性多态性是指多态性是指同一个消息同一个消息被不同对象被不同对象接收时产生接收时产生不同的结果不同的结果Circlepoint打印面积面积面积=0面积面积=XX面积面积=

10、XXX发布消息“打印面积”时,不同对象产生的不同响应结果封装性封装性继承性继承性* *多态性多态性* *抽象抽象第第6 6章章结束结束开始开始输入输入a,b,ca,b,c输出输出d dd=(a+b+c)/3A阅读流程图练习题1看流程图、分析结构、给出功能顺序-看懂与理解即可结束结束开始开始输入输入a,ba,b输出输出a a,b ba=bc=ab=cB选择顺序结构,交换a,b中的值顺序结构,求3个数的平均值按按Alice中顺序命令p155: Do in orderAlice中同步命令p157: do together第第6 6章章结束结束开始开始输入输入x x输出输出y yy=xx=0?x=0?y=-xAYN阅读流程图练习题2看流程图、分析结构、给出功能-选择顺序顺序循环结束结束开始开始输入输入x,yx,y输出输出x

温馨提示

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

评论

0/150

提交评论