VB中的IF语句应用——用VB编程实现锤子、剪刀、布游戏一、基本说明教学内容1)教学内容所属模块:算法与程序设计2)年级:高二年级3)所用教材出版单位:浙江教育出版社4)课时数:1节二、教学设计1、教学目标:让学生亲身编写一个儿时玩过的锤子、剪刀、布游戏程序来感受计算机程序解决问题的过程,了解用高级语言编程工具解决问题的基本方法,特别是熟练掌握IF语句的应用,感悟计算机程序设计的思想,了解计算机程序设计的基本流程,激发学生对信息技术的求知欲,提高其学习兴趣,形成积极主动学习信息技术的态度。
2、内容分析:本节课的内容结构是:首先请每相邻的2个同学一起玩儿时的锤子、剪刀、布游戏,并简单介绍玩的方法,然后老师演示VB做好的锤子、剪刀、布游戏小程序,让学生了解计算机程序的工作流程。
通过解剖这段程序让学生了解程序设计的基本思想和流程。
在学生练习中,让学生编写运行程序,亲身感受计算机程序解决问题的过程。
重点难点分析:(1)教学重点:在高级语言环境中编写并执行一段程序代码,了解其工作过程VB中的IF语句、以及随机函数(2)教学难点:剖析程序,了解其结构组成和具体作用,认识计算机程序设计的基本流程熟练掌握VB中的IF语句、以及随机函数的使用如何把简单的游戏过程转化为计算机容易解决的编程方法上3、学情分析:高一年级学生在进校后,我们曾做过调查,在信息技术学科中虽然只有少部分学生是“零起点”,但一般学生只停留在使用电脑的层面,而且对以前学过的知识掌握的较差。
因此,在教学设计中使用学生们儿时玩过的游戏来学习和加深分支语句的使用,就是从学生的认知特点和学生已有的知识经验及能力水平出发,自然的引导进入计算机编程解决问题的方法和流程,这样更符合学生的认知特点,引入课题更加自然,说明问题更加清楚,同时也简化了“算法”的概念。
4、设计思路:1、教学方法设计在教学中选用了学生儿时玩过的锤子、剪刀,布游戏为例子,通过学生玩游戏的方法和步骤,引导出计算机解决问题的方法和步骤,即“算法”。
教学中采用了“活动式”、“启发式”、“探究式”、 “任务驱动式”等教学模式。
在教学设计中安排大量的尝试性、探索性的活动,引导学生积极主动地完成学习任务。
逐步建立起自主性和研究性的学习模式,从而更加突出学生在教学过程中的主体地位。
教学中还安排大量的实践性、操作性的内容,使学生在具体活动中理解信息技术的基本知识,掌握信息处理的基本技能,并能够灵活应用到学习和生活中。
程三、教学过程描述2、关键环节提炼(1)引入:以儿时所玩的锤子、剪刀、布游戏为背景,从演示VB编写的锤子、剪刀、布游戏程序入手,能立即唤起学生求知欲望,产生学习兴趣。
(2)剖析:这一环节的流程如图所示:学生玩游戏的方法、步骤体现的数学思维是计算机程序设计的基础,我利用对比的方法,从人机对话的角度,逐句剖析计算机编写的锤子、剪刀、布游戏程序(见程序剖析实例),让学生了解其结构组成和具体作用,懂得计算机程序设计的基本思想:按照人类解决问题的思维方法,进行人机对话。
计算机能够听懂的“话”,就是我们输入的命令。
这样,就有利于消除计算机编程的神秘感,激发学生学习计算机编程的兴趣。
首先,这个程序中人和计算机每次都有3种出牌的可能,那么如何编写程序最方便呢?(引导学生思考?)我们就把这3个图片形象的用3个数字来代替,这样就使我们的编程更容易实现。
因此,我们这样进行约定:锤子,用数字“1”表示剪刀,用数字“3”表示布,用数字“3”表示这里提问让学生思考,这个约定一定要唯一吗?要注意什么?(讨论)程序剖析实例:(以人出锤子为例)Dim sum, w, d, L As Integer ‘定义变量,sum表示总局数,w表示你赢的局数,d表示平局数,L表示你输的局数Private Sub Command1_Click()Dim x, y As Integer ‘定义变量,x表示电脑出的数字,y表示你出的数字sum = sum + 1Randomize Timer ‘随机函数初始化x = Int(3 * Rnd) + 1 ‘电脑随机出数(1,2,3任选其一)y = 1 ‘我出的数字(锤子)Image4.Picture = Image1.Picture ‘显示我出数字所对应图片If x = y Then ‘计算机出的和你相同Label3.Caption = "平局"Image5.Picture = Image1.Pictured = d + 1End IfIf x = 2 Then ‘你出锤子,计算机出剪刀Label3.Caption = "你赢了!"Image5.Picture = Image2.Picturew = w + 1算法的概念End IfIf x = 3 Then ‘你出锤子,计算机出布Label3.Caption = "你输了!"Image5.Picture = Image3.PictureL = L + 1End IfText1.Text = sumText2.Text = wText3.Text = dText4.Text =LEnd Sub通过上述分析,让同学们思考讨论如何编写另外2段程序?(3)体验:教学中安排了“编程实现”一个小节让学生经历和体验程序设计的过程,设计“界面设计”、“代码编写”、“调试运行”三个环节。
结合学生的实际情况,组织学生实施上述三个环节的学习、体验。
首先将引入课题时运行的锤子、剪刀、布游戏程序提供给学生们,让其观看界面的设计。
要求学生在老师完成一部分程序后,举一反三,自己动手编写所有的程序,亲身感受计算机程序解决问题的过程。
(4)评价和交流:在整个教学过程中,都注重教室和学生、学生和学生的交流互动。
如,在剖析程序时,要求学生与玩游戏时解决同类问题比较,在“编程实现”过程中,教师进行有目的的分层指导,让完成“任务”的学生通过“广播教学”给其他同学做示范,并介绍经验、体会,教师及时进行点评,其他同学提出补充或修改意见。
通过交流互动,实现知识“共享”,共同体高。
(4)总结提升:在“编程实现”的基础上,让学生自己使用老师提供的其他VB开发的实用程序,教师引导学生讨论,使学生认识到用计算机编程可以帮助我们解决很多的问题:不但能解决锤子、剪刀、布小游戏问题,还能解决更大更复杂的问题,如office就可以用VB开发出来的,更深刻的感受程序解决问题的魅力。
认识到计算机解决问题和人解决问题一样需要有清晰的解题步骤。
而对于计算机而言,这种解题步骤就称为算法。
计算机编程解决问题的过程附:教学资源、学生学习过程及典型成果(可选)制作界面:程序运行界面:完整程序代码:Dim sum, w, d, L As Integer Private Sub Command1_Click()Dim x, y As Integersum = sum + 1Randomize Timerx = Int(3 * Rnd) + 1y = 1Image4.Picture = Image1.PictureIf x = y ThenLabel3.Caption = "平局"Image5.Picture = Image1.Picture d = d + 1End IfIf x = 2 ThenLabel3.Caption = "你赢了!"Image5.Picture = Image2.Picture w = w + 1End IfIf x = 3 ThenLabel3.Caption = "你输了!"Image5.Picture = Image3.Picture L = L+ 1End IfText1.Text = sumText2.Text = wText3.Text = dText4.Text = lEnd SubPrivate Sub Command2_Click()Dim x, y As Integersum = sum + 1Randomize Timerx = Int(3 * Rnd) + 1y = 2Image4.Picture = Image2.PictureIf x = y ThenLabel3.Caption = "平局"Image5.Picture = Image2.Picture d = d + 1End IfIf x = 1 ThenLabel3.Caption = "你输了!"Image5.Picture = Image1.Picture L = L + 1End IfIf x = 3 ThenLabel3.Caption = "你赢了!"Image5.Picture = Image3.Picture w = w + 1End IfText1.Text = sumText2.Text = wText3.Text = dText4.Text =LEnd SubPrivate Sub Command3_Click()Dim x, y As Integersum = sum + 1Randomize Timerx = Int(3 * Rnd) + 1y = 3Image4.Picture = Image3.PictureIf x = y ThenLabel3.Caption = "平局"Image5.Picture = Image3.Picture d = d + 1End IfIf x = 1 ThenLabel3.Caption = "你赢了!"Image5.Picture = Image1.Picture w = w + 1End IfIf x = 2 ThenLabel3.Caption = "你输了!"Image5.Picture = Image2.Picture L= L+ 1End IfText1.Text = sumText2.Text = wText3.Text = dText4.Text = LEnd SubPrivate Sub Command4_Click()EndEnd Sub。