游戏算法分析在C语言教学中的应用

2010-07-21 09:35:16刘天时李皎陈明晰西安石油大学计算机学院710065
中国科技信息 2010年7期
关键词:游戏教学学生

刘天时 李皎 陈明晰 西安石油大学计算机学院 710065

1 引言

算法是程序设计和软件开发的基础,也是计算机程序设计语言中一个重点和难点。算法具有不可见性、抽象性、复杂性是影响学生理解算法思想的重要因素[1,2]。由于其逻辑性强、实践性强,对初学者来说具有一定难度。因此,激发学生对算法设计的兴趣尤为重要。本文通过一些游戏案例来讲解算法设计思想,将学生对玩游戏的兴趣往设计算法的方向引导,从而促进学生理解一些典型算法设计思想。游戏算法分析教学方法使得学生从枯燥无味的算法学习中解脱出来,特别是学生一提到游戏,兴趣高涨,产生强烈的求知欲望,从而大大提高学生的学习兴趣,真正使学生爱学、乐学,达到寓教于乐的目的[3]。

下面以游戏案例为切入点,叙述程序设计中一些典型的常用算法,包括递归法、递推法和逆向法。

2 递归法

在算法分析与设计中,常常用到递归法。递归是指在定义自身的同时又出现了对自身的调用。递归方法可以把复杂问题逐层分解,最后将其划分为规模较小的问题进行解决,然后再逐层返回。使用递归方法往往使函数的定义或算法的描述简洁而且易于理解[4,5,6]。

汉诺塔问题是一个用递归思想解题的经典例子。汉诺塔问题可描述为:有3个分别命名为A、B、C的塔座,在塔座A上插有N个大小各不相同、从小到大编号为1,2,…,N的圆盘,且圆盘必须按照自下而上,由大到小叠放(如图1)。要求将塔座A上的N个圆盘借助塔座C移至塔座B上,并仍然按同样顺序叠放,圆盘移动时必须遵循如下规则:每次只能移动一个圆盘;……

登录APP查看全文

猜你喜欢
游戏教学学生
微课让高中数学教学更高效
甘肃教育(2020年14期)2020-09-11 07:57:50
赶不走的学生
“自我诊断表”在高中数学教学中的应用
东方教育(2017年19期)2017-12-05 15:14:48
对外汉语教学中“想”和“要”的比较
唐山文学(2016年2期)2017-01-15 14:03:59
学生写话
疯狂的游戏
飞碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戏
学生写的话
第八章直接逃出游戏
小学科学(2015年7期)2015-07-29 22:29:00
跨越式跳高的教学绝招
体育师友(2013年6期)2013-03-11 18:52:18