C语言循环嵌套结构教学设计探究

2024-05-14

C语言循环嵌套结构教学设计探究(通用9篇)

篇1:C语言循环嵌套结构教学设计探究

C语言循环嵌套结构教学设计探究

摘 要:C程序循环嵌套结构设计是C程序循环结构教学一章的重点与难点内容,是后续数据结构课程算法实现中使用频率最多的语句,是进行复杂程序设计的基础。该文将针对初学者实际情况,通过教学实例的设计,由浅入深,采用类比、启发等多种教学方法,分析循环嵌套结构程序的设计思路与设计方法,帮助学生掌握C语言循环嵌套结构设计的实质,提高利用循环嵌套结构解决实际问题的能力。

关键词:C语言 循环嵌套 教学设计

中图分类号:TP31 文献标识码:A 文章编号:1674-098X(2015)03(a)-0120-02

The Inquiry Teaching Design of Nested Loop Structure on C Language

Duan Hongyi,Wang Huihui

(Science Department of Hetao College,Bayannaoer,Inner Mongolia,015000,China)

Abstract:The C program nested loop structure design is the key and difficult points in chapter C program loop structure teaching,is the follow-up data structure course algorithm in the most frequently used sentence,is the basis for complex programming.This paper will according to the actual situation of beginners,by design,the teaching examples from the shallower to the deeper,by analogy,inspiration and so on many kinds of teaching methods,design analysis and design method of loop nesting structure of the program,to help the students to grasp the essence of C language nested loop structure design,improve the ability of using the nested loop structure to solve the practical problems.Key Words:C language;Loop nests;Teaching design

C语言是一门面向过程的结构化程序设计语言,其程序设计的基本结构单元主要由顺序结构、选择结构与循环结构三种基本结构组成。其中选择结构与循环结构在程序设计中最为重要且使用较多,对于后续课程数据结构来说,其算法实现主要以这两种结构为主,所以在学习数据结构之前,学生必须要通过C语言的学习打下良好的程序设计基础,深入理解并掌握这两种程序结构,并能够正确设计与阅读理解这两种结构的程序。在循环结构程序设计中,循环的嵌套程序设计是一个重点与难点内容,该文结合作者从教以来教授C语言的教学经验及心得体会,探讨如何教会学生理解并掌握循环嵌套结构的设计,提高利用循环嵌套解决实际问题的能力。循环嵌套教学内容引入及设计

循环嵌套结构程序设计的基础是循环结构,在学习循环嵌套结构程序设计之前需要掌握C语言中实现循环结构的三种语句,while语句、do...while语句以及for语句,在此基础上学习循环的嵌套。首先需要知道循环嵌套的概念:一个循环的循环体内包含另外一个完整的循环结构,称为循环的嵌套,内嵌的循环还可以继续嵌套循环,构成多层循环。循环的嵌套结构本质上仍是一个循环语句,只不过其循环体为一个循环语句罢了。C语言中三种循环语句可以互相嵌套构成循环嵌套结构。由于for语句在C语言中最为灵活,下面以for语句为例来讨论循环的嵌套结构。

1.1 循环嵌套结构程序的引入

为了便于理解循环嵌套,首先举一个简单的循环结构的例子来引入嵌套。

例1:输出123456789。

该例子如果利用for循环设计,学生可以轻松写出如下语句。

int i;

for(i=1;i<=9;i++)

printf(“%d”,i);

如果对该例进行修改,要设计以下程序。

例2:输出5行123456789。对于该例来说,可以使用循环的嵌套来设计程序。

1.2 循环嵌套结构设计

我们可以利用循环语句的设计思路来解决这个问题,这个例子的关键在于循环体语句为输出123456789及换行符,即要循环5次123456789以及换行符。这里我们先把上述代码以及输出换行符语句看成一个整体即一个语句块。比如用语句块一来表示,则可以写出如下的程序代码。

int j;

for(j=1;j<=5;j++)

{

语句块一;

}

由于语句块一的代码为:

int i;

for(i=1;i<=9;i++)

printf(“%d”,i);

printf(“\n”);

所以将语句块一用上述代码进行替换,可以写出例2完整代码如下:

int j;

for(j=1;j

{

int i;

for(i=1;i<=9;i++)

printf(“%d”,i);

printf(“\n”);

}

通过这个例子看出,外循环决定内循环(把内循环看成一个整体)的执行次数,而内循环则控制每行内循环的次数。在这个例子中,内循环变量与外循环变量之间没有关系,下面我们再来看一个稍微复杂一些的例子,内循环变量执行的次数取决于当前的外循环变量,来进一步理解循环嵌套结构程序。

例3:设计程序输出如下的图案数字。

2

3

4

5

这个例子要打印5行数字,故外循环次数为5,设外循环变量为i,取值为1~5,再看每一行要打印的数字的个数为1,2,3,4,5,即循环的次数为1,2,3,4,5,假设用j表示内循环变量,那么,内循环变量与外循环变量有什么关系?假设我们要打印的是第i行上的数字,可以发现其打印的数字j取值为1到i。找到了规律就可以写出的循环嵌套程序段:

int i,j;

for(i=1;i<=5;i++)

{

for(j=1;j<=i;j++)

printf(“%d ”,j);

printf(“\n”);

}

通过这个例子我们可以引导学生,写出如下图案的程序段。

例4:设计程序输出如下的图案数字。

3

5

7

9

提示学生这个程序可以有2种写法。

第一种写法:通过观察,发现例3与例4只是每一行上输出的数字不同,即需要修改例3的内循环语句printf(“%d ”,j);即可。显然第i行上打印的是一个等差数列,其打印的第j个数字应为2*j-1。即例4对应的语句为printf(“%d ”,2*j-1);

第二种写法:不改变例3的printf(“%d ”,j);输出语句,则需要修改内循环for(j=1;j<=i;j++),分析可知第i行的内循环次数为i,而打印的数字最大值j为2*i-1,后一个打印的数比前一个数大2,即步长为2,则将例3的内循环语句改为for(j=1;j<=2*i-1;j+=2)即可。

通过上面例

3、例4两个程序的设计,学生基本上能够掌握循环的嵌套结构了,对循环的嵌套有了更深入的理解,并能利用循环嵌套结构设计并解决简单的实际问题了。

例5:打印如下图的九九乘法表。

这个例子与例3比较相似,一共要打印九行,故外循环为9次,假设用i来表示外循环变量,其值应为1到9;第i行打印输出i个数,假设用j来表示内循环变量,即内循环变量j取值为1到i。并且能写出第i行第j个要打印输出的数为:printf(“%d×%d=%4d”,j,i,j*i);有了例3,例4的基础可以写出如下的程序:

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

printf(“%d×%d=%4d ”,j,i,j*i);

printf(“\n”);

}

结语

在循环嵌套结构设计教学中,教师要充分考虑学生的实际情况,要考虑不同专业、不同层次学生的理解能力,设计针对学生实际情况的教学用例,从浅显易懂的例子出发,逐步引导学生思考,采用类比,启发等多种教学方法,教学实践证明,这种方法能够很好的调动学生的学习积极性,学生的理解能力与程序设计能力有了明显的提高。

