信息技术教学案例评比——冒泡算法的程序实现;

由里及外,由下而上

—“算法的程序实现”的教学策略

缙云朝晖外国语学校 王震

案例背景:

《算法与程序设计》的第五章,冒泡排序算法的程序实现一课的教学目标是学生能利用程序实现冒泡排序算法;这时的学生已经能利用冒泡排序方法手工完成数字的排序,而且学生也有了一定的程序基础,掌握了基本的程序设计语句的用法,如if语句,for语句,赋值语句。通过本节课的学习,使学生能将冒泡算法的模拟步骤转换为基本语句的程序实现,通过它了解程序设计的一般方法,增强学习算法与程序的兴趣和自信心。

教学设计思路:

《算法与程序设计》一书中的好多算法,包括枚举法、冒泡排序、选择排序、对分查找等都会有多重循环语句,如果从多重循环语句的角度去思考问题,无疑会加大难度,学生也很难理解多重循环的内外关系及具体含义;因此,选择由里到外,由下到上的程序设计过程,可以避开多重循环的概念,简化难度,设计思路更加清淅;而且内循环也往往是算法步骤中的核心步骤,由里到外的过程,也就是抓住主要环节,再逐步向次要环节展开的过程,这是一个很好的程序设计的方法;尤其是对于初学者来说,这也提供了一种思考和下手编程的思路。

教学细节描述:

导入:

师:出示xx xx赛季nba球员数据excel表

师:想知道谁的得分最高,谁的罚球最好,有什么最简单的办法?

生:排序

师:按excel中的升降序按钮,演示升序和降序操作

师:看来排序在我们的日常生活中确实非常有用,今天我们就来设计一个能排序的程序。

展开:

一、出示任务“以冒泡法的思想,利用程序完成对36 27 32 18四个数的从小到大的排序”,整个任务分四步完成:1、界面设计2、输入数据3、冒泡程序4、输出数据;在教师指导下完成第1、第2、第4部分的代码。

二、完成第3部分冒泡排序的程序实现:

师:请同学们回忆并口头描述一下冒泡排序的过程。

生:通过两两交换,小的水泡先升到水面上。

师:如果手工去模拟冒泡过程,你能模拟出来吗?

生:能

师:你能把手工的过程用程序实现吗?

生:沉默,很难

师:好,今天我们来看看,怎么把手工的过程用程序代码描述出来。

师:将4个数放入数组d中,增加一个变量j,刚开始j 4指示第4个数,这时候我们要做什么动作?

生:交换32与18的位置

师:为什么要交换?

生:因为32比18大

师:也就是说比较32与18,发现32大于18,所以交换32与18,换句话也可以说是比较d(4)与?

生:d(3)

师:再换一种说法是d(j)与?

生:d(j-1)

师:换好之后,应该再往前走,j应该变为3,然后谁跟谁比较?

生:d(3)跟d(2)

师:更通用的说法是?

生:d(j)跟d(j-1)

师:总结整个过程为“j由4到2,如果d(j)比d(j-1)少,则交换d(j)与d(j-1)”,如果把它转换为程序,这个程序就能完成一轮冒泡的排序,请同学们试试把“如果d(j)<d(j-1),则交换d(j)与d(j-1)”转换为程序

学生完成if语句,但是不知道如何交换,这时老师出示两瓶不同液体的互换课件,引导学生得出:c d(j-1),d(j-1) d(j),d(j) c,并让学生自行完成交换的程序代码。

师:一轮的过程是“j由4到2,如果d(j)比d(j-1)少,则交换d(j)与d(j-1)”

完成了比较交换之后,还要完成“j由4到2”的过程,大家试想一下,“j由4到2”与比较交换之间的关系:j为4的时候比较交换,j为3的时候比较交换,j为2时比较交换。跟据这样的相互关系,我们应该用什么语句来完成?

生:用for语句

验证代码正确与否,老师请学生就自己完成的代码运行一遍,看结果是不是我们之前分析的一样,如果一样说明是完成了一轮排序,再引导学生4个数要经过3轮完成,即要使刚才的动作做3遍,有什么办法,学生想到用循环语句for实现。

师:完成了4个数的升序排序后,如果要改为降序排序,怎么修改程序;如果再增加两个数进行降序排序又该怎么办?

课堂效果

在整个程序的完成过程中,学生的参与度很高,程序代码生成的自主率也很高;大部分学生完成了前面的基本任务,最后有30多位学生完成了提高任务。

课后反思

从教学形式来看这是一堂相当明显的传统课,但正像某资深专家所说,“在新课程环境中,传统课不一定是不好的课,这是可以肯定的”, 而且在《学科教学指导意见》中,关于这一章节的教学方法推荐使用讲授法与探究法。由于算法教学内容,更偏向于逻辑思维的练习,区别于信息技术的其它课程,因此教学形式上与信息技术基础及多媒体设计课程有很大的不同。

本堂课教学过程突显“先学后讲”的教学思路,“先学后讲”是在课堂教学顺序上体现新课程教学原则的一种特征,它是指在教学的流程上先经过学生自主或合作性的学习、探究,教师再进行点拨。“先学后讲”即把学生自己能掌握的学习内容(在已有发展区之内)让他们通过自学、讨论先行解决,然后教师再针对学生不能独立掌握的内容(在最邻近发展区之内)进行重点讲解或指导。

建构主义理论要求以学生为中心,强调学生对知识的主动探索、主动发现和对所学知识意义的主动建构,而不是像传统教学那样,只是把知识从教师头脑中传送到学生的笔记本上。计算机程序如果从全局上去看,会显得很复杂,设计“由里及外,由下而上”的教学思路,简化了难度,学生可以从已经掌握的基本语句出发,即现有的知识网络出发,经过逐步完善,最终设计出完整的程序,建构出新的知识网络,这很好地体现了建构主义的学习理论。也正像某资深教研员所说,“整堂课像是剥洋葱,层层深入,一环连一环”。

展开阅读全文

页面更新:2024-05-28

标签:教案   信息技术   高中信息技术   算法   程序   程序设计   语句   个数   手工   思路   过程   知识   学生

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top