Python循环结构教学融合学科知识

2020-09-10 12:37郑叶青
启迪·上 2020年8期
关键词:列表程序设计编程

【摘要】信息社会,越来越多的领域需要使用程序设计,编写程序成为新时代学生需要具备的一项基本技能。枯燥的编程会让刚接触程序设计的学生渐渐失去兴趣,如何在程序设计中增加更多的闪光点,让学生感到更有亲和力,更能吸引学生去编写程序?本文以Python循环结构教学融合学科知识的例子来与大家一起探讨程序设计教学中的一些创新思路。

【关键词】循环结构 学科知识

现在的教学中,各个学科不再是各自为战,守好自己的一亩三分地。随着学习的深入,需要越来越多地进行学科融合,信息技术特别是程序设计,也需要在教学中融合多学科的知识。以下我结合自己的这节Python循环结构的教学设计和授课过程,谈谈自己对程序设计与学科融合的一些做法。

一、借用语文的关联词来理解程序逻辑

中国的语言艺术博大精深,关联词不仅能清楚地表达语言中的逻辑关系,同样适用于在程序设计中的逻辑关系和算法思路。

计数for循环,可以用关联词的“当。。。”来理解。例如for i in range(1,101)可以这样想:当i=1时,执行一次循环语句;当i=2时,执行一次循环语句;。。。。。。当i=100时,执行一次循环语句。这样解释,学生就能明白for循环的本质就是遍历列表中的所有元素。

对于遍历,我还举了这样一个事例:有3个同学A、B、C被评为三好学生,将A、B、C放在一个列表中,领导for循环来访问列表,循环体就是发三好学生奖状,领导为A同学发奖状,领导为B同学发奖状,领导为C同学发奖状,结束循环。遍历就是依次访问列表中的元素,并执行一次循环体,直到访问完所有的元素,结束循环。

二、融合英语写作表达能力

学英语的两个重点是写作和表达能力,在程序设计中也可以让学生展示自己的英语風采。我在课程中设计了这样一个练习题:想出至少三个你喜欢的东西或人,将他(它)们存储在一个列表中,使用for循环实现对每个事物都打印一个句子,如"A dog would make a grate pet",在程序的末尾添加一行代码,打印指出这些动物的共同特点(诸如"Any of these animals would make a great pet!")或表达自己的情感(诸如"They are all my best friends!")。

看到这个题目学生来了兴趣,热火朝天地在键盘上敲击自己的代码。课堂上同学们都积极举手展示自己的程序,展示兴趣爱好,用流利的英语演说。下面我展示一个学生的思路,她设计了这样一个程序:

三、解决物理位移问题

在这个环节,我截取了高一第一次月考物理试卷的一道解答题:从一定高度的气球上自由落下两个物体,第一物体下落1s后,第二物体开始下落,两物体用长93.1m的绳连接在一起。求:第二个物体下落多长时间绳被拉紧?

刚考完的缘故,学生对这个问题感到很亲切,对正确答案仍然记忆犹新,都饶有兴趣地试着编程去解答。While循环最难的地方应该就是循环条件的提取。引导学生思考两个物体从同一高度自由下落,什么情况下绳子才会被拉紧。同学们异口同声地回答,两个物体的距离s必须大于等于93.1m。再引导学生思考,那循环条件应该怎么写,有的同学脱口而出距离s>=93.1。提出问题:循环体是什么?分别计算自由下落的位移,并用位移相减计算出距离s。再提出问题,一开始的距离s是多少?生:距离是0。师:那么s=0有没有满足你们给出的循环条件,能不能执行循环体?学生思考后恍然大悟,立刻改口循环条件应该是s<93.1。确定完循环条件,我就让学生自主编写程序解答,最终有一半同学通过使用while循环程序打印出了正确答案。

四、应用数学一题多解的思路

数学老师经常提倡学生要思考一题多解,程序设计也应该有这种想法,这对将来算法优化有很重要的意义。我设计的题目是计算1+2+。。。+100=? 学生从本节课的两个循环出发,大部分都能设计出两种解法:

解完题目,让学生思考哪种算法更好?很多同学的看法就是for循环更好,可能是因为for循环更好理解,更容易编写。老师提示学生从存储空间的角度再思考想。有学生发表自己的看法:使用while循环更优化,因为for循环的列表有多少个元素,就要给它多少个存储空间,而while循环只要i和s两个存储空间,所以while更优化,特别是数据量很大时。程序设计一定要一题多解,思考更多的思路和算法,并从中去选取最优化的一种来实现。

【结语】

程序设计与学科的多方位全面融合,不仅可以让学生爱上编程,还能让学生习惯用程序设计来解决很多现实问题,体会编程的实用与优势。

【参考文献】

[1]《发现数学之美,点燃学生机器人编程的思维火花》.[G]. 乔磊.  试题与研究. 2019年34期

[2]《浅谈VB编程与中职英语的学科融合教学》.[G].林志敏.现代职业教育. 2018年03期

莆田四中 福建省莆田市 郑叶青

猜你喜欢
列表程序设计编程
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
玩游戏学编程,Blockly Games上手玩
扩列吧
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
列表法解分式方程问题探索