参考文献

[1] 谭浩强.C程序设计[M].4版.北京:清华大学出版社,2010.[2] 刘井莲,赵卫绩.C/C++循环嵌套教学实践[J].电脑知识与技术,2012(25).[3] 唐红杰.C语言循环结构教学探讨[J].软件工程师,2014(10):49-50.[4] 刘运,程家兴.图形打印案例在计算机高级语言教学中的应用研究[J].山东农业工程学院学报,2014(6):48-49,58.

篇2:C语言循环嵌套结构教学设计探究

一、教学内容分析

循环结构是面向过程编程中三种结构中最重要的一种结构,学好它是学好这门课程的关键。循环结构的实质是重复执行一系列语句,这种重复性是在循环条件的有效控制之下完成的。程序的关键在于如何控制循环的条件,在恰当的时机执行循环或退出循环。

二、学习者分析

循环结构是一种比较复杂的结构,在C语言中,循环结构主要包括for、while和do-while三种语句,其中for语句的应用更为普遍一些。循环语句的用法对于有程序设计经验的学生来说轻而易举,但是对于那些没有经验的初学者来说,难度却不小。在一堂课的设计过程中,引例的作用至关重要。一个好的引例能把抽象问题简单化、具体化,有利于学生理解掌握。在学习循环结构时可先利用现实生活中的一些具体实例来说明什么是循环以及为什么要研究循环让一名初学者尽快摆脱日常的思维定式,更加透彻地理解和掌握程序设计中的基本思想,领会程序设计的精髓,总结出程序设计中每一种程序设计结构的本质及适合解决的问题,是高级语言程序设计这门课程在讲授过程中,应该时刻注意的问题。

三、教学目标

1.知识与能力

掌握循环构造的基本特点;区分多种不同类型循环结构的运行过程;掌握循环结构的格式及应用方法。

2.过程与方法

首先学会区分多种不同类型的循环结构,而后学会定义及应用方法,利用上机熟练应用技巧。

3.情感态度与价值观

我们必须抱有自己想学习的心态,多去问老师一些问题,那么你的漏洞将会越来越少,程序量和代码量才会越来越多。

四、重点难点及处理

1.循环语句的的分类和定义

For循环、while循环和do-while循环

特点:在一个程序中可以通过变换语句来使用不同的循环语句,而不改变程序的功能。

2.循环语句的引用

例如:要从1累加到100

使用For循环: for(sum,=0,i=1;i<=100;i++)sum=sum+i

使用while循环:while(i<=100)sum=sum+i

使用do-while循环:do {sum=sum+i;} while(i<=100)

五、教学准备

1.PPT教学课件

2.实验操作:Visual C++6.0软件平台,PC电脑,教学机房,网络课堂。

六、教学思路(教学策略等)

在一堂课的设计过程中,引例的作用至关重要。一个好的引例能把抽象问题简单化、具体化,有利于学生理解掌握。在学习循环结构时可先利用现实生活中的一些具体实例来说明什么是循环以及为什么要研究循环。现在我们可以提出一个问题:在计算机程序设计的世界

里是否也有类似的这种相同操作重复出现的问题呢?利用最简单累加求和的例子。

例:求1+2+3+4+5+„+100的和。

下面就可以引出本节课的重点,通过分别使用For循环、while循环和do-while循环来完成本程序,我们在整个过程中都做着重复的、相同的事情,也就是前面所说的循环,在试着写出比较简单的程序时,可以试着选择素数或者奇数累加来增加难度,还可以使得让学生接受和探究双重循环。

七、教学过程 教学引入

掌握掌握循环结构的基本特点:for语句、while语句和do-while语句 如何计算1+2+3+4+„+100 知识点学习

1)for循环是循环的一种标准形式,通过for语句实现,其语法如下:

for(①;②;③)④

①表达式,通常用于循环的初始化。包括循环变量的赋初值、其他变量的准备等;

②表达式,循环的条件判断式,如果为空则相当于真值;

③表达式,通常设计为循环的调整部分,主要是循环变量的变化部分; ④循环体,由一条或多条语句构成,多条语句需要用一对花括号括起来。

2)while循环通过while语句实现。while循环又称为“当型”循环,其语法如下

while(①)②;①表达式,循环的条件判断式,若值为0,则结束循环,退出while语句;若值为非0,则执行循环体

②循环体,由一条或多条语句构成,多条语句需要用一对花括号括起来。

3)do-while循环,又称为“直到型”循环,用do-while语句来实现,其一般格式为:

do { ①;} while(②);do-while语句的执行过程为:

先执行循环体①,再判断表达式②的值。若值为0,则结束循环,退出do-while语句;若值为非0,则继续执行循环体

4)break语句、continue语句和goto语句

break语句不能用于循环语句和switch语句之外的任何其他语句中,功能为无条件退出循环。

continue语句只结束本次循环,判断下一次循环环条件,满足继续循环,否则退出循环。

goto语句为无条件转向程序中的某条语句。

思考与探究

分别使用For循环、while循环和do-while循环来累加出1-100之间的奇数和。

实践与操作

不管是用or循环、while循环和do-while循环都好,核心算法是类似的,由于要累计出1-100之间的奇数,定义i从1开始,每次累加2即可,把i赋值给sum,直到i大于100即跳出,例使用while循环写出如下语句:

#include void main(){ int i,sum;i=1;sum=0;while(i<=100);{ sum=sum+i;i=i+2;} printf(“s=%dn”,s);} 教学总结

循环结构是面向过程编程中三种结构中最重要的一种结构,学好它是学好这门课程的关键。本章介绍的内容主要是For循环、while循环和do-while循环,同时也介绍了下break语句、continue语句和goto语句。while循环和do-while循环的条件判断一个在前,一个在后,为导致循环体执行的次数不同,需要密切注意;for循环为标准的功能很强的循环,通常用于可控制的循环,对于程序的维护和阅读都是最佳选择。循环结构的实质是重复执行一系列语句,这种重复性是在循环条件的有效控制之下完成的。程序的关键在于如何控制循环的条件,在恰当的时机由“真”变“假”而退出循环。

八、形成性评价试题

如题所示计算表达式s=1+(1+2)+(1+2+3)+„+(1+2+3+4+„+10),请写出程序并计算出S的值。

篇3:C/C++循环嵌套教学实践

1 知识点归纳

该文通过选择是典型的、能突出重点,突破难点的图形实例来讲解循环循环,把抽象的理论知识、概念置于具体实例中,使学生深入理解循环嵌套思想。

循环结构程序设计主要围绕四个要素和三个语句展开,四要素包括循环初始条件,循环条件判断,循环体,循环条件变量的修正;三个语句为:for和while、do-while和while语句。其中for语句的应用更为普遍些,while语句应用更广泛些,而do-while语句一般应用于特定场合。

(1)while语句

while定义的一般形式:

循环初始条件

(2)do~while语句

do~while语句用来实现循环结构,但执行过程不同于while循环,它是先执行循环体,然后判断循环条件是否成立。

do~while循环语句的一般形式:

循环初始条件

循环条件变量修正

循环判断:}while(表达式);

