中等专业学校《C语言程序设计》中循环控制的教学实践与思考

时间:2022-05-13 01:30:15

中等专业学校《C语言程序设计》中循环控制的教学实践与思考

【摘 要】循环控制语句的程序分析和程序编写一直以来都是《C语言》的教学重点,也是难点。如何提高教学效果,笔者结合十多年的教学实践经验,积极对该学科进行实践探索与思考,认为“积极地引导学生进行思考和培养学生的学习兴趣是课任教师应考虑的问题”,“有效地开展课堂教与学,真正提高学生的程序分析能力和编写能力,是课任教师须完成的任务”。

【关键词】C语言;循环;兴趣;能力;效果

《C语言程序设计》是中等专业学校计算机专业普遍开设的专业课程。循环控制语句的程序分析和程序编写是该学科的教学重点,也是难点。俗话说,“兴趣是最好的老师”,如何积极地引导学生进行思考和培养学生的学习兴趣是课任教师应考虑的问题;有效地开展课堂教与学,真正提高学生的程序分析能力和编写能力,是课任教师须完成的任务。

一、提高学生的程序分析能力

1、选择简而精且具特点的例题进行程序分析

(1)开始学习阶段,选用的例题简而精。

main()

{int x=10;

do

{x--;

printf(“%2d”,x);

}while(--x);}

程序只有两条语句,很简短,循环体也只有两条语句。do-while语句的循环条件是while(--x),循环体中还有一个x--,对于初学C语言的学生来说很容易混淆、出错。故设“陷阱”后,教师再稍加引导,学生们茅塞顿开,知识点得以更好地巩固和强调。

(2)提升学习阶段,选用的例题要典型。

main()

{int x,y;

x=10;y=0;

do

{x+=2;y+=x;

print(“x=%d\t y=%d\n”,x,y);

if(y>20) break;

}while(x=14);}

一些题目看起来简单都会做或者都能做,可是大都学生又做不对,选用这样的例题作为知识讲解是最有意义的。这个程序最有价值的地方就在于使用while(x=14)作循环条件,让学生们更好的学习和理解循环判断的灵活。

2、媒体课件和学案配合使用

(1)媒体投影容量大,更直观。

随着教学条件的改善,多媒体投影的使用,这给C语言教学带来了诸多方便与好处。

C语言教学注重讲练结合。为巩固知识点,课任教师采用媒体投影将要补充的习题用幻灯片的方式打出来,节省了板书的时间,增大了教学容量,提高了清晰度。为发挥多媒体课件更大的作用,可以使用FLASH等软件制作具有动态效果和交互作用的课件。比方说,分析for语句的执行顺序流程用动态的方式显示出来,更直观,容易让学生掌握;课堂练习中制作交互自动评分,进一步激发学生学习计算机的兴趣,对自己所学的专业充满信心。

(2)投影也有其不足,用学案

C语言程序分析有自身的特点,特别是在学生进行循环嵌套程序分析的时候,往往一个简短的程序,学生要花费很多的时间进行分析,才能得到正确的结果。

main()

{int i,j,x,y;

x=y=0;

for(i=1;i

{x=x+i;

y=y+1;

for(j=1;j

{y+=j;

x=x+i;}

}

printf(“x=%d \ny=%d”,x,y);}

一个简单的程序,外循环有5次,内循环有4次,4*5=20次,中间算错一个数字,都不会得到正确结果。倘若题目只用课件的形式投影出,那么学生在程序分析的时候,看一句、想一句、写一句,循环次数一多,思维就不清了。投影也有其不足,课堂练习题配合使用学案(纸质),学生们在学案上直接进行程序分析和演算,提高分析的速度和正确率。

二、提高学生的程序编写能力

1、积极引导,印象深

讲授循环语句时,很多的教材上都会出现这样或类似的例题:求1+2+3+…10。我采用的教学方法是一边编程,一边引导,一边提问。

在VC++6.0中编写程序,我从#include开始,接着是main(),学生们会跟随着我的思路,一起编,课堂上很容易就形成了教与学的互动。程序运行前,我问学生:“有没错误?”学生们有的摇头,有的点头。我又问:“1加到10,和等于多少?”学生们有的竖耳朵,有的算起来。2秒钟后我说“为了准确起见,我们来集体运算一下”。我打开“附件”里的“计算器”,从1开始加,在操作的过程中,同学们聚精会神,监督我,看我有没有漏加、错加。由于数字比较少,很快就得到了55这个累加和。我问:“1加到100,程序怎么改?”学生都异口同声地说:“10改成100”。我又问:“有规律吗?加到1000会是多少?是500500吗?”学生们眼神各异,有的相信,有的否定。程序又改,运行,果然是500500。学生们感觉到很惊奇。一连串的引导,修改和运行,学生们不仅记住了这一串数字,而且记住了编程的方法。在教学上,积极地引导和提问,能让学生们学习印象更深刻。

2、触类旁通,能力长

学生怕做循环,既便是简单的加减,都会出错。程序分析不仅能活跃思维,还能培养学生的耐心。例如编程求:1+1/3-1/5+1/7-……1/99,与数学课上学习到的等差、等比数列相结合,学生们一定会觉得原来学科之间是触类旁通的。

编程时,指导学习尽量用英语单词来命名变量。记得有一次课上编程求阶乘,有个同学问:“老师,累加和用sum,那么表示累乘,我用什么单词呢?”本想直接告诉这位同学,话到嘴边又咽下,我对那位同学说:“你很爱动脑筋,提了个好问题。”第二天,他把写着“multiply”的课堂笔记本递给我看,我觉得他做得很好,便在课上表扬了他。

3、理论实践,结合好

判断一个整数是否为素数是个经典的例子。在数据的输入上,会使用到scanf函数,由于涉及到键盘对数据输入的多种形式,学生们只背死概念是不行的,一定得动手操作。学习完一定的理论后安排上机操作。C语言课程是一定要安排学生上机的,但次数不能多。如果一周六节课的话,安排一周两节课的上机。一是为了让学生珍惜上机的机会,充分地利用时间进行有目的的学习;二是可以让教学整体容量不减少,根据书本的内容合理安排教学计划;三是通过理论与实践的比例,区分与解决教学的重点和难点。

4、循序渐进,思维活

循环嵌套可以打印图形,很多C语言书上不会出现这样的例题,但会出现这样的课后习题。比如,编程打印这样的图形:

*

* * *

* * * * *

* * *

*

整个图形阵式呈菱形,每个星号中间还隔两个空格符。这样的课后作业,如果不进行前提引导和思维训练,学生不容易一下子编写得出来。解决这样的图形编程问题,一定要在教学上由易到难,循序渐进,要让学生的思维真正活跃起来以后,再举一反三,逐渐增加难度,才能真正提高学生的程序编写能力。

在教学设计上,可以先用for循环语句来实现打*****且换行,紧接着让学生们思考连续打四行的图形,经过一边引导,一边编程的方式,让学生们很容易掌握行和列循环变量间的关系,在讲三角形图形的编程方法,最后让学生结合思考菱形。有基础,才可提升,教学上只有循序渐进,学生的思维才能活跃,一但思维能够拓展,产生兴趣,学起东西来会倍感轻松且饶有兴趣。

参考文献

[1]《C程序设计》(第三版).谭浩强著.清华大学出版社

[2]《C语言程序设计》(第二版).廖雷主编.高等教育出版社

上一篇:探讨如何培养农村低年级小学生语文学习习惯 下一篇:改革中职英语评价标准,促进中职学校日常英语教...