文档库 最新最全的文档下载
当前位置:文档库 › 浙教版高一冒泡排序教学设计

浙教版高一冒泡排序教学设计

浙教版高一冒泡排序教学设计
浙教版高一冒泡排序教学设计

浙教版高一冒泡排序教学设计

浙江省象山中学章婷红 315700 zthdd@https://www.wendangku.net/doc/646448294.html,

一、设计思想

算法与程序设计具有高度的抽象性和严密的逻辑性,教师难教、学生难学成为一个突出的现象。如何消除学生畏惧心理,充分调动学生的积极性,正是我设计该课的主要目标。程序设计的基本方法是自顶向下地逐步求精和模块化。自顶向下地逐步求精是指首先要对所设计的系统有一个全面的理解,其次从顶层开始连续地逐层向下分解,直到系统的所有模块都被分解为一条条的详细指令时为止。模块化是指把一个大的程序按照一定的原则划分为若干个相对独立但又相关的小程序(模块)的方法。依据这个基本方法,在教师的引导下,从简单到复杂,从粗到精,各个难点分解,最后师生共同完成总流程图的设计。在整个过程中,教师要积极引发学生的思考,让他们真正参与进来。

二、教材分析

本节内容选自浙江教育出版社《算法与程序设计》第二章第三节和第五章第三节。以第二章内容为主,下节课让学生进行第五章编写程序及上机实践。

《课程标准》指出《算法与程序设计》模块教学主要目的是“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”冒泡排序的算法及程序实现就很好地较全面地体现了这点。

排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。

三、学情分析

我是先上第一、三、四章,再上第二和第五章。通过前面三章的学习,同学们已经了解了算法设计的基本知识,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,画流程图还不太熟练,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的口味。

四、教学目标

知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码;

能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用;

情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯;

五、重点难点

重点:理解冒泡排序原理及它的流程图

难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解)

六、教学策略与手段

采用讲解法、演示法、讨论合作、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。

七、课前准备

1.教师的教学准备:冒泡排序的课件

2.教学环境的设计与布置:多媒体网络教室、投影机、多媒体教学平台、flash软件

八、教学过程

一、导入:创新情景

我们经常会碰到要排队的情况,比如排座位,做操、排大合唱队伍等。今天我想请四位同学上来表演一下排队。我报了四位学生的名字,让他们上来,并让他们按报到的次序排起来。问:他们现在是按什么排的?――学号(我有意按学号报的)。好,现在请你们按身高从矮到高排起来。不一会四位学生就排好了。

【设计意图】一开始让四位学生上来,其他学生觉得挺有意思的,所以注意力一下都集中过来。

我指着其中一位换到前面去的学生,问大家他是怎么知道自己矮的。这时下面有学生在喊,他本来就是矮的,还有学生说一看就知道了。我又请这位学生谈谈他当时的想法。一般学生会提到与别人比一下,矮的话就换上去了(如果说不出来,教师可以适当引导一下)。师:对,肯定要比一下才知道,而且需要交换。有些学生说一看就知道,其实也是看了以后经过大脑思维飞快比较得出的结论。

排队其实是一种排序:通过调整位置,把杂乱无章的数据变为有序的数据。如Excel中的排序功能,通过本节课的学习我们自己也可以设计出类似的小软件。

二、新课

排序的方法很多,这节课我们来学习其中一种比较典型的排序方法――冒泡排序。

1、冒泡排序的基本思想

教师可以先让学生根据字面意思想像一下“冒泡”是一个怎么样的情景――气泡一个一个从下往上不断地冒上来。然后一边讲解一边以文字形式给出冒泡排序的基本思想(书P31略)。特别要强调怎样算一遍处理,而且每遍总是从“最下面起”,“自下而上”,比较“相邻”两数。

我请刚才那四位学生仍先按学号排回来,然后演示利用冒泡排序法进行从矮到高排序的过程。学生在进行表演时,教师可以充当解说员,关键的地方进行提示,如每遍的开始和结束,同时引导学生认识到第几遍处理完找到的应该是第几矮的同学(或第几小的数)。

【设计意图】学生的表演比单独拿出几个数来比较往往更能吸引学生的注意力,学生们在轻松活跃的气氛中明确了冒泡排序的基本方法。

演示完毕,教师提出一个问题:4位学生共进行了几遍查找?为什么?

然后再用一个flash 动画演示规模为4的数组变量d 的数据按非减次序进行冒泡排序的逐个过程,再次强化学生对冒泡排序过程的理解。也为下面每一遍中两两交换情况的分析做了铺垫。

2、画流程图(按非减次序排序)

这块内容是本节课的重点,采用自顶向下逐步求精的方式,由特殊到一般归纳总结,利用模块化,各个难点一一突破。

以具体的情况4个数为例,由最简单的流程图一左侧的图开始,让学生将冒泡排序过程用形象的语言表示出来:不断冒起一个泡(最小数),于是转化成右侧流程图。 流程图一(4个数)

思考:以4个数为例,这里的“不断”有没有限定,到底是几遍呢?为什么? 流程图二(4个数)

给出流程图二左边的图之后,教师可以让学生思考一下,这种结构实际上属于什么结构――循环结构。但是左图是不规范的,我们需要用一个变量来控制循环次数,从而引出用变量i 来记录正在执行的排序的遍数,它的值应该是从1到3,每次做完后加1。让学生回顾一下循环结构的流程图模式,两两学生讨论,合作将上面流程图二左侧的图转换成右侧规范的流程图。

思考:如果参与排序的是n 个数呢?

比较遍数与个数关系:遍数=个数-1

【设计意图】遍数与个数关系算是其中一个难点,但无论是通过学生上台表演以及4个数的f lash 动画演示,还是学生已有的认知规律,他们还是可以比较容易得出这个结论的。所以将上面流程图中的“i<=3”改成“i<=n-1”即可得到下面左侧这个流程图。

i:记录正在执行的排

序的遍数

为了分解后面一个难点,教师让学生用简单的语言描述每次“冒起一个最小数”是怎么冒出来的:不断两两比较交换,这也是冒泡排序也叫“比较交换”法的原因。于是下面左侧流程图又可转化成右侧的形式。

流程图二(n个数)

