大学计算机基础第10章 程序设计基础.pptx

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 程序设计基础 ;知识要点;1.程序和程序设计;1.2 指令和指令系统 1.2.1 指令 指令就是命令,是人对计算机下达的命令 一条指令对应计算机的一种操作 指令=操作码+操作数 操作码:表示计算机该做什么操作 操作数:表示计算机该对哪些数据做怎样的操作 1.2.2 指令系统 一台计算机所能执行的全部操作指令称为它的指令系统 ;1.3 程序设计 学习目的 程序设计步骤 分析问题,确定解决方案 建立数学模型 确定算法(算法设计) 编写源程序 程序调试 整理资料 ;2.结构化程序设计的基本原则;2.2 程序设计的风格 程序设计的风格 程序设计语言运用的风格 程序文本的风格 输入/输出的风格;2.3 结构化程序设计的原则 荷兰学者迪克特拉(Dijkstra)提出了一套方法,它规定程序要具有合理的结构,以保证和验证程序的正确性。 (1)自顶向下 (2)逐步求精 (3)??块化 (4)限制使用Go To语句;2.4 面向对象的程序设计 面向对象的程序设计的一些基本概念 对象——在一个面向对象的系统中,对象是运行期的基本实体 ——基本特征:模块性、继承性和类比性、动态连接性和易维护性 类 方法 消息 继承 封装 面向对象技术的特点 可重用性 可维护性 表示方法的一致性 ;3.算法;3.算法;3.3 算法的描述 (1)自然语言 用自然语言描述的算法,通俗易懂,但是文字冗长,准确性不好,易于产生歧义性。 (2)伪码 伪码不是一种现实存在的编程语言,它可能综合使用多种编程语言中语法、保留字,甚至会用到自然语言。;3.3 算法的描述 (3)流程图 流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程线来指示算法的执行方向。 流程图的常用符号 使用举例;【例10.1】 描述“对两个数按照从大到小的顺序输出”的算法。;3.3 算法的描述 (4)N-S结构图 N-S结构图是由美国的两位学者Ike Nassi和Ben Schneiderman提出的。N-S图用一个大矩形框来表示算法,省略了流程图中的流程线,是算法的一种结构化描述方法。 例10.1使用N-S图的算法表示: ;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;4. 程序设计的基本控制结构;5.常用程序设计语言介绍;5.常用程序设计语言介绍;5.3 高级语言 (1)概念 高级语言是一种接近数学语言或自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用的语言。 (2)发展 (3)特点 易于编写、修改和调试,可移植性强等。 (4)常用高级语言 C语言 C++ Visual Basic Java ;(1)二分查找算法 算法思想:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;缺点是要求待查数据序列为有序的。 首先,假设序列中元素是按升序排列,先将序列中间位置的数据元素与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置元素将序列分成前、后两个子序列,如果中间位置元素的值大于查找关键字,则进一步查找前一子序列,否则进一步查找后一子序列。重复以上过程,直到找到满足条件的数据元素,则查找成功,或直到子序列不存在为止,此时查找不成功。 ;二分查找算法流程图: ;(2)序列求和、求积 算法思想:假设序列中有n个数据,要求所有数之和,要将数列中的数从第一个开始到最后一个依次进行累加运算;要求所有数之积,要将数列中的数从第一个开始到最后一个依次进行累乘运算。 注意,在进行计算时,用来放置和或是积的元素的初值设置。 ;选择排序算法;选择排序算法;冒泡排序算法;冒泡排序算法;流程图表示: 假设数列有n项,用i来 表示当前项数,s用来放 和或积。 思考:如何求奇数项、偶数 项或指定项的和或积? ;(3)求一组数的最大值、最小值 算法思想:假设有n个数值,要求这一组数的最大值,则先假设第一个数是最大的,然后从第二个数开始依次用每一个数和假设的最大数进行比较,不满足要求则记录当前最大值,所有比较完成后输出所记录的最大值。求最小值的算法和此类似。 ;求最

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档