资源简介 (共14张PPT)算法及其特征教 学目 标了解算法的基本特征,感受算法在解决问题中的重要性。能够使用自然语言和数字化工具描述算法。通过解决“水仙花问题”,了解枚举法的含义,并能使用枚举法解决相关问题。测 测 你 的 IQ把人和鬼都送到对岸,每次最多只能坐下两人。任何一边鬼都不能比人多,否则鬼吃人,游戏结束。一算 法……解决问题的方法及步骤算 法二利用算法思想解决问题输出三位数的水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如:13+53+33=153。已知条件:三位数的水仙花数满足:X=A3+B3+C3求解:满足条件的所有三位数过程分析:1.如何求解1个三位数X的各个数位:ABCA=X//100B=X//10%10C=X%10百十个2.如何判断ABC是否是水仙花数A3+B3+C3 X =分析问题B=X%100//10设计算法流程图伪代码自然语言活动一:使用画程软件将流程图补充完整课 堂 活 动编写代码与调试活动二:将程序补充完整,判断一个三位数是否是水仙花数x=int(input("请输入一个三位数"))a=x//100b=①c=x%10if a**3+b**3+c**3==x:print(②,"是水仙花数")③:print(x,"不是水仙花数")课 堂 活 动二如何求出三位数里面的所有水仙花数?过程分析:1.三位数的范围:2.使用什么结构遍历所有的三位数:循环:for x in range(100,1000):100~999是否否是c=x%10b=x//10%10x<=999利用算法思想解决问题编写代码与调试活动三:改进活动二的程序,找出三位数里面的所有水仙花数。for x in range(100,1000):a=x//100xxxxxx课 堂 活 动Tab键→控制缩进,按一次相当于四个空格三枚举算法第一个数100第二个数101第三个数102……第900个数999100不是水仙花数101不是水仙花数102不是水仙花数……999不是水仙花数列 举验 证枚 举 法:从一串钥匙中找出适配的钥匙鸡兔同笼问题1234可以组成多少位不同的四位数……优点:比较直观,易于理解缺点:效率比较低把所有可能的答案一一列举四算法的特征分析 现象(可多选) 算法的特征哪些信息属于输入: 输入项: □0个输入 □多个输入哪些信息属于输出: 输出项: □0个输出 □多个输出执行的结果: 执行的结果:□确定的 □不确定的得到结果需要的步骤? 执行的步骤:□有限 □无限执行完需要的时间 执行的时间:□有限 □无限无/有有是/不是水仙花数√√√√0个或多个输入一定有输出确切性有穷性可行性算法有哪些特征呢?√√for x in range(100,1000):a=x//100b=x//10%10c=x%10if a**3+b**3+c**3==x:print(x,"是水仙花数")x=int(input("请输入一个三位数"))a=x//100b=x//10%10c=x%10if 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 展开更多...... 收起↑ 资源预览