- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 程序设计基础;§6.1 算法与程序;6.1.1 算法的基本概念
1.什么是算法
通俗点说,算法就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。
计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须用一个个具体的算法来实现。
2.算法的特征
(1)可行性
针对实际问题设计的算法,人们总是希望能够得到满意的结果。;(2)确定性
算法的确定性,是指算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。
(3)有穷性
算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
(4)输入
通常,算法中的各种运算总是要施加到各个运算对象上,而这些运算对象又可能具有某种初始状态,这是算法执行的起点或是依据。
(5)输出
一个算法有一个或多个输出,以反映对输入数据加工后的结果。;6.1.2 算法的表示
1.自然语言
自然语言是人们日常所用的语言,如汉语、英语、德语等。
2.程序流程图
程序流程图是描述算法的常用工具,可以很方便地表示程序的基本控制结构。
美国国家标准化协会ANSI规定了如下一组图形符号来表示算法。(见课本P142);3.伪代码
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。它不用图形符号,因此书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。
4.计算机程序设计语言
计算机不能识别自然语言、流程图和伪代码等算法描述语言,而设计算法的目的就是要用计算机解决问题。
;6.1.3 算法设计的基本方法
1.列举法
列举法又称为穷举法或枚举法,其基本思想是:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。
2.归纳法
归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。;3.递推法
如果一个对象的描述中包含它本身,我们就称这个对象是递归的,这??用递归来描述的算法称为递归算法。
从上面的递归事例不难看出,递归算法存在的两个必要条件:
必须有递归的终止条件;
过程的描述中包含它本身。
4.分治法
所谓分治法,就是对问题分而治之。尽可能地把复杂问题分解为若干较小的问题,找出各个较小问题的解之后,再组合成整个问题的解。;5.回溯法
通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到了问题的解,若试探失败,就逐步回退,换别的路线再进行试探。这种方法称为回溯法。;6.1.4 算法的评价
1.正确性
正确性是指算法的执行结果应该满足预先规定的功能和性能要求。
2.可读性
一个算法应该思路清晰、层次分明、简单明了、易读易懂。
3.健壮性
算法的健壮性指的是,算法应对非法输入的数据做出恰当反映或进行相应处理。
4.复杂性;算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
6.1.5 程序与程序设计语言
1.什么是程序
程序就是告诉计算机要做什么的一系列指令,每条指令是一个要执行的动作。编写程序的工作称为程序设计。
程序设计是根据特定的问题,使用某种程序设计语言,按照预定的算法设计计算机执行的指令序列。
2.程序设计语言;(1)机器语言
为编写计算机所能理解的程序,人们最早使用的语言是机器语言。
(2)汇编语言
汇编语言是用助记符来表示每一条机器指令。
由汇编语言编写的源程序必须经过翻译转变成机器语言程序,计算机才能识别和执行。
(3)高级语言
高级语言是一种与机器指令系统无关,表达形式更接近于被描述问题的程序设计语言。
高级语言处理程序有编译程序和解释程序两种。;§6.1 算法与程序;3.程序与算法、数据结构之间的关系
算法是处理问题的方法和步骤,数据结构是算法要处理的数据构造的逻辑表示形式,最后问题的解由计算机程序给出。
程序的构成是和数据结构不可分割的。
算法思想决定了程序的质量和性能,好的算法可大大提高程序运行的效率,减少时间和空间复杂性。
算法是建立在数据结构基础上的,未确定对数据如何操作就无法决定如何构造数据。;
;Alice系统是一个可视化的编程环境,程序中的状态可以通过三维场景中对象的运动方式得以实现,这样就能在程序结构与表现的动画之间建立一种可视化的关联,使得学生的学习负担从认知系统迁移到了感知系统。
6.2.1 Alice系统简介
Alice系统是由美国卡耐基·梅隆(Carnegie Mellon)大学开发的以学习者为中心,支持面向对象程序设计的三维虚拟世界动画教学工具软件,在地址上,
您可能关注的文档
最近下载
- 临床医学专业培养方案-延边大学医学院.DOC
- (蒙) 紫外分光测油仪校准规范.pdf VIP
- 丝蛋白创面敷料临床试验报告(主要结果) .pdf VIP
- (蒙) 血型试剂卡孵育器校准规范.pdf VIP
- (蒙) 热压罐校准规范.pdf VIP
- 六年级(上)数学晨读晚默综合每日一练.pdf VIP
- 人教版高中数学A版选必第3册《第八章 成对数据的统计分析》大单元整体教学设计.docx
- 2025医疗器械经营质量管理体系文件(全套)(可编辑!).docx VIP
- 非招标方式采购文件示范文本6.docx VIP
- 广东省茂名市高州市十二校联考2025-2026学年八年级上学期12月月考语文试题(含答案).pdf VIP
原创力文档


文档评论(0)