3.2.4 循环结构的程序实现for语句 教案-2021-2022学年高中信息技术浙教版(2019)必修1 数据与计算

文档属性

名称 3.2.4 循环结构的程序实现for语句 教案-2021-2022学年高中信息技术浙教版(2019)必修1 数据与计算
格式 docx
文件大小 327.5KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2021-12-14 19:19:03

图片预览

文档简介

2021—2022学年度第一学期教案
一、基本项目:
课题: 循环结构的程序实现—for语句 授课时间: 第7周 课时 1 课型:新授 授课班级: 高一年级(1-5班)
二、目标设置: 二次备课(手写)
教学目标: 1.掌握for语句的格式。 2.掌握range函数的用法。 3.学会利用for语句编写循环结构的程序。 4.学会按照问题需求,抽象问题的本质,建立问题模型,设计相应算法,编写Python语言的程序,从而掌握编写程序的过程与方法。 教材分析 本课主要采用案例教学法与任务驱动法来进行教学。本课主要围绕真实情境问题“九九乘法表”这个案例展开教学,学生通过完成教师布置的一项项任务最终完成解决该问题的程序。 学情分析(学生易混淆、易错、常错的知识点) 本节课的重点通过for语句编程时间和真实情境问题的解决来进行,难点的突破主要在通过真实情境问题的解决。
教学过程 (一)、新课导入(5分钟) 九九乘法表,俗称小九九,在我国很早就已产生。 元朱世杰著《算学启蒙》一书所载的45句口诀,已是从“一一”到”九九“,并称为九数法。用的乘法口诀有两种,一种是45句的,通常称为小九九;还有一种是81句的,通常称为大九九。 今天我们就用python程序完成九九乘法表的输出 、分析问题(5分钟): 观看九九乘法表,你有什么发现呢? 一共有9行 每一行都是从1开始做乘法,到行数的数字为止 属于重复事件,需要用循环结构完成 问题研讨(抽象与建模): 探究一:输出1到9 探究二:单行输出1到9的连续乘法 探究三:完整输出九九乘法表 (三)、课堂探究(25分钟) 探究一:输出1到9 【知识讲解】: for语句的基本格式: for<变量>in <序列>: <循环体> [else]: <语句块> 执行过程是: 首先序列中元素会依次赋值给变量,然后执行一次循环体,当序列中的元素全部遍历完时,程序自动推出 【学生活动】: 1.将以下代码输入到python编程平台,运行,看效果。 hobby=["篮球","羽毛球","看书","旅游","音乐"] for x in hobby: print(x) for x in [1,2,3,4,5,6,7,8,9]: print(x) 如果要输出1到100的数字怎么办呢? 【知识讲解】: range(start, stop, step) 参数说明: start: 计数从 start 开始。默认是从 0 开始。 例如range(5)等价于range(0, 5); stop: 计数到 stop 结束,但不包括 stop。 例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 step:步长,默认为1。 例如:range(0, 5) 等价于 range(0, 5, 1) 【学生活动】: 1.请同学们修改学案中的代码输出1到9,运行,看效果。 2.请同学们修改学案中的代码输出1到100,运行,看效果。 探究二:单行输出1到9的连续乘法 【学生活动】: 将以下代码输入到python编程平台,运行,看效果。 第一行 for i inrange(1,2): print("%d*%d=%2d"%(i,1,1*i),end=' ') 第二行: for i inrange(1,3): print("%d*%d=%2d"%(i,2,2*i),end=' ') 第三行: for i inrange(1,3): print("%d*%d=%2d"%(i,3,3*i),end=' ') .............. 第九行 for i in range(1,10): print("%d*%d=%2d"%(i,9,9*i),end=' ') 【知识讲解】: print的格式化输出 %s 字符串 %d 整形 %c 单字符 %f 浮点数。控制为数 %.2f 保留两位小数 %x 十六进制 示例: t = 16.2326 print('%10.2f'%(t)) #10-表示字宽10位,精度为2 print('%010.2f'%(t)) #010表示字宽10,不够用0填充 print('%+010.2f'%(t)) #添加加号表示显示正负号 print('%-10.2f'%(t)) #添加负号表示左对齐 探究三:完整输出九九乘法表 【学生活动】: 将以下代码输入到python编程平台,运行,看效果。 思考每一行分别代表什么意思? for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d"%(j,i,j*i),end=' ') print("") 【知识讲解】: 最外层循环控制着行数,内层控制列数 拓展练习: 将下列程序补充完整,完成如图所示的输出 for i in range(1,_________): for i in range(1,_________): print(“*”,end= “'') print() (四)、课后练习(3分钟) 在机器人比赛中,需要设置如图的运行轨道,请同学们参考任务单中的学习材料,编程实现画10个同切圆的轨道图形,如图所示,圆的半径分别为(50,55,60,65,70,75,80,85,90,95)。 参考材料:turtle模块可用于绘制图形,在绘制图形之前应首先使用import turtle语句导入turtle模块,然后创建一个turtle函数的对象,如:t=turtle.Turtle(),后面使用turtle命令时,可以写成t.turtle命令,如:t.circle(50)画一个半径为50的圆. t.hideturtle()这个命令的作用:隐藏画笔的turtle形状。 答案: import turtle #导入turtle库 t=turtle.Turtle() t.hideturtle() for n in [50,55,60,65,70,75,80,85,90,95]: t.circle(n) (五)、总结归纳(2分钟): 生活中的重复事件,主要利用循环结构来进行实现,循环结构的实现有两种语句:for语句_和while语句,解决这一类问题的关键在于提取:循环条件和循环体,for语句是基于序列的循环,主要用于控制次数的循环事件中。