现在只剩下“不断两两比较交换”还需要进一步细化。如何进行不断两两比较交换?以4个数为例,可以回看刚才的flash动画。

在程序中有些数据规律不是很明显,如果用表格来列一下,可以极大地提高数据分析的有

引导学生发现规律:每次都是从最后面一个数开始比较,最后一个参与比较的数的下标与比较的遍数有关:遍数+1

思考:共n个数呢?

这里又需要用一个变量来标识正在参加比较的数组元素的下标,引进变量j :记录一遍处理过程中,当前数组元素下标。

小结论:共n 个数,第i 遍处理时,j 的值从n 到i+1之间递减,每次d(j)与它的前一个数d (j-1)进行比较。

【设计意图】本节课最大的难点就是变量j 的取值范围,尤其是它的终值为什么是i+1学生往往更是难以理解,因为它是在动态变化的。而由特殊的4位数开始找出规律,然后归纳推广到一般的n 个数就相对比较简单。我花了比较长的时间让学生自己探讨,目的是经过充分思考得出的结论才会记忆深刻。为了加深他们的理解,我又用下表更直观地来说明这个问题。 我一边讲解,一边手绘了如下的表格,说明当要进行第i 遍处理时,即要找第i 个最小数时,此时前面i-1个最小数已经找到(阴影部分),这部分不需要再参与以后的两两比较,所以第i 遍处理时,第一次两两比较应该是d(n)与它的前一个数d(n-1),以此类推,最后要比的是d(i+1)与它的前一个数d(i),至此此轮最小数就冒到第i 个位置了。所以最后一个的“它”的位置应该是i+1。

位置

…… “如果下面一个数比上面一个数小,就交换”。如果…就…[否则…],其实是一种分支结构。教师可以用生活中的实例说明(如果天气好的话就去打球;如果60分以上就显示合格,否则就显示不合格),并简单回顾一下分支结构的流程示意图。 【设计意图】程序实例生活化学生更容易接受。 流程图三(n 个数) 不断两两比较交换

最后一次两两比较

第一次两两比较

至此,所有问题、难点我们都全部细化,一一解决了,现在将流程图三“两两比较交换”纳入流程图二,即得下面的总流程图: 总流程图

当刚显示这个总流程图时,学生还往往不太相信自己的眼睛。师:不要惊讶,这的确是我们通过自己的努力一起画出来的。看来设计算法画出流程图也并不是什么天大的难事,只要我们有信心,由浅入深还是可以解决的。

当然别忘了说明一下这个总流程图各部分的作用,并留1分钟让学生自己消化一下。 3、学生体验冒泡排序“算法执行过程”

提供本书配套辅助软件“运行体验”文件夹中的“冒泡排序.swf ”,让学生采用“单步执行”模式。

4、流程图→程序语言

可以通过对两个变量和两数互换语句的解决,最终得到主要参考代码。 (1)i:记录正在执行的排序的遍数,由1变到n-1

我们学过的循环语句不外乎for …next 和Do …Loop 两种,这里已知循环次数的情况下,用for …next 比较简单。

for i=1 to n-1

冒起一个最小数(循环体) next i

(2)j:记录一遍处理过程中,当前数组元素下标,由n 变到i+1

for j=n to i+1 step –1

d(j)与它的前一个数d(j-1)进行比较

next j

说明:虚线框部分即为第i 遍处理时“不断两两比较交换”的流程图 n:参加排序的数组元素总个数 i:记录正在执行的排序的遍数,由1变到n-1 j:记录一遍处理过程中,当前数组元素下标,由n 变到i+1

(3)d(j)与d(j-1)互换

k=d(j):d(j)=d(j-1):d(j-1)=k

教师可以利用酱油和米醋互换来做比喻,引导学生实现两数互换的方法。

对照总流程图,自上往下,写出主要参考代码:

for i=1 to n-1 'i记录正在执行的排序的遍数,由1变到n-1

for j=n to i+1 step -1 'j记录一遍处理过程中,当前数组元素下标,由n变到i+1 if d(j)

k=d(j):d(j)=d(j-1):d(j-1)=k 'd(j)与d(j-1)互换

endif

next j

next i

【设计意图】因为已学过VB基本知识,对赋值、选择和循环这三种语句都有基础,所以流程图画出来以后,转换成程序语言并不太难。趁热打铁,顺理成章之间完成了主要代码的编写,为下节课学生上机实践打下基础。

显示参考代码后,教师要引导学生养成良好的习惯,用规范的代码书写格式有利用于程序的调试,还增加了可读性。

5、拓展:优化冒泡排序

到网上搜索冒泡排序的改进方案。

【设计意图】为寻找解决问题的最佳方案而产生更好的学习目标。尤其是一些理科比较好对程序设计比较感兴趣的学生,离开机房的时候还一路在讨论着。

九、知识结构或板书设计

用课件显示:1、各个流程图(见上面);2、主要参考代码(见上面)

十、作业设计

设计一个评分系统的流程图:有n个评委,最后得分为去掉一个最高分与一个最低分后的平均分。

【问题研讨】

1、如何用人的思维模拟计算机的工作过程

我让学生上来排队演示,本想让他们能用不同方法,以便能引到各种排序方式。但后来发现这太难了。因为人是有眼睛和原有认知能力的,有些事想当然就可以解决。但计算机与人不同,它看不见、摸不着这些数据,所以不可能像人一样来完成任务。其实计算机解决问题的关键,就是要把人解决问题的每一步思维过程描述出来。这也是所有学程序的人尤其是初学者最难的地方。然而程序设计思想并不是一下子就能培养的,我们高中阶段只能是慢慢引导学生学着去分析问题,将问题解决方法步骤化。所以课后我在想,是否可以在上这块内容之前给学生布置一个任务:闭上眼睛,将十根乱排的长短不一但相差不大的的小木棍从短到长排起来,要求每次比较最多只能两根。事后我也请一些人做过实验,发现每个人都有自己不同的想法,但各自的原理都可以从程序中的各种排序法中找出原型。

2、细节也不容忽视

