高中程序设计中的算法优化
2019-02-15凌忠宝
考试周刊 2019年14期
摘 要:信息学奥赛以培养学生的学习兴趣为主,让学生的核心素养得以提高。本文通过“百钱买百鸡”问题的教学设计案例分析,在学生已有的数学知识的基础之上,逐步引导学生进行算法优化,有效提高学生的计算思维这一核心素养,培养他们发现问题、分析问题和解决问题的能力。
关键词:百钱买百鸡;计算思维;时间复杂度;算法优化
笔者从事高中信息学奥赛多年,有一点感触——开始学习这门课的学生和动力都很大(因为觉得很好玩,也很简单)没有涉及算法,就是简单输入输出和一些简单的语法,学生可以很轻松地解决一个问题,很有成就感。但是自从接触了循环之后,有些学生已经坚持不了了,我仔细分析了原因:①学生缺少兴趣;②学生没有学习算法的主动性;③学生对算法设计比较厌烦(觉得很枯燥,就是部分学生说的有的算法很烧脑);④学生的数学知识可能与程序设计的要求不一致(数学知识要滞后);⑤很有可能是我们的教法过于简单陈旧。所以我们今后要做好这项工作就必须根据具体的情况制定出可行的措施对学生进行施教。为该课程打下较好兴趣基础。
“百钱买百鸡”是一个古老的问题,具体解决的方法可以根据学生自己在初中学到的知识完成程序设计,然后可以在程序运行的时间复杂度上提出相应的要求,让学生不断地修改程序来进行算法的优化,最终达到从1000000次运算优化到4次运算。在这个过程中老师要不断地加以引导,还要不时地与学生进行交流,找到学生理解困难的地方,并及时加以讲解,一步一步地让学生进入自己所预设的操作当中。……
登录APP查看全文