(3)for语句

for语句的一般形式:

for(循环初始条件;循环条件变量判断表达式;循环条件变量修正)

2 实例分析

循环嵌套教学,适用采用实例教学,实例教学法的关键在于精心选择实例,选择实例由浅入深、层层深入、环环相扣。在C/C++语言循环嵌套教学中,用于循环嵌套的最经典实例是打印图形,由于打印图形抽象,需要使用循环嵌套,多年教学实践表明常规教学法学生很难理解,因此该文在精选典型实例的基础上,采用引导式教学法,一步一步引导学生采用循环嵌套解决该类问题,使学生深入理解了在此类题中使用循环嵌套的缘由。具体设计如下:

实例1打印下面图形。

对于初学C语言循环结构程序设计的学生,很难一下理解使用循环嵌套来设计该图形程序,因此,需要引导学生一步一步地打印该图形,具体设计如下:

在打印这个图形,首先引导学生在屏幕上如何输出一个*,因为这个比较简单,程序代码:

继续引导输出多个*,例如输出5个*,大部分同学会这样输出:

5个*可以用printf语句一次输出,如果100个,甚至更多呢?怎么办呢?如果一次输出一个*,输出5次结果是一样的,也就是让printf"*"重复执行5次,引导学生想到执行重复操作的循环结构语句,有:

若输出100个*,也就是让printf"*"重复执行100次,只需将上面循环语句循环条件改为i<=100,即:

从图1分析看,首先是输出一个*,然后输出换行,程序语句:

然后,继续输出第2行*,然后换行。引用前面思想,程序代码:

以此类推,有

第三行*程序代码:

第四行*程序代码:

从上面分析看,程序代码共同点,先使用循环输出多个*,然后输出换行,若将第一行代码稍作修改,使用循环,则将上面代码整理放在一起,有:

观察这部分代码,引导学生发现这部分代码输出每行*的代码,非常相似,不同点在于,循环条件判断不同,但有规律:循环条件判断,从i<=1到i<=4,逐渐递增,每次增1,因此可以修改上面代码:

现在可以发现,上面代码是反复重复代码,j值从1最后修正为4,因此需要使用循环结构语句:

从中我们可以发现j<=4是图形的行数,i<=j表示第j行*数目。

实例2打印下面图形。

分析:观察图形会发现,此例与例1区别是,每行打印的*数目发生变化了,数目逐行递减,表示每行的*数i的循环条件判断发生变化,要确定i的循环条件判断?,先观察图形,有:

第一行,j=1;i=4;

第二行,j=2;i=3;

第三行,j=3;i=2;

第四行,j=4;i=1;

从中可以发现,4=i+j,则i=4-j。

因此有:

实例3打印下面图形。

分析:观察图形会发现,此例与前俩实例区别是,在每行打印的*之前先打印空格。则每行操作是先输出多个空格,然后输出多个*,再输出换行,三个操作。从图形分析来看,空格组成图形为实例2的*图形,不同点在每次输出的是空格,每行输出*数与实例1相同,因此有:

实例4打印如下图形。

分析:观察图形会发现,此例与实例3区别是,观察图形会发现,此例与例1区别是,每行打印的*数目发生变化了,:

第一行,j=1;k=1;

第二行,j=2;k=3;

第三行,j=3;k=5;

第四行,j=4;k=7;

从中可以发现,k=2*j-1。

如果不能发现k=2*j-1,可以使用数列思想:

第j项:aj=a1+(j-1)*d,等差d=2,则:

k=1+(j-1)*2=2*j-1

因此有:

实例5打印如下图形。

分析:观察图形会发现,此例是将实例4倒置,与实例4区别是:前面空格组成的图形与实例1相同,后面*组成的倒置等腰三角形,打印*的循环结束条件发生了变化,引用实例4给出的数列思想,有:

第一行,j=1;k=7;

第二行,j=2;k=5;

第三行,j=3;k=3;

第四行,j=4;k=1;

第1项aj=7,等差d=-2,则第j项,aj=a1+(j-1)*d=7+(j-1)*(-2)=9-2*j,因此有:

以此推出,任何二维图形一般有规律,与上面图形的不同的一般是循环条件判断不同,条件判断,既可以使用观察法,也可以使用我们中学熟悉的等差数列得出规律,还可以使用其它推理方法。

3 总结

针对我院学生教学对象,结合多年教学经验,笔者在C/C++语言循环嵌套教学实践中摸索出一套适用于我院学生对象的实例教学法,教学实践表明,将抽象的循环嵌套思想贯穿于一个完整的实际的实例中,改变了传统的以理论知识为中心的教学模式,由浅入深、层层深入分析讲解典型的、突破难点的实例,并在实例分析中很好地引入了中学数列思想,使学生感受到中学知识在大学程序设计中的应用,增进学生学习兴趣和动力,调动学生参与的积极性,取得了良好的教学效果。

参考文献

[1]施雷,陈卫卫.C语言中循环结构教学方法探讨[C].2009年全国计算机网络与通信学术会议论文集,303-305.

[2]王宏威.浅谈C语言中循环结构的教学方法[J].计算机与信息技术,2008(5).

[3]孙英,徐顺琼,李兴美.C语言中循环结构程序课的教学设计与探讨[J].计算机教育,2009(12).

[4]刘冬晖,刘智涛.案例教学法在C语言教学中的研究与实践[J].电脑知识与技术,2008(3).

篇4:C语言循环嵌套结构教学设计探究

【关键词】C语言;循环结构;微课

当今,信息化高速发展,数字技术正在影响和改变着我们生活中的各个领域,其中也包括教学模式的改变。微课作为数字时代的一种新型课程表现形式,以其主题明确、短小精悍、交互效果好等优点,在各个学科的教学中正被积极地推广和应用。在我院的C语言课程教学中,微课设计被应用于很多较难理解的知识点讲解中,经过实践发现教学效果良好。本文以应用C语言循环结构解决等差数列求和问题作为微课主要内容,对微课设计进行研究与探索。

一、微课的介绍

1.微课的定义。

微课是以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或技能点的教学环节开展的精彩教与学活动全过程,具有目标明确、针对性强和教学时间短的特点。

2.微课的组成。

(1)围绕某个知识点或技能点的教学视频和微课设计脚本;

(2)微课教学相关的教学设计方案和教学课件;

(3)微课相关素材、练习题、测试题、教学反思等辅助性教学资源。

3.微课的主要特点。

(1)教学时间较短:时长一般为8—10分钟。

(2)教学内容较少:主要是突出课堂教学中某个知识点,内容十分精简。

(3)资源容量较小:学生可以在线观看视频学习,也可查看相应教学资料。

(4)主题突出:一个微课就只包含一个主题任务,内容明确。

(5)自主学习为主:学生可以使用微课完成自主的、一对一的学习。

二、应用C语言循环结构解决等差数列求和问题微课设计

1.微课名称:应用C语言循环结构解决等差数列求和问题。

2.所属专业:软件技术专业。

3.所属年级:高职一年级。

4.所属课程:C语言。

5.知识点。

(1)掌握while循环语句的格式和执行过程;