为了说明冒泡排序的基本方法,我上课时在各班都请了四位学生上台根据身高排队来演示冒泡排序的过程。方便原则,我按学号点了四位学生,然而其中有一个班上来的四位中有个男生,他个子挺矮的,比一般女生都要矮,轮到他进行两两比较时,当他被换到前面,下面部分学生发出了一些笑声,他好像蛮不开心的,头都低下去了。后来我在想,学生尤其是男生对自己的身高其实是很在意的,我这样让他上来,是不是会很伤他的自尊心?看来再小的细节也不容忽视啊。

【参考资料】

《浙江省普通高中新课程实验学科教学指导意见》,浙江省基础教育课程改革工作领导小组办公室编

《普通高中信息技术新课程标准》,人民教育出版社

冒泡排序和快速排序

冒泡排序和快速排序 (1)实验描述 我们学习到排序是将一个无序序列整理成按值非递减顺序排列的有序序列。排序可以在不同的存储结构上实现。 基本排序是在顺序存储的线性表中实现的;二叉排序树利用二叉树的链式存储结构实现无序表的有序化。 本实验将进行冒泡排序和快速排序的基本操作,以实现冒泡排序和快速排序的熟练掌握和应用。 (2)实验过程 冒泡排序: 1) 从表头开始向后扫描,依次比较相邻元素。如果为“逆序”,进行互换。一次扫描后,最大元素排到表末端; 2)从后先前扫描剩下的线性表,依次比较相邻元素,如有“逆序”,进行互换。一次扫描后,最小元素排到表前端; 3)对剩下的线性表重复过程(1)(2),直到消除了所有的逆序。 输入:无序序列 快速排序: 1)在表的第一个、中间一个与最后一个元素中选取中项,设为P(k),并将P(k)赋给T,再将表中的第一个元素移到P(k)的位置上。 2)设置两个指针i和j分别指向表的起始与最后的位置。反复作以下两步: (1)将j逐渐减小,并逐次比较P(j)与T,直到发现一个 P(j)<T为止,将P(j)移到P(i)的位置上。 (2)将i逐渐增大,并逐次比较P(i)与T,直到发现一个 P(i)>T为止,将P(i)移到P(j)的位置上。 上述两个操作交替进行,直到指针i与j指向同一个位置(即i=j)为止,此时将T移到P(i)的位置上。 输入:待排序的子表 (3)实验结果及分析

冒泡排序: 输出:有序序列 快速排序 输出:有序子表 (4)实验结论 冒泡排序最坏情况下的时间复杂度(工作量)为 (n(n-1)/2). 快速排序在最坏情况下需要(n(n-1)/2).次比较,但实际上排序效率要比冒泡排序高的多。 程序//代码: //bub.h template void bub(T p[],int n) { int m,k,j,i; T d; k=0;m=n-1; while(kp[i+1]) {d=p[i];p[i]=p[i+1];p[i+1]=d;m=i;} j=k+1;k=0; for(i=m;i>=j;i--) if(p[i-1]>p[i]) {d=p[i];p[i]=p[i-1];p[i-1]=d;k=i;} } return; } #include #include

人教版数学高一-算法案例 同步教学设计

1.3算法案例 第三、四课时 秦九韶算法与排序 (1)教学目标 (a )知识与技能 1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。 2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。 (b )过程与方法 模仿秦九韶计算方法,体会古人计算构思的巧妙。能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。 (c )情态与价值 通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。 (2)教学重难点 重点:1.秦九韶算法的特点 2.两种排序法的排序步骤及计算机程序设计 难点:1.秦九韶算法的先进性理解 2.排序法的计算机程序设计 (3)学法与教学用具 学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。 2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。 教学用具:电脑,计算器,图形计算器 (4)教学设想 (一)创设情景,揭示课题 我们已经学过了多项式的计算,下面我们计算一下多项式 1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。 根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。 我们把多项式变形为: 1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。 (二)研探新知 1.秦九韶计算多项式的方法

高中信息技术《冒泡排序算法》优质课教学设计、教案

高一冒泡排序教学设计 基本路线:数组-排序-冒泡排序【冒泡排序原理--流程图-算法优化】-小结 一、教材分析:本节内容选自浙江教育出版社《算法与程序设 计》第五章第三节。本节课主要讲解冒泡排序思想。排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。 教学目标 知识目标:掌握冒泡排序的原理;掌握冒泡排序的流程图; 能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用; 进一步学习流程框图的使用。 情感目标:增强分析问题、发现规律的能力,激发学习热情; 学情分析 通过前面的学习,学生已经了解vb 算法设计的基本知识,学会利 用自然语言和流程图描述解决问题的算法,对排序中循环语句以有了一

定的基础。但数组变量的使用方法尚未接触,程序设计思想比较弱,在实际生活中往往忽视运用排序算法来处理实际问题,这就要求学生通过本节课的学习,学会运用冒泡排序算法来处理实际问题,并为以后学习其它排序算法打下基础。 二、重点难点 重点:理解冒泡排序原理及它的流程图 难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解)以及用流程图描述冒泡排序的过程 三、教学策略与手段 采用讲解法、演示法、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点、突破难点。 四、课前准备 1.教师的教学准备:冒泡排序的课件、学案、素材 2.教学环境的设计与布置:多媒体网络教室、电子白板、多媒体教学平台等

五、教学过程 课前学习【设计意图】学Th能自己学会的不讲。排序数组知识点相对简单,由学生自学完成,之前的知识点学生可能会有所遗忘,通过这个方式让学生回顾。冒泡排序算法原理比较容易也由学生自学完成。 已给出的素材,完成学案关于数组、冒泡排序和循环结构的基本模式的相关部分的内容,。 请同学们学习学习网站上的课前学习,并完成学案的相关部分的内容。 上课! 对答案。 1、之前在巡视过程中拍到的学案内容传到电子白板。师:同学们,我们刚才完成了学案上的一部内容。来看一下同学们的成果。 我们给他掌声鼓励 2、排序的定义,请学生复述。师:如果从已排序的2 万个人中,查找一个人,用二分法查找,可以在15 步以内完成;如果把地球上的

对数据进行排序教学设计

