c语言排序算法教案,C语言《排序算法》教学设计.doc

PAGE

PAGE 1

ADDIN CNKISM.UserStyle江苏省职业学校专业技能课程

“优秀教学设计”评比

教 案

参评组别

信息技术类

参评科目

C语言

教案主题

《排序算法》

填 报 日 期

2014年05月28日

镇江分院 欧阳丽娜

《C语言——排序算法》教案(2课时)

一、教材分析

《C语言教程》是计算机专业的专业必修课,也是计算机专业中一门理论性和逻辑性很强的课程。由于C语言要求表达整密且与其他计算机语言相比更加抽象,所以在所有计算机专业课程中被公认为“最难学的一种计算机语言”

本节内容选自普通高等教育“十一五”国家级规划教材,21世纪高职高专系列规划教材中的《C语言教程》。课程的总体目标是通过C语言的学习,培养学生综合运用知识分析、分解问题,并用合适的算法语言表达、处理问题的能力,学会一种严密的思维方式和表达方式,领会程序设计的精髓,从而培养较强逻辑思维、变通思维和创新思维能力。通过团队合作、交流等方法,使综合素质得到提升。从而达到专业学习的基本要求和人才培养目标。

《排序算法》是教材中第7章《数组》中的内容。因为数组是C语言中重要的数据类型,通过数组可以使排序问题的表达过程大大简化,所以掌握几种常用又容易理解的排序算法还是很必要的。本节通过对冒泡排序和选择排序两种算法的讨论、分析和理解,在更加熟悉数组表达方式的基础上,对算法的进一步了解,有助于培养学生的逻辑思维和变通思维能力。

二、学情分析

教学对象为五年制高职计算机软件专业二年级学生,他们具有一定的计算机操作能力,但是在程序设计方面是零基础,并且他们的数学理论基础比较薄弱。同时,他们正处于17,18岁的年纪,思维活跃、意识超前,具有极强的好奇心与求知欲。但由于学生的抽象思维和自主学习能力较薄弱,又厌烦枯燥的文字说教,在教学过程中要尽量使用简单直观的演示和表演方式, 使枯燥乏味的理论知识能够生动起来,从而突破零起点、高台阶的瓶颈。

在完成本节的学习后,学生可以具有一定的结合数组和算法处理数据的能力。

三、教学目标:

1、学会冒泡排序和选择排序的思维方法。

2、能够熟练应用冒泡排序算法进行排序运算,在讨论的基础上学会使用选择排序算法解决同样的问题。

3、在理解程序设计基本方法的基础上,拓展其在现实中的作用。

4、通过程序设计和表演互动的过程,激发学生在预测的基础上追求结果的的成就感。

四、教学重、难点

项 目

内 容

解 决 措 施

教学重点

冒泡排序的基本原理

通过表演设疑,展示结果,分析程序结构,探究动作与程序关系,结合动画演示使抽象的原理变得具体形象以帮助学生掌握学习内容 。

教学难点

五、教法、学法

教法设计:情境导入法、对比教学法、讨论式教学法、分层教学法

学法指导:合作探究、自主学习、实践操作

六、教学准备

1、教学环境:多媒体网络机房。

2、教学准备:调试机房,制作课件,制作演示动画,程序调试,指导学生演练。

3、学生分组:按照一贯的分组方式,组内预习本节内容。

七、教学过程

教学

环节

主要教学活动及过程

教师活动

学生活动

设计意图

(一)

情景

导入

5分钟

排序规则:

6名学生从左至右相邻两个学生比较手中牌的大小,如果前一个学生的牌比后一个学生的大,则两人交换位置,直至不需要再移动,排好所有牌。

排序表演:

将 6张扑克牌随机发给6名学生,他们先向台下的学生展示一下自己手中的牌,然后转过来背对学生。接到开始信号后,按规则排序。排好后,再次面向全体学生,此时,学生手中的牌从左至右已按升序排好。

思考: 如何用程序表达排序过程?

本节课任务:编写程序完成排序过程。

宣布表演规则。

设疑。

参与表演的学生快速比较、移动,完成表演过程。其他学生观察并思考会产生什么结果。

激发学生兴趣与求知欲,在学生疑问中导入本节教学内容。

(二)

新知

新授

15

分钟

交待:表演所遵循的排序规则,就是排序算法中冒泡排序的过程。

通过讨论,分解冒泡排序过程。

1、如何存储6个数;

int a[6]={7,10,6,5,9,8};

创建一个数组用于存放六个操作数。

2、如何实现两个数互换;

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

i代表数组元素位置;t是两数交换所借助的第

三变量。

3、如何表达比较的趟数和每趟比较的次数?

在每趟比较中,还会进行N次两数的比较,可以使用循环嵌套的方法。外循环代表比较趟数,内循环表示每趟比较的次数。

首先确定外循环次数,通过观察刚才学生表演过程可知在整个过程中进行了5趟排序,即外循环为5次。

