




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 10国家级教学设计 教 学 设 计一维数组的定义与使用 哈尔滨市第二职业中学 马冬艳课 题:案例4.1:单科学生成绩管理教者、 设计者:哈二职 马冬艳教 材 选 自:技能型紧缺人才系列教材游金水主编C语言程序设计第4章数组第一节内容计 划 学 时:1学时课 型:新授课授 课 班 级:三年六班授 课 时 间:2011年3月20日知识目标:(1)一维数组的定义及其输入和输出方法。(2)冒泡排序法的应用能力目标:(1)熟练运用一维数组实现学生单科成绩的输入、存储和输出。(2)掌握应用一维数组实现学生单科成绩的统计。(3)掌握应用一维数组实现学生单科成绩的排序。情感态度目标:(1)
2、培养自主学习、探索新知识的能力。(2)培养举一反三、分析问题和解决问题的能力。(3)培养学生认真思考、积极参与、提高学习兴趣、增强自信心、协同合作的能力。教学重点:(1)一维数组的应用(2)引导学生按照“干什么怎么干为什么干”的程序进行操作,学会自主探究式的学习方法。(3)建立正确的编程思想。教学难点:(1)排序算法的实现过程。(2)编程思想的建立。(3)如何将信息技术真正运用到日常生活工作中。教 法:启发式、任务驱动法、提问法教 具:多媒体课件教学过程:一、组织教学:(计划时间:1分钟)二、设置问题情境,导入新课: (计划时间:1分钟)演示课件:小狗cc一脸愁容:“期中考试结束了,老师让我把
3、C语言这科的成绩排一下榜,还要计算出及格和不及格的人数,可是我们班有60多位同学呢,这么多同学我可怎么能算得过来呀?”同学们,你能帮助它吗?展示课题:案例4.1:单科学生成绩管理【设计目的:通过设置问题情境,激发学生学习兴趣,明确学习任务,在任务驱动下,使学生尽快进入状态,并能积极思维,进而引入到本节课题。】三、讲授新课:(计划时间:29分钟)1、案例分析:(干什么怎么干为什么干)(计划时间:4分钟)干什么:教师设问,学生讨论-要想实现对学生单科成绩的管理,程序中需要具备哪些功能模块?我们应先解决什么问题?设计目的:通过分析题目,确定功能模块,和解题步骤,从而培养学生逻辑思维和模块化的程序设计
4、思想。单科成绩管理系统统成绩的输入成绩排序统计成绩及格情况的输入成绩的输出(2)怎么干:通过上一章模块化程序设计的学习,我们不仿把每一个功能模化作为一个函数来编写,即input(),output(),count(),sort()函数。(巩固旧知识) 学生直接操作课件,完成案例的实现:将5个模块设计成氢汽球形状,开始时汽球都是扁的,需要完成每个模块里相应的程序填空,一个汽球便充满,才能进入下一个模块的学习,只有所有的模块都编写完成,所有汽球充满气,则问题得到解决。学生需动脑筋,如果遇到困难时可点击智囊包,这里有解决相应问题的知识点,从而获得知识上的帮助。(3)为什么干:在整个案例实践的过程中,也
5、是学生学习新知识的过程,教师通过适时引导学生进行模块的逐一编写使学生建立编程思路(如只有完成数据的输入才可进行数据操作最后输出),同时只有一个模块编写成功才能进入下模块的编写,以激发学生学习的热情。在每一个模块编写后,教师及时引导学生总结该模块的实现所需的知识点,并通过小练习强化掌握知识点。并作竞赛成绩记录,以随时调动学生学习热情。通过设置智囊包,培养学生自主学习,探究式学习的习惯与能力,同时将学生2人一组,目的在于为学生创设学习的过程中相互交流的学习氛围,同时培养学生与人协作的能力。其中重点引导学生进行输入和排序模块的编写,输出模块是在完成输入模块的基础上,学生直接填写完成,培养学生触类旁通
6、的编程思维。统计模块因其完全是运用旧知识,故和输出模块一样采用小组竞赛形式进行编写,从而再一次激发学生学习兴趣和运用旧知识解决新问题的能力。2、具体讲解如下:师:在这些模块设计中大家是否发现我们都需要对一组数据进行操作,我们以前要处理的数据很少,2个,3个,最多不超过4个,而现在我们要处理的是60多个,甚至更多,我们还能一个一个的输入、输出、一个一个的进行比较吗?显然不行,这就用到了我们今天要学习的知识:数组,那么到底什么是数组,我们应该怎么运用数来解决我们的问题呢,就请同学们带着这些问题进入到电子课堂里用你们的智慧帮助小狗cc吧!要想完成左面的填空,你需要知识下面的知识:什么是数组?数组的维
7、数?怎样定义数组?怎样给数组赋值?如何引用数组元素?请填空:input() int score60;/*一维数组的定义*/int i;printf(请输入%d个学生的成绩:n,60); for(i=0;iMAX;i+) scanf(%d,&scorei);/*采用单循环为数组元素赋值*/点击input()模块:学生自主学,教师及时点拨与总结(计划时间:5分钟)智囊包:1、一维数组的定义。数组同变量一样,也必须先定义、后使用。只有一个下标的数组称为一维数组。一维数组的定义格式为:类型说明符数组名常量表达式;(1)“数据类型”是指数组元素的数据类型。(2)数组名,与变量名一样,必须遵循标识符命名规
8、则。(3)“常量表达式”必须用方括号括起来,指的是数组的元素个数(又称数组长度),它是一个整型值,其中可以包含常数和符号常量,但不能包含变量。注意:C语言中不允许动态定义数组。(4)数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。(5)数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。2、一维数组元素的引用。数组必须先定义后使用。C语言规定只能逐个引用数组元素而不能引用整个数组。数组元素的引用格式为:数组名下标。(1)“下标表达式”可以是任何非负整型数据,取值范围是0(元素个数-1)。特别强调:在运行C语言
9、程序过程中,系统并不自动检验数组元素的下标是否越界。因此在编写程序时,保证数组下标不越界是十分重要的。(2)一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。(3)在C语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。3、对一维数组的操作因能逐个引用数组元素,故可采用单循环对数组元素的赋值与输出等操作。互动操练:(计划时间:1分钟)单选题:1.以下一维数组a正确的定义是( )A int a(5) B int n=5,an C int aSZ 其中SZ为符号常量2引用数组元素时,其下标的数据类型允许是( )A int Bfl
10、oat Cdouble Dchar3.在定义int a5以后,对a的引用正确的是( )Aa0 Ba1 Ca3 Da5设计目的:及时进行教学反馈,为后序教学的顺利进行做好铺垫。记录小组竞赛成绩。点击output()模块:学生自主学习(计划时间:2分钟)请填空:void output()/*一维数组的输出*/ int score60; int i;for(i=0;iMAX;i+) printf(%dt,scorei);printf(n);/*换行*/设计目的:在讲解成绩输入模块的编程基础上,让学生自行编写成绩输出模块的编写,并采用小组竞赛方式激励学生学习热情,建立自信心。怎样按成绩进行排序呢?引出
11、冒泡法排序点击sort()模块:教师引导学习(计划时间:5分钟)要想完成左面的填空,你需要知识下面的知识:什么是冒泡法?如何表示数组中的相邻元素?你还有其它方法实现排序吗? 排序源程序:void sort(int score)/*用冒泡法对成绩进行降序排序*/ int i,j,flag,temp; for(i=0;iMAX-1;i+) flag=0;for(j=0;jMAX-1-i;j+) if(scorejscorej+1) temp=scorej;scorej=scorej+1;scorej+1=temp; flag=1;/*一趟排序中有出现数据交换*/ if(flag=0) break;
12、/*一趟排序中没出现数据交换,数据已经有序*/ 智囊包:冒泡法排序的思路:比较两个相邻的数,将大的数往后调,一趟排序后最大的数沉到最后。本例要求是降序排列,因此将小的数往后调。排序过程演示:flash动画 选择法排序思路: 排序过程演示:flash动画学生观看动画自行总结排序思路与要点。对总结归纳好的组加分。设计目的:动画演示,直观形象,使难点降低,帮助学生理解排序的过程和方法。学生自行总结要点,培养学生观察能力,分析能力、总结规纳能力和语言表达能力。选择法排序,作为延伸内容,学生观看演示后总结规律,课后思考怎样实现,引导学生学会自主学习,主动学习的习惯,扩展学生思维,一题多解,提高编程能力。
13、点击count()模块:学生自主学习(计划时间:3分钟)void count()/*统计及格人数和不及格人数*/ int score60; int i,num=0; for(i=0;i=60)num+;printf(及格人数为:%d;不及格人数为:%d。n,num,60-num);设计目的:学生自行完成及格与不及格模块的编写,巩固选择结构知识。记录竞赛成绩。恭喜你,现在4个汽球均已充满了气,但还飞不起来,因为主模块还没有编写好:点击main()模块:整合功能模块,完成整个程序的编写。(计划时间:4分钟)要完成左面的程序填空,需弄清如下问题:怎样将以上各自独立的模块整合成一个主模块?即如何调用各
14、模块?数组怎样作为参数进行传递?如果100个数或更多的数怎样快捷的修改程序,实现操作?# include # define MAX 60main ( )/*声明各函数类型*/void input (int score);void output(int score);void count(int score);void sort(int score);int scoreMAX;/*定义数组*/input(score);/调有数组*/printf(n您刚才输入的是:n);output(score);/*调用数组*/count(score);sort(score);getch();设计目的:通过提出
15、第一个问题,引导启发学生利用上章知识讨论,在争论中相互纠正、实际操作,解决问题。教师在这一过程中特别注意的是鼓励学生的积极性,让他们充分发表意见,在肯定学生答案的基础上总结强调易错内容。经过讨论得出结论:可采用语句调用的方式,将数组名作为参数传递,则各函数相应形参设置需做相应改变。通过第二个问题,引导学生通过智囊包自主探究式学习,掌握知识点。智囊包:数组作为函数参数。数组名也可以作为实参和形参,传递的是整个数组。(1)数组元素作函数参数数组元素就是下标变量,它与普通变量并无区别。数组元素只能用作函数实参,其用法与普通变量完全相同:在发生函数调用时,把数组元素的值传送给形参,实现单向值传送。用数
16、组元素作实参时,只要数组类型和函数的形参类型一致即可,并不要求函数的形参也是下标变量。换句话说,对数组元素的处理是按普通变量对待的。在普通变量或下标变量作函数参数时,形参变量和实参变量是由编译系统分配的两个不同的内存单元。在函数调用时发生的值传送,是把实参变量的值赋予形参变量。通过第三个问题,扩展学生思维,锻炼学生全面细致的考虑问题。(2)数组名可作函数参数数组名作函数参数时,既可以作形参,也可以作实参。数组名作函数参数时,要求形参和相对应的实参都必须是类型相同的数组(或指向数组的指针变量),都必须有明确的数组说明用数组名作函数参数,应该在调用函数和被调用函数中分别定义数组,且数据类型必须一致
17、,否则结果将出错。例如,在本案例中,形参数组为a,实参数组为sco,它们的数据类型相同。C编译系统对形参数组大小不作检查,所以形参数组可以不指定大小。例如,本案例中的形参数组a。如果指定形参数组的大小,则实参数组的大小必须大于等于形参数组,否则因形参数组的部分元素没有确定值而导致计算结果错误。3、教师进行本模块知识小结提出注意示项:(略)(计划时间:1分钟)4、互动操练:(计划时间:1分钟)分析运行结果:main()int i,num5=1,2,3,4,5;/*数组初始化*/f(num);for(i=0;i5,i+)printf(“%dn”,numi);f(a)int a;int i;for(
18、i=0;i5;i+)ai=ai+1;设计目的:该程序主要考查学生对数组作为参数传递知识的理解与掌握情况。记录竞赛得分。5、知能拓展:(计划时间:1分钟)上段程序中对数组元素赋值采用了另一种方式,即数组的初始化,请学生自行阅读了解相关在识。智囊包:一维数组的初始化。在数组定义后对数组元素进行赋值,也可以在定义数组的同时对数组元素赋以初值。(1)对全部数组元素赋初值。(2)部分元素赋初值。(3)数组中全部元素的值都赋为0。现在,我们的5个汽球合成了一个大汽球飞起来了,我们看一下运行结果。同学们你们胜利了。(计划时间:1分钟)设计目的:使学生得到成功的体验,培养自信心。6、案例小结:对编写实例过程中
19、,学生出现的问题教师做以总结。(计划时间:1分钟)四、互动操练:(计划时间:5分钟)展示上一环节的各组得分,激励学生下一环节的学习兴趣。通过测试课件,在线答题,题目的难易程度各组自选,分值不同,最后以小组为单位统计测试得分。五、案例思考(计划时间:3分钟)(1)什么情况下使用数组?(2)数组与循环变量的关系如何?(3)若案例中MAX定义为100,输出时要求一行显示10个学生的成绩,如何实现?(4)C语言中数组的下标值是可何取值的a53的下标取值范围是多少?(5)在表达式中引用数值数组元素与使用简单变量有区别吗?(6)在内存中存储的数组元素有何特点?设计目的:帮助学生学会思考,善于思考。六、师生共同总结:(计划时间:4分钟)小结:本次课介
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集成电路制造工艺的流程
- 造船企业订单管理制度
- 规划流程协同管理制度
- 高校学校宿舍管理制度
- 供货方评审管理制度
- 项目人员加班管理制度
- 铁路装卸人员管理制度
- 音像制品保密管理制度
- 门诊管理制度建立会议
- 集团融资管理制度建设
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
- 2024年中考模拟试卷地理(湖北卷)
- 沙塘湾二级渔港防波堤工程施工组织设计
- 大学生心理健康教育知到智慧树章节测试课后答案2024年秋长春医学高等专科学校
- 江苏省南京市2025届高三第二次联考英语试卷含解析
- 慢肾风中医辨证施护
- 危险化学品工伤事故形势及典型事故案例
- 《多相反应及反应器》课件
- 投标书售后服务怎么写
- 中华人民共和国保守国家秘密法实施条例培训课件
- 地理信息系统试题
评论
0/150
提交评论