(2)学会分析循环结构程序的设计思路;

(3)熟练应用while循环语句来编写程序。

6.技能点:能够通过while循环语句编写程序来解决实际问题。

7.教学类型:讲授型。

8.设计思路。

(1)微课设计目标:通过微课交代出课程的基本知识点(包括理论部分与实践部分)、课程的整个教学环节以及所实现的具体任务。

(2)教学情境设计:在现实生活中,我们会遇到很多需要重复操作的事情。比如,在数学课中曾经接触过的等差数列求和问题。因为等差数列中的数据都是有规律的,而且加法的计算也是重复的,所以完全可以用循环程序来帮助我们完成这个看似复杂的计算。

(3)微课基本思路:在微课设计中,通过教学情境的引入,向学生交代本次课的主要内容是用循环结构程序来解决等差数列求和问题,学生首先聆听教师讲解有关循环结构的相关知识点,教师做好相关的技术指导,之后教师将学生带入到具体任务的实现过程中,包括本次课中主要学习的while循环结构的特点、语法格式、流程图和执行过程,再根据等差数列的特点分析出用程序解决该问题的设计思路和所需变量,然后结合while循环的语法格式将循环语句书写出来。在具体编程设计工作之前要将整个程序的流程分析清楚,再动手写出具体程序,这样才能避免问题的产生,还能够培养学生良好的程序设计书写习惯。学生在分组完成具体任务后要进行讨论,能够总结出while循环应用于实际问题中的设计思路和分析方法,之后能够举一反三合理解决其它问题。本次课程结束前,要求各项目组对项目成果进行演示和阐述,并进行评分。最后总结归纳本次课的主要内容。

9.教学过程。

(1)片头(20秒以内)

通过画面展示“微课”名称 、“微课”所支持的课程名称、“微课”教学内容简介、“微课”主讲教师简介。可以添加适当的背景音乐。

(2)正文(8分钟)

① 画面1:通过课件展示教学情境,引入具体研究任务。(30秒)

具体展示内容:各位同学,在现实生活中,我们会遇到很多需要重复操作的事情。比如,在数学课中曾经接触过的等差数列求和问题。因为等差数列中的数据都是有规律的,而且加法的计算也是重复的,所以完全可以用循环程序来帮助我们完成这个看似复杂的计算。

② 画面2:讲解循环结构的特点、while循环的语法格式和执行过程。(220秒)

具体技术指导内容:学生首先聆听教师讲解有关循环结构的相关知识点,教师做好相关的技术指导,之后教师将学生带入到具体任务的实现过程中,包括本次课中主要学习的while循环结构的特点、语法格式、流程图和执行过程。

③ 画面3:分析等差数列求和问题中所使用的变量、设计流程,并进行程序编写。(300秒)

具体操练内容:向学生交代本次课的主要内容是用循环结构程序来解决等差数列求和问题,再根据等差数列的特点分析出用程序解决该问题的设计思路和所需变量,然后结合while循环的语法格式将循环语句书写出来。在具体编程设计工作之前要将整个程序的流程分析清楚,再动手写出具体程序,这样才能避免问题的产生,还能够培养学生良好的程序设计书写习惯。

(3)小结(20秒)

通过画面展示总结本微课重点。

(4)片尾(10秒)

通过画面展示“微课”制作者信息、 相关“微课”信息、“微课”应用信息和必要的内容注解。

三、结语

本微课在C语言教学中已经应用,并取得了较好的教学效果,学生通过微课的学习对C语言循环结构的理解更加深刻了。张一春教授认为,对于老师而言,最关键的是要从学生的角度去制作微课,而不是在教师的角度去制作,要体现以学生为本的教学思想。因此,在今后的微课设计中,我们还要不断地探索,真正使微课成为学生自主学习的重要资源。

参考文献:

[1]张一春.微课建设研究与思考[J].中国教育网络,2013,10.

[2]孟祥增,刘瑞梅,王广新.微课设计与制作的理论与实践[J].远程教育杂志,2014,6.

篇5:C语言循环嵌套结构教学设计探究

【摘要】本文以应用C语言循环结构解决等差数列求和问题作为微课主要内容,阐述了对微课设计进行的研究与探索。

【关键词】C语言;循环结构;微课

当今,信息化高速发展,数字技术正在影响和改变着我们生活中的各个领域,其中也包括教学模式的改变。微课作为数字时代的一种新型课程表现形式,以其主题明确、短小精悍、交互效果好等优点,在各个学科的教学中正被积极地推广和应用。在我院的C语言课程教学中,微课设计被应用于很多较难理解的知识点讲解中,经过实践发现教学效果良好。本文以应用C语言循环结构解决等差数列求和问题作为微课主要内容,对微课设计进行研究与探索。

一、微课的介绍

1.微课的定义。

微课是以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或技能点的教学环节开展的精彩教与学活动全过程,具有目标明确、针对性强和教学时间短的特点。

2.微课的组成。

(1)围绕某个知识点或技能点的教学视频和微课设计脚本;

(2)微课教学相关的教学设计方案和教学课件;

(3)微课相关素材、练习题、测试题、教学反思等辅助性教学资源。

3.微课的主要特点。

(1)教学时间较短:时长一般为8―10分钟。

(2)教学内容较少:主要是突出课堂教学中某个知识点,内容十分精简。

(3)资源容量较小:学生可以在线观看视频学习,也可查看相应教学资料。

(4)主题突出:一个微课就只包含一个主题任务,内容明确。

(5)自主学习为主:学生可以使用微课完成自主的、一对一的学习。

二、应用C语言循环结构解决等差数列求和问题微课设计

1.微课名称:应用C语言循环结构解决等差数列求和问题。

2.所属专业:软件技术专业。

3.所属年级:高职一年级。

4.所属课程:C语言。

5.知识点。

(1)掌握while循环语句的格式和执行过程;

(2)学会分析循环结构程序的设计思路;

(3)熟练应用while循环语句来编写程序。

6.技能点:能够通过while循环语句编写程序来解决实际问题。

7.教学类型:讲授型。

8.设计思路。

(1)微课设计目标:通过微课交代出课程的基本知识点(包括理论部分与实践部分)、课程的整个教学环节以及所实现的具体任务。

(2)教学情境设计:在现实生活中,我们会遇到很多需要重复操作的事情。比如,在数学课中曾经接触过的等差数列求和问题。因为等差数列中的数据都是有规律的,而且加法的计算也是重复的,所以完全可以用循环程序来帮助我们完成这个看似复杂的计算。

(3)微课基本思路:在微课设计中,通过教学情境的引入,向学生交代本次课的主要内容是用循环结构程序来解决等差数列求和问题,学生首先聆听教师讲解有关循环结构的相关知识点,教师做好相关的技术指导,之后教师将学生带入到具体任务的实现过程中,包括本次课中主要学习的while循环结构的特点、语法格式、流程图和执行过程,再根据等差数列的特点分析出用程序解决该问题的设计思路和所需变量,然后结合while循环的语法格式将循环语句书写出来。在具体编程设计工作之前要将整个程序的流程分析清楚,再动手写出具体程序,这样才能避免问题的产生,还能够培养学生良好的程序设计书写习惯。学生在分组完成具体任务后要进行讨论,能够总结出while循环应用于实际问题中的设计思路和分析方法,之后能够举一反三合理解决其它问题。本次课程结束前,要求各项目组对项目成果进行演示和阐述,并进行评分。最后总结归纳本次课的主要内容。

