4.1 算计及其特征 课件(共14张PPT)

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

4.1 算计及其特征 课件(共14张PPT)

资源简介

(共14张PPT)
算法及其特征
教 学
目 标
了解算法的基本特征,感受算法在解决问题中的重要性。
能够使用自然语言和数字化工具描述算法。
通过解决“水仙花问题”,了解枚举法的含义,并能使用枚举法解决相关问题。
测 测 你 的 IQ
把人和鬼都送到对岸,每次最多只能坐下两人。任何一边鬼都不能比人多,否则鬼吃人,游戏结束。

算 法
……
解决问题的方法及步骤
算 法

利用算法思想解决问题
输出三位数的水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如:13+53+33=153。
已知条件:
三位数的水仙
花数满足:
X=A3+B3+C3
求解:
满足条件的所
有三位数
过程分析:
1.如何求解1个三位数X的各个数位:
A
B
C
A=X//100
B=X//10%10
C=X%10



2.如何判断ABC是否是水仙花数
A3+B3+C3 X
=
分析问题
B=X%100//10
设计算法
流程图
伪代码
自然
语言
活动一:使用画程软件将流程图补充完整
课 堂 活 动
编写代码与调试
活动二:将程序补充完整,判断一个三位数是否是水仙花数
x=int(input("请输入一个三位数"))
a=x//100
b=①
c=x%10
if a**3+b**3+c**3==x:
print(②,"是水仙花数")
③:
print(x,"不是水仙花数")
课 堂 活 动

如何求出三位数里面的所有水仙花数?
过程分析:
1.三位数的范围:
2.使用什么结构遍历所有的三位数:
循环:for x in range(100,1000):
100~999




c=x%10
b=x//10%10
x<=999
利用算法思想解决问题
编写代码与调试
活动三:改进活动二的程序,找出三位数里面的所有水仙花数。
for x in range(100,1000):
a=x//100
xxx
xxx
课 堂 活 动
Tab键→控制缩进,按一次相当于四个空格

枚举算法
第一个数100
第二个数101
第三个数102
……
第900个数999
100不是水仙花数
101不是水仙花数
102不是水仙花数
……
999不是水仙花数
列 举
验 证
枚 举 法:
从一串钥匙中找出适配的钥匙
鸡兔同笼问题
1234可以组成多少位不同的四位数
……
优点:比较直观,易于理解
缺点:效率比较低
把所有可能的答案一一列举

算法的特征
分析 现象(可多选) 算法的特征
哪些信息属于输入: 输入项: □0个输入 □多个输入
哪些信息属于输出: 输出项: □0个输出 □多个输出
执行的结果: 执行的结果:□确定的 □不确定的
得到结果需要的步骤? 执行的步骤:□有限 □无限
执行完需要的时间 执行的时间:□有限 □无限
无/有

是/不是水仙花数




0个或多个输入
一定有输出
确切性
有穷性
可行性
算法有哪些特征呢?


for x in range(100,1000):
a=x//100
b=x//10%10
c=x%10
if a**3+b**3+c**3==x:
print(x,"是水仙花数")
x=int(input("请输入一个三位数"))
a=x//100
b=x//10%10
c=x%10
if a**3+b**3+c**3==x:
print(x,"是水仙花数")
else:
print(x,"不是水仙花数")
课 堂 小 结
课 堂 小 练
谁是冠军
面试的冠军在A 、 B 、 C 、 D四位同学中。已知四人中有一人说了假话。 A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”你能判断出到底谁是冠军吗?
champion=['A','B','C','D'] #设置选手列表
for i in champion:
cond=(i!='A')+(i=='C') + (i=='D')+(①)
if cond==②:
print("冠军是:",i)
提示:A说:“不是我。”可以表示为“i!='A'”,其中i为枚举的冠军选手编号。
THE END

展开更多......

收起↑

资源预览