C++教学中的知识点逻辑关系探讨

时间:2022-04-02 11:11:58

C++教学中的知识点逻辑关系探讨

摘要:针对c++教学中知识点较多并且零散的问题,通过分析知识点之间的逻辑关系,提出以函数、变量、流程控制3个核心知识点为中心的横向分类和纵向分层的知识点结构图。

关键词:c++;知识点;函数;变量;流程控制

对于大部分学生来讲,从编程零基础到掌握程序设计的基本思想和方法,需要转变思维方式,从新的角度去认识和分析问题,有一定的困难要克服。c++课程本身包含很多零散的知识点,且有较强的实践性,学习起来也有一定的困难。承担学生与课程之间桥梁角色的教师,如何根据学生的认知特点和课程中知识点之间的固有联系,有效组织知识结构,合理安排教学计划,以达到理想的教学效果,是一个值得探讨的问题。

1.知识点的聚类

针对c++语言包含很多零散知识点的问题,通过知识点之间的联系,采用层次聚类的思想来构建知识点的树状图,发现核心知识点,实现知识点“由多到少”。树状图共有四层,首层是表示c++全部知识点的根结点,第二层是核心知识点,第三层是主题知识点,对应教材上的章,第四层是基本知识点,对应每一章包含的多个具体的知识点。常见的c++教材上关于章节的安排,可以看作是第四层到第三层聚类。本文的重点在于第三层到第二层的聚类,从而发现核心知识点,帮助学生抓住重点,掌握本质。

1.1主题知识点

c++教材上章节的划分实际上都属于基本知识点到主题知识点的聚类。这里参考文献的章节划分,根据实际的教学安排有部分调整,整理后的主题知识点见表1。

1.2核心知识点

通过教学实践的总结以及对主题知识点和基本知识点的进一步分析发现,所有的内容围绕3个核心的知识点展开,即程序设计的基本概念:函数、变量、流程控制。把表1中的主题知识点按这3个核心知识点进行划分,结果如图1(横向来看)所示。

函数是c++中的基本概念,也是c++程序的基本组成部分。围绕函数展开的主题知识点有主函数、自定义函数、多文件结构、类、构造函数、拷贝构造函数、静态成员函数、运算符重载、模板。主要内容包含主函数、自定义函数、类成员函数、模板函数等。

变量也是C++中的基本概念,变量包含四要素:名称、类型、值、地址。相关的概念有常量和字面量:常量也包含四要素,但值不能修改;字面量包含三要素,类型、值和地址,没有名称,直接用值,且值不能修改。类型是变量的四要素之一,与类型相关的章节都属于变量相关的内容。围绕变量展开的主题知识点有:基本类型和变量、表达式、多文件结构、数组、指针、引用、结构、类、继承、模板。主要内容包含基本类型、构造类型、类类型、类模板等。

函数和变量包含的主题知识点中有3个是重叠的:多文件结构、类、模板,这3个主题知识点即涉及函数部分,也涉及变量部分。

流程控制相对简单,体现在两个方面:一是内容较少,只包含两个主题知识点;二是比较独立,与另外两个核心知识点之间没有相互交叉。主要内容是流程控制,即顺序、分支和循环3种流程控制结构。

2.知识点的展开

知识点的聚类从横向上对知识点进行分类,实现了知识点“由多到少”的目标;而知识点的展开则基于学生的认知规律,从纵向上对知识点由浅人深,以尽量减少学生学习时遇到的困难。这里的基本原则是以问题为驱动,逐步完善解决问题的方法,一方面我们要解决的问题或示例从简单到复杂;另一方面,我们采用的解决问题的方法根据问题的规模和类型逐步扩展。这里方法的展开也以函数、变量、流程控制3个核心概念为基础,分层递进。从纵向来看,可分为单函数和基本类型、多函数和构造类型、面向对象3个层次,如图1(纵向来看)所示。

3个层次的递进依据两条线索,一是函数,二是变量,即3个核心知识点的前两个。函数从单个确定函数原型的主函数到多个用户自定义函数。变量的扩展主要体现在数据类型,如图2所示,为了突出重点,省略了枚举类型、联合类型、空类型等。从基本类型到构造类型,再到类类型,前两个层次中变量和函数是分离的,在第3层类类型中,变量和函数统一到类的概念里,成为成员变量和成员函数。

2.1单函数和基本类型

单函数即只有一个主函数。最简单的C++程序由一个主函数组成,主函数是c++程序的人口,每个程序有且仅有一个主函数。函数是C++程序的基本组成单元,从而引入了函数的概念。

变量包含名称、类型、值、地址四要素,定义变量之前先要有类型,c++中最简单的类型是基本类型,基本类型包括整型、字符型、浮点型和布尔型。运算符主要包含算术运算符、关系运算符、逻辑运算符,使用运算符把变量连接起来组成表达式,表达式可以作为更复杂的语句的子表达式,或者加上分号成为独立的语句。

流程控制包含顺序、分支、循环3种结构,分支包含if和switch两种形式,循环包含while、do....while、for 3种形式。

掌握了主函数、变量和基本类型、流程控制等基本概念,便掌握程序设计的基础,可以用来解决基本的数学计算问题,如累加求和、判断素数等问题。

2.2多函数和构造类型

对于稍微复杂一些的问题,只有一个主函数已经不能很好地解决问题,这时就需要引入自定义函数。自定义函数主要包含两方面的内容,一是函数的定义、声明与调用;二是几种特殊的函数形式,如递归、内联、重载、默认参数函数等。当程序中的函数很多时,为了方便组织管理,会放在多个文件中,并提供相应的头文件,便有了多文件结构。对于变量,也需要考虑在多文件结构下的情况,主要是针对全局变量。单函数、单文件的程序主要用于实验验证,多函数、多文件结构才是工程项目中的一般形式。

变量方面,在基本类型上作进一步的扩展,引入了4种新的构造类型:数组、指针、引用和结构体。构造类型实际上提供了新类型的构造方法,从而提供在4种基本类型的基础上构造任意组合类型的可能。这里的重点是如何用构造类型定义变量及该类型变量的特性。对于结构体类型,除了定义变量,还需要掌握定义新的结构体类型的方法。虽然C++的关键字struct和class有基本一致的功能(除了默认的成员访问权限不同),本文中的struct仅用于定义C语言样式的结构体。

上一篇:油田电力系统技术改造与应用 下一篇:打住,你可能裁错人了