c语言《排序算法》教育教学设计

上传人:千****8 文档编号:115389458 上传时间:2019-11-13 格式:DOC 页数:11 大小:305KB
返回 下载 相关 举报
c语言《排序算法》教育教学设计_第1页
第1页 / 共11页
c语言《排序算法》教育教学设计_第2页
第2页 / 共11页
c语言《排序算法》教育教学设计_第3页
第3页 / 共11页
c语言《排序算法》教育教学设计_第4页
第4页 / 共11页
c语言《排序算法》教育教学设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《c语言《排序算法》教育教学设计》由会员分享,可在线阅读,更多相关《c语言《排序算法》教育教学设计(11页珍藏版)》请在金锄头文库上搜索。

1、C语言排序算法教学设计 作者: 日期:2 个人收集整理,勿做商业用途江苏省职业学校专业技能课程“优秀教学设计”评比教 案参评组别 信息技术类 参评科目 C语言 教案主题 排序算法 填 报 日 期 2014年05月28日 镇江分院 欧阳丽娜 C语言排序算法教案(2课时) 一、教材分析C语言教程是计算机专业的专业必修课,也是计算机专业中一门理论性和逻辑性很强的课程。由于C语言要求表达整密且与其他计算机语言相比更加抽象,所以在所有计算机专业课程中被公认为“最难学的一种计算机语言”本节内容选自普通高等教育“十一五”国家级规划教材,21世纪高职高专系列规划教材中的C语言教程。课程的总体目标是通过C语言的

2、学习,培养学生综合运用知识分析、分解问题,并用合适的算法语言表达、处理问题的能力,学会一种严密的思维方式和表达方式,领会程序设计的精髓,从而培养较强逻辑思维、变通思维和创新思维能力。通过团队合作、交流等方法,使综合素质得到提升。从而达到专业学习的基本要求和人才培养目标。排序算法是教材中第7章数组中的内容。因为数组是C语言中重要的数据类型,通过数组可以使排序问题的表达过程大大简化,所以掌握几种常用又容易理解的排序算法还是很必要的。本节通过对冒泡排序和选择排序两种算法的讨论、分析和理解,在更加熟悉数组表达方式的基础上,对算法的进一步了解,有助于培养学生的逻辑思维和变通思维能力。二、学情分析教学对象

3、为五年制高职计算机软件专业二年级学生,他们具有一定的计算机操作能力,但是在程序设计方面是零基础,并且他们的数学理论基础比较薄弱。同时,他们正处于17,18岁的年纪,思维活跃、意识超前,具有极强的好奇心与求知欲。但由于学生的抽象思维和自主学习能力较薄弱,又厌烦枯燥的文字说教,在教学过程中要尽量使用简单直观的演示和表演方式, 使枯燥乏味的理论知识能够生动起来,从而突破零起点、高台阶的瓶颈。在完成本节的学习后,学生可以具有一定的结合数组和算法处理数据的能力。三、教学目标: 1、学会冒泡排序和选择排序的思维方法。2、能够熟练应用冒泡排序算法进行排序运算,在讨论的基础上学会使用选择排序算法解决同样的问题

4、。 3、在理解程序设计基本方法的基础上,拓展其在现实中的作用。4、通过程序设计和表演互动的过程,激发学生在预测的基础上追求结果的的成就感。四、教学重、难点项 目内 容解 决 措 施教学重点冒泡排序的基本原理通过表演设疑,展示结果,分析程序结构,探究动作与程序关系,结合动画演示使抽象的原理变得具体形象以帮助学生掌握学习内容 。教学难点五、教法、学法教法设计:情境导入法、对比教学法、讨论式教学法、分层教学法学法指导:合作探究、自主学习、实践操作 六、教学准备1、教学环境:多媒体网络机房。2、教学准备:调试机房,制作课件,制作演示动画,程序调试,指导学生演练。3、学生分组:按照一贯的分组方式,组内预

5、习本节内容。 七、教学过程教学环节主要教学活动及过程教师活动学生活动设计意图(一)情景导入5分钟排序规则:6名学生从左至右相邻两个学生比较手中牌的大小,如果前一个学生的牌比后一个学生的大,则两人交换位置,直至不需要再移动,排好所有牌。排序表演:将 6张扑克牌随机发给6名学生,他们先向台下的学生展示一下自己手中的牌,然后转过来背对学生。接到开始信号后,按规则排序。排好后,再次面向全体学生,此时,学生手中的牌从左至右已按升序排好。思考: 如何用程序表达排序过程?本节课任务:编写程序完成排序过程。宣布表演规则。设疑。参与表演的学生快速比较、移动,完成表演过程。其他学生观察并思考会产生什么结果。激发学

