APP下载

案例教学法在《C语言程序设计》中的应用实践

2017-03-23冯莹莹李林国赵莎莎

赤峰学院学报·自然科学版 2017年4期
关键词:C语言程序设计C语言表达式

冯莹莹,李林国,赵莎莎

(阜阳师范学院 信息工程学院,安徽 阜阳 236000)

案例教学法在《C语言程序设计》中的应用实践

冯莹莹,李林国,赵莎莎

(阜阳师范学院 信息工程学院,安徽 阜阳 236000)

本文针对《C语言程序设计》传统教学“重理论、轻实践”的问题,在教学过程中引入案例教学方法,通过精心组织和认真分析,从学生的认知规律考量,有效的激发了学生的学习热情,显著提升了学生的逻辑思维能力和抽象思维能力.

《C语言程序设计》;任务驱动;能力

0 引言

《C语言程序设计》是一门理论与实践并重的计算机专业基础课程,不仅要求学生熟练掌握繁琐的语法规则,更加注重编程能力和实际解决问题能力的培养.作为一名计算机专业教师,在《C语言程序设计》授课过程中,不仅仅需要关注课堂讲授的内容,更应该注重教学方法的设计.实践表明,选择恰当的、有趣的案例引入到课堂,通过案例引导,极大的调动了学生的学习积极性和自主性,提高了学生独立解决实际问题的能力.

1 案例教学的设计原则

传统的教学方法中,学习《C语言程序设计》的理论知识非常的枯燥乏味,学生的学习积极性不高,计算思维能力得不到培养.经过改革,课堂中通过将趣味性案例与理论知识有效整合,学生在探究问题的过程中,培养了分析问题、解决问题、动手实践的能力,达到了事半功倍的效果.在设计案例教学时,遵循以下原则:

(1)注重基础知识的应用.由于《C语言程序设计》的语法繁多,要将本堂课的基础知识贯穿到一个简单、完整的教学案例中,让学生熟练掌握所学知识点.

(2)注重培养学生的学习兴趣.俗话说:兴趣是最好的老师.在设计案例时,通过引入日常生活中通俗易懂、简单有趣的例子,结合计算机专业特点,真正激发学生的学习热情.

(3)有图有真相.引入案例时,不可一味的全部是文字、代码,为了便于学生生动形象、直观的理解案例,可以包含程序流程图、动态演示图、运行图等.

2 教学内容导入

循环结构是结构化设计中的三大基本结构之一,for循环更是实现循环的重要语句.如何解决程序设计语句本身枯燥乏味、而学生又普遍不感兴趣的问题,使学生能够在轻松、愉悦的环境中加深对循环结构的理解.在循环结构的教学设计中,以培养学生的抽象逻辑思维为目标,引入了恰当的案例,达到了较好的学习效果.

图1 For循环教学设计流程

3 基础案例实施

(1)为什么要学习循环结构?

案例1 假如从今天开始,第1天为“希望工程”存入1元钱,第2天存入2元钱,第3天存入3元钱,问100天后总共将为“希望工程”存入多少钱?

这是一个数学问题,从纯数学的角度分析得出结论:求1+2+3+……+100!如何编程实现求累加和?引导学生用已学过的赋值语句求和,并分析算法的优劣.

以上算法虽然可以实现 任务1的要求,经过分析,绝大多数语句都是重复性的语句,算法非常不灵活,效率低下.

(2)引入循环结构的框架与一般语法

在上述for循环结构中,表达式1是循环结构的入口,主要的作用是为循环变量赋初值;表达式2是循环条件,只有表达式2成立了,程序的执行流程才会转到循环体中的语句;表达式3用于改变循环变量,使循环趋于结束而不至于陷入“死循环”.

图2 循环结构流程图

在for循环中,循环的执行流程是:先执行表达式1,为循环控制变量赋初值;其次进行表达式2的判断,若表达式2成立,执行循环体中的语句,反之,跳出循环;执行完循环体语句后,最后再执行表达式3,改变循环变量的值,流程转向表达式2的判断.直到表达式2的条件为假时,循环结束.