9.教学过程。

(1)片头(20秒以内)

通过画面展示“微课”名称、“微课”所支持的课程名称、“微课”教学内容简介、“微课”主讲教师简介。可以添加适当的背景音乐。

(2)正文(8分钟)

①画面1:通过课件展示教学情境,引入具体研究任务。(30秒)

具体展示内容:各位同学,在现实生活中,我们会遇到很多需要重复操作的事情。比如,在数学课中曾经接触过的等差数列求和问题。因为等差数列中的数据都是有规律的,而且加法的计算也是重复的,所以完全可以用循环程序来帮助我们完成这个看似复杂的计算。

②画面2:讲解循环结构的特点、while循环的语法格式和执行过程。(220秒)

具体技术指导内容:学生首先聆听教师讲解有关循环结构的相关知识点,教师做好相关的技术指导,之后教师将学生带入到具体任务的实现过程中,包括本次课中主要学习的while循环结构的特点、语法格式、流程图和执行过程。

③画面3:分析等差数列求和问题中所使用的变量、设计流程,并进行程序编写。(300秒)

具体操练内容:向学生交代本次课的主要内容是用循环结构程序来解决等差数列求和问题,再根据等差数列的特点分析出用程序解决该问题的设计思路和所需变量,然后结合while循环的语法格式将循环语句书写出来。在具体编程设计工作之前要将整个程序的流程分析清楚,再动手写出具体程序,这样才能避免问题的产生,还能够培养学生良好的程序设计书写习惯。

(3)小结(20秒)

通过画面展示总结本微课重点。

(4)片尾(10秒)

通过画面展示“微课”制作者信息、相关“微课”信息、“微课”应用信息和必要的内容注解。

三、结语

本微课在C语言教学中已经应用,并取得了较好的教学效果,学生通过微课的学习对C语言循环结构的理解更加深刻了。张一春教授认为,对于老师而言,最关键的是要从学生的角度去制作微课,而不是在教师的角度去制作,要体现以学生为本的教学思想。因此,在今后的微课设计中,我们还要不断地探索,真正使微课成为学生自主学习的重要资源。

参考文献:

篇6:C语言循环结构教学浅析

《C语言程序设计》作为高校计算机及其相近专业的一门必修课程, 是学习后续主干课程数据结构、操作系统等课程的基础, 大部分高校都把该课程作为入门的程序设计类课程进行讲授, 由此可见《C语言程序设计》课程在计算机及其相近专业教学中占有十分重要的地位。近几年由于高校连续扩招, 特别是对高职类院校来说, 招生压力的影响导致了入学生源质量的下降, 使教学过程受到很大的影响, 教师常常抱怨学生“听不懂”, “学不会”, 这其中应该有两方面的原因, 一方面是由于学生的入学基础相对薄弱, 理解能力不够所造成, 另一方面也与教师自身教学方法不当有关, 在教学中过分突出理论知识讲解, 不能做到因材施教。针对高职学生的入学实际情况, 在教学中采用典型实例分析, 循序渐进引导, 启发式教学, 收到了较好的教学效果。

2 循环基本概念引入及教学内容设计

如果一个计算过程, 要重复一系列的计算步骤若干次, 每次计算步骤完全相同, 则这种算法过程称为循环过程。循环结构的特点是可以减少源程序重复书写的工作量, 用来描述重复执行某段算法的问题, 这是程序设计中最能发挥计算机特长的程序结构。循环结构是建立在顺序结构的程序基础之上, 为了使学生更容易理解循环结构, 以顺序结构设计为例进行引入, 可以举一个简单的例子, 如下:

例1:打印10个1。程序分析, 使用顺序结构设计该程序, 需要写10行printf ("%d", 1) ;语句, 如果打印100个或更多的1, 如何办?如果利用顺序结构设计这个程序将需要书写更多的printf ("%d", 1) ;语句, 可以启发学生, 该程序语句printf ("%d", 1) ;是不是一个被重复执行的过程。反复执行10次或者更多次, 符合循环结构算法的特点。通过该例子可以引入要授课的内容———循环结构。

2.1 循环结构程序的设计方法

如何设计刚才的程序, 需要首先了解循环结构的语法, 在C语言中, 循环结构有3种:while语句、do…while语句和for语句, 根据执行过程的不同, 可以将这3种语句分为两类:当型循环和直到型循环, 其中while语句和for语句可以归为当型循环结构, do…while语句为直到型循环结构, 两类循环的具体执行过程如图1所示。这两类循环一个最大的区别在于直到型循环要无条件执行一次循环体才判断条件真假, 决定是否继续循环。它们的循环思想其实是一致的, 只是表现形式不同[1], 3种循环可以相互转换, 只要掌握了其中一种循环, 可以轻松地掌握另外两种循环语句, 因此以while结构为例进行分析, while语句语法如下:

while (循环条件表达式)

{

需要执行的循环语句体;

}

根据图1 (a) 可以容易地掌握while语句的执行过程:首先判断循环条件表达式的真假, 为真时执行语句体, 然后继续判断循环条件表达式的真假, 为真时继续执行语句体, 直到循环条件表达式的值为假, 循环结束。

不管一个循环结构有多复杂, 都可以从以下3个方面来分析:循环的初始状态、循环的终止条件、循环体语句[2];把它叫做要素1, 要素2和要素3, 可以通过构造循环3要素来设计循环程序。

例1程序的实现关键在于循环的次数问题, 这里需要解决两个问题, 即设计要素1与要素2。这里需要引入一个控制循环次数的变量i, 该变量的初值可以设置为i=1, 也即要素1, 在循环过程中i不超过100, 即结束条件为i<=100, 即要素2。通过分析, 学生编写出如下程序:

通过运行, 学生发现循环的次数并不是100次, 而是无限次执行, 这时, 教师可以进一步启发学生分析程序的执行过程, 发现在程序的执行过程中i的值没有变化, 故①条件始终保持真, 找到问题后, 提示学生如何才能够使i的值随循环语句②的执行发生变化。学生通过启发可以写出语句③i=i+1;语句③是放到②前面还是后面?学生通过分析后, 理解了语句③应放到语句②后面。例1程序的流程图如图2所示。

例2:编写程序1+2+…+100。程序分析:这是一个求和问题, 变量需要被相加100次, 即循环次数为100, 该问题也可以利用循环求解, 首先需要定义循环变量i和累加和变量sum, 可以容易地确定要素1为i=1, sum=0;要素2为i<=100;关键是确定要素3, 即循环体变量i被反复相加了100次, 即第一次加1结果为sum=sum+1, 第二次加2结果为sum=sum+2, 以此类推, 第100次相加结果为sum=sum+100, 即循环体语句可以写为sum=sum+i;通过分析, 可以写出如下程序 (流程图如图3所示) 。

