内容正文:
《口算练习器(一)——分支结构》教案
1、 教材分析
本小节主要学习Python程序生成随机数的方法和分支结构,以制作加法口算练习器程序的任务驱动课堂。
2、 学情分析
本小节知识量较前一小节少,要注意巩固上节课所学的流程图画法和Python编程的基础知识,帮助学生在实际应用中消化知识点。
3、 教学目标
1.知识与技能:
掌握使用Python生成随机数的方法;能运用分支结构描述对事物的判断过程。
2.过程与方法:
以完成任务的方式驱动课堂。
3.情感态度与价值观:
理解自然界的随机现象;结构培养解决问题的条理性。
四、教学重难点
理解和运用Python分支结构。
五、教学方法
任务驱动法、讨论法、提问法。
六、教学过程
教学阶段
师生活动
导入新课
师:小明的弟弟在学两位数的加法,但运算总是出错。刚刚学了Python的小明想为他制作一个程序帮他练习加法口算,这个程序的功能是这样的:在一定范围内随机出题,弟弟口算后输入结果,程序自动判断计算是否正确。我们来帮帮小明好不好?
【设计意图】创设使用情境,提出学习任务,调动课堂氛围。
讲授新课
一、分析程序结构
师:小明的弟弟需要练习两位数的加法口算,同学们可以用几句话来描述这个程序应该执行什么步骤吗?
生:思考并讨论,回答老师的问题。
师:回顾起止框、输入和输出框、处理框的含义,介绍判断框的含义和用法,让学生尝试将自然语言转化为流程图。
生:画出流程图,参照课件示例自行修改。
【设计意图】用自然语言描述解决问题的过程,然后用流程图表述出来,是制作每个程序之前必要的工作。培养学生用流程图描述解决问题的过程的能力。
二、随机数和分支结构
1.生成随机数模块random
师:解决问题的第一步是让程序给我们生成两个随机数,Python中的random模块可以帮我们实现。使用这个模块前需要在程序最上方输入“import random”。“import”有“输入”的意思,“random”是“随机”的意思。
通过这个模块,我们可以生成两种随机数:一种是0到1之间的随机浮点数;另一种是指定范围内的整数。
(1)生成随机浮点数的程序语句如下:
格式:random.random()
功能:生成一个随机浮点数,范围是0<=random.random()<1.0
(2)生成随机整数的程序语句如下:
格式:random.randint(a,b)
功能:生成一个指定范围内的整数,范围是a<=random.randint(a,b)<b
其中,a、b代表设置范围的数。randint是“random”(随机)和“integer”(整数)的合成词。
【设计意图】解释英文含义,辅助学生记忆。
2.分支结构
师:在现实生活中,人们常常会根据具体情况做出相应的判断,从而做出选择。例如,儿童在坐公交车时,如果身高不满1.3米就可以免票,否则就需要购票。同学们还能举出类似的例子吗?
生:思考,回答问题。
师:总结学生的回答。
这种“如果……就”“否则……就”的判断不仅是日常生活中常见的逻辑过程,也是计算机程序经常要面对的问题。我们今天要帮小明制作的程序就包括了这个问题,它要判断弟弟输入的答案是否是正确的,如果输入的答案是正确的,就提示“结果正确”;如果答案是错误的,就提示“结果错误”。Python的分支结构可以帮我们实现这个功能。
分支结构是指当程序执行到某步时,须根据实际情况选择性地执行某部分代码,就好像走到一个岔路口,需要根据具体情况选择走哪条路,每次只能选择一条路,不可能同时走多条路。
Python的分支结构有两种。
(1)第一种
if<条件>:
<语句组1>
else:
<语句组2>
如果分支条件成立,就执行语句组1;如果分支条件不成立,就执行语句组2。
(2)第二种
if<条件>:
<语句组>
如果分支条件成立,就执行语句组,否则不执行语句组,进入下一个环节。
师:要注意的是,Python的分支结构是通过缩进方式表示语句块的开始和结束的,缩进通常是四个空格。Python用这个方式来划定属于一个层次的语句范围。所以,我们写代码的时候要注意缩进的正确性,比如不能写成:
if<条件>:
<语句组1>
else:
<语句组2>
我们还要注意,分支条件的运算结果是逻辑值,即结果只有两种情况,要么是真(条件成立),要么是假(条件不成立),没有第三种情况。
我们来看一个例子。
判断一个整数是否为偶数,可以看它除以2能不能被除尽。如果被除尽,相当于余数为0,这个数是偶数;如果除不尽,余数为1,这个数是奇数。所以,我们可以制作一个程序检验一个数除以2之后余数是否为0来判断它是偶数还是奇数。
n=int(input(“Number:”))[将输入的整数的值赋给n]
if n%2==0:[如果n除以2的余数等于0]
print(“偶数”)[则输出“偶数”]
else:[否则(即n除以2的余数不等于0)]
print(“奇数”)[输出“奇数”]
我们已经学过,“=”不是“相等”的意思,是将右侧的值赋给左侧的意思;这里的“==”才是判断相等的运算符,“!=”是判断不相等的运算符。
三、程序的实现
1. 参考解决问题的流程编写代码
师:现在我们已经掌握帮小明制作口算练习器的所有知识点了,下面可以参考前面写的解决问题的流程来编写代码了!
(1)生成两个随机数(以两位整数为例)。
(2)实现判断功能。
(3)显示输出结果。
生:自主思考,小组讨论,编写代码。参考课件上的代码修改。
【设计意图】解释代码含义,辅助学生加深对分支结构的理解,培养学生自主编写代码的能力。
2.程序测试
师:参考《简单的加法器——顺序结构》教案,带领学生测试程序,修正错误并成功运行程序。
【设计意图】程序测试是制作每个程序最后要做的工作。学生成功运行自己的程序,产生成就感。
课堂总结
练习与思考
小明的弟弟马上要学习两位数的减法,参考加法口算判断程序,帮他制作一个减法口算判断程序。
【设计意图】通过练习巩固所学知识,锻炼学生举一反三的能力。
教学反思
学科网(北京)股份有限公司
$$