6、生兴趣与求知欲,在学生疑问中导入本节教学内容。(二)新知新授15分钟交待:表演所遵循的排序规则,就是排序算法中冒泡排序的过程。通过讨论,分解冒泡排序过程。1、如何存储6个数;int a6=7,10,6,5,9,8;创建一个数组用于存放六个操作数。2、如何实现两个数互换;t=ai;ai=ai+1;ai+1=t;i代表数组元素位置;t是两数交换所借助的第三变量。3、如何表达比较的趟数和每趟比较的次数? 在每趟比较中,还会进行N次两数的比较,可以使用循环嵌套的方法。外循环代表比较趟数,内循环表示每趟比较的次数。 首先确定外循环次数,通过观察刚才学生表演过程可知在整个过程中进行了5趟排序,即外循环为5

7、次。 然后确定内循环次数,仍然通过观察表演过程可知:第1趟比较,两两比较,4次;第2趟比较,两两比较,3次; 第3趟比较,两两比较,2次;第4趟比较,两两比较,1次;第5趟比较,两两比较,0次。因此,内循环次数随外循环次数增多而减少,整理成代码为:for(j=0;j5;j+) for(i=0;i5-j;i+) 4.整理完整代码#include main() int a6=7,10,6,5,9,8; int i,j,t; for(j=0;j5;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; printf( sorted numbers:n); for(i=0;i6

8、;i+) printf(%d ,ai);与学生讨论,分析冒泡排序过程,将其分解为三个主要步骤,给出三个步骤解决方法。给出完整程序代码。学生与教师共同讨论,分析排序过程。 学生调试代码并运行。通过观察得出结果。熟悉冒泡排序过程。同时锻炼学生归纳总结能力。让学生体会代码运行的过程及结果。(三)认 知提 升15分 钟1. 设置疑问递进思考(1)位置a.每次比较的两数位置上有什么关系?(2)变化b.每趟排序后数列发生什么变化?(3)关系c.内外循环的次数有什么关系?2.分层教学动画助学观察动画演示冒泡排序对数列进行升序排序的过程3.要点总结拎清特点(1)6个数进行5趟加工,n个数要进行n-1趟加工(2

9、)每一趟比较次数越来越少(3)n个数第j趟加工时,比较次数是(n-1)-14.填流程图理清思路5.探究实质深入挖掘(1)内循环次数不断变少的原因?(2)为什么内循环结束条件变化,开始条件不变?(3)你能为冒泡法起个新名字吗?并说明起这个名字的理由。6.程序动作预测结果截取程序片段,学生演示该片段所对应动作,预测这段代码会产生怎样效果。冒泡排序中是相邻两数比较,如果比较的不是相邻两数,排序过程会怎样呢?给出思考问题,并利用电子教室将演示动画发送给每个学生。 教师对原理特点进行总结。给出冒泡排序流程图,让学生补充完整。提出深入问题。在此过程中,巡查学生讨论情况,捕捉学生中存在的共性问题及时解决。选

10、择代码片段。给出新规则,在学生指导下完成排序过程。学生在观察动画演示同时讨论老师给出的思考问题。学生对比自己总结的答案。 学生组内合作讨论,完成流程图填空。组内讨论教师提出的问题学生演示动作。 讨论,指导教师完成排序过程。由结果的表象进一步向原理探索。动画演示使抽象过程变得生动形象,有助于学生理解。帮助学生拎清程序结构,为整合代码做准备。深度探究原理细节。用程序指导动作。 拓展学生发散思维的能力。(四)发 散思 维 15分 钟同样6个数,同样按升序排列,不同排序规则,中间会发生什么样的变化?1、 新排序规则(选择排序): 比较完所有的数,将最小的数与第一个数调换位置,直到所有数排完。学生按照新

11、规则指导教师进行操作,完成6个数的排序过程2、 用动画分析原理过程动画演示选择排序对这6个数整个排序过程。3、 讨论分析进行几趟排序,每趟排序中的比较次数 5趟排序完成整个过程,每趟比较次数递减。每趟排序后数列有什么变化 每趟排序后都有一个数的位置确定下来。每次比较的两数位置的关系 两数位置没有固定关系。4、总结过程从n个数中选出最小数,然后将最小数与第一个数交换位置;除第一个数外,其余n-1个数再按步骤1的方法选出次小的数,与第2个数交换位置;重复步骤1(n-1)遍,最后形成递增数列5、 编写关键语句1如何存储6个同数;参考答案:int a6=7,10,6,5,9,8; 2如何确定最小值并与“第一个”数交换;参考答案:if (aminaj) min=j;(确定最小值位置) temp=ai; ai=amin; amin=temp; 3如何表达比较的趟数和每趟比较的次数?参考答案:for (i=0;i=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号