对这个问题, 可以进一步引导, 编写类似的求解问题, 如1+3+5+…+99, 2+4+…+100, 99+97+…+1, 100+98+…+2等。

2.2 循环使用需要注意的问题

通过上面的分析, 学生基本能够设计一个简单的循环程序了, 也了解了while循环结构设计的方法, 在设计循环结构程序时, 还需要注意一些细节问题, 否则会出错。下面通过程序进行分析, 例3:求1+1/2+1/3+…+1/100的和。程序分析:这个例子与例2类似, 学生模仿后编写出如下程序代码:

但调试结果为1。显然, 运行结果是错误的, 说明程序有问题, 引导学生分析1/i的结果是什么?学生通过前面的学习, 知道其结果为整型值0, 找到了原因, 将其改为sum=sum+1.0/i;那么和是一个什么类型的值?为浮点型数即sum可以定义为double, 通过引导学生将其修改为正确的程序。可以继续举例让学生求10!, 编程总结累加与累乘的区别。

3 结语

循环结构在程序设计中使用频率之广, 是其他两种结构 (顺序与选择) 无法相比的, 也是程序设计中较难的部分, 在课堂教学中教师必须站在初学者的角度, 循序渐进进行教学, 还需要合理引导、启发学生, 让学生积极主动参与教学。另外, 由于C语言程序的实践性较强, 还需要通过实践环节的训练, 上机验证, 找出发生错误的原因, 进行归纳总结、举一反三, 这样才会收到良好的教学与学习效果。

参考文献

[1]赵卫绩, 刘井莲, 樊守芳.实例教学法在C语言循环结构教学中的应用[J].通化师范学院学报, 2012, (2) :58-60.

篇7:《C语言程序设计》教学探究

关键词:教学方法案例教学启发教学教学效果

0 引言

《C语言程序设计》作为计算机专业的基础课,已经成为一门必修的语言课程,在整个语言课程体系中占有非常重要的地位。在C语言教学过程中,从客观上讲,教师的教法和学生的学法的差异,对教学效果都会产生很大的影响。针对教师的教法和学生学习语言类课程的学法,结合近几年来的教学经验和教学体会,把一些经验和方法总结出来,希望能对C语言课程的教学和学习有所帮助。

1 分析教学中存在的问题

《C语言程序设计》是一个逻辑性很强的课程。有些问题是将数学知识转化用c语言来实现,这就要求学生首先要能够理解和掌握数学知识,才能将其转化用c语言来实现。在调试程序时,提示的信息都是用英语给定,那么也就要求学生掌握最基本的英语单词,有些甚至是计算机专业英语,能将英语句子翻译为汉语,才能够对程序加以修改。学生在心里认为c语言难学,没有积极学习的主动性,导致上课时没兴趣,不能专心听讲,布置的作业无从下手,在实践课中,看到要编写的程序题目,理不出头绪。

2 涉及新的知识要有导入

在教学的過程中,要将新的知识点,要有很自然的导入语,引导学生思考问题和解决问题的方法。例如:scanf(“%d”,&a);只能从键盘接受 一个整型数,现在要输入40名学生的成绩,如何通过一个scanf函数来实现,难道是要定义40个变量,那如果要接受100个数呢?更多的呢?为了解决诸如此类的问题我们采用数组来实现。这样也就引导学生思路跟着教师,给他们提出问题,在给出解决问题的办法。

3 举一反三

给定一个例子时,将涉及到的所有内容都要讲到。各种形式,可能出现的错误都要指定。例如:现在要求n!我们可以给定一下几种形式:

(1)main()(2)main()

{ int i=1,n;{inti=1,n;

doubles=1; doubles=1;

scanf("%d",&n); scanf("%d",&n);

while(i<=n) do{ s*=i;

{s*=i;i++;

i++;} }while(i<=n);

printf("%lf",s); printf("%lf",s):

} }

(3)main()(4)main()

{inti,n ; {int i,n;

double s=1;doubles=1;

scanf("%d",&n); scanf("%d",&n);

for(i=1;i<=n;i++)i=n;

s*=i;while(i>=1)

printf("%lf",s); {s*=i;

} i--;}

printf("%lf",s);}

(5)main() (6)main()

{intI,n; { inti=0,n;

doubles=1; doubles=1;

scanf("%d",&n); scanf("%d",&n);

i=n; while(i<=n)

for(i=n;i>0,i--) {i++;

s*=I;s*=i;}

printf("%lf",s);}printf("%lf",s);}

一个例子可以给出多种方法来实现,在这只给出6中形式,从这6种中,就可以看到初值不同,语句的书写顺序不同。通过一个例子,让学生能理解各种形式,遇到诸如此类问题时,就可以迎刃而解。

4 与实践教学相结合

程序设计课程具有很强的实践性,对于计算机语言课程的教授不应仅仅是传授知识,应该以培训能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序。应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。

参考文献:

[1]朱健,庞倩超.C语言程序设计案例教程.全国高职高专教育精品规划教材:北京:交通大学出版社.

[2]郭芹.对高职高专计算机专业程序设计教学的思考.中国科技信息.2008(1).

[3]谭浩强.C语言程序设计教程.北京:高等教育出版社.

篇8:C语言循环嵌套结构教学设计探究

C语言是当前许多高校针对计算机专业或非计算机专业开设的程序设计入门课程, 它不仅有着广泛的应用领域, 也被各类计算机等级考试列为重点考试科目之一。其教学目标在于使学生通过该课程的学习, 逐步掌握程序设计的思想和方法, 进而具备计算机应用能力以及问题的求解和探索创新能力。然而, 从目前的教学情况来看, 学生普遍感到C语言课程难学、面对实际问题时不知如何转换编程思想。C语言中的循环结构, 却正是学生形成并掌握编程思想和方法的关键环节。

作为面向过程的结构化程序设计语言, C语言具有顺序、选择、循环三种基本结构, 其中循环结构是重点亦是难点的内容。说它重要, 是因为它既是顺序和选择结构教学内容的深入, 又是后续章节教学的基础。例如数组的引用就是以循环为基础, 利用单层循环可以解决一维数组的引用, 利用循环嵌套可以解决二维数组的引用[1]。说它难, 是因为与顺序和选择结构不同, 循环结构在现实生活中并没有非常直观类似的情境。因此初学者往往会对于“什么是循环”、“何时需要使用循环结构”和“如何使用循环结构”感到十分困惑。本文就是以解答好这三个重要问题为目标, 通过精心选择的教学案例和灵活有效的教学方法来帮助学生牢固地掌握循环结构, 为其后续章节的学习打下坚实的基础。

2. 传统的教学方式存在的问题