《对数据进行排序》教学设计 惠州市第七中学戴翠萍 一.教材分析 本课使用的教材是广东省初级中学课本《信息技术》(2005年12月第一版)第一册(下)。学生对数据进行排序的应用事例最熟悉的莫过于学校里的成绩统计和排名了,所以,在学生的实践活动中,我采用让学生虚构本班5至10名同学的中、英、数三科考试成绩为数据源,以调动学生的学习积极性和提高学生的学习兴趣。教学演示则用课本里的“校园小歌手”初赛评分表,以保持授课数据的连贯性。 二.学生分析 本节课的教学对象是七年级的学生,在此之前他们已经学习了使用RANK函数自动排位的知识,所以对排序的含义不作过多的解释。抓住学习的要点快速地引入课题,尽量多给学生时间实践体验。 三.教学目标 1.知识和技能 ○1知道什么是排序、降序、升序; ○2学会对主要关键字进行排序; ○3学会用次要关键字、第三关键字进行较精细的排序; ○4提高学生应用Excel的能力。 2.过程和方法 通过实例的讲练—-任务探究和实践—-讨论交流—-总结提高学生自主学习、合作学习、解决问题的能力,培养学生乐于学习和探究学习的习惯。 3.情感态度和价值观 ○1培养学生主动运用信息技术解决实际问题的兴趣,做到学以致用; ○2培养学生的动手能力,激励学生积极思考勇于探究; ○3培养学生的团队合作精神。 四.教学重点难点 ○1重点:选准主要关键字进行排序和升序降序的选择 ○2难点:使用次要关键字和第三关键字对主要关键字的值相同的记录进行精细排位 五.教学手段 基于“以学生为学习主体”的任务驱动法、指导探究法以及学生的小组合作形式来组织教学。 六.课前准备 本节课在多媒体网络教室中进行,并在课前准备好相关素材。

C (++)内部排序汇总(快速排序&冒泡排序&堆排序&选择排序&插入排序&归并排序)

#include #include #include #include #define M 30001 random(int a[30001]) { int i; for(i=1;i<30001;i++) a[i]=rand()%30001; }//随机生成30000个数函数 int change1(char a[81]) { int b=0,n,i; for(i=0;a[i]!=0;i++); n=i-1; for(;i>1;i--) b+=((int)pow(10,n+1-i))*(a[i-1]-48); if(a[0]=='-') b=b*(-1); else b+=((int)pow(10,n))*(a[0]-48); return b; }//字符转化成整型 insort(int a[30001]) { int i,j,temp,temp1,n; int count=0; n=30001; for(i=1;i=0;j--)/* 每次循环完毕数组的0到i-1项为一个有序的序列*/ { count=0;/*这里count是标记位,可以减少比较次数*/ if(a[j]>temp) { temp1=a[j+1]; a[j+1]=a[j]; a[j]=temp1;

count++; }//满足条件,前移 if(count==0) break;//位置恰当,退出 } } }//insort插入排序函数 selsort(int a[30001]) { int i,j,temp; for(i=1;i<30000;i++) for(j=i+1;j<30001;j++) if(a[i]>a[j]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } }//选择排序 bubsort(int a[30001]) { int i,j,temp; for(i=1;i<30001;i++) for(j=30000;j>i;j--) { if(a[j-1]>a[j]) { temp=a[j-1]; a[j-1]=a[j]; a[j]=temp; } } }//冒泡排序 int partition(int a[30001],int low,int high)

冒泡排序教学设计

冒泡排序教学设计 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

3.2.2冒泡排序教学设计 一、教材分析 本节内容选自浙江教育出版社《算法与程序设计》第二章第三节和第五章第三节。以第二章内容为主,下节课让学生进行第五章编写程序及上机实践。 《课程标准》指出《算法与程序设计》模块教学主要目的是“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”冒泡排序的算法及程序实现就很好地较全面地体现了这点。 排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。 二、学情分析 通过前面的学习,同学们已经初步了解了算法设计的基本知识,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,画流程图还不太熟练,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的口味。 三、教学目标 知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码; 能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用; 情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯; 四、重点难点 重点:理解冒泡排序原理及它的流程图 难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解) 五、课前准备 教师的教学准备:冒泡排序的课件 2

比较冒泡排序和快速排序的时间性能

南华大学 计算机科学与技术学院实验报告 (2010 ~2011学年度第二学期) 课程名称算法设计与分析 实验名称比较冒泡排序 与快速排序的时间性能 姓名陈亮学号20094100104 专业数媒班级091 地点8-212 教师刘立

1.实验目的 比较冒泡排序与快速排序的时间性能。 2.实验内容 (1)利用随机数产生函数获取数据; (2)分别用两种不同的排序方法对数据进行排序; (3)用记时函数对两张排序算法分别进行记时; (4)用十组以上数据进行实验(10~10000)。 3.实验过程 #include #include #include #define MAX 2000 // 元素个数 #define NUM_MAX 100000 // 随机数的最大值+1 int Partition(int a[],int n,int low,int high)//快速寻找分界点{ int pivotkey,t; pivotkey=a[low]; while(low=pivotkey) high--; t=a[low]; a[low]=a[high]; a[high]=t; while(low

高中信息技术《用循环的思想解决问题—冒泡排序》优质课教学设计、教案

“用循环的思想解决问题—冒泡排序”教学设计【学习目标】 1熟练掌握for 循环嵌套 2理解冒泡排序的思想 3学会用程序实现排序算法 【重点】用循环嵌套的思想解决问题 【难点】冒泡排序的算法 壱、回顾上节课所学的循环案例 (1)、Sum=1!+2!+3!…+i!…+n! 3 用递归函数实现 For i=1 to n s=s+f(i) Next i

递归函数function 函数名(变量as 类型)as 类型Function f(n As Integer) As Integer If n = 0 Then f = 1 Else f = n * f(n - 1) End If End Function (2)打印字符图形

弐、循环思想在冒泡中的应用 6.8 89 16.8 72.8 120 1 7.2 63 9.8 1在这些数据中,先找出最大值 2在剩余的数中,在找出最大值 3重复2,一直到剩下一个数,即完成了排序 ——如何求n 个数最大值? a(1) a(2) a(3) a(4) ……a(n) 首先a(1) a(2)比较,最大值存放在a(2)中然 后a(2)a(3),比较,最大值放在a(3)中 以此类推,一直到a(n-1)和a(n)比较,最大值放在a(n)中推论:利用a(i)>a(i+1)为判断条件,当条件成立,两个数交换值,否则进行下一轮比较如下图所示:

