《算法设计》中一道探究题的解析

上传人:lis****210 文档编号:123945588 上传时间:2022-07-23 格式:DOCX 页数:4 大小:142.27KB
返回 下载 相关 举报
《算法设计》中一道探究题的解析_第1页
第1页 / 共4页
《算法设计》中一道探究题的解析_第2页
第2页 / 共4页
《算法设计》中一道探究题的解析_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
算法设计中一道探究题的解析崇明中学陈超一、题目提出一次听课时,授课教师用“小明有只密码锁的拉竿箱,忘记了密码,密码锁是四位数字, 只记得这个四位数前三位为均为1。请问你能帮他解决这个问题吗?”作为枚举算法引入的 实例,由于该实例来自于学生身边,在师生的共同分析研究下,学生较快地理解与掌握了枚 举算法。对该实例进行探究后,得到了以下多种算法。二、算法递进1、枚举法(当时授课教师提供,略作改变) 结构特点:循环结构嵌套分支结构。算法分析:循环结构用于一一列举;分支结构用于逐一检验,并输出密码值。VB代码如下:Dim key As Integer, i As IntegerRandomizeKey = Int(10 * Rnd()i = 0Do While i = 9If i = Key ThenPrint 1110 + KeyEnd Ifi = i + 1Loop2、改进版枚举法,消除冗余循环结构特点:1、循环结构嵌套分支结构;2、循环结构中设置退出出口。算法分析:密码值具有唯一性,所以找到密码后即可输出结果,并退出循环结构。(1)、重置循环变量的值,使循环的条件不成立,从而实现退出循环结构。VB代码如下:Dim key As Integer, i As IntegerRandomizeKey = Int(10 * Rnd()Do While i = 9If i = Key ThenPrint 1110 + KeyEnd IfLoopVB代码如下:Dim key As Integer, i As IntegerRandomizeKey = Int(10 * Rnd()Do While i = 9If i = Key ThenPrint 1110 + KeyExit DoEnd IfLoop(1)、当循环结构VB代码如下:3、改变循环条件的设置 结构特点:单循环结构。算法分析:循环体为计数器,循环条件设为查找密码的条件。VB代码如下:Dim key As Integer, i As IntegerRandomizeKey = Int(10 * Rnd()i = 0Do While i Keyi = i + 1LoopPrint 1110 + Key(2)、直到循环结构Dim key As Integer, i As IntegerRandomizeKey = Int(10 * Rnd()i = -1Doi = i + 1Loop Until i = KeyPrint 1110 + key上述三种算法设计思路从易到难,而算法结构由繁到简。通过算法的解析,培养了学生 的探究精神与创新思维。三、推进与思考推进题目:“小明有只密码锁的拉竿箱,千位数与十位数数字均为1,请设计算法找到VB代码如下:Dim Key As IntegerDim x As IntegerDim i As IntegerKey = 1010 + 100 * Int(10 * Rnd()Key = Key + Int(10 * Rnd()x = 0i = 0Do While x Keyx = 1010 + i 10 * 100 + i Mod 10i = i + 1LoopPrint x思考:1、教师要有创新观念和探究精神,不迷信教材与教参,引导学生努力探求算法的多样化, 诱发学生的探究精神与创新思维。2、教师要呵护学生的创新意识,学生的智慧和潜能是很大的。例如当我提示“密码值具有 唯一性”后,就有学生给出了 “重置循环变量的值”的方法,实现消除冗余循环。给学生提 供自我表现的平台,让学生体验到成功的满足和喜悦,激发进一步追求创新的心向。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!