课件23张PPT。 算法及其实现浙教版《信息技术基础》第三章第四节复习巩固计算机解决问题的一般过程
分析问题寻找解决的途径和方法用计算机处理确定问题的类型和解题目标建立模型,寻找合适的算法和工具利用计算机程序解决问题的基本过程(1)分析问题:分析问题的需求情况及已知条件。(2)设计算法:根据分析,找出解决问题的方法与步骤。(3)编写程序:选择一种程序设计语言来编写程序,实现算法。(4)调试程序:检查程序的可靠性。(5)检测结果:对程序功能进行检测。算法的概念所谓“算法”,就是解题方法的精确描述。“算法”是用来表示解决问题的方法和步骤,它是由有限个步骤组成的。
通常,一个问题能够解决,是指解决问题的算法已经找到;一个问题没有解决,是指解决问题的算法还未找到或问题本身不存在可行的算法。
从更广义的角度来看,并不是只有“计算”的问题才能有算法。
生活中处处存在着算法菜谱一元二次方程解题过程乐谱学习的方案广播操图解课表等等……算法的概念算法的特点有穷性:算法中的运算次数是有限的。
明确性:算法中的每一步必须有清楚的定义,不能有二义性或模棱两可的解释。
可行性:每一个操作都是可执行的(即在有限时间内可以做到的)。
输入输出:可以没有输入量,但必须有输出。算法描述的是一种有穷的动作序列,即算法是由有限个步骤组成的,在算法中每一步动作的表现形式并没有规定的格式,可以是抽象的,也可以是具体的,但是这些动作的含义应当是明确的(即没有二义性),同时还应该是能行的(即在有限的时间内可以做到的)。 判断下面各题是否有算法?判断6, 7,9是否可以组成一个三角形?
用小数形式求1除以3的值。
求一元二次方程X2+2X+1=0的解?有限性算法的实例昨天,老师家里来了很多客人,作为主人我要泡茶给客人喝,但是要泡很多杯花费了很多时间,老师想请同学们帮帮老师怎么样才能提高效率呢?
泡茶的一般工序:洗开水壶,洗茶壶,洗茶杯,拿茶叶,往水壶里灌凉水,烧水,泡茶喝。算法实例泡茶的算法1、对于同一个问题,有时可以有不同的解题方法和步骤。
2、尽可能采用简单省时的和步骤较少的方法去解决问题,这样才会更有效率。
3、为了有效地解决问题,不仅需要保证算法正确,还要考虑算法的质量,所以,要求人们设计和选择合适的算法设计和选择合适算法的重要性算法的表示算法的表示方法自然语言 流程图 计算机语言用我们的口头解释或文字描述得到解决方案 本节课重点下节课重点流程图是人们经常用来描述算法的工具,流程图用图框及流程线来表示算法。美国国家标准化协会(ANSI)规定了流程图符号。算法的表示例1:用自然语言和流程图描述“看书”的过程。自然语言描述:
(1)找到想看的书
(2)打开要看的地方
(3)看书顺序结构算法的表示例2:画出“我们走路躲避障碍物”这个过程的流程图自然语言描述:
(1)观察道路情况。(2)判断有无障碍物:若有,则躲避障碍物;若无,断续往前直走。(3)结束分支结构当出现需要选择时,采用分支结构,根据不同情况选择不同的步骤。算法的表示例3:画出“在书桌里找信息技术书”这个过程的流程图。自然语言描述:
(1)寻找,找到一本书; (2)判断:是我要找的书吗? 若不是,返回第一步; 若是,执行下一步; (3)拿出书。循环结构当反复执行相同步骤时,采用循环结构。算法的表示 例4:要设计一个算法,对任意输入的三个整数X、Y、和Z,找出并输出其中的最大值。用自然语言描述:
(1)输入变量X、Y和Z的值。
(2)比较X和Y,如果X>Y,则X赋值给max,否则,将Y赋值给max。
(3)比较Z和max。如果Z>max,则将Z赋值给max。
(4)输出结果max。开始输入变量X、Y和Z的值Max?XMax?YMax?Z输入变量Max的值结束YNNY计算机语言:
Input x,y,z
If x>y then
Max=x
Else
Max=y
End if
If z>max then
Max=z
End if
Print max
EndX>YZ>Max练一练 同学们用自然语言和流程图两种方法描述下列事件的算法。
比较X和Y两个数的大小,并输出最小值。
输出一元二次方程ax2+bx+c=0的根连接学考2、下面关于算法的说法错误的是( )。
A、算法必须有输出
B、算法必须在计算机上用某种语言实现
C、算法不一定有输入
D、算法必须在有限步执行后能结束B连接学考4、阅读如图所示的某一问题的算法的流程图,此流程图反映的算法功能是( )
A、求出a,b,c三个数中的最大数
B、求出a,b,c三个数中的最小数
C、将a,b,c按从大到小排列
D、将a,b,c按从小到大排列B课堂小结用来表示解决问题的方法和步骤有穷性
明确性
可行性
输入输出自然语言
流程图
计算机语言顺序结构
分支结构
循环结构目标:用流程图和自然语言描述解决问题的算法