《C语言程序设计》任务驱动教学方式

2017-04-20 12:07黄博军
东方教育 2017年1期
关键词:初值C语言程序设计逆向

黄博军

《C语言程序设计》课程的教学目标是使学生掌握程序设计思想,根据”任务驱动型课程”设计并编写程序,适合”任务驱动式教学”方式。其教学可根据”任务->程序->结果”的流程,将任务驱动方式概括归纳为二种形式,即:正向任务驱动式、逆向任务驱动式。

一、两种任务驱动教学方式定义

1、正向任务驱动

(1)对应学生学习阶段:初级阶段---认知程序。

(2)任务驱动方式:根据任务编写程序,运行程序,得出结果。

(3)任务驱动目标:已知程序清单,完成程序运行结果,并对结果进行分析。

2、逆向任务驱动

(1)對应学生学习阶段:中级阶段---剖析程序

(2)任务驱动方式:根据结果完成程序填空,运行程序,得出结果。

(3)任务驱动目标:已知程序结果,完成程序填空,并对运行结果进行验证。

二、正向任务驱动式

正向任务驱动式是在任务和程序已知的情况下,只需运行程序,得出结果,再对结果进行分析来完成任务。其任务形式是”任务->程序->?”,需要完成结果,故称为正向任务驱动。

教学一例:

1、提出任务:(1)求5!的值。(2)问s设定为什么类型的数据变量可以容纳积值?

要求:通过程序运行和结果分析,实现对程序的理解和对知识点的掌握。

2、给出条件:给出二组程序。给出条件。

方法一:

#include

main( )

{ int s;

s=5*4*3*2*1;

printf(“s=%d”,s); }

方法二:

#include

main( )

{ float s;

s=5*4*3*2;

printf(“s=%f”,s); }

要求:通过运行程序,记录结果,达到看懂程序。

3、收集学生对求5!任务解决的方法及结果分析。

方法一:输出结果:s=120

方法二:输出结果:s=120.000000

两种方法运行结果一致。

同学们得出:s变量设定为int和float类型时都可以容纳正确积值。

要求:在对结果分析后,学生应该掌握数据变量与容纳数据大小之间的关系。

4、任务驱动反思:”任务->程序->?”的任务驱动形式难度系数小,多用于知识入门阶段。任务通过结果对比完成。在新知识入门阶段学习中,有利于同学们熟悉程序,掌握知识点。同时可以提高学生学习兴趣,树立学习自信心。

要求:教师应归纳知识要点。

三、逆向任务驱动式

逆向任务驱动式是在任务和结果已知的情况下,需要补写程序,运行程序,再对结果进行验证来完成任务。其任务形式是”任务->?->结果”,需要完成填空,故称为逆向任务驱动。

教学一例:

1、提出任务:求1+2+ … +99+100的值。(1)对程序填空(共2空);(2)运行程序,记录结果,并验证结果。

要求:通过程序补写和结果验证,实现掌握循环控制语句的使用方法。

2、给出条件:部分程序和输出结果已给出。

#include

main( )

{ int i=1,sum=__⑴__;

while(i<=100)

{ sum=sum+i; __⑵__ ; }

printf("sum=%d\n",sum); }

给出结果:sum=5050

要求:重点掌握循环控制变量i的初值、终值和步长值设定,以及用于累加和变量的初值清零工作。

3、收集学生对任务解决的方法及结果分析。

方法一填空:(1)0 (2)i=i+1

程序运行结果:sum=5050(程序运行结果和给出结果一致)

结论:这部份同学认识到,变量sum用于存放累加值,初值应清零。

因此:⑴空填0;而数列每项值是加1递增,因此:⑵空填i=i+1。

方法二填空:(1)1 (2)i=i+1

程序运行结果:sum=5051(程序运行结果和给出结果不一致,计算结果错误。)

结论:少数同学忽视了变量sum初值应该清零。

因此:⑴空填1 ;而数列每项值是加1递增,因此:⑵空填i=i+1。

要求:在完成程序填空后,学生应该掌握循环控制变量初值、终值、步长值的设定方法。

4、任务驱动反思:”任务->?->结果”的任务驱动形式难度系数中,多用于知识巩固阶段。任务通过程序填空和结果验证实现。

要求:教师应归纳知识要点。循环控制变量三要素(初值、终值、步长值)的设定是完成任务的重要前提。

四、结尾语

课堂中教师要以学生为主体,为学生创设情境,让学生去感知、去认识、去发现、去体会,让学生在创设情境中,充分展露学习知识的思维过程,不受任何阻碍的畅所欲言,理思路,说理由,表方法,在平和的学习环境中,学生的思维始终保持活跃的状态,让学生去感受成功与失败,这就是任务驱动式教学的魅力。

猜你喜欢
初值C语言程序设计逆向
对外直接投资逆向技术溢出的碳排放效应
美国三季度GDP初值创两年最高
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
《吉普林》欧元区经济持续低迷
逆向应用不等式(组)解集的概念解题