
高中信息技术中图版 (2019)必修1 数据与计算2.3.3 语句与程序结构优秀教案
展开案例 语句与程序结构——循环结构
1. 《课程标准》要求
·掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。
·通过解决实际问题,体验程序设计的基本流程。
2. 教学目标
·掌握Python语言中for语句的语法规范,能根据实际问题,编写正确的for语句实现循环结构。(计算思维)
·能综合应用三种结构解决项目问题,体会循序渐进、逐步完善的程序设计思想方法,培养学生使用计算机解决问题的能力。(计算思维)
·通过解决项目问题,掌握用计算机解决问题的基本方法,并能迁移到其他问题的解决之中,感受计算机编程的魅力。(计算思维、信息社会责任)
3. 学业要求
掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题。
4. 教学对象分析
经过前面的学习,学生已经掌握了Python语言的基本知识和程序设计的三种基本结构,能用流程图描述算法,用if语句实现选择结构,用while语句实现循环结构,并编写程序解决简单问题,积累了用计算机编程解决现实问题的初步经验。
有些学生在平时生活中有使用“自助式人行过街红绿灯”的经验,了解路口红绿灯变化的过程。考虑到学生个体之间的差异,本节课为基础较差的同学提供了不同任务的程序半成品来辅助学习。
5. 教学重点与难点
教学重点:掌握for循环语句的基本语法及其应用特点,综合使用三种结构解决问题。
教学难点:能根据真实项目情境和问题解决需求,设计并完善算法,综合使用三种结构解决
实际问题。
6. 教学方法与教学手段
教学方法:项目学习(项目分析、项目实现、项目完善串联课堂教学);问题导学(以问题引领学生探究)。
本课由for循环的学习引入“自助式人行过街红绿灯”项目主题,由于项目程序的编写难度较大,如果以教师讲授的方式为主,很难吸引学生。反之,采用项目学习和问题导学,可以帮助学生循序渐进地逐步完善项目程序,在迭代开发过程中既完成任务,又能很好地培养学生的计算思维。
软硬件资源:电子白板、Python编程环境、教学课件、微课、任务程序半成品。
7. 教学过程设计
教学环节 | 教学内容 | 学生活动 | 设计意图 |
情境导入 | 1. 展示上节课个别学生编写的“倒计时15 s”的程序,分析程序出现的问题:缩进不统一;忘记使用冒号;循环变量值不变导致死循环…… 2. 结合流程图,回顾循环结构的特点以及while语句的循环实现。提问:循环条件是什么?循环体是什么? 3. 引出新知识:循环结构除了可以用while语句实现,还可以用for语句实现 | 分析问题 回答问题 | 通过问题程序的分析,帮助学生回顾上节课的知识以及编程中需要注意的问题,同时建立已知和新知识之间的联系 |
学习新知识 | 1. 阅读教科书中提供的程序代码,分析for语句中的循环结构三要素:循环初值、终止条件以及循环体。 2. 教师讲解。 (1)for 语句的基本格式: for 循环变量 in 序列: 语句块 (2)for 语句特点:每次从序列中取出一个元素赋值给循环变量,当依次访问完序列中所有元素后,循环结束。因此,循环初值为序列中的第一个元素值,终止条件是序列中是否还有元素,循环体为重复处理的语句块 | 阅读教科书 思考问题 聆听讲解 | 培养学生主动学习的能力 |
学习新知识 | 3. 程序查错,认识函数range()的功能。 教师提供用for语句实现“倒计时15 s”的问题程序(函数range()的初始值、终止值和步长设置有问题),学生进行程序修改。 4. 汇报修改结果,归纳for语句功能:通过遍历的方法,能够实现指定次数的循环 | 阅读教科书 修改程序 交流展示 反思归纳 | 培养学生发现问题、解决问题的能力 |
回归项目,分析算法的程序实现 | 1. 归纳梳理,回归项目。 (1)提出问题:我们已经学习了三种程序设计结构,它们各自有哪些特点?适合解决什么样的问题? (2)教师用课件展示三种程序设计结构的思维导图。 (3)回归项目问题:实际上,许多问题的解决不能靠单一程序结构实现,例如真实的“自助式人行过街红绿灯”既要有红灯变绿灯的过程,又要将倒计时同步显示,所以接下来我们将综合应用前面所学的程序设计基础知识进行项目的实现。 2. 展示学生前面绘制的项目任务流程图,师生共同分析其中的关键过程,确定所需用的程序语句:按钮是否被单击,决定着后面信号灯的变化,该过程为选择结构,可用if语句实现;而倒计时的显示则为典型的循环结构,可用for语句或while语句实现。 3. 教师提供微课,学生自学导入sinomaps模块,围绕算法设计进行项目功能的初步实现(完成本书配套光盘中的项目程序版本1)。 4. 展示学生程序编写中遇到的典型问题,强调:变量名书写要正确,Python语言中区别大小写;红灯倒计时与绿灯倒计时算法相同,可以复制相应代码并简单修改;注意语句的缩进和冒号不能省略。 5. 学生再次完善程序,同伴互助,保证项目程序版本1的完成 | 反思梳理 回答问题 思考交流
观看微课 分析问题 编程实现
修改程序 调试运行 同伴互助 完成任务 | 本环节首先通过梳理程序设计三种结构以及分析项目流程图,既强化了知识的系统建构,又为项目程序编写奠定了基础。接着借助微课等学习支架,有效指导学生完成项目程序。然后通过典型问题分析,帮助学生学会发现程序问题,通过同伴互助,共同解决问题,提高项目程序的完成度 |
问题引导项目完善 | 1. 提出问题:现在,我们初步实现了“自助式人行过街红绿灯”的程序,同学们感觉它与实际马路上的红绿灯相比,还有哪些需要完善的地方?还应该增加哪些功能? (1)提示:在绿灯变为红灯之前增加3 s的黄色警示灯,以提示行人。 (2)完善程序,完成本书配套光盘中的项目程序版本2:使用选择结构,实现加入黄色警示灯的功能(要求编程基础较好的同学在版本1的基础上加入代码实现功能,基础较差同学可以在教师提供的版本2半成品基础上完成)。 2. 展示程序,提出进一步思考的问题。 思考:如果行人甲按下按钮,在绿灯倒计时结束时刚过完马路,而行人乙此时恰好按下按钮也请求过马路,那么,程序是否应该响应行人乙的请求?为什么? 3. 师生交流分析:应该给按钮增加一个使用周期。 4. 继续追问:如何实现这个暂停的周期? 假设暂停周期为5 s,也就是在程序中增加一个5 s暂停,这个“暂停”功能语句放在哪里合适呢?如何进行程序实现? 5. 继续完成本书配套光盘中的项目程序版本3,加入按钮使用周期(要求编程基础较好的同学在版本2基础上加入代码实现功能,基础较差同学可以在教师提供的版本3半成品基础上完成) | 思考问题 交流讨论 回答问题
分享观点 得出结论 思考问题
明确任务 继续完善项目程序版本3 | 让学生发现问题、解决问题,体会项目开发的过程,增强用计算机解决问题的能力 |
展示交流归纳总结 | 1. 展示学生程序,讨论更多完善需求。 2. 总结本课知识——for语句的特点,理解程序设计的三种结构特点;认识到问题的解决不可能一蹴而就,需要不断发现问题,循序渐进,迭代完善 | 展示作品 交流评价 归纳梳理 内化方法 | 通过展示交流,为后续项目完善做好铺垫;通过总结归纳,帮助学生建构知识结构,能系统化地理解算法与程序的关系以及程序设计三种结构的特点 |
高中信息技术中图版 (2019)必修1 数据与计算3.2.3 数据安全优秀教案及反思: 这是一份高中信息技术中图版 (2019)必修1 数据与计算3.2.3 数据安全优秀教案及反思,共4页。
高中信息技术中图版 (2019)必修1 数据与计算第3章 数据处理与应用3.1 数据处理的一般过程3.1.1 数据处理优质课教案设计: 这是一份高中信息技术中图版 (2019)必修1 数据与计算第3章 数据处理与应用3.1 数据处理的一般过程3.1.1 数据处理优质课教案设计,共3页。
高中信息技术中图版 (2019)必修1 数据与计算3.3.2 数据可视化公开课教案及反思: 这是一份高中信息技术中图版 (2019)必修1 数据与计算3.3.2 数据可视化公开课教案及反思,共4页。