课堂实践1 8 名学生分别代表a(1)……a(8),分别存储 6.8 89 16.8 72.8 120 1 7.2 63 9.8以其他学生为导演,展示两两相比,交换的过程,如图

研究第i 轮时: 总结冒泡排序的思路:

排列组合教学设计

数学广角——排列组合 绩溪县实验小学 吴晓秋 教学内容: 人教版数学三年级上册P112例1、例2。 教学分析: 排列与组合不仅是组合数学的最初步知识和学习概率统计的基 础,而且也是日常生活中应用比较广泛的数学知识。在二年级上册教 材中,学生已经接触了一点排列与组合知识,学生通过观察、猜测、 操作可以找出最简单的事物的排列数和组合数。本册教材就是在学生 已有知识和经验的基础上,继续让学生通过观察、猜测、实验等活动 找出事物的排列数和组合数。 教学目标: 1、学生通过观察、猜测、操作、合作交流等活动,找出简单事 物的排列数和组合数。 2、初步培养有序地全面地思考问题的能力,发展学生的符号感。 3、学生在丰富的生活情境中感受数学与生活的紧密联系,增强 对数学学习的兴趣和用数学的眼光观察生活的数学素养。 教学重点: 经历探索简单事物排列与组合规律的过程,能有序地找出简单事 物的排列数和组合数。 教学难点:培养学生有序地、全面地思考问题的能力。 教具、学具准备: 课件、数字卡片

教学过程: 一、激情引趣 想和我一起去数学广角吗?相信凭借你们的智慧,今天一定会玩的非常开心! 二、操作探究 1、破译密码——体会排列。 (1)初步体会 课件出示:请输入密码 密码提示:用1、2、3组成的三位数。 有多少种可能性? (2)深入探究 用手中的数字卡片摆一摆,共有几种可能?一人摆数字卡片,一人写在答题卡上。 学生活动,教师巡视。 实物投影仪展示不同写法。 (3)比较优化:你喜欢哪一种?为什么? (4)输入密码,开启数学广角 2、握手庆贺——体会组合 (1)实际感知 同桌互相握手庆贺合作愉快。 两个人握手几次?如果每两个人握一次手,三人一共要握手多少次呢?猜猜看? 现在四人一小组,请小组长作指挥,小组内的另外三个同学握一握,看看一共握手多少次? 学生活动,教师巡视。选择小组上台展示有序握手的方法。 (2)提炼符号 有没有好方法把这个结果简单而有条理地记录下来呢?用自己喜

快速排序是对冒泡排序的一种改进

快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序。一躺快速排序的算法是: 1)设置两个变量I、J,排序开始的时候I:=1,J:=N; 2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1]; 3)从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换; 4)从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换; 5)重复第3、4步,直到I=J; 在本题中,初始关键数据X=46; A[1] A[2] A[3] A[4] A[5] A[6] 46 79 56 38 40 80 进行第一次交换后(按算法第三步从后往前找小于46的) 40 79 56 38 46 80 进行第二次交换后(按算法第四不从前往后找大于46的) 40 46 56 38 79 80 进行第三次交换后(按算法第三步从后往前找小于46的,此时i=4) 40 38 56 46 79 80 进行第四次交换后(按算法第四不从前往后找大于46的) 40 38 46 56 79 80 此时发现j=4,这一趟的快速排序就结束了 46之前的一组数据[40,38]都小于46 46之后的一组数据[56,79,80]都大于46 根据这样的思想对[40 38]46[56 79 80]继续排序就可以得到有序的数组38 40 46 56 79 80

冒泡排序教学设计

高一冒泡排序教学设计 一、设计思想 算法与程序设计具有高度的抽象性和严密的逻辑性,教师难教、学生难学成为一个突出的现象。如何消除学生畏惧心理,充分调动学生的积极性,正是我设计该课的主要目标。程序设计的基本方法是自顶向下地逐步求精和模块化。自顶向下地逐步求精是指首先要对所设计的系统有一个全面的理解,其次从顶层开始连续地逐层向下分解,直到系统的所有模块都被分解为一条条的详细指令时为止。模块化是指把一个大的程序按照一定的原则划分为若干个相对独立但又相关的小程序(模块)的方法。依据这个基本方法,在教师的引导下,从简单到复杂,从粗到精,各个难点分解,最后师生共同完成总流程图的设计。在整个过程中,教师要积极引发学生的思考,让他们真正参与进来。 二、教材分析 本节内容选自浙江教育出版社《算法与程序设计》第二章第三节和第五章第三节。以第二章内容为主,下节课让学生进行第五章编写程序及上机实践。 《课程标准》指出《算法与程序设计》模块教学主要目的是“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”冒泡排序的算法及程序实现就很好地较全面地体现了这点。 排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。 三、学情分析 我是先上第一、三、四章,再上第二和第五章。通过前面三章的学习,同学们已经了解了算法设计的基本知识,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,画流程图还不太熟练,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的口味。 四、教学目标 知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码; 能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用; 情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯; 五、重点难点 重点:理解冒泡排序原理及它的流程图 难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解) 六、教学策略与手段 采用讲解法、演示法、讨论合作、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。 七、课前准备

对数据进行排序教学设计

对数据进行排序教学设计 银川市第八中学 杨艳红

对数据进行排序 教材分析:《对数据进行排序》是电子工业出版社出版的、宁夏教育厅编著的八年级(下)信息技术第5单元第一节第1课时的内容。本节课是学生学习了对工作表的编辑和在Excel 中进行数据计算的基础上引入的,是对前面知识的提升。教材中以“做一做”模块为主线,通过对“做一做”模块的处理,引导学生学习对数据进行排序的简单操作,“金钥匙”模块解释了为什么要使用空白行,“知识窗”模块介绍了使用多关键字排序,拓展了学生的知识面,“试试看”模块让学生通过动手实践,提高操作技能,更好的掌握对数据排序的方法。学情分析:学生前面已经学习了认识Excel、在Excel中进行编辑和在Excel中进行数据计算的内容,所以在学习这节课的内容时难度不是很大。但是学生利用信息技术解决实际问题的能力还不是很好,所以需要加强这方面的练习。 课时:1 教学目标: 知识与技能: 1、能理解排序的意义 2、能理解主要关键字、次要关键字的概念 3、能掌握在E xcel中对数据进行排序的方法 4、能够利用所学的内容解决实际问题 过程与方法: 1、搜集最近一次的期中考试成绩,提出需要帮班主任老师解决问题,提高学生的学习的积极性 2、通过任务驱动的方法,引导学生主动的完成学习任务,自己找出排序的方法 情感态度价值观: 1、培养学生利用信息技术解决实际问题的能力 2、培养并加强学生自主探究学习和相互协作解决问题的意识 教学重点、难点: 重点:1、排序的意义 2、对数据进行简单排序 3、对数据进行复杂排序 难点:根据需求选择合适的关键字对数据进行排序 教学方法 讲授法、情景教学法、演示法、任务驱动法 教学过程

