第8课 算法的多样性 课件(共16张PPT)

资源下载
  1. 二一教育资源

第8课 算法的多样性 课件(共16张PPT)

资源简介

(共16张PPT)
六年级上册 信息科技
算法的多样性
第8课
你将学习
1.同一问题存在多种算法。
2.同一问题的多种算法验证。
讨论
猜数字游戏
讨论
解决一个问题的算法具有多样性,
即可用不同的算法来解决同一个问题。
同一个问题存在多种算法!
建构
在一些(有序的/无序的)数据元素中,
通过一定的方法,
找出与给定关键字相同的数据元素的过程,
叫做查找。
问题分析
同学A输入数字的过程其实是一个“查找”问题。
即在1~100范围内查找目标数da。
可采用多种不同的策略来解决。
猜数字游戏
问题分析
策略一:顺序查找
1 2 3 …… 50 51 52 …… 99 100
100 99 98 …… 52 51 50 …… 2 1
目标数:51
问题分析
策略二:取中间数查找
1 2 3 …… 50 51 52 …… 99 100
目标数:37
第一次比较:37<50
范围调整为1~49
1 2 3 …… 24 25 26 …… 48 49
第二次比较:37>25
范围调整为26~49
26 27 28 …… 36 37 38 …… 48 49
第三次比较:37=37
查找成功!
问题分析
采用“按顺序依次查找”的策略,查找数37,一共需比较多少次呢?
1 2 3 …… 50 51 52 …… 99 100
37次
采用“按二分查找”的策略,查找数37,一共需比较多少次呢?
3次
问题分析
计算机中的“查找”
解决问题的多种算法设计
顺序查找流程图
目标数:da
取到的数:cai
解决问题的多种算法设计
二分查找流程图
目标数:da
中间数:cai
取数范围:cz~zz
解决问题的多种算法验证
da=37
cai=1
while cai<101:
if cai==da:
print("找到了!")
break
else:
cai=cai+1
顺序查找程序
break语句的作用是终止所在的循环。
若寻找150,则程序运行结果是什么?
要显示对应提示,如何修改程序?
da=137
cai=1
while cai<101:
if cai==da:
print("找到了!")
break
else:
cai=cai+1
if cai>100:
print("找不到!")
解决问题的多种算法验证
1
1
100

50
策略二:取中间数查找
目标数da:37


2
1
49

25


3
26
49

37

练习
若变量cai的取值依次为100,99,…,2,1,则相应的算法和程序如何修改?
解决问题的多种算法验证
da=37
cai=100
while cai>0:
if cai==da:
print("找到了!")
break
else:
cai=cai-1
顺序查找程序
break语句的作用是终止所在的循环。
若寻找150,则程序运行结果是什么?
要显示对应提示,如何修改程序?
da=137
cai=100
while cai>0:
if cai==da:
print("找到了!")
break
else:
cai=cai-1
if cai<1:
print("找不到!")

展开更多......

收起↑

资源预览