2.3程序结构-顺序和选择结构 教学设计(表格式) 2023—2024学年人教_中图版(2019) 高中信息技术必修1

资源下载
  1. 二一教育资源

2.3程序结构-顺序和选择结构 教学设计(表格式) 2023—2024学年人教_中图版(2019) 高中信息技术必修1

资源简介

课题2.3.3 语句与程序结构-顺序结构
学科 信息技术 年级 高一 班 级 授课教师
章节 第二章第三节 程序设计 课题名称 语句与程序结构-顺序结构
课型 新授课 授课时间
课标要求 ·掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。 ·通过解决实际问题,体验程序设计的基本流程。
教学目标(核心素养) 通过红绿灯倒计时,引导学生提高信息意识,激发学习的兴趣。(信息意识) 利用案例促进学生思考算法步骤所对应的python语句。(计算思维) 以任务驱动促进相关语句及函数的利用,来实现顺序结构,以解决实际问题。(计算思维)。 1、通过实例,理解选择结构的思想,掌握选择结构在程序语言中的基本格式。(计算思维) 2、根据流程图,初步学习单分支、双分支和多分支结构的基本格式,通过完善程序,体验程序设计的基本流程。(计算思维) 3、了解选择结构在实际问题中的应用,通过解决生活中的实际问题,感受计算机编程的魅力。(信息社会责任)
教学重点 掌握python语言的顺序结构的特点、赋值语句、输入输出语句。 理解选择结构的思想; 掌握单分支if和双分支if-else语句的格式,能用if语句编程实现分支问题的求解。。
教学难点 运用python语言中顺序结构编写计算机程序解决问题。
教学方法 讲授法,案例分析法、探究法。
学情分析 从学生的认知水平来看,高中学生的逻辑思维能力逐步趋于成熟,能够有条理地表达一个过程或规则,为进一步发展学生的计算思维创造了条件。 学生通过前面章节的学习,已经掌握了用流程图描述算法的方法,能够运用恰当的描述方法和控制结构合理地表示简单算法,初步掌握了Python语言的变量赋值和表达式的正确书写,体验了顺序结构程序实现的方法。 学生初步尝试了顺序结构解决问题的过程,学习了简单的程序语言,但基本还停留在算法思想的阶段,无法感受到计算机编程的魅力,所以学生对通过具体的程序语言来实现简单的算法有着浓厚的兴趣,期待着能用计算机解决更多问题。
教学过程
教师活动 学生活动 二次备课
新 课 引 入 以计算机模拟倒计时的情境导入,引出程序语句 交通信号灯是城市交通中不可缺少的重要工具。交通倒计时器在显示当前信号的同时,还显示该信号剩余时间长度。我们可以利用简单的计算机程序来模拟倒计时器。 一般来说,程序是由语句组成的,执行程序就是按特定的次序执行程序中的语句。程序语句包括赋值语句、控制语句和输入输出语句等。其中,控制语句通过对程序流程的控制,决定了程序执行的路径,也决定了程序的结构。程序设计的三种基本结构包括顺序结构、分支结构和循环结构。 导入模块语句 在编写程序时,经常需要引入其他模块。这些模块补充了许多功能强大的函数。在使用import语句将函数所在模块导入后,就能使用其中的函数。 思考交通信号灯的实现,观看程序运行结果,解读程序。 本节课主备人是我,所以没有二次备课。
教 学 环 节 (一)结合程序实例,讲解顺序结构 结合倒计时小程序,提出问题:如果改变语句的顺序,程序会发生什么变化? 例如将显示数字3和数字2的语句交换顺序,会带来什么样的结果呢? 调整程序语句顺序,演示执行结果,得出结论:如果改变语句的顺序,程序的执行顺序也会随之发生变化。 得出结论:顺序结构指程序的执行按语句的排列顺序从上到下依次执行,直至结束。 成语“按部就班”指做事依照一定的道理和顺序。 在顺序结构中,任何事情都遵循着先做什么,再做什么的思想进行,直到整件事情做完为止。这正是我们日常生活中最常见的结构。 引导学生思考生活中的顺序结构。 练习体验:修改调试交通信号灯小程序 尝试修改倒计时器程序,实现先红色3秒倒计时再绿色3秒倒计时的变化。 思考:如果将倒计时的时间延长至5秒,如何通过程序实现? (二)结合程序,深入理解赋值语句 实践探究一:利用顺序结构及语句解决水酒互换问题 有两个一样的杯子,分别装了水和白酒,现在要将两杯中的液体互换,用水杯装白酒,用酒杯装水,请问你有什么办法? 通过错误示例,引导学生思考交换两个变量的值。 结合赋值语句的特点(新值替代旧值)分析错误产生的原因,强化顺序结构的特点。同时结合水酒交换问题的解决方案,引出在简单的顺序执行过程中可以通过引入新的变量解决一些貌似复杂的实际问题。 赋值语句的格式:变量名 = 表达式 赋值语句的作用:将表达式的值赋给左边的变量。 说明赋值语句的注意事项:①变量必须在使用前被赋值。 ②赋值号与等号形同而意不同。 ③赋值号左边只能是变量名字,而不能是表达式。 ④把字符串赋给变量时,该字符串必须用引号括起来。 ⑤变量每次只能存一个数据,但可以多次赋值,给同一个变量重复赋值时,新值代替旧值。 提示python语言中赋值语句的特殊用法。 激发学生思考解决同一问题的不同办法。 练一练,巩固赋值语句的用法 练习1:判断以下赋值语句写法是否正确,为什么? (1)D=6+9 (2)F+3=E+6 (3)Z=X*Y (4)C$=goodnight 练习2:下列程序的输出结果是多少? A=30 A=A+10 A=50 print(A) (三)调试程序,深入理解输入输出语句 实践探究二:利用顺序结构及语句解决温度转换问题 目前,世界上包括我国在内的绝大多数国家都使用摄氏温度,而美、英等国家使用华氏温度。对于去美国旅行的中国游客来说,需要将当地发布的华氏温度转换为摄氏温度,以符合自己的理解习惯;同样,来中国旅行的美国游客亦如此。 请你想一想,能否利用计算机辅助旅行者进行温度转换? 引导学生分析问题、设计算法、运用顺序结构编程调试。 分析问题并建立数学模型:c=(f-32)/1.8 设计算法:①输入华氏温度f=90 ②利用公式计算 ③输出摄氏温度c 编写程序并调试。 进一步 提出问题,如果希望程序能够实现将任意华氏温度转换为摄氏温度,应该如何修改呢? 讲解输入语句,即input()函数的用法:f=input("请输入华氏温度:") 作为程序的设计者,我们还需要考虑如何让程序具有更加友好的交互性。讲解输出语句的用法,即print()函数的用法:print(f,'转换为摄氏温度是:',c)。 归纳程序的IPO模式 程序通常包括:输入数据、处理数据和输出结果三部分。 Input:程序输入,是程序的开始。 Process:程序对输入进行处理,产生输出结果,即算法。 Output:程序输出,展示运算结果。 思考:如果改变语句的顺序,程序会发生什么变化? 思考生活中的顺序结构 尝试修改倒计时器程序,实现先红色3秒倒计时再绿色3秒倒计时的变化。并思考如果将倒计时的时间延长至5秒,如何通过程序实现? 完成练习,巩固赋值语句的用法。 通过分析问题、设计算法、运用顺序结构编程调试。 通过输入语句和输出语句的用法使得程序具有更加友好的交互性。例如: f=int(input()) f=int(input("请输入华氏温度:")) print(c) print(f,"华氏温度","转换为摄氏温度是=",c)
选择结构 1、提出问题,引入选择结构。 实际生活中很多问题需要根据条件有选择地进行处理。 例如:要进入微信,邮箱,成绩查询系统等,都需要输入用户名和密码,输入的用户名和密码正确,才可以成功登录。 要解决这些问题,程序设计时需要利用一种新的结构,今天我们就来学习这种新的结构——选择结构,选择结构又叫分支结构通常使用if和if-else语句。 if语句的作用是事物进行判断和选择。 通过这节课我们将达到以下学习目标 1、理解选择结构的特点。 2、if语句的应用。 3、if...elif...else语句的应用。 4、应用恰当的语句编写选择结构的计算机程序,增强利用计算机解决问题的能力。 听讲。 思考回答 体验总结 通过生活中的解决问题需要 有选择的进行处理,引发学生思考其实现的过程,激发学生兴趣,并引出选择结构。
教 学 环 节 新知讲解 if语句的类型分类:(1)单分支if语句 (2)双分支语句if…else… (3)多分支语句 1、单分支结构 例1:输入某学生信息技术考试成绩(0-100),判断其是否通过考试。60分及以上通过考试,输出“pass”,60分以下则输出“fail”。 (1)分析问题,引出实现分支结构的语句——if语句。 (2)讲解if语句的格式,流程图表示及执行过程。 执行过程: (1)条件表达式为真,执行语句A,再往下执行。 (2)条件表达式为假,不执行语句A,再往下执行。 (3)使用if语句完成例题。 练一练 1: 例:写出下列程序的输出结果。 age = 12 if age < 18: print('未成年人') 2、双分支结构 (1)分析1中代码执行过程,引出双分支if-else语句,并通过流程图讲解其执行过程。 (2)使用if-else语句完成例题。 执行过程: (1)条件表达式为真,执行语句A,继续往下执行。 (2)条件表达式为假,执行语句B,继续往下执行 练一练 2 例:写出下列程序的输出结果。 a = 21 b = 10 c = 0 if a == b : print( "1 - a 等于 b") else: print("1 - a 不等于 b" ) if a != b : print("2 - a 不等于 b") else: print("2 - a 等于 b") 分支语句注意事项: (1)表达式后要有冒号“:”; (2)当语句块为多个语句时,所有语句严格遵循相同的缩进; (3)表达式可以是关系表达式,也可以是逻辑表达式。 (4) if语句可以嵌套使用,即if语句中的语句块还可以是if语句。 例2:依据《国家学生体质健康标准》体重指数BMI评分表,高一年级男生BMI指数在[16.5,23.2] 范围内为“正常”等级。完善程序,能根据输入的身高和体重,输出其BMI值是否正常。 3、多分支结构 例3:P62分段票价 问题:这个案例中有几种情况?分别是什么? 多分支结构的一般格式: 思考:如何用多分支结构实现分段票价程序设计? 练一练 3 【例】 写出下列程序的输出结果。 n = float(input(‘请输入你的成绩:’)) if n >= 90: print('A') elif 80 <= n < 90: print('B') elif 70 <= n < 80: print('C') elif 60 <= n < 70: print('D') else: print('E') 4、选择结构的应用 引导学生找一找实际生活中分支结构的应用实例。 扫雷 穿衣指数 购物 二、实践活动 任务一: 结合课本P62分段票价的描述,打开程序“lianxi_1”,写出三个表达式的内容,完善程序,实现相应功能,然后调试运行。 任务二: 从键盘输入一个整数成绩,当成绩在90 ~ 100分时,等级为A;当成绩在80 ~ 89分时,等级为B;当成绩在70~79分时,等级为C;当成绩在60 ~ 69分时,等级为D;当成绩在0 ~59分时,等级为E;小于0或大于100分时,输入数字为非法成绩。打开程序“lianxi_2”,完善程序,实现以上功能,然后调试运行。 将以上两个程序补充完整后分别截屏,粘贴到Word中,保存为“zuoye5”,然后提交至魔灯课程的“作业5”中。 完成案例,修改程序 展示交流。听讲,结合例题学习单分支结构的流程图、语句及执行过程。 听讲,结合例题学习双分支结构的流程图、语句及执行过程。 听讲,学习分支结构的注意事项。 听讲,进一步结合例题巩固分支结构。 听讲,结合例题学习分支结构的嵌套使用。 听讲,简单了解分支结构的应用。 编写程序 展示程序 相互学习 强化认识 理解任务 补全程序 展示交流 完善所给程序中的语句,并调试运行,使程序实现相应功能。将程序截屏,粘贴到Word中并提交作业。 使用流程图帮助学生分析程序实现的算法,理解表达式的功能,以及分支语句的选择,从而更好地理解分支结构的核心思想。 在理解选择结构流程图的基础上,通过简短的语言描述,引出Python语言选择结构的格式。 在前面学习的基础上,学生已经基本掌握了选择结构的程序实现方法。本案例利用流程图帮助学生理解复杂问题的算法,这样也强化了对选择结构思想的理解。 通过前面的学习,学生已经基本掌握了多分支结构,为了加深对多分支结构的理解,能够根据问题选择适合的语句编写程序,设计活动,让学生独立完成体重指数完整的评价功能,巩固对多分支结构的理解 多分支结构中的if语句和表达式的正确与否直接关系到分支语句的正常实现,因此,在此设计让学生填写相应的表达式活动,从而掌握本节课的重点。
课 堂 小 结 用计算机解决问题的过程实际上对生活中的问题重新认识,并提炼出算法的过程,计算机可以同时解决同一类的问题,解决问题的效率很高。顺序结构体现了计算机解决问题对于顺序的要求,它的执行过程就是依照代码的先后顺序。 本节课学习了顺序结构的特点和程序语句导入模块语句:import、赋值语句、输入输出语句,通过本节课的学习希望同学们能够根据具体问题进行分析并设计出算法,能够编写简单的小程序,让计算机帮助我们解决一些问题,今后来尝试并习惯用计算思维来解决实际问题,做一名数字化时代的真正参与者。
课 后 作 业 请根据今天学习的知识,上机体验验证结果。
一、
import turtle #引入turtle库
import time #引入time库
turtle.hideturtle #初始化
turtle.setup()
turtle.penup()
turtle.pencolor('red') #设置画笔颜色为红色
turtle.write('3',font=("Times",60,"bold")) #数字“3"
time.sleep(1) #持续1秒
turtle.undo() #撤销显示
turtle.write('2',font=("Times",60,"bold")) #数字“2"
time.sleep(1)#持续1秒
turtle.undo() #撤销显示
turtle.write('1',font=("Times",60,"bold")) #数字“1"
time.sleep(1)#持续1秒
turtle.undo() #撤销显示
turtle.done
1、尝试修改倒计时器程序,实现先红色3秒倒计时再绿色3秒倒计时的变化。
2、尝试如果将倒计时的时间延长至5秒,如何通过程序实现?
二、
f=int(input())
c=(f-32)/1.8
print(c)
尝试修改输入输出语句使得程序的交互性更强。
按照要求将两段程序语句修改补充完整后,分别截屏(使用Alt+PrtScn键截取活动窗口),粘贴到Word中,保存为“zuoye4”,然后提交作业
板 书 设 计
教 学反 思 本节课的教学目标是让学生理解程序的顺序结构的执行方式,掌握赋值语句、输入数据的函数InputBox()和输出语句Print。为了让学生理解程序的顺序结构的执行方式,我用了导入新课时以“计算机模拟倒计时”的实例,改编语句的顺序,运行程序后红绿灯的顺序也发生了变换,学生很好的理解了顺序结构。学生在理解赋值语句时遇到了困难,为了使学生形象地理解,我告诉学生赋值语句就是在计算机内存里给变量分配了一个固定的匣子,赋值语句就相当于往匣子里面放东西。我跟学生解释:每个匣子(变量)只能存放一个数,当有新的数被送到匣子中时,旧的数就被冲刷掉了,例举了一个例子交换a,b值。所以在执行完b=a时,b的值变成了1,把a=b,a的值也是1。由此引出在程序中交换两个变量的值无法像交换球一样“直接互换”,需要借助“第三者”——变量c,大部分学生还是觉得难以理解。利用水酒互换问题,学生更深刻的理解了赋值语句。输入输出语句没有太多的创新点,后面的教学过程中还是要找到好的处理方式让学生更容易理解。启示:.要善于运用其他教学媒体和教学方式,一种方法行不通时要赶紧转换思维;2.课堂是活的,要随机应变,根据需要生成一些事先没有准备的环节或其他东西,有时能起到好的效果。

展开更多......

收起↑

资源预览