《4.4 运用循环结构描述问题求解过程》教学设计
1.教学内容分析 本节是本章的第4节,主要内容是如何编写循环结构的Python程序,在学习算法的基础上,通过编写程序和调试运行程序,解决实际的问题。循环结构是算法的三种基本结构之一,本节的主要内容是使用for语句和while语句实现循环结构,同时学习循环结构的嵌套和循环结构的控制。循环结构也是编写程序的基础,本节内容也是单元项目实施的最后一节,所以重点关注如何利用程序解决生活当中的各种问题。
2.学习者分析 本节课之前,学生已经已经在算法中学习了循环结构的基本组成和工作原理,在学习编写Python语言程序中,已经知道顺序结构的程序和选择结构的程序如何编写,本节课完成循环结构的学习,学习之后基本上可以编写简单的Python程序。循环结构的语句书写格式和选择结构类似,都需要冒号和缩进的配合,而且三种结构的语句配合使用可以让程序实现各种功能。本节课也是最后一节学习Python程序设计语言,所以编写程序解决问题的能力也是学生学习其他章节和其他教材内容的基础。
3.学习目标确定 理解Python语言循环结构的主要功能和结构特点。 知道for循环结构程序的语句格式,能编写简单的for循环程序。 知道range( )函数的参数和功能,能根据问题的实际需求确定函数的参数。 知道while循环结构程序的语句格式,能编写简单的while循环程序。 知道循环嵌套程序编写的基本方法,能编写简单的循环嵌套程序。 知道使用break和continue语句可以控制循环结构的程序。
4.学习重点和难点 重点:知道for循环结构程序的语句格式,能编写简单的for循环程序。 知道range( )函数的参数和功能,能根据问题的实际需求确定函数的参数。 知道while循环结构程序的语句格式,能编写简单的while循环程序。 难点:知道循环嵌套程序编写的基本方法,能编写简单的循环嵌套程序。
5.学习评价设计 项目实施过程中,学习程序的练习任务,项目中的程序,作为评价的依据。 对小组的项目学习成果,进行终结性评价。
6.学习活动设计 第1课时 教师活动学生活动环节一:项目指导教师活动1 情境导入:编写从1累加到10的程序,使用顺序结构进行设计程序,需要进行9次加法运算,计算机虽然可以快速完成计算,但是书写的程序代码非常冗长,要简化代码的书写,就要用到三种基本程序结构之一的循环结构。 学生活动1 学生思考分析累加的问题。活动意图说明 用简单的累加数学问题,让学生理解循环结构最主要的优点就是简化了程序代码的书写,本质上计算机依然是一行一行的执行代码。理解了循环结构的主要工作方式,为后续学习循环结构的Python程序建立理论基础。环节二: for.循环的应用教师活动2 讲解:for in的含义是“当…在…里的时候重复……”,表示在条件满足的情况下一直循环的,和选择语句类似,冒号代表下一行是循环的第一行,循环体在书写时需要相同的缩进。 讲解:分析下面的循环结构Python程序,依靠缩进可以识别循环体。 实践:对比两个程序的缩进书写方法,分析程序的执行过程和输出结果,并通过程序进行验证。 学生活动2 分别查看分析两个程序的代码,并运行程序对比输出结果。 活动意图说明 学生学习for循环结构程序的设计,要理解列表的使用方法,循环变量依次表示列表的值。在Python程序中,缩进影响程序的结构,冒号“:”之后,循环体内的语句要有相同的缩进,再出现冒号时增加缩进。环节三:range( )函数的使用教师活动3 讲解:列表的表达方式是[1,2,3,4,5],也可使用变量表示列表,使得for循环语句结构更加清晰,如下代码片段所示。 values=[1,2,3,4,5] for value in values: 讲解:使用range( )函数可以更方便的表达列表,range(起始数,结束数,步长),函数有3个参数,第1个参数表示起始数字,默认为0,第2个参数表示结束数,但不包含这个数,第3个参数表示步长,就是参数变化的间隔长度,默认为1。 提问:下列range( )函数表示的列表数值是多少。 range(10) range(1,8) range(1,8,2) range(10,1,-2) 实践:使用 for循环语句计算从1到10的累加值,并调试运行程序。学生活动3 学生思考每个列表的数值有哪些,并回答问题。 学生编写程序并调试运行。 活动意图说明 range( )函数的特点是方便的表达序列,通过range()的函数应用案例的分析,让学生理解函数的参数和用法,默认的起始数0和默认的步长1可以省略,这是学生学习过程中需要特别关注的重点。环节四:while循环的应用教师活动4 讲解:while循环的意思是“当”,只要条件满足就不断循环,否则退出循环。条件表达式决定循环是否继续,循环体每执行一次都会检查表达式的值,由此决定是否继续循环。 实践:使用 while循环语句计算从1到10的累加值,并调试运行程序。学生活动4 学生编写程序并调试运行。 活动意图说明 while循环和for循环的练习任务,都是计算从1到10的累加值,这样有利于学生理解两种循环语句的区别,也能根据实际的问题正确的选择适合的循环语句,问题难度有助于学生顺利的完成编程的任务。环节五:总结教师活动5 讲解:总结本节课的知识结构和项目学习进度。学生活动5 学生进行小组项目研究,填写项目报告和项目活动记录表。
第2课时 教师活动学生活动环节一:项目指导教师活动1 情境导入:九九乘法表是数学中的乘法口诀,产生于春秋战国时期。如何使用循环结构呈现九九乘法表,只有一层循环并不能完全解决问题,从1到9的每个循环体中,还需要1个循环。 学生活动1 学生思考并讨论如何利用循环呈现九九乘法表。活动意图说明 九九乘法表是典型的循环嵌套结构,也是优秀的中国传统文化,是中国古代人民智慧的典型代表,所以非常适合作为本节的教学案例。在案例分析中也要注意行、列参数的位置,乘法式子注意列在前行在后。 环节二:循环嵌套的应用教师活动2 讲解:如果某一种循环语句中包含着自身或其他循环语句,就称为循环的“嵌套”,for循环或while循环之间可以相互嵌套。九九乘法表第一行有一个算式,第n行有n个算式,使用两个循环即可呈现乘法表。 实践:使用两层 for循环语句,输出九九乘法表,并调试运行程序。注意乘号可用“x”代替,print()函数的参数sep=""表示输出结果之间的间隔,参数end=" "表示输出结果后不换行并用指定的符号间隔,print( )不适用函数可以实现换行功能。学生活动2 学生编写程序并调试运行。 活动意图说明 完成程序设计时,要关注两个循环的缩进,第二个循环的循环体是第二级缩进。 Python程序编写过程中,正确使用print( )函数的参数也非常重要,只有这样才能控制好输出的格式。环节三:循环控制的应用教师活动3 讲解:在循环控制过程中,如果需要终止本次循环或结束全部循环,需要借助专门的语句完成。break是中断循环,根据某一条件选择中断结束循环,continue是跳出本次循环体的执行,回到循环开头。 实践:运行break和continue比较的Python程序,通过程序的输出结果比较两个语句的区别。 实践:运行“猜数字游戏”的Python程序,补全条件表达式和输出函数,实现猜数字的游戏功能。学生活动3 学生发现break语句会结束循环,而continue语句只会结束当前循环过程。 学生补全程序并调试运行。 活动意图说明 为了便于学生理解break和continue语句的区别,通过类似程序的对比,直观的通过输出看到结果。对于复杂的Python程序,可以通过补全代码的方式,让学生抓住程序设计的要点。环节四:项目实施与项目成果交流教师活动4 实践:项目小组根据项目方案,完成项目中程序的编写和调试运行。学生活动4 小组完成项目,将成果记录在项目报告中,并开展项目学习成果交流。环节五:总结教师活动5 讲解:总结本节课的知识结构和项目学习成果。学生活动5 小组项完成最终项目报告和项目活动记录表。
1