首页 -> 2007年第1期

《QBASIC语言》“随机函数”的情境教学

作者:唐梁兵




  《QBASIC语言》是职业学校计算机专业学生学习的第一门程序语言课。在实际教学过程中,笔者发现大多数职业学校学生学习《QBASIC语言程序设计》都有一定的困难。运用一般的教学方法很难让学生很好地理解并掌握程序设计知识。原因主要有:(1)职业学校学生本身的学习接受能力有限。(2)一般的常规教学方式很难激发学生的学习兴趣。(3)现在职业学校使用的教材大多是谭浩强编写的《QBASIC语言》,这本教材面向的对象主要是高校的学生,许多例题对于职业学校学生来说偏难,容易造成学生的畏难情绪。为此,笔者在教学中尝试利用情境教学方法进行《QBASIC语言》教学,取得了良好的效果。下面就以“随机函数”一节的教学为例。
  
  创设情境,提出问题
  
  教师:世界杯足球比赛前裁判都会通过抛硬币的方式来决定双方的场地和哪方先开球,今天我们也来利用随机函数来模拟抛硬币。
  例1:将硬币抛掷100次,统计正反出现的次数,请思考如何利用QBASIC语言编程实现?
  学生板书演示:
  
  教师引导:这个例题是直接应用随机函数RND产生一个(0,1)之间的随机小数。我们能不能用其他的表达式随机产生两个数呢?如果要随机产生10个、50个或者更多的随机数时,再用这种方法行吗?又将如何解决?
  经验小结:教材中只列出了随机函数的作用,没有陈述随机函数的具体应用,学生理解起来很困难。因此,在教学中要提出贴近学生生活的程序设计问题,让学习深刻体会编写程序可以解决身边的事情。
  
  创设情境,讲授新知
  
  例2:模拟掷骰子的情况,掷100次,统计其每一面出现的次数。该怎么样来实现呢?
  教师讲授新的知识,给出一个表达式:X=INT(RND()*M+N),其中M为产生随机数的个数,N为产生随机数的起始值,如:产生[1,6]之间的数,其表达式为X=INT(RND()*6+1)。
  教师:现在。请一个学生来利用上述表达式完成例2,其余学生独立完成,有困难的可以互相讨论。
  学生板书:
  
  教师:通过新学的表达式,我们可以产生任意范围的随机数,只要修改相应的M和N即可。那么,刚才我们做的例1也可以用新学的表达式来完成,应该怎么样?
  学生:X=INT(RND()*2+1),产生1和2两个数,1可以表示正面,2则可表示反面。
  经验小结:学生的程序设计内容应当是现实的、贴近学生生活的,通过程序设计学习可以完成一些简单地、学生感到兴趣的问题。让学生在轻松的环境中学习程序设计并体味成功的喜悦,使他们产生更大的兴趣去学习程序设计,而不是整天面对教材上枯燥的例题。
  
  情境创设,巩固新知
  
  例3:让所有学生(共45人)利用计算机程序进行抽奖,其中一等奖5名,二等奖10名,三等奖15名,要求每个学生不能重复获奖。
  师生共同分析:我们要随机产生30个不重复的数字,数字范围刚好应是学号的范围,即[1,45]。在产生随机数的时候,每产生一个数都要与前面已产生的随机数进行比较,若相同则这个数不能要,则需重新产生一个。其中判断是否重复与判断是否为“素数”这个程序差不多。产生符合条件的数后放入数组,最后把前5个作为一等奖,其后的10个作为二等奖,余下的都为三等奖。
  先让学生编程。随后教师对程序进行批改。程序如下:
  
  经验小结:在QBASIC程序设计教学中教师要通过创设问题情境,培养学生创新思维。这里的关键在于设计好例题。在学生解决问题的途中,巧设新的矛盾,引导他们探究矛盾,寻找新的解决途径。因此,教师精心创设问题情境是培养学生创新思维的必要途径之一。
  情境创设,应用新知
  教师:请看看下面这张图片是什么?
  
  学生:扫地雷,电脑里面的游戏!
  教师边说明边画简图:请应用今天学的知识来埋地雷,在20*30的区域埋50个地雷。提示:(1)利用二维数组,有地雷的地方填上“0”,没有地雷的地方填上“1”;(2)同一个位置,只能埋一个地雷。
  学生练习,教师巡视指导。最后得出如下程序:
  
  经验小结:学生是程序设计的主体,教师是程序设计的组织者、引导者和合作者。教师不应该把程序设计语言当作一个已经完成了的知识灌输给学生,而应该创造条件,让学生在学习程序设计语言过程中,用自己的体验、用自己的思维方式去编写程序。学习不再是被动地吸收知识、反复练习强化储存知识的过程,而是用学生原有的知识处理新的任务,并构建他们自己的知识体系。
  
  参考文献:
  [1]谭浩强,田淑清.BASIC语言(第五修订本)[M].北京:科学出版社,2003.
  [2]徐锦霞.VB教学中的“三法”诱发学生的创新思维[J].信息技术教育,2004,(3).
  [3]林合军.让旧教材开出新课改之花[J].信息技术教育,2004,(4).
  [4]黎国胜.编程求平抛运动的路程——QBASIC程序设计与高中物理整合一例[J].信息技术教育,2004,(6).
  [5]许波勇.QBASIC教学中培养学生创新思维初探[J].职业教育研究,2004,(5).(本栏责任编辑:周秀峰)
  
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”。
  


本文为全文原貌 请先安装PDF浏览器  原版全文