在C语言的各类教材中, 对于循环这一章的介绍通常都是先从循环的定义入手, 给出循环的理论概念并比较循环的两种基本结构:“当型”循环 (先判断条件, 再执行循环体) 和“直到型”循环 (先执行一次循环体, 再判断条件) ;接着列举出C语言中实现循环的4类基本语句:while语句, do…while语句、for语句与goto语句, 说明它们的语法规则和执行顺序;然后进一步引出循环嵌套并给出一些循环的应用示例。这种传统的教材编写模式固然对于知识的传授更具系统性和逻辑性, 然而却不利于引发学生的学习兴趣。而教师往往也是按照教材的章节安排按部就班地进行讲解, 先花大量的时间系统地讲授各循环语句的语法规则、执行过程, 然后再举出相应的示例。这就使得学生在一种毫无感性认识的前提下枯燥地学习相应的理论知识点, 造成理解消化困难、兴趣缺失, 对于给出的示例也只是“知其然而不知其所以然”, 并没有从根本上弄清楚什么是循环, 为什么要使用循环, 以及循环结构的真正意义, 也就更加谈不上对循环结构灵活运用、举一反三。

3. 选取合适的教学案例, 运用有效的教学方法, 回答好循环结构的三个问题

针对传统教学方式存在的问题, 笔者认为, 在教学安排上, 可以改变传统的先讲理论后举实例的做法, 直接采用案例驱动来回答好循环结构的三个重要问题。首先, 可以通过选择一些贴近生活的比喻来引入循环的思想, 使学生了解什么是循环;然后再通过列举一些生动有趣的实例来说明为什么要使用循环, 使学生明确循环的意义;最后通过设计一些具有连贯性的、由浅入深的案例来加深对循环语句的理解和应用, 使学生掌握如何使用循环结构。

3.1 什么是循环?——了解循环的概念

对于这个问题的解答, 可以通过实际生活中“吃饭”[2]与“考试”的例子来引入循环的思想, 如下图1所示。从这两个例子可以看出:“循环”其实就是“重复”, 是为了达到某种目标 (循环条件) , 而反复地执行某些动作 (循环体) , 直到目标达成为止。同时, 虽然这两个例子都是循环, 但细节处仍有不同。“吃饭”是典型的“当型循环”, 即先判断是否饥饿来决定是否执行吃饭的动作, 是“先判断后循环”, 其循环体 (吃饭) 有可能一次都不执行。而“考试”是典型的“直到型循环”, 即必须先通过学习才能参加考试, 并根据考试的结果来决定是否需要继续学习和重新参加考试, 是“先循环后判断”, 循环体 (学习和参加考试) 至少执行一次。

由此, 便回答了“什么是循环”的问题, 并比较了两种循环结构的特点, 也引出了“循环条件”和“循环体”等概念。

3.2 何时需要使用循环?——明确循环的意义

了解循环的概念之后, 学生还需要进一步明确在面对实际问题时, “何时需要使用循环?”即明确循环结构的实用性。对此, 教师可以选择一些带有趣味性的实例来加以说明, 如经典的“百钱买百鸡”问题[3]。在教学过程中教师可以设置情境, 在将题意说明清楚后让学生先通过手工演算的方式来进行求解, 以激发学生的兴趣。学生在分析讨论的过程中会发现, 对于这个看似简单的问题, 通过列举方程式却无法轻易得到答案。因为根据已知的条件, 这个三元一次问题中只能列举出两个方程式, 运算条件不够充分。然而, 使用最笨拙的“穷举法”却能够很好地解决这个问题, 即将所有可能满足条件的值都一一进行尝试, 虽然运算时间长, 却必然能够最终得到正确答案。此时教师便可以向学生说明, 实际上“穷举法”就是一种基于循环结构的解题方法。对比于前面得出的循环概念可知, “将所有可能满足条件的值都一一进行尝试, 直到得到最终解答”, 此命题里其实已经隐含了循环结构的“循环条件”与“循环体”。其循环条件就是“尝试完所有可能的值”, 循环体就是“判断是否满足百钱买到百鸡”。

循环结构除了可以实现值的穷举, 还可应用在一些需要重复计算的问题求解上。如求解“一球从10000米高的地方自由落下, 每次落地后反跳回原高度的一半, 再落下, 问当它第58次落地时, 共经过了多少米?”;或是求解“棋盘上的麦粒”问题 (国王问发明了国际象棋的宰相需要什么奖励, 宰相说:“请陛下您在棋盘的第一格里放1粒麦子, 第二格里放2粒, 第三格里放4粒, 以后每一格的麦子都是前一格的两倍。这样把棋盘上的64个小格摆满, 就把这些麦粒赏给我吧!”) 里国王需要给出多少的麦粒?这些问题不但生动有趣还具有一定的现实意义, 在吸引学生注意力的同时能够促使学生开动脑筋, 并在各种运算方法的比较中体会出循环结构的方便性与实用性。

3.3 如何使用循环?——掌握循环的应用

明解了循环结构的意义, 对于如何使用循环结构来解决实际问题还不能急功近利。应当先选择一些难度较小的基础性例题, 来具体地讲解循环语句, 然后在此基础上设计一些循序渐进、由浅入深的案例来加深对循环语句的理解和应用。

例如, 可先以求解“1+2+3+…+n=?”这样的简单问题为例, 鼓励学生找出其中隐含表示的“循环条件”和“循环体”。通过分析学生会发现, 这个问题其实质是在重复地做“加法”运算, 先加值1, 再加值2, 直到n为止。因此, 可判断出循环体为“相加运算”, 循环条件为“到n为止”。进一步分析循环体, 会发现, 相加的值在不断的增1, 因此循环体又可以进一步细分为两个动作“加上当前值”和“当前值增1”, 这两个动作使用复合语句便可以同时放入循环体。

分析出循环结构中的关键要素“循环条件”和“循环体”之后, 此时教师便可具体讲授C语言中的几类循环语句的一般形式和执行过程了。goto语句由于能够实现无条件的跳转, 因此通常不提倡使用。教师可以先从简单的while语句入手, 说明在其语句中循环条件与循环体分别放置的位置, 并现场进行编程演示, 使学生直观地感受到用循环语句解决实际问题的步骤。接着, 教师可对比介绍do…while语句, 可提醒学生由于其执行过程与while语句有区别, 因此有一些细节需要注意:一是要考虑到给定的n值小于1的情况, 所以相加的第一个“当前值”应取值为0;二是要留意do…while语句本身末尾所带有的分号, 并不是一个空语句。最后, 教师可引出for循环语句, 它实际是对while语句的一种变形, 只是形式更加灵活。可以通过将初始化语句以及循环体内的语句放置于for循环的不同的位置, 使学生在对比中体会for语句的执行顺序。

在学生理解了C语言中的循环语句之后, 教师可再设计一些具有连贯性的、由浅入深的案例来巩固其对循环结构的掌握。例如, 要求打印出如下图2中所示的各个图形。其中图形a要求打印出一个n行n列的星号矩阵, 可简单地运用循环嵌套加以实现;图形b是在图形a的基础上增加了难度性, 虽仍是一个n行n列的矩阵, 但需要打印出不同的数值;图形c则是在图形b的基础上进一步地变形, 不仅需要打印数值, 而且需要分奇数行和偶数行来考虑所打印数值的规律;图形d则不仅需要分析归纳出所打印的数值与给定的n值之间的规律, 还需要总结出打印的列数与行数之间的关系。

在教学过程中, 教师可以运用“举一反三法”来对这些经典问题进行变换, 将教学知识点融入于不断变换的问题情境中, 使学生在问题探究中掌握知识和方法, 学以致用。或是鼓励学生运用“归纳法”来找出问题内在的规律, 将特殊问题归纳到一般性的问题。

