资源简介 (共20张PPT)4.1算法及其特征(第二课时)回顾01算法具有哪些特征?算法的常见表达方式有哪些?【活动1】任选一种方法表达一道IQ题的解决方法:“房间里有三盏灯,房间外有三个开关,在房外看不见房内的情况下,进门一次确定开关与灯的控制关系。”流程图算法的表达方式各有特点。三种方式可以根据实际问题进行选择。只要恰当准确即可。除了已经介绍的三种,其实表达方式还有很多,例如拓展知识中介绍的PAD表示方法,有兴趣的同学可以课后阅读P92。描述方式 有点 不足自然语言 比较贴近自然方式,表述方便 但容易有二义性流程图 表示比较清晰 绘制起来比较麻烦程序 功能强大 编写有一定难度新知新授02【思考】找出三位正整数中能被3整除的整数。三位数:000-999?整除:?除以3余数为0一、枚举法(穷举法)把所有可能性列举出来,和给出的条件进行判断,符合的保留。这种解决问题方式——叫枚举法或穷举法。一、枚举法特征:1、确定穷举范围问题所涉及的情况有哪些,情况的种数可不可以确定。 2、确定验证条件分析出来的这些情况,需要满足什么条件,才成为问题的答案。经常使用循环+判断的格式循环结构语句for 变量 in 列表:和while 判断条件:课本【任务二】:听说这次面试的冠军就在叶达班的A、B、C、D四位同学中。消息很快传到了班上,当A、B、C、D四人回到班上,叶达迫不及待地问他们中谁得了冠军。四人相对一笑,A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”原来他们想让叶达猜出答案,而且有一人说了假话。叶达很快就知道了答案,大家都想知道他的方法。你能判断到底谁是冠军吗?【任务二】谁是冠军逐一假设A、B、C、D是冠军,判断是否正确。冠军 A说:“不是我。” B说:“是C。” C说:“是D。” D说:“C说的不对。”A × × × √B √ × × √C √ √ × √D √ × √ ×【任务二】谁是冠军提示:我们需要把每个人说的话转化成计算机能够执行的表达式。如A说:“不是我。”可以表示为“i!='A'”,其中i为枚举的冠军选手编号。请写出表达式。A说:“不是我。” 表达式: i!='A'B说:“是C。” 表达式: 。C说:“是D。” 表达式: 。D说:“C说的不对。”表达式: 。i=='C'i=='D'i!='D'【任务二】谁是冠军解读下面的程序,尤其理解标注横线的语句含义,并尝试用画程绘制出流程图。champion=['A','B','C','D'] #设置选手列表for i in champion: #______________________________cond=(i!='A')+(i=='C') + (i=='D')+(i!='D') #___________________if cond==3:print("冠军是:",i)【任务二】谁是冠军实践与巩固03利用编程解决问题1.找出三位正整数中能被3整除的整数?for i in range(100,1000):if i%3==0:print(i)i=100while i<=999:if i%3==0:print(i)i=i+1利用编程解决问题1.□3×6528=3□×8256,在两个□内填入相同的数字使得等式成立。求这个数。for i in range(10):if ((i*10+3)*6528)==((30+i)*8256):print("结果是:",i)总结:一、枚举法:在一堆数据中查找某个数1、确定穷举范围问题所涉及的情况有哪些,情况的种数可不可以确定。 2、确定验证条件分析出来的这些情况,需要满足什么条件,才成为问题的答案。经常使用循环+判断的格式课后作业:师问:上节课【活动3】学校历届校友的海量数据存储在校网络中心服务器中(共10000条,无重复数据),某管理员因为误操作删除了一位校友的ID号(8位整数)信息,恰好在备份数据库中保存了一份所有人员ID号的文件(无重复数据,无序)。是否可以用枚举法实现?尝试绘制流程图。谢谢聆听!Thank you! 展开更多...... 收起↑ 资源预览