关于运用类比法提高C程序设计教学质量的探究
2020-08-10覃炜达
覃炜达
摘 要 C程序设计是理工科专业的一门很重要的基础课程,本文结合作者的教学实践经验以结构体数组的教学内容为例就如何采用类比法进行分析程序以提高此门课程的教学质量进行探讨。
关键词 C程序设计 教学质量 探讨
中图分类号:TP311文献标识码:A
C程序设计作为高校理工科专业一门重要的基础课,这门课程的特点就是内容较为抽象、定义和概念比较多,前后章节联系紧密,环环相扣,相互渗透。教师在教授过程中如何讲解书上的新的概念从而引导学生学会分析程序以及掌握程序设计思想促进教学质量的提高是值得执教者探究的问题。文献[1-3]分别从课堂互动、整合教学资源、移动学习模式等三个方面来说明如何提高课堂教学质量。类比法也是提高课堂教学质量一种重要方法,文献[4-5]将类比法应用到for循环教学、参数概念、递归思想等C程序设计有关章节教学内容中。本文根据作者的教育教学经验,以文献[6]结构体数组的教学内容为例,将难理解的编程思想同已学过的知识进行类比,收到了良好的教学效果,下面结合相关的知识点介绍教学过程的开展。
结构体数组对于初学者来说是一个新的概念,但学生已经学习并掌握了文献[7]关系的属性、关系中的元组及关系模式。为此,在教学中,可以通过关系的属性和关系的元组类比结构体数组的概念。
例:有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。
解题思路:用结构体数组存放n个学生信息,采用选择法对各元素进行排序(进行比较的是各元素中的成绩)。
(1)i是整形数据并由0到4进行取值。
(2)当i等于0时,输出的是 stu[0].num,stu[0].name,stu[0].score的值,
而stu[0].num,stu[0].name,stu[0].score的值類比关系中第一个元组的各属性(学号、姓名、成绩)的属性值,所以输出结果等于关系中第一个元组的各属性(学号、姓名、成绩)的属性值。
(3)当i等于1时,输出的是 stu[1].num,stu[1].name,stu[1].score的值,而stu[1].num,stu[1].name,stu[1].score的值类比关系中第二个元组的各属性(学号、姓名、成绩)的属性值,所以输出结果等于关系中第一个元组的各属性(学号、姓名、成绩)的属性值。
(4)同样的方法分析当i分别等于2,3,4时程序的输出结果。
最后,把程序中的把声明结构体类型的语句
struct Student
{ int num; char name[20]; float score; };
与关系中的属性(表1)进行类比分析,并强调:
(1)语句中的num、name、score分别类比于关系中的各属性(学号、姓名、成绩)。
(2)结构体中,成员表列定义的类型不同(学号定义为整型数据,姓名为字符数组,成绩为浮点型数据),在语句printf("%6d %8s %6.2f\n", stu[i].num,stu[i].name,stu[i].score)中,因为输出表列对应着结构体的成员表列,所以输出表列相对应的格式声明各不相同。
2使用类比法来分析程序运行结果
将运行结果(图1)与关系中的元组(表1)进行类比分析
并对程序设计的思想进行概括总结,加深学生对概念的理解,从而提高教学质量。
基金项目:河池学院2019年A类教改课题立项(项目名称:数学建模的思想融入统计学专业课堂教学的研究;项目编号:2019EA003)。
参考文献
[1] 张皓.C程序设计课程教学研究[J].教育现代化,2017:138-142.
[2] 孙敏.C语言程序设计教学内容研究[J].教学革新,2018:32-33.
[3] 王瑞.移动学习模式在C语言程序设计课程教学中的应用[J].教学揽胜,2003:34-35.
[4] 许文芳.类比法在《C语言程序设计》教学中的运用[J].电脑知识与技术,2009:18-19.
[5] 程艳.《C语言程序设计》教学中“类比法”的运用[J].教学揽胜,2003:34.
[6] 谭浩强.C程序设计(第五版)[M].北京:清华大学出版社,2017:302.
[7] 陈志泊.数据库原理及应用教程(第4版)[M].北京:人民邮电出版社,2017:45-46.