算法的概念及描述
学习目标
描述算法的特征,理解算法在问题解决中的作用。
选用恰当的描述方法和控制结构表示简单算法,增强用算法解决问题的意识。
体验探索
规划乘车路线
1.认识算法
在生活和学习中,人们经常会运用到算法知识,只是很少意识到。从广义上讲,算法是为解决一类特定问题而采取的确定的、有限的步骤。它描述出某类问题求解的方法和过程,在整个问题解决过程中起着重要的作用。
1.认识算法
算法一般具有如下特征:
有输入
有输出
有穷性
可行性
确定性
2.描述算法
用自然语言描述算法
自然语言指人们日常所用的语言。用自然语言描述算法就是使用人们能读懂的简短语句对算法的步骤进行描述。
2.描述算法
用自然语言描述算法
用自然语言描述算法易于理解,它既可以描述生活中的算法,也可以描述在计算机中执行的算法。但是,自然语言的描述方法存在容易产生二义性的缺点,有可能干扰后续的编程实现。
2.描述算法
用流程图描述算法
流程图是一种常用的表示算法的图形化工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确,很适合初学算法的人员使用。
2.描述算法
流程图常用符号及其功能
2.描述算法
算法结构
算法有顺序结构、选择结构和循环结构三种基本控制结构。
2.描述算法
顺序结构
每一个步骤按先后次序被执行,即执行处理A,然后执行处理B,如图所示。
2.描述算法
选择结构
选择结构又称分支结构。根据条件的成立与否,选择执行不同的分支处理,如图所示。当条件成立时(用True表示),执行处理A;当条件不成立时(用False表示),执行处理B.
2.描述算法
循环结构
当条件成立时,反复执行处理A,一旦条件不成立就立即结束循环,如图所示。
2.描述算法
在实际问题解决中,经常会综合使用这三种结构。例如,“倒计时15s”的算法可用如图所示的流程图描述。
2.描述算法
用伪代码描述算法
用伪代码描述算法就是采用一种类似于程序设计语言的代码来表示算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。
2.描述算法
算法描述了问题求解的具体步骤,决定着问题解决的过程。解决同一问题可能会有不同的算法,不同算法求解的过程或有不同。
实践活动
找出质量较轻的零件
已知有10个一模一样的零件,其中9个零件的质量相同,只有1个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。
回答教材上的两个问题。
阅读扩展
算法与数字生活
算法与数字生活息息相关,如使用机器人清理房间,通过智能运动手环进行科学健身,输入用户口令安全登录账户等,算法都在其中起着重要的作用。借助高效的算法和优化的程序,我们可以更加快捷方便地解决越来越多的问题,提高生活、工作和学习效率。
项目实施
描述项目问题的算法设计
(1)项目活动
结合“编程控灯利出行”项目,在完成“自助式人行过街红绿灯”的问题分析和功能分解之后,对各功能进行算法设计,并用流程图的方式描述出来。
(2)项目检查
设计项目任务实现的算法,并用流程图描述出对应的算法。
谢谢