C语言中的计算思维运用

2016-11-24 16:11张瑜张欣王希
科学与财富 2016年15期
关键词:C语言程序设计课程设计

张瑜+张欣+王希

摘要:C语言程序设计课程广泛应用于计算机专业及相关专业的基础课教学中。但是经过调查显示,而在C语言程序设计在具体教学中存在很多问题,严重制约着整体的计算机教学的应用。以引导学生在具体的计算机课程教学中进一步完成对于计算机思维模式的探索发现,让学生形成良好的计算思维是教学改革的必然趋势。

关键字:计算思维;C语言;抽象;程序设计

通过长时间教学发现,在学习C语言课程前面的语法规则、变量表的时候初学者能跟上进度,但一旦学习后边比较复杂的知识章节时候就困难。甚至有学生C语言学习完成后,考试成绩非常好,但是要用C语言解决一个实际问题时候就无从下手,没有清晰的程序设计思路与合理的解决方案,总之学生在学习程序设计时有两种情况,一种是面对繁杂的知识点无从下手,脱离的程序设计的思维,第二种是即使记住了很多知识点,仍然不知道灵活使用,不知道在什么时候用什么知识去解决什么问题。那么启发学生使用正确的思维模式来学习,比仔细分析,详细讲解知识点更为重要。

计算思维就是帮助学生降低程序设计的难度,它指的是运用现代的计算机科学的程序和理念进行解决问题并得到正确结果的系统设计,包含一系列的涵盖计算机科学程序语言的思维活动的统称。要想使得计算思维能够更加充分的解决计算机的常见应用问题,需要融合更多的计算机的基础知识去完善计算思维,最终得到最优答案。

计算思维中涵盖了很多能够解决问题的数学思维的方式,比如对于循环结构的讲授,基本都是以求“1+2+……+n”的值引入的,这时一定要注意提醒学生不要采用数列前n项和的公式去求解,这是数学思维,而不是“计算机思维”。如果将表达式中的加号改为乘号,在程序设计中只需做很小的改动,而从数学的角度则很难实现。可以引导学生用累加的方法,这正是计算机的思维方式:计算机最擅长处理一些有规律且需要大量重复性的工作。当学生形成这种计算思维后,接下来就是语法方面的问题了。

其次,抽象是计算思维中本质的内容,计算思维当中的抽象是能够彻底超越物理的一种时空观,所以其完全可以使用符号来进行表示,计算思维中的抽象相较于物理和数学中的抽象,其实是一种更为复杂,同时也更为丰富的抽象。要用计算机实现一个系统,实际就是使用符号系统对求解问题进行准确无误的描述,那么,建立系统模型的过程就是抽象的过程。学生首先面对的就是数据的存储和表示,即系统的数据要全部转化成二进制,两个简单的“0”和“1”,再转化成任何用户想得到的视觉、听觉、触觉等感官信息。C语言中数据类型的概念是学生接触的第一个抽象概念。例如short x=-1;unsigned short y;y=x;无符号数为什么能够赋值给有符号数呢?其实在内存中y变量的物理形式也是如同x,但在逻辑上我们将数据类型分为带符号和无符号,所以输出的时候x为-1,y值为65535。逻辑层面实际是虚拟出来的是一种抽象。

第三,计算思维是一种能够建立在计算过程能力与限制之上的一种思维,它主要是由人和机器共同来执行的。因此在C语言中计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题,这就是C语言的“程序”思维。程序思维是对系统的建模,既要对系统的操作对象建模,又要对系统的行为建模。对于C语言程序来说,建模的过程就是使用C语言符号进行精确表述的抽象过程。例如,将学生的基本信息进行存放,并进行排序和简单的分类筛选。向学生提出问题“如何使用C语言在程序中定义一个班学生的信息?每个学生的信息包括学号、姓名、出生日期、性别、考试成绩等内容”。通过这一问题,首先让学生联想班级学生信息表,再和学生一起回顾变量的定义。这里用定义单独变量是将信息表中所示的数据信息进行纵向组织,实质上是定义了一个班的学号、姓名、性别等信息,而非一个班的学生信息;用简单数组仅能够定义一个班学生的出生年、月、日信息。上述两个问题都使得基于数组定义的相关信息无法与实际生活中的认知完全对应,不利于程序员对程序的组织,也不利于他人对程序的理解。为此应该为单个学生定义一个特有的数据类型,从而自然地引申出结构这一数据类型。对于一个班的学生信息自然的就引出了结构体数组的概念。这种思维方式的引导重要的是让学生体会到计算机的可构造思想,培养学生的计算思维。针对结构体数组的排序和分类,属于系统的功能,用函数来完成。排序函数和分类函数,要求功能独立,高耦合低内聚,各功能之间的协调运行,需要在主函数中通过函数调用来完成。这样就将一个学生信息管理程序完成了。

上述是将计算思维融入到具体知识点中,在平时的教学过程中还可以将计算思维融入教学方法。1.案例教学法中的计算思维,如从生活中简单的例子来引入C语言的计算思维,可以举例求解1至100的连加和。通过上述两个例子,可以使学生对计算思维有一个初步的认识,学生也可以从一个更高层级的思维高度去思考问题和理解C语言编程,这对学习C语言的学生无疑是一个非常好的方式。2.交互式教学法。教师要注重课堂的互动方式,教师不能一直在讲解知识点,而是要适当地与学生互动,进行问题的探讨,引导学生主动思考问题,激发学生主动学习的热情,充分提高课堂效率。3.课程设计。教师在课程设计中也应该融入计算思维的模式,比如课程设计题目为酒店入住管理系统,从实际问题出发,从解决思路出发,使学生在整个课程设计中,将设计题目分成几个功能模块,对每个模块进行思考、讨论、验证。

C语言程序设计旨在让教师从计算思维的角度对于计算机的基础课程的教学进行创新性的程序设计,突出学生在教学中的主体地位,最终切实提高计算机教学的教学效果。同时,C语言程序设计可以帮助学生养成良好的计算思维能力,引导学生利用计算思维来解决好实际中遇到的问题。这个过程是循序渐进的。鼓励学生持之以恒,坚持独立思考,多方位看待问题,假以时日就会有突飞猛进的提高。

猜你喜欢
C语言程序设计课程设计
基于Visual Studio Code的C语言程序设计实践教学探索
龙凤元素系列课程设计
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
基于Articulate Storyline的微课程设计与开发
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用
基于自动化系统的PLC课程设计
开放大学课程设计与资源开发