然后确定内循环次数,仍然通过观察表演过程可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机程序设计C语言教案 " "计算机 "总学时 " " "程序设计 " " " " " " " " " " " " " " "简要回 "讲解实验四 "通过讲解实 " "顾 "复习printf和scanf函数,getchar()和putchar函数的用"验四回顾顺 " " "法 "序结构程序 " " " "设计方法 " "阐述主 "关系运算符和关系表达式 "强调重点和 " "题 "逻辑运算符和逻辑表达式 "难点 " " "条件运算符 " " " "if语句(重点、难点) " " " "switch语句(重点、难点) " " "关系运 "关系运算实际上是比较运算,两个值进行比较,判断比较 "强调关系运 " "算符和 "的结果是否符合给定的条件,如果符合比较的结果为真, "算符中等于 " "关系表 "否则结果为假。 "用==表示, " "达式 "用关系运算符将两个表达式(可以是算术表达式、关系表"注意与=的区" " "达式、逻辑表达式、赋值表达式、字符表达式)连接起 "别 " " "来的式子叫关系表达式。 " " " "关系运算符与其它运算符的优先次序。 " " " "C语言提供六种关系运算符: " " " " < 小于 " " " " <= 小于等于 " " " " > 大于 " " " " >= 大于等于 " " " " == 等于 " " " " != 不等于 " " "逻辑运 "用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑 "强调在逻辑 " "算符和 "表达式。 "表达式的求 " "逻辑表 "逻辑运算符与其它运算符的优先次序。 "解中,并不是" "达式 "逻辑表达式的值应该是一个逻辑量"真"或"假",以数值"1"所有的逻辑 " " ""或"0"表示.而在判断一个量是否为"真"时,以"0"代表假"运算都被执 " " ",以非"0"代表真。 "行。 " " "在逻辑表达式的求解中,并不是所有的逻辑运算都被执行" " " "。 " " " "&&逻辑与 " " " "" "逻辑或 " " " "!逻辑非 " " "实例分 "例:满足下列一个条件即为闰年: 能被4整除,不能被100"通过课堂提 " "析 "整除 能被4整除,又能被400整除. "问,引导学 " " "(year%4= =0&&year%100!=0) " " year%400= =0 "生参与思考 " " "!((year%4= =0&&year%100!=0) " "year%400= =0) " " " "(year%4!=0) " "(year%100= =0&&year%400!=0) " " "条件运 "格式:表达式1?表达式2:表达式3 "强调条件运 " "算符 "条件运算符要求有三个操作对象,称三目运算符,它是c"算符要求有 " " "语言中唯一的三目运算符。 "三个操作对 " " "条件表达式 max= (a>b)? a:b 相当于 "象,是三目 " " "if (a>b) max=a; else max=b; "运算符 " " "说明: " " " "条件运算符的执行顺序 " " " "条件运算符的优先级别,仅高于赋值运算 " " " "条件运算符的结合方向为右结合性 " " " "条件表达式不能取代if语句 " " " "条件表达式中的表达式类型可以不同 " " "实例分 "例:编程,输入一个字符,若是大写就转换成小写;若 "通过例题体 " "析 "不是就不转换,输出字符。main(){char "会条件运算 " " "a;scanf("%c",&a);if (a>='A'&&a<='Z') "符的使用 " " "a=a+32;printf("%c",a);} " " " "//a=(a>='A'&&a<='Z')?a+32:a; " " " "} " " "if "if语句是用来判定是否满足所给定条件,根据判定结果( "分析if语句 " "语句( "真或假)决定执行给出的两种操作之一。 "的三种形式 " "重点、 "if语句的三种形式: " " "难点) " if (表达式) 语句 " " " " if (表达式) 语句1 else 语句2 " " " " if (表达式1) 语句1 " " " "else if (表达式2) 语句2 " " " "else if (表达式3) 语句3 " " " "...... " " " "else if (表达式n) 语句n " " " "else 语句n+1 " " "if语句 "在if语句的内部使用if语句,例如: "if语句的嵌 " "的嵌套 "if ( )if ( ) 语句1else if ( ) 语句2else 语句3 "套,注意与i" " " "f语句的三种" " " "形式的区别
1.电子教案中文件说明 一共15个文件: (1)电子教案的结构与使用说明.doc; (2)封面与目录.ppt:启动文件; (3)第01章.ppt~第12章.ppt共12个文件:分别对应第1~第12章; (4)案例源程序.zip:由“案例源程序01.zip”~“案例源程序13.zip”共13个文件组成,分别对应13章所有案例的源程序。 2.电子教案的结构 封面与目录.ppt → 章目录 [ → 节目录(由小节节名组成)]→ 正文。 各层关系均通过超链接来实现: (1)上层进入下层:单击下层章名(节名/小节名)。 (2)下层返回上层:单击“[Return]”超链接。 由多张幻灯片组成的节(或小节)的正文,单击幻灯片任何位置(除特定超链接位置外)即可放映下一张幻灯片。注意:正文中未专门设计“[Next]”超链接! 3.关于“[程序演示]”超链接 由于使用者的实际环境千差万别,所以电子教案中的“[程序演示]”超链接并未实现。使用者在安装了本电子教案和TC后,可以参照以下方法实现: 1)打开某章演示文稿,找到并选取“[程序演示]”; 2)右键单击“[程序演示]”,打开快捷菜单,选取“动作设置(A)…”,打开对话框; 3)在“单击鼠标时的动作”区域:选取“运行程序”单选项,然后再单击“浏览(B)…”按钮,找到并选取TC集成环境主程序TC.EXE; 4)在“…\TC.EXE”后,添加要加载的源程序文件名(以便在启动TC的同时,加载源程序); 5)单击“确定”按钮。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值