第五课 电脑出算术题 教学设计
教学设计思想及知识背景:《电脑出算术题》是由广东省新世纪出版社编写的《信息技术》八年级下册第五课的内容。本节课让学生结合数学问题用电脑编写一个“电脑出算术题”的程序,这是一个非常有趣的编程任务和有一定难度的编程过程。根据老师们的教学经验,学习编程的时候学生的分化比较严重,为了充分调动学生的学习积极性,要进行分层教学。通过设置分层任务,让学生自主探究、小组讨论、协作完成任务是实现分层教学最有效的方式。从知识和技能、过程和方法、情感态度和价值观三个维度上去促进学生个体的全方位发展,使获得知识与基本技能的过程同时成为学会学习和形成正确价值观的过程。教学目标:1.掌握If,Then语句的书写格式及使用方法。2.掌握If,Then语句中条件的表达方法。3.学会使用Math对象的常用操作(即函数)、TextWindows对象的Read操作。教学重难点重点:本课的重点是If?Then语句的格式和使用方法难点:条件的表达。教学方法:讲授法、演示法、任务驱动法教学过程:一、引入教学:提出问题:思考电脑如何给我们随机地出算术题?二、任务探究:本节课的任务是编写“电脑出算术题”的程序,教材一开始就将程序列出来了,可以让学生先运行该程序,以便学生能结合程序显示的结果去读懂程序。1.为了让学生理解随机函数的作用,可以让学生连续多次运行下面的语句:a=Math.GetRandomNumber?(100)?TextWindow?.WriteLine?(a)? 21cnjy.com
让学生观察每次运行的结果是不是一样,从而理解随机函数的作用。同样,为了让学生理解TextWindow.Read()的作用,可以让学生连续多次运行下面的语句:d=TextWindow.Read()?TextWindow.WriteLine?(d)?www.21-cn-jy.com
让学生体会到每次从键盘上输入的值被赋值给了变量d。2.条件的表达通常使用关系表达式,例如“x>=0”“y<>1”“a=b”“3>5”等。应该让学生在编程的实例中去领悟条件的表达方法。三、知识讲授:1、Math?对象a=Math.GetRandomNumber(x)? 【来源:21·世纪·教育·网】
该语句作用是:随机产生一个1~x的整数,并赋值给变量a。其中:x为大于等于1的整数。GetRandomNumber:Get(获取)、Random(随机)、Number(整数)。2、条件判断语句【格式一】If<条件>?Then?21·世纪*教育网
<语句组>?
EndIf?
四、上机练习:1、将电脑出算术题的程序输入电脑,然后运行程序。在你理解这个程序后,请你对程序进行修改,将程序改为下列形式的算术题:(a*b)-(a+b)=? 21世纪教育网版权所有
2、设计一个简单的“人机对话”程序。首先电脑问:“你喜欢学习Small?Basic吗?y/n。”如果你按“y”,电脑回答“那太好了!”:如果你按“n”,电脑回答“那太遗憾了。。。”。五、课堂小结:提问:通过这节课的学习,同学们都学到了什么知识,掌握了哪些技能?总结本课的收获学生作答强化所学知识六:教学参考资源:下面是教材【试一试】中所编写的程序:1.将电脑出算术题的程序输入电脑,然后运行程序。在你理解了这个程序之后,请你对程序进行修改,将程序改为出下列形式的算术题:(a*b)-(a+b)=?修改后的程序如下:a=Math.GetRandomNumber?(100)?21教育网
b=Math.GetRandomNumber?(100)?c=(a*b)-(a+b)?
TextWindow.Write?("("+a+"*"+b+")-("+a+"+"+b+")=")?d=TextWindow.Read()?www-2-1-cnjy-com
If?c=d?Then?
TextWindow.WriteLine?("正确,你好棒!")?Else?
TextWindow.WriteLine?("你算错了,加油哦!")?EndIf?
TextWindow.WriteLine?("正确答案是:("+a+"*"+b+")-("+a+"+"+b+")="+c)? 2·1·c·n·j·y
2.设计一个简单的“人机对话”程序。首先电脑问:“你喜欢学习Small?Basic吗?y/n”。如果你按“y”,电脑回答“那太好了!”;如果你按“n”,电脑回答“那太遗憾了??”。程序如下:TextWindow.WriteLine?("你喜欢学习Small?Basic吗?y/n")?d=TextWindow.Read()?2-1-c-n-j-y
If?d="y"?Then?
TextWindow.WriteLine?("那太好了!")?EndIf?
If?d="n"?Then?
TextWindow.WriteLine?("那太遗憾了??")?EndIf?
3.编写一个程序:循环输入10个整数,分别统计大于等于0的个数和小于0的个数。(提示:每输入一个数,用If语句进行判断。若>=0表示非负数的变量S1?增加1,否则表示负数的变量S2增加1,最后输出S1和S2。)程序如下:s1=0?21*cnjy*com
s2=0?
TextWindow.WriteLine("请循环输入10个整数:")?
For?i=1?To?10?Step?1?
if?TextWindow.Read()>=0?Then?s1=s1+1?
Else?
s2=s2+1?
EndIf?EndFor?
TextWindow.WriteLine("大于等于0的整数个数为:"+s1)?TextWindow.WriteLine("小于0的整数个数为:"+s2)? 21·cn·jy·com