当程序设计遇上绕口令

2021-05-10 02:53刘锋
中国信息技术教育 2021年8期
关键词:程序

刘锋

● 教材分析

本节课使用的教材是广东教育出版社出版的《数据与计算》,内容为该教材第四章“运用循环结构描述问题求解过程”中的第二节“while循环的应用”。循环结构是程序设计中常用的三种基本结构之一,也是让计算机自动完成重复工作的常见方式。在Python中,循环结构主要有for循环、while循环、循环嵌套等。本节课是继计数循环for循环的应用后的一节课。通过本节课的学习,学生要进一步了解循环的基本结构,熟悉条件循环的执行过程和while循环语句的格式,并应用于实际问题的解决,这也是本节课的重点和难点。

● 学情分析

从学生的知识上看,他们已经学习了Python程序设计的变量、赋值、表达式、关系运算等基础知识,熟悉了算法设计及描述方法,知道计算机编程解决问题的过程,并通过for循环的应用,对循环结构有了一定的认识。从学生的能力来看,高一学生已经具备了分析、抽象、建模和独立思考能力,有正确的价值观、信息意识和社会责任感,具备一定的计算思维、数字化学习与创新等能力。通过教师启发引导,学生能自主探究完成本节课的小任务。

● 教学目标

熟悉while循环语句的格式,掌握条件循环的使用方法,并应用于实际问题的解决。

● 教学重点、难点

while循环语句的格式,并应用于实际问题的解决。

● 教学策略

本节课面对的高一年级学生大多来自乡镇,平翘舌不太能分清。考虑到上课时学生有可能会因发不好音而不愿配合再练习体会绕口令,于是笔者在选择绕口令时,没有选择带“z、c、s、zh、ch、sh”声母的绕口令,而是挑选了“奔跑拼博评标兵(训练b、p)”。

本节课以教师为主导、学生为主体,采用基于问题的学习模式,结合任务驱动,以练习和模拟输出不同形式的绕口令为切入点,充分挖掘绕口令练习气息的重要作用,拓展学生的视野,使学生在探究条件循环的同时,掌握说好普通话的方法与技巧。

● 教学准备

课前下发资源包、微课、导学案,测试课件播放,调试教师机、学生机Python运行环境等。

● 教学过程

1.创设情境,激趣导入

教师活动:明确练习绕口令要发音标准、吐字清晰,然后尽量加快速度。屏幕展示一段绕口令——奔跑拼博评标兵,带领学生一起练习。

学生活动:跟读后,一口气连续说三遍绕口令,体会计数循环的思想。

师生共同回顾for语句的基本格式,特别是Python程序设计语言对循环体约定的格式:列表后必须跟英文状态的冒号;循环体必须相对关键词for有缩进。学生完善“绕口令1.py”程序(如图1),模拟循环输出三遍绕口令。

知识推进:常练一口气说多遍绕口令,还能训练气息。有一种练习气息的方法——深吸一口气,然后连续说同一段绕口令,直到气息用完为止。

设计意图:本环节意在通过模拟循环输出绕口令,回顾计数循环for语句及其应用;通过练习绕口令激发学生的兴趣,并为探究条件循环while语句做好铺垫。

2.体会品悟,探索新知

教师活动:示范深吸一口气,气沉丹田,连续说同一段绕口令,直到气息用完为止,同时用手指计数。

学生比赛:相邻的两位同学为一组,一名同学尝试吸足一口气连续说“奔跑拼博评标兵”,另外一名同学计数;然后,互换角色,看谁一口气说的遍数多。

比赛结束后,教师请优胜者表演并谈谈技巧,并提出编程模拟深吸一口气连续说绕口令,直至气息用尽的过程。假设吐气是均匀的,某同学吸一口气假设是3500毫升,说一遍绕口令假设需要呼气376 毫升。

(1)分析問题

师生共同分析:①体会说绕口令的过程,得出该程序最好使用循环结构;②循环体是输出“奔跑拼博评标兵”的同时,减少腹腔中一定量的气息;③已知条件:一口气3500 (数字前后不一致)毫升,说一遍绕口令需要呼气376毫升;④循环的次数不能直接看出来,显然,计数循环for语句不是首选项。

(2)设计算法

师生共同讨论:根据分析,把说绕口令的过程用自然语言描述出来——①深吸一口气,此时腹腔中的气息有m毫升,初值m=3500;②如果m>380,则说出一次绕口令,同时,腹腔中气息还剩m=m-380毫升,否则,结束程序;③重复第②步。

学生根据自然语言的描述,打开流程图绘制软件,完善流程图(如图2)。

(3)完善程序,调试运行

师:循环次数未知时,可以考虑使用条件循环来解决。这类问题,只有当循环条件成立时,才执行循环体。在Python中,可以使用while语句。

学生完善“绕口令2.py”程序(如图3),并调试运行。完善后,请学生演示。

知识推进:有问题的同学可以观看微课或参考教材第37~38页,同桌之间可以相互交流。

教师明确:程序验证了同学回答的练习气息技巧——除了发音准确、清晰外,还需要肺活量大,每次气息呼得要少要匀。

(4)探究思考

问题:抛开本题的实际,循环体中,能否让每次m减0?

