APP下载

辨析《数据结构》教学中几个容易误解的问题

2021-08-23黄静张连堂

现代计算机 2021年20期
关键词:语言

黄静,张连堂

(广州商学院,信息技术与工程学院,广州511363)

1 关于教材中算法类型Status

在不少院校所用的教材中,绝大部分过程型算法都标注为Status作为返回类型,似乎不符合一般编程理念。但是编者通常采用类语言描述算法,Status的意图是:告诉学习者这样的算法执行结果总有一个状态存在,通常用宏定义的方法把不同的返回状态进行预定义,例如:

然后在相关算法的描述函数中用return返回正确的状态(OK),用exit作为出口报错(ERROR或OVERFLOW),例如不少教材中存在类似于“算法1”的描述。其本意是该算法无返回类型,给出一个状态(Status)标志。执行结果错误时退出,并且给出描述错误性质的状态标识符,执行正确时返回正确状态[1]。

算法1.关于Status的解释说明

但是,这样的算法对于初学者而言非常容易误解和混淆,因为在一般语言编程时过程型函数是没有返回类型的,并且无论是何种情况,一个算法内部混用exit和return有悖常理,让初学者很是迷茫。需要澄清的是:编者仅仅是从算法的角度来描述算法执行的过程以及所有可能的执行状态,用类语言为学习者阐述一个清晰的思想方法。只要理解了算法,对于有语言基础的学习者而言,用标准的编程语言,把算法转换成严谨的函数付诸于实现,并不困难。

当然,我们还是建议授课者在讲授算法时,尽可能把类语言描述的算法更加贴近于标准语言的策略和方法,不要在同一个算法中混用exit和return,并且,尽可能不用exit作为算法出口,以免无形中给学习者建立一种错误的编程理念。……

登录APP查看全文

猜你喜欢

语言
诗之新,以语言创造为基
语言是刀
让语言描写摇曳多姿
多向度交往对语言磨蚀的补正之道
日常语言与播音语言
语言技能退化与语言濒危
我有我语言
论语言的“得体”
Only Words慎用你的语言
大自然的语言