冒 泡 排 序 详 细 解 析

js实现冒泡排序,快速排序,堆排序【解析时间空间复杂度】 文章目录冒泡排序(Bubble Sort)快速排序堆排序 冒泡排序(Bubble Sort) 时间复杂度 最好的情况:数组本身是顺序的,外层循环遍历一次就完成O(n) 最坏的情况:,O(n2)数组本身是逆序的,内外层遍历O(n2) 空间复杂度 开辟一个空间交换顺序O(1) 稳定,因为if判断不成立,就不会交换顺序,不会交换相同元素 冒泡排序它在所有排序算法中最简单。然而,从运行时间的角度来看,冒泡排序是最差的一个,它的复杂度是O(n2)。 冒泡排序比较任何两个相邻的项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。 交换时,我们用一个中间值来存储某一交换项的值。其他排序法也会用到这个方法,因此我们声明一个方法放置这段交换代码以便重用。使用ES6(ECMAScript 2015)**增强的对象属性——对象数组的解构赋值语法,**这个函数可以写成下面这样: [array[index1], array[index2]] = [array[index2], array[index1]]; 具体实现:

function bubbleSort(arr) { for (let i = 0; i arr.length; i++) {--外循环(行{2})会从数组的第一位迭代至最后一位,它控制了在数组中经过多少轮排序 for (let j = 0; j arr.length - i; j++) {--内循环将从第一位迭代至length - i位,因为后i位已经是排好序的,不用重新迭代 if (arr[j] arr[j + 1]) {--如果前一位大于后一位 [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];--交换位置 return arr; 快速排序 时间复杂度 最好的情况:每一次base值都刚好平分整个数组,O(nlogn) 最坏的情况:每一次base值都是数组中的最大-最小值,O(n2) 空间复杂度 快速排序是递归的,需要借助栈来保存每一层递归的调用信息,所以空间复杂度和递归树的深度一致 最好的情况:每一次base值都刚好平分整个数组,递归树的深度O(logn) 最坏的情况:每一次base值都是数组中的最大-最小值,递归树的深度O(n) 快速排序是不稳定的,因为可能会交换相同的关键字。 快速排序是递归的, 特殊情况:leftright,直接退出。

冒泡排序教学设计

3.2.2冒泡排序教学设计 一、教材分析 本节内容选自浙江教育出版社《算法与程序设计》第二章第三节和第五章第三节。以第二章内容为主,下节课让学生进行第五章编写程序及上机实践。 《课程标准》指出《算法与程序设计》模块教学主要目的是“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”冒泡排序的算法及程序实现就很好地较全面地体现了这点。 排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。 二、学情分析 通过前面的学习,同学们已经初步了解了算法设计的基本知识,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,画流程图还不太熟练,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的口味。 三、教学目标 知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码; 能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用; 情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯; 四、重点难点 重点:理解冒泡排序原理及它的流程图 难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解) 五、课前准备 教师的教学准备:冒泡排序的课件

1.2.1排列教学设计

1.2.1排列 教学目标: 1、知识与技能:了解排列数的意义,掌握排列数公式及推导方法,从中体会“化归” 的数学思想,并能运用排列数公式进行计算。 2、过程与方法:能运用所学的排列知识,正确地解决的实际问题 3、情感、态度与价值观:能运用所学的排列知识,正确地解决的实际问题. 教学重点:排列数公式的理解与运用;排列应用题常用的方法有直接法,间接法 教学难点:排列数公式的推导 授课类型:新授课 课时安排:1课时 教 具:多媒体 教材分析: 分类计数原理和分步计数原理既是推导排列数公式、组合数公式的基础,也是解决排列、组合问题的主要依据,并且还常需要直接运用它们去解决问题,这两个原理贯穿排列、组合学习过程的始终.搞好排列、组合问题的教学从这两个原理入手带有根本性. 排列与组合都是研究从一些不同元素中任取元素,或排成一排或并成一组,并求有多少种不同方法的问题.排列与组合的区别在于问题是否与顺序有关.与顺序有关的是排列问题,与顺序无关是组合问题,顺序对排列、组合问题的求解特别重要.排列与组合的区别,从定义上来说是简单的,但在具体求解过程中学生往往感到困惑,分不清到底与顺序有无关系. 教法选择:探究式与讲授式结合 学情分析: 对于高二的学生,知识经验已较为丰富,他们已具备了一定的抽象思维能力和演绎推理能力,所以在授课时注重引导、启发、研究和探讨,从而促进思维能力的进一步发展。针对高中生思维特点和心里特征,本节课我采用启发式、探究式、讲授式相结合的教学方式。 教学过程: 一、复习引入: 1分类加法计数原理:做一件事情,完成它可以有n 类办法,在第一类办法中有1m 种不同的方法,在第二类办法中有2m 种不同的方法,……,在第n 类办法中有n m 种不同的方法那么完成这件事共有种不同的方法2.分步乘法计数原理:做一件事情,完成它需要分成n 个步骤,做第一步有1m 种不同的方法,做第二步有2m 种不同的方法,……,做第n 步有n m 种不同的方法,那么 种不同的方法 二、讲解新课: 问题1.从甲、乙、丙3名同学中选取2名同学参加某一天的一项活动,其中一名

冒泡排序的教学设计

VB 程序设计之十大算法-------“冒泡排序”教学设计 姓名:李芳 邮箱:czzflf@https://www.wendangku.net/doc/646448294.html,

【教材分析】 本节课取之《中职计算机专业高级教程》,因本书中涉及到排序类的题型不多,而且知识点比较单一,例题没有很好的与控件结合起来,因此在课堂中将引入形式各样的题型,让学生通过读题、分步解题来掌握知识点,得出一类题型的解题规律,提高课堂教学的有效性。 【学情分析】 本课教学对象是高三计算机专业班级,班级由18名同学组成,其中有一名同学是本学期刚从实习转回高复。他们在高二VB教学中就突显出拿到编程题无从下手的窘况,缺乏分析问题的能力,由于英语底子薄,在编写代码方面有时即使知道该如何书写,但也总因为单词写错而影响整个得分。 【考纲分析】 对于这一算法,在考纲中只有这样一句话:“掌握冒泡排序法的编程方法”。但是对于这个知识点是高考中操作设计大分题,因此必须让学生引起高度的重视。例如在2012年的高考中,最后一题设计题16分就是关于排序题。 【教学目标】 知识与技能 1.通过简单排序题,得出读题的方法和解题“三步走”块化的概念。 2.能够将长代码进行分块化编写,从而解决复杂题型。 过程与方法 1.读题时学会抓住其中的关键字,知道解题思路 2.边讲边练的教学法,帮助学生自主学习 情感与态度 1.以简单易懂题入手,激发学生学习的热情,树立信心 2.培养学生处理复杂问题的耐心 【教学重点】 1.清楚冒泡排序的固定代码 2.对编程类题型形成“输入、处理、输出”三步走的概念 3.养成高考解题的规范性。 【教学难点】 1.能够学会捕捉题中的关键字 2.能够书写冒泡与控件相结合题的代码 【教学方法】 分析法、举例法 【教学过程】

冒泡排序,插入排序,快速排序java实现和效率比较

冒泡排序,插入排序,快速排序java实现和效率比较 从测试结果看,冒泡算法明显不是一般的慢,10万数组的时候冒泡要4秒多,所以就百万就没用冒泡继续测试。 插入排序在结果中看来是最优的,为了方便比较,插入排序分别用了数组和list 综合结果: list插入排序> 数组插入排序> 快速排序> > 冒泡排序 输出结果: ******万级测试****** 快速排序耗时: 5 list插入排序耗时: 1 数组插入排序耗时: 1 冒泡排序耗时: 372 ******百万测试****** 快速排序耗时: 118

list插入排序耗时: 1 数组插入排序耗时: 12 [java] view plaincopyprint? 1. import java.util.ArrayList; 2. import java.util.List; 3. import java.util.Random; 4. 5. 6. public class SortPractice { 7. 8. public static void main(String[] args){ 9. System.out.println("******正确性测试******"); 10. Random random = new Random(); 11. SortPractice sp = new SortPractice (); 12. int[] nums = new int[10]; 13. //生成随机整数数组 14. for(int i = 0;i

浙教版高一冒泡排序教学设计

浙教版高一冒泡排序教学设计 浙江省象山中学章婷红 315700 zthdd@https://www.wendangku.net/doc/646448294.html, 一、设计思想 算法与程序设计具有高度的抽象性和严密的逻辑性,教师难教、学生难学成为一个突出的现象。如何消除学生畏惧心理,充分调动学生的积极性,正是我设计该课的主要目标。程序设计的基本方法是自顶向下地逐步求精和模块化。自顶向下地逐步求精是指首先要对所设计的系统有一个全面的理解,其次从顶层开始连续地逐层向下分解,直到系统的所有模块都被分解为一条条的详细指令时为止。模块化是指把一个大的程序按照一定的原则划分为若干个相对独立但又相关的小程序(模块)的方法。依据这个基本方法,在教师的引导下,从简单到复杂,从粗到精,各个难点分解,最后师生共同完成总流程图的设计。在整个过程中,教师要积极引发学生的思考,让他们真正参与进来。 二、教材分析 本节内容选自浙江教育出版社《算法与程序设计》第二章第三节和第五章第三节。以第二章内容为主,下节课让学生进行第五章编写程序及上机实践。 《课程标准》指出《算法与程序设计》模块教学主要目的是“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”冒泡排序的算法及程序实现就很好地较全面地体现了这点。 排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。 三、学情分析 我是先上第一、三、四章,再上第二和第五章。通过前面三章的学习,同学们已经了解了算法设计的基本知识,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,画流程图还不太熟练,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的口味。 四、教学目标 知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码; 能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用; 情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯; 五、重点难点 重点:理解冒泡排序原理及它的流程图

结合生活经验_注重算法的实际应用_冒泡排序_教学设计点评_谢作如

29 中国信息技术教育 2011/11 《冒泡排序》一课,在算法和生活的联系方面有了一定的突破,值得我们学习和借鉴。 ● 算法挖据,从玩转扑克牌开始“教育即生活。”陶行知先生如是说。生活是教学的出发点和起点,信息技术教学需要结合学生的生活、学习实际,要以学生的现实生活为源泉。教师在组织教学时,要根据学生的实际生活“活用”教材,用学生的真实生活丰富、充实教学内容。因此,在进行“算法及程序设计的实际应用”教学时,要注意关注学生已有的实际生活经验,教学所选取的素材要以学生的生活经验为起点,瞄准算法与学生生活经验的最佳结合点,并架起桥梁,在课堂上创设有利于学生全面发展的活动,引入生活之水,促进学生对算法的理解。 在这节课的教学中,教师采用了游戏法、演示法、分析归纳法等,用身边熟悉的扑克牌例子出发,引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,从易到难,一环扣一环地进行深入学习,有效地突出重点并突破了难点。我们来看教师的具体做法。 环节一,课前教师先给每组(机房共8组,每组5人)随机分5张扑克牌,要求每人手里持一张牌。并提出要求:这节课 的任务就是把小组同学手中的牌按从小到大的顺序在自己的组里进行排序。 环节二,每组同学根据手里的牌,从小到大进行排序(即小的牌在前面,大的牌在后面)。思考如何把一组扑克牌数字进行排序,归纳方法。 环节三,学生亲身实践手中的扑克牌并观看冒泡排序动画演示。 环节四,亲身实践,从小到大排序手中扑克牌(给学生足够的时间)。 在一节课中,教师大胆地把时间交给学生,让学生在玩扑克牌的过程中体会计算机排序的算法,这无疑比让学生观看N次的课件和教师不厌其烦地讲解冒泡排序过程的效果要好得多。我听过多节《冒泡排序》的公开课,也见过有教师将不同高度的学生请到讲台前演示冒泡的做法,看上去有趣而直观,其实容易造成课堂纪律混乱,难以控制。相比之下,使用扑克牌的教学效果要更好些。 ● 算法分析,善于使用生活化的类比 算法与程序设计模块是培养学生思维能力的一门课程,在教学中强调了理论与实践的结合,需要学生具有一定的数学知识和逻辑思维判断能力。类比法是将抽象、难以理解、看不见摸不着的知识和具体、容易接受、有形 冒泡排序是一种经典的排序算法,在浙江教育出版社出版的《算法与程序设计》教材中,冒泡排序算法是教学重点,也是难点。相对于Excel、FrontPage、QQ之类的软件,算法在学生眼里是抽象而高深的,因此,缺乏学习的热情。而浙教版的教材特别强调算法在解决问题过程中的关键地位,如果不对教材内容进行认真处理,很容易导致学生对算法失去兴趣,甚至反感。那么,如何让学生认识到算法是信息技术处理信息的核心内容?如何使学生更好、更深入地理解算法、学习算法?如何让学生体验到应用算法解决实际问题的成功和快乐?这些都是教师在教学算法与程序设计模块时需要认真思考的问题,也是需要探索的方向。 《普通高中信息技术课程标准》对算法与程序设计模块教学提出了要求:“要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序解决实际问题。”在实际教学中,教师应该从学生的实际生活经验出发,在学习过程中不断培养学生获取、分析、应用信息的能力,促进学生运用编程知识解决生活问题能力的提高,使学生真正从工具的桎梏中走出来,走进算法与程序设计这个充满魅力的世界。吴晓海老师设计的 结合生活经验,注重算法的实际应用 ——《冒泡排序》教学设计点评 谢作如 浙江省温州中学

《Excel数据的排序》教学设计

《电子表格Excel——数据的排序》教学设计 【教学目标】 知识与技能:在学习电子表格基本操作的基础上探究学习数据的排序方法,体验运用电脑解决数据的优越性。 过程与方法:在探究、演练过程体验用过程体会用Excel进行数据排序的快捷与方便。 情感态度与价值观:培养学生以科学、严谨的态度来解决问题。 【学情分析】 学生有一定的电脑基础,掌握了电子表格操作基础知识。 【教学要点】 重点:电子表格中数据的排序 难点:数据的选定及关键字的设定 【教学安排】一课时 【教学环境】 硬件:多媒体网络微机室 软件:Windows操作系统,Excel软件等 【教学过程】 教学环节老师活动学生活动 活动一: 复习回顾 1、组织学生解答学案上知识回顾练习题1-3题;学生答题 2、组织学生上机操作知识回顾练习题第4题;学生上机操作 活动二导入新课如果我是班主任,我会根据总分进行排序,以便对 全班同学的成绩有一个全面的了解;如果我是语文 老师,我会根据语文成绩进行排序,以掌握全班同 学的情况。 那么,排序该如何操作呢?它给我们带来哪些好处 呢?下面我们来进行一个比赛,通过比赛同学们体 会一下Excel排序功能给我们带来的方便与快捷。 游戏:比一比谁最快? 请同学们将第4题中,总分前十名给我说出来(教 师计时),然后教师用Excel排序功能完成此游戏 (学生计时),谁快谁慢,大家一目了然。 请同学们说说排序的优点?(对数据进行排序有助 于快速直观地显示数据并更好地理解数据,有助于 组织并查找所需数据,有助于最终做出更有效的决 策。) 这节课我们就来学习数据的排序! 师生互动,共同游戏,引导学生理解 排序带来的方便与快捷

幼儿园数学排序教案

xx数学排序教案 这个活动《按规律排序》,目的在于训练幼儿灵活运用所学知识解决问题,整个活动以收到邀请卡参加音乐会贯穿主线。下面是幼儿园数学排序教案,欢迎阅读。 xx数学排序教案活动目标: 1、引导幼儿学习排序,让幼儿在探索活动中,尝试和发现例外的排序方法。 2、发展幼儿的发散性思维,培养幼儿的探索精神。 活动准备: 排序材料: 积木、动物小人、雪花片课件(有关排序图案的衣服、杯子、帽子、项链、毛巾、水果等等) 活动过程: 一、引导幼儿观察活动 提问:1、活动室和原来有什么例外(板凳是两种颜色的)2、再看看我们今天排的队伍和原来排队一样吗?哪里不一样?(排的是一队,一个男孩一个女孩) 3、手指游戏:《合拢放开》 今天,张老师要和大家一起学习《排序》,什么是排序呢?(把物体按照一定的规律排排队。就像刚才小朋友的队伍,小板凳的队伍还有手指游戏中的合拢放开、小手指爬这些都是排序)排序有好多种方法,看看他们是怎样排的。二、引导幼儿发现例外的排序方法 A、根据课件,引导幼儿发现例外的排序方法。 B、提供材料,引导幼儿一起尝试排序。

C、观察图片,说出解决方法。(排序的方法可真多,我们可以按物品的大小、形状、颜色、数量、长短、种类等特征来排队。下面我们看看这些排序,有问题吗?) D、欣赏了解更多种排序方法,巩固对排序的认识。 三、结束部分 今天,我们一起学习了许多种排序的规律,刚才图片里小朋友操作的材料老师也带来了,小朋友想试一试吗? 四、课后延伸活动 1、操作活动,为幼儿提供多种排序材料供幼儿练习; 2、手工活动《美丽的项链》(用手工纸条粘合、串联的方法) xx数学排序教案活动目标: 1、喜欢发现生活中有规律的事物,感受规律的存在和美感 2、尝试通过自己的排序活动,体验操作的欢乐。 活动准备:项链一串、有规律的事物、幼儿在排序方面的生活经验以及开放性的材料 活动过程: 一、感受规律的存在,发现生活中的规律。教师出时传好的项链,进行提问: 1、幽美吗?为什么? 2、在项链上你还发现了什么? 3、它是按照什么规律串起来的? 4、如果你来串,你会怎样做?

相关文档
相关文档 最新文档