论文部分内容阅读
摘 要:枚举算法是Visual Basic程序设计的基本算法。传统的教学方法,通过概念和程序引入,枯燥乏味,容易使学生产生消极畏难情绪。本文优选有趣、典型的数学问题,通过情景创设,自然而然地引入枚举算法,唤起学生的学习兴趣,并让学生充分体验编程的快乐,起到事半功倍的教学效果。
关键词:数学问题;枚举算法;学习兴趣
枚举算法是Visual Basic程序设计的基本算法,也是浙江省高职考计算机类专业必考知识点,其重要性不言而喻。因此,怎样让学生轻松掌握枚举算法,提高学习兴趣,克服畏难情绪是VB枚举算法教学设计的关键。
在中职学生初次接触VB枚举算法时,单纯讲解枯涩的程序及相关的概念和语句是十分枯燥乏味的。在教学设计时,要充分考虑到中职学生的水平,优选出能更好地帮助学生掌握枚举算法的实例,提出一些数学问题,让学生能积极参与思考、讨论数学问题,教师再利用程序设计的枚举算法来解答它。通过这个过程,将VB的枚举算法作为解决问题的工具推出,充分利用典型数学问题的特点,从需要出发,激发起学生强烈的学习兴趣,就完全可以起到事半功倍的教学效果。
在枚举算法中,循环结构和选择结构的设计是重点也是难点,在教学设计时,为了让学生真正掌握算法和计算机语言规则,选择一个典型例题,让学生掌握FOR循环和IF选择的语句格式,理解其执行过程,然后在此类实际问题中能得心应手地运用枚举算法。我正是通过“兴趣”这个导入点,收到了理想的教学效果。
设计教学流程如下:导入(提出问题,引发思考)→讨论(制定竞赛小组,分组讨论后,以小组为单位给出答案,看谁答得正确全面)→确定算法(引入枚举算法解决问题的方案)→演示(讲解数学方法,展示程序代码,介绍循环和选择结构)→编程调试(编写输入代码,体验程序运行)→提升(二次竞赛,解决类似问题)。
历史上典型的百钱买百鸡问题所需要求解的是:公鸡五钱一只,母鸡三钱一只,小鸡三只值一钱,100钱刚好买了100只鸡,公鸡、母鸡、小鸡各买了多少只?学生通过心算、列方程等方法计算,花了很长的时间,却很难把答案全部求解出来,好些学生是只得到了一组答案,求解不全。这时,我适时通过多媒体投影展示教师课前编好的VB程序,只需要轻松单击按钮,程序即可在瞬间求得所有解,快速又一个不漏地给出所有的答案。那么,能够解决这个问题的奇妙程序是怎样的呢?教师适时展示程序的核心代码如下:
For gj=0 to 20
For mj=0 to 33
xj=100-gj-mj
If gj*5 mj*3 xj/3=100 then print”公鸡数量”;gj,”母鸡数量”;mj,”小鸡数量”;xj
Next mj
Next gj
学生一个个瞪大了眼,紧盯着屏幕:啊,这就是便捷、强大的枚举算法!在学生的想像中,这样的程序设计一定有大段大段的程序代码,非常复杂!想不到结构如此简洁明了,同学们就知道了“枚举算法”并不难,消除了学生的畏难情绪,大大地激发了学生的学习热情。
那么,这段代码为什么能够解答这个问题呢?老师从学生熟悉的数学方法入手。如果100钱全部用来买公鸡,可以买20只,所以公鸡gj可能的数量范围应该是从0到20只。由此类推,母鸡的可能范围是从0到33只,在此范围内逐个搜索满足条件的公鸡、母鸡的数量就可以得出答案。指定范围内的搜索是通过循环语句FOR实现,条件通过IF语句列出。这样,学生就很容易理解每一句程序代码的作用,觉得枚举算法并不深奥,有足够的信心学好它。
枚举算法解决问题的基本思想和方法就是在可能的范围内查找满足条件的答案,具体问题具体分析,确定范围和条件,然后设计与实现。只要搞懂了数学问题,就不难理解枚举算法了。接下来,为检测学生的掌握情况,引导学生探究,抛出一个有趣的鸡兔同笼问题:笼子中有一些鸡和兔,从上面数有35个头,从下面数有94只脚,问鸡和兔各有几只?通过这个问题,可以检验学生对于枚举算法的掌握情况。首先,要求分组讨论解决这个问题,这样有利于培养学生团队精神。让学生在理清数学解法的基础上,用VB的枚举算法来尝试编程解决,让学生自己动手在电脑上输入程序,锻炼动手能力、思考能力、解决问题能力。当有些学生遇到困难时,教师给予适当启发或邀请已完成任务的同学给予帮助。这样,让所有学生都能及时地解决问题,都能体验程序运行后得出结果的成就感,这对于提高和保持學习兴趣起着举足轻重的作用。
这节课在教法上采用的是讨论学习和任务驱动相结合的方法,先抛出学生非常熟悉、非常典型的数学问题,充分调动学生的学习积极性,结果却把学生暂时难住了!这有利于激发学生的求知欲,引导学生分析问题,从数学分析过渡到程序解决,教给学生枚举算法的思路。实践证明,通过改变传统的“教师讲、学生做”的教学模式,按照上述思路,一切以学生为主,通过情景创设,可以自然而然地引入枚举算法。在教学过程中,避免了晦涩难懂的程序解说,深入浅出,学生轻轻松松掌握枚举算法,并能真切地感受到计算机程序设计语言是一种解决问题的强大工具。
经典的数学问题,可以有效地激发学生的学生兴趣,让学生积极主动地来思考问题。通过转移、归纳、总结,培养具体的探究解决问题的能力,在这个过程中,学生才真正成为学习的主体,在实践中体验到了成功的喜悦,很好地掌握和消化枚举算法的重难点。兴趣激发之后,可以不知不觉把学生引入VB世界中去进一步学习和提升,教学的目的也真正达到了!
参考文献:
[1]陈建军.可视化编程应用基础——Visual Basic[M].北京:高等教育出版社,2012.
作者简介:陈敏,中学高级教师,浙江省绍兴市,浙江诸暨技师学院。
关键词:数学问题;枚举算法;学习兴趣
枚举算法是Visual Basic程序设计的基本算法,也是浙江省高职考计算机类专业必考知识点,其重要性不言而喻。因此,怎样让学生轻松掌握枚举算法,提高学习兴趣,克服畏难情绪是VB枚举算法教学设计的关键。
在中职学生初次接触VB枚举算法时,单纯讲解枯涩的程序及相关的概念和语句是十分枯燥乏味的。在教学设计时,要充分考虑到中职学生的水平,优选出能更好地帮助学生掌握枚举算法的实例,提出一些数学问题,让学生能积极参与思考、讨论数学问题,教师再利用程序设计的枚举算法来解答它。通过这个过程,将VB的枚举算法作为解决问题的工具推出,充分利用典型数学问题的特点,从需要出发,激发起学生强烈的学习兴趣,就完全可以起到事半功倍的教学效果。
在枚举算法中,循环结构和选择结构的设计是重点也是难点,在教学设计时,为了让学生真正掌握算法和计算机语言规则,选择一个典型例题,让学生掌握FOR循环和IF选择的语句格式,理解其执行过程,然后在此类实际问题中能得心应手地运用枚举算法。我正是通过“兴趣”这个导入点,收到了理想的教学效果。
设计教学流程如下:导入(提出问题,引发思考)→讨论(制定竞赛小组,分组讨论后,以小组为单位给出答案,看谁答得正确全面)→确定算法(引入枚举算法解决问题的方案)→演示(讲解数学方法,展示程序代码,介绍循环和选择结构)→编程调试(编写输入代码,体验程序运行)→提升(二次竞赛,解决类似问题)。
历史上典型的百钱买百鸡问题所需要求解的是:公鸡五钱一只,母鸡三钱一只,小鸡三只值一钱,100钱刚好买了100只鸡,公鸡、母鸡、小鸡各买了多少只?学生通过心算、列方程等方法计算,花了很长的时间,却很难把答案全部求解出来,好些学生是只得到了一组答案,求解不全。这时,我适时通过多媒体投影展示教师课前编好的VB程序,只需要轻松单击按钮,程序即可在瞬间求得所有解,快速又一个不漏地给出所有的答案。那么,能够解决这个问题的奇妙程序是怎样的呢?教师适时展示程序的核心代码如下:
For gj=0 to 20
For mj=0 to 33
xj=100-gj-mj
If gj*5 mj*3 xj/3=100 then print”公鸡数量”;gj,”母鸡数量”;mj,”小鸡数量”;xj
Next mj
Next gj
学生一个个瞪大了眼,紧盯着屏幕:啊,这就是便捷、强大的枚举算法!在学生的想像中,这样的程序设计一定有大段大段的程序代码,非常复杂!想不到结构如此简洁明了,同学们就知道了“枚举算法”并不难,消除了学生的畏难情绪,大大地激发了学生的学习热情。
那么,这段代码为什么能够解答这个问题呢?老师从学生熟悉的数学方法入手。如果100钱全部用来买公鸡,可以买20只,所以公鸡gj可能的数量范围应该是从0到20只。由此类推,母鸡的可能范围是从0到33只,在此范围内逐个搜索满足条件的公鸡、母鸡的数量就可以得出答案。指定范围内的搜索是通过循环语句FOR实现,条件通过IF语句列出。这样,学生就很容易理解每一句程序代码的作用,觉得枚举算法并不深奥,有足够的信心学好它。
枚举算法解决问题的基本思想和方法就是在可能的范围内查找满足条件的答案,具体问题具体分析,确定范围和条件,然后设计与实现。只要搞懂了数学问题,就不难理解枚举算法了。接下来,为检测学生的掌握情况,引导学生探究,抛出一个有趣的鸡兔同笼问题:笼子中有一些鸡和兔,从上面数有35个头,从下面数有94只脚,问鸡和兔各有几只?通过这个问题,可以检验学生对于枚举算法的掌握情况。首先,要求分组讨论解决这个问题,这样有利于培养学生团队精神。让学生在理清数学解法的基础上,用VB的枚举算法来尝试编程解决,让学生自己动手在电脑上输入程序,锻炼动手能力、思考能力、解决问题能力。当有些学生遇到困难时,教师给予适当启发或邀请已完成任务的同学给予帮助。这样,让所有学生都能及时地解决问题,都能体验程序运行后得出结果的成就感,这对于提高和保持學习兴趣起着举足轻重的作用。
这节课在教法上采用的是讨论学习和任务驱动相结合的方法,先抛出学生非常熟悉、非常典型的数学问题,充分调动学生的学习积极性,结果却把学生暂时难住了!这有利于激发学生的求知欲,引导学生分析问题,从数学分析过渡到程序解决,教给学生枚举算法的思路。实践证明,通过改变传统的“教师讲、学生做”的教学模式,按照上述思路,一切以学生为主,通过情景创设,可以自然而然地引入枚举算法。在教学过程中,避免了晦涩难懂的程序解说,深入浅出,学生轻轻松松掌握枚举算法,并能真切地感受到计算机程序设计语言是一种解决问题的强大工具。
经典的数学问题,可以有效地激发学生的学生兴趣,让学生积极主动地来思考问题。通过转移、归纳、总结,培养具体的探究解决问题的能力,在这个过程中,学生才真正成为学习的主体,在实践中体验到了成功的喜悦,很好地掌握和消化枚举算法的重难点。兴趣激发之后,可以不知不觉把学生引入VB世界中去进一步学习和提升,教学的目的也真正达到了!
参考文献:
[1]陈建军.可视化编程应用基础——Visual Basic[M].北京:高等教育出版社,2012.
作者简介:陈敏,中学高级教师,浙江省绍兴市,浙江诸暨技师学院。