返回介绍

4.5 画流程图来思考算法

发布于 2023-05-19 17:35:11 字数 1343 浏览 0 评论 0 收藏 0

为了充分体现流程图的用途,下面稍微涉及一些有关算法的内容。所谓算法(Algorithm)就是解决既定问题的步骤。想让计算机解决问题,就需要把问题的解法转换成程序的流程

仅用一条语句就能实现“石头剪刀布游戏”的编程语言是不存在的。如果眼下待解决的问题是如何编写“石头剪刀布游戏”,那么就必须考虑如何把若干条指令组合起来并形成一个解决问题的流程。如果能够想出可以巧妙实现“石头剪刀布游戏”的流程,那么这个问题也就解决了,换言之算法也就实现了。要是诸位被前辈问到:“这个程序的算法是怎样的呢?”那么只要回答清楚程序的流程就可以了。或者画出流程图也是可以的,因为表示程序流程的流程图本身就能解释算法

思考算法时的要点是要分两步走,先从整体上考虑程序的粗略流程,再考虑程序各个部分细节的流程。有关细节上的流程将在下一章介绍,在这里笔者先介绍粗略的流程。这是一种相当简单的流程,虽然或多或少会有例外,但几乎所有的程序从整体来看都具有一个一成不变的流程,那就是“初始化处理”→“循环处理”→“收尾处理”

试想,用户是怎样使用程序的呢?首先,用户启动程序(程序执行初始化处理)。接下来用户根据自己的需求操作程序(程序进入循环处理阶段)。最后用户关闭程序(程序执行收尾处理)。这样的使用方法就可以直接作为程序的整体流程。还是以“剪刀石头布游戏”为例,分出初始化处理、循环处理、收尾处理之后,就可以画出如图4.12那样的粗略流程图。图中把5次循环处理看作是一个整体,当成是一次处理(用矩形 表示)

图4.12 “石头剪刀布游戏”的粗略流程图

反映程序整体流程的粗略流程图还可以用来描述笔者写作本书时的流程(如图4.13所示)。首先,启动文字处理机,加载已经写到一半的稿件(初始化处理)。接下来,不断地输入文字(循环处理)。最后,保存稿件(收尾处理)

图4.13 使用“文字处理机”的粗略流程图

我建议那些因为程序没有按照自己的想法来工作而烦恼的人,不妨试试从勾画反映程序整体流程的粗略流程图下手。只要在此之上慢慢地细化流程,就能得到详细的流程图。接下来再按照流程图所示的流程编写程序就轻松了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文