4. 结束语

循环结构是C语言学习的重点, 掌握好循环结构的使用不仅能为后续的数组、函数、指针章节的学习奠定扎实的基础, 也能使学生建立编程的自信心。在教学的过程中, 教师若能事先选择好生动有趣的案例, 事中运用灵活多变的教学方法, 事后进行及时有效的总结, 解答好学生心中的疑惑, 定能取得很好的教学效果。

参考文献

[1]赵俊峰.《C语言程序设计》中“循环结构”教学探析[J].忻州师范学院学报, 2008, 24:74-76.

[2]薛慧芳.《C语言程序设计》循环结构的教学探讨[J].网络财富, 2010, 10:175-176.

篇9:C语言程序设计教学方法探究

摘要:在应用型本科C语言程序设计教学实践中,对课程合理定位,改进课堂教学方法,以案例引导为教学核心,激发学生的学习积极性。

关键词: 教学方法 案例引导 程序设计

【中图分类号】TP312.1-4

应用型本科人才培养是遵循本科人才培养教育规律,突出实践应用的一种人才教育培养模式。“C语言程序设计”是我国应用型本科院校中计算机、电子、通讯等专业学生在跨入大学校门后接触的第一门专业基础课程,提高这门课程的教学质量,对于增加学生对计算机语言的浓厚兴趣以及培养大学生的计算机应用及开发能力都至关重要。

一、现状及其教学中存在的问题

1、由于学生刚接触计算机语言,同时C语言作为结构化程序设计语言,它具有较强的抽象性, 常规教学内容重在讲解C语言的基本语法,所选编程实例大多用于语法规则的验证和说明。因此,对初学者来说比较难于接受,也容易出现一些问题。

2、传统的实验教学内容简单、枯燥,学生多按实验教材和教师指导的程序一步一步完成,课下很少相互间进行交流,学生虽然有一定收获但是也束缚了手脚。从而导致一部分学生在开始的前几次上机过程还饶有兴趣后又感觉枯燥无比,逐渐对程序设计语言的学习产生较大误区,觉得C语言没有多大用处,从而放弃认真学习C语言的机会。

3、在教学方法上,由于传统的“填鸭式”教学方法只是简单地按照课本顺序循序渐进地教学,每一节课都要记住许多语法细节而实践环节少,学生不知综合起来解决实际问题,始终处在被动的学习状态中,从而吃不透、用不活所学语言知识,在开发综合应用程序时,软件设计能力较差。

二、C语言教学方法探究

1、学生学习兴趣的提高

90后大学生思维活跃,个性十足,他们对自己的学习活动、学习内容与其未来的就业和发展的影响都是十分关注的,同时,他们对于课程知识的适用性了解很少。如果课堂教学能从教育心理学出发,通过有意义的学习内容来激发学生的这种学习动机,让学生感觉到计算机编程很奇妙,很有趣,并愿意在编写出来后通过不断修改完善,相互分享,从而增加他们完成一个程序后的成就感,进一步激起他们深入学习C语言程序设计课程的欲望。

2、改进教学方法,把编程解题思路和程序测试等放在首位

在《C语言程序设计》的教学过程中,注重由整体到具体,由设计算法到书写程序并进行调试的整个过程,培养学生对语言的兴趣及正确的思维模式。课堂教学组织过程重在从一个较完整的程序例子开始,该例子包含了该语言中的主要语句,目的是使学生先对程序有个初步的印象,再简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解。整个教学过程中应该把解题思路、方法和步骤当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

在《C语言程序设计》的实践教学中,学生的另一个拦路虎就是程序调试中遇到的种种问题。学生在上机输入程序后,编译时还会出现各种问题,加之学生的英语基础较差,看不懂message窗口中的英文提示信息,导致大多数学生面对机器不知所措,而这种情形又降低了他们学好这门课的信心以及学习这门课的主动性。因此,教师要做的就是找到一种好的方法使学生少出现这种问题。从而提高学生解决问题的能力,增加学习这门课程的信心。

3、将算法教学融入到语言教学中

在教学过程中,始终以程序设计为主线,每道题的讲解者从构造算法出发,着重于讲解算法的逻辑,以训练学生的实际编程序能力为目标。C语言学习过程中,学生感到困难的一般不是在于语法,而是如何根据算法编写程序问题。一题多解,注重算法是程序设计的灵魂,是教学重点,也是教学难点,而语言只是形式。没有正确的算法,计算机将解决不了任何问题。因此在算法教学中可以通过实例进行,从最简单的例子入手使学生在解决具体问题的过程中学习一些基本逻辑结构和语句。同时让学生知道根据同一个问题可以提出不同的从易于理解到精简的算法,从而比较这些算法之间的优劣。了解算法的优化。通过对算法的优化练习,可以在无形中提高学生写算法的水平。使得学生真正了解到算法是程序的灵魂。

4、以实例为引导,讲解语法规则

《C语言程序设计》中很多知识比较抽象、枯燥,不容易被学生接受和理解,教师在课堂教学中应该巧用生活中的实例化繁为简,将深奥的理论讲得通俗易懂。比如,在介绍程序控制结构时,我们可以从简单的猜数游戏入手,从而对分支结构做重点阐述,再进一步增加难度过渡到条件的嵌套和循环的学习中。所以教学中案例的选择非常关键,以这几点做为案例选择的基准:1)选择的案例能够包括已学过的知识和即将要学的知识;2)案例的选择要与学生的兴趣相关,能激励学生收集有关资料,激发学习自觉性,引发学生的相互讨论;3)案例的内容有助于增加学生的学习编程语言的信心。

5、循序渐进的课堂实施

在课堂教学中以案例分析为第一教学阶段,利用与生活相关的实例激发学生对这个功能程序的兴趣和求知欲望,引发学生自我讨论,分析结果和问题,最后归纳总结;以自主训练为第二教学阶段,引导学生能过由简单到复杂的训练,达到快速、准确掌握技能的目的;以总结评价为第三教学阶段,通过引导学生的交流体会,进一步归纳尚待解答的问题或提出新的问题,引发全面思考并建立自主学习的能力。

三、结束语

随着社会计算机领域的发展,计算机相关科目的教学目标也随之有了深远的影响与改变。对于学生来说,掌握好C语言的语法并不完全是这门课程的学习目标,而让学生学会用C语言来解决各种实际问题,并让学生对学习编程这条道路上体会到更多学习乐趣,尝试成功的喜悦才是这门课程的基本学习目标,从而让《C语言程序设计》真正成为学生喜爱的一门课。

参考文献:

[1]谢竞博.《C语言程序设计教学中的问题及改革建议》[J].重庆邮电大学学报:社会科学版,2008(2):137-140.

[2] 胡艳华.《独立学院非计算机专业C语言程序设计教改简论》[J].计算机教育,2011(2):107-109.

[3] 第惠多斯.《德国教师培养指南》[M].袁一安,译.北京:人民教育出版社2001.

上一篇:初中物理《探究平面镜成像特点》教案下一篇:农村的社会实践报告