(3)用for语句完成任务1

上述算法中,i=1是循环变量赋初值;i<=100是判断循环是否结束的条件;i++用于改变循环变量;sum=sum+i用于累加求和.以上三个表达式缺一不可.

如果缺少i++语句,程序的执行将是什么情况?课堂教学中启发学生自主思考,为学生留出思考的时间和空间,可以加深对算法的理解和掌握.经过分析,缺少i++语句,i变量的值将不会改变,永远保持值为1,导致循环条件始终成立,从而陷入“死循环“状态.

(4)模拟循环的执行流程

图3 执行流程

在案例教学中引入动态模拟算法的执行流程,使学生形象直观的了解到循环变量i及累加和s在每一步执行中的变化,循环结束时循环变量的终值、算法的循环次数,有效的培养了学生的逻辑思维能力和抽象思维能力.

4 教学内容的延伸

逆序求1~100中所有自然数的和

本题和书本原程序相比难度不大,只要将循环变量的初值改为100,循环条件改为i≥1即可,在模仿的前提下同学们就可以完成.

在程序运行过程中任意输入一个自然数n,计算n的阶乘n!(n!=1×2×3……×n),并将结果输出.

在前面的基础上又增加了一点要求,即循环变量的终止值需用变量n来表示,二需要在程序的前面增加一条定义变量n的语句.这两点要求同学们能够把以前所学的知识综合起来运用,对刚刚学习编程的同学来说这还是有一定难度的,但通过练习同学们的综合编程能力可以得到训练提高.

5 进阶教学案例实施

案例2 青年教师讲课比赛,7位评委的平均分就是该选手的最终得分,请设计一个程序,输入7位评委的分数,输出该选手的最终得分.

问题解析:第一、随机输入7位评委的得分,循环的次数已知(7次),所以可以借助FOR循环实现;第二、要求平均分,首先要先计算7位评委的总分(累加求和),然后再求平均分,程序流程图如下所示:

图4 算法流程图

在解决问题的许多算法中,需要对问题的条件重复做出逻辑判断,判断后依据条件成不成立做出相应的处理,这就需要用循环结构来实现.

算法实现

图5 程序运行截图

该案例的设计符合初步学习FOR循环的同学,通过该案例的锻炼,学生能够将课本的理论知识灵活运用到一些实际问题的解决中,加深了学生对于for循环的理解,培养了学生分析问题、解决问题的能力.

总结

案例教学法通过设置有效的、合适的案例,将教学内容穿插其中,有效的解决了传统教学方法中重理论、轻实践的问题,学生在解决任务的过程中,培养了学生分析问题、解决问题的能力,激发了学生对编程的热爱.在整个教学过程中,充分体现了学生的主体地位、以及对学生各种能力的培养.无论是引入课题还是对本节课的重点、难点,通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点,教学效果良好.

〔1〕王平,朱艳辉.计算机程序设计教学中的教学方法研究[J].电脑知识与技术,2005(21):93-95.

〔2〕杨其宇,张霞.“C语言程序设计”课程教学探讨[J].广东工业大学学报:社会科学版,2006(增刊1):94-95.

〔3〕于帆,赵妮,王中生.程序设计语言基础(C语言版)[M].北京:清华大学出版社,2006.

〔4〕顾元刚,等.C语言程序设计教程[M].北京:机械工业出版社,2004.

〔5〕余丽红.C语言程序设计课程教学改革探究[J].中国科教创新导刊,2011(16):150.

〔6〕顾秉林.加强实践教育培养创新人才[J].清华大学教育研究,2004,25(6):1-5.

G642.4

A

1673-260X(2017)02-0200-03

2016-10-23

安徽省质量工程项目(2014zjjh079),安徽省重大教学改革项目(2016jyxm0777)

猜你喜欢

C语言程序设计C语言表达式
基于Visual Studio Code的C语言程序设计实践教学探索
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践