师生讨论和实验:如果每次减0,条件就会一直为真,程序就会一直执行下去,陷入死循环。即循环体中必须有改变循环条件表达式值的语句。

设计意图:本环节意在通过比赛说绕口令,体会吸一口气一直说绕口令的过程,感悟条件循环的思想。while语句的格式及用法则是让学生们自主学习构建知识,掌握while语句的约束格式和循环退出条件等,培养其数字化学习与创新能力和勇于争先的意识。

3.举一反三,创新提升

展示练习气息的绕口令“数红旗”:我爱北京天安门,天安门前飘红旗!一面旗、两面旗、三面旗、四面旗、五面旗……一共看到n面旗。假设某人一口气吸气3500毫升,说绕口令的头和尾需要呼气380毫升,数一面旗呼气105毫升,请编程模拟输出。

学生两人一组,完善“绕口令3.py”程序(如图4)。讨论其中变量n的作用,以及“n=0”的缘由。

思考:循环体中的“n=n+1”和“m=m-105”语句,可以和“print(n,"面旗")”语句交换位置吗?

师生讨论、实验结论:①“n=n+1”如果和“print(n,"面旗")”语句交换位置,变量n须赋初值为1,否则计数错误;②“m=m-105”语句在循环体中对顺序没有要求。

设计意图:本环节意在让学生尝试将所学知识迁移运用于其他问题的解决,同时,训练其反思、优化解决问题的意识,提升其计算思维能力、创新意识和爱国情怀。

4.归纳总结,体验成功

体验任务:从for、while语句中选择可以解决以下问题的循环结构。①求1+4+7+10+……+1000的和;②每天存款为天数的2倍,第多少天存款累计超过500元;③忘记保险箱的密码后两位,模拟逐一尝试各种密码组合打开箱子的过程。

师生分析、讨论,得出每个问题较适宜的循环语句类型。同时启发学生思考:在使用银行卡在柜员机上取钱时,系统为什么要限制输入密码的次数?

设计意图:本环节意在让学生以完成任务的形式梳理回顾知识,進一步厘清while循环的思想、格式及应用。在学以致用的同时,思考由此可能引发的安全问题,深化本节课的教学。

● 教学反思

绕口令读起来节奏感强,妙趣横生。当程序设计遇上绕口令,会碰撞出怎样的火花?本节课,笔者在选择绕口令时不但考虑了学生的口音,还在内容的选择上考虑了立德树人和情感态度价值观的培养。用学练绕口令导入,激发了学生的兴趣,同时使学生很好地体会了while循环的思想和过程。在教学过程中,笔者注重学生信息意识、计算思维和数字化学习与创新能力的提升,如微课的使用、密码的安全、举一反三的探究、思考等,不但提高了学生发现问题、分析问题和解决问题的能力,还潜移默化地帮助学生树立了正确的人生观和价值观,激发他们为了今后的美好生活而努力学习。

点  评

本案例是我市主题教研活动中的一节公开课,其思路清新,结构完整,目标明确,教学重点突出,难点有突破,并充分体现了对学生学科核心素养的培养。主要特点如下:①教学设计体现了“自主、合作、探究”的教学理念。首先,整个教学过程以学生为中心,通过一系列活动的开展,使学生成为课堂的主人,如让学生带着问题思考、交流、探究、实验等;其次,在活动的创设上,激发学生的兴趣,提高了学生参与的积极性,如绕口令的比赛;再次,教学过程中,虽然没有明确分组,但给出了一些任务、比赛等,提示各自结对找朋友,为合作探究创设了前提。②整节课围绕着绕口令展开,案例新颖,思路清晰。各个环节体验绕口令产生的情感线清晰可见,情感线下烘托的活动线自然流畅,由活动线支撑的知识线由浅入深、逐步推进,承载立德树人的育人线融入其中,体现学科核心素养培养的目标线若隐若现,评价线形式多样、贯穿始终。③教学设计也充分体现了教师对学生信息意识、计算思维、数字化学习与创新、信息社会责任等学科核心素养的培养。例如,绕口令的选择、微课的使用、银行卡密码安全问题的思考、普通话知识的渗透、练习气息的技巧等,不但教会了学生分析问题、解决问题的方法,而且培养了学生团结、奋进、爱国的精神,潜移默化地帮助他们树立正确的人生观、世界观,这对完成立德树人的教育任务是很有必要的。

另外,本节课还有一些好的做法,如:教师考虑到了借班上课的实情,在备课时深入了解该校教材的版本、机房的软硬件环境、学生前面章节内容的学习掌握和平翘舌发音困难等情况,做到了备教材、备教室和备学生等;整节课环环相扣,在问题串、思维线和活动链中,不知不觉稳步推进,引导学生步步深入地分析和解决问题,从而有效构建知识、积淀经验、感悟思想、发展思维。

猜你喜欢
程序
十字坡上的程序正义
给Windows添加程序快速切换栏
简化化学平衡移动教学程序探索
简化化学平衡移动教学程序探索
USPTO修改PTAB《无效程序权利要求解释标准》
“程序猿”的生活什么样
微信:小程序的兴起
英国与欧盟正式启动“离婚”程序程序
趋势or噱头?
让“低头族”不撞树的手机程序