首页 > 教学资源 > 教案 > 其它教案 > 信息技术教学案例评比——冒泡算法的程序实现;

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

困爱之城 点赞 分享
信息技术教学案例评比——冒泡算法的程序实现;

微信扫码分享

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

由里及外,由下而上

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

缙云朝晖外国语学校 王震

案例背景:

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

教学设计思路:

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

教学细节描述:

导入:

师:出示~赛季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时比较交换。跟据这样的相互关系,我们应该用什么语句来完成?

221381
领取福利

微信扫码领取福利

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

微信扫码分享