没有合适的资源?快使用搜索试试~ 我知道了~
程序规划方法漫谈_连载_作者程序匠人[归纳].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 37 浏览量
2021-10-12
05:31:49
上传
评论
收藏 661KB PDF 举报
温馨提示
试读
14页
程序规划方法漫谈_连载_作者程序匠人[归纳].pdf
资源推荐
资源详情
资源评论
技术支持: http://www.wang1jin.com
技术交流: http://www.wang1jin.com/bbs
技术博客: http://www.wang1jin.com/home
程序规划方法漫谈
程序匠人原创
wang1jin 收藏
推荐网站 :www.wang1jin.com
技术支持 :www.wang1jin.com/bbs
一、前言 “程序设计” 的真谛是什么?许多初学者的理解是 “写代码”。但是, 在匠人看来,
把“程序设计”理解为“写代码” ,就像把“电路设计”理解为“画 PCB”一样。 新手们
苦恼的问题是,他们只会“写代码” 。他们一接到新的项目,总是在第一时间就爬到键盘上
去敲代码。新手们的精力总是比较旺盛, 他们加班加点, 两天就把所 有代码敲 完。然后 他们
会用十倍或几十倍以 上的时间去 调试 ,中间伴随着几次三番 的推 倒重 来。最后 ,他们交 出一
个勉强能跑 的程序。 这种 程序, 外行乍 一看, 觉得还行;内行乍 一看, 却是吓出 一身冷汗!
这也 许不能怪 新手们, 因为他们的 老师还没有 来得及教 会他们“程序设计” 的一 些方法 。他
们甚至还没有 学会写 注释 ,就已经毕业了 。于是他们只 能在毕业后 的工作中 ,去完成这段本
该在学 校里完成 的修炼 。 要说 到程序设计, 最重要 的一 种方法 ,就是“多 思考 ”。偏偏这又
是最难 手把手 地教 的。在此,匠人 介绍 一些设计时比较 常用方法给大家 。我们可以借助这些
方法 来对程序 进行更高效 、更多维的规划 。
二、程序流程 图 1、 从 一 个简单 的流程 图 说 起 我们 先 来看看 这个 图(参见图 1.1:一 个程
序流程 图例子)。许多人 都很熟悉 ,它的 名称叫 “流程 图”,或者“程序流程 图”。流程 图是一
种传统 的算法表示 法,程序流程 图是人们 对解决问题的 方法 、思路或算法的一 种描述 。它利
用图形化 的符号框 来代 表各 种不 同性质 的操作,并 用流程 线 来连接这些 操作。 2、流程 图 的
作用 流程 图简单直观 ,应用广泛 ,功能卓越 。 在程序的 规划阶 段,通过 画流程 图,可以 帮
助我 们理 清程序 思路。 尤其 是在 非结构化 的汇编语 言中,流程 图的重要 性不言而喻 。 在程
序的 调试 、除错 、升级 、维护过 程中,作为程序的 辅助说 明文档 ,流程 图也是很高效便捷 的。
另外,在团队 的合作中 ,流程 图还 是程序 员们相互 交流的 重要 手段。阅读 一份简明扼 要的流
程图,比 阅读 一段繁杂的代码 更加易于理解。
技术支持: http://www.wang1jin.com
技术交流: http://www.wang1jin.com/bbs
技术博客: http://www.wang1jin.com/home
3、流程 图 的 基 本 画法 按道 理, 画流程 图应 该 是 每个 程序 员 的 基本 功 。匠人 惊讶 的是, 居 然
有那么多人 不会或不 屑 于画流程 图。 在这里 ,匠人 罗列 出一些流程 图 中常用 的符号(参见
图 1.2:常用 的流程 图符号)。 细心 的 读者会 发现 ,这里给出 的一 些 流程 图符号 与教科书 上
的有点出入。 比如说符号 D(条件判断 框),书上给出 的一 般都是 四角菱 形的,而不是匠人
推荐 使用的六角菱 形。匠人在 实践 中发现 ,容纳 同样多的 文字,六角菱 形比四角菱 形可以 节
省更多的 空间。这也 就意味 着我 们可以 在同样大小的幅面 内 画出更多的 内容 。因此 ,除非 是
您公司 里有 明文规 定必须使 用四角菱 形,否则 就让教科书 见鬼去吧。 另一个不 同点,就是
如果 程序 中要调用 一个子 程序, 那么最好给这个 子程序一 个特别 的符号 ,就像 符号 C(调用
子程序 框)。这样做的好处 是可以 更有利于阅读 。
4、画流程 图 软件 匠人推荐 用 Visio 软件 来画流程 图。这款软件 功能 非常强大 ,而 画流程 图
只是 它众多功能中 的一 个 。 您只需新建一个 Visio 文件,点击菜 单“ 文件”-〉“ 形状 ”-〉“流
程图”-〉“基本流程 图”,就 可以得 到许多 现成 的流程 图符号 。 在 Visio 画好的流程 图,可
以很方便地复制 到 Word 环境 中。并且 可以 在 Word 中进一步进行修 改编辑。 当然,如果您
技术支持: http://www.wang1jin.com
技术交流: http://www.wang1jin.com/bbs
技术博客: http://www.wang1jin.com/home
只是 偶然画流程 图,也可以用 Word 或 Excel 软件 的画 图功 能来实现 。 它们一样 可以 画流程
图,只是 没有 那么专业罢 了。 (未完待续 )
5、流程 图 的 结构化 早期 的 非结构化语 言中都有类似 “goto”的 语 句。它允 许程序 从一 个地
方直接跳到另一个地方 去。 而随着 C 语 言的盛 行 , 对 程序的 结构化 要 求, 必 然在流程 图 中
得到体现 。 经过研究,人们 发现 任何 复杂 的程序 算法,都可以 分解为 顺序、 选择 (分支)
和循 环这三种 基本结构 。基本 结构 之间可以 并列、嵌套 ,但不允 许交 叉跳转。我们 构造一个
算法的时 候,也仅以这三种 结构 为构成单位,并遵守 三种 基 本结构 的规范。 如果 说“goto”
是孙悟 空的“ 筋斗云 ”,那么“ 结构化 ”就是“ 如 来神掌 ”。也就是 说,不管你 如何翻腾 ,也
不能 从一个结构直 接跳 转到另一个结构 的内部去。 呵呵 ! 这就是 结构化编 程的 要求。它的
好处 就是 结构清 晰,易 于正确 性验证 ,易于纠错。 既然整个算法都是 由三种 基本 结构 组成
的,那么,我们只 要掌握 这三种 结构 的流程 图画法,就可以 画出任何 算法的流程 图,无往 而
不利了。
(1)顺 序 结构 顺 序结构 是 简单 的线性结构 ,每条 语 句按 顺 序 执 行(参见图 1.4:顺 序结构)。
太简单 了,实在没啥好说 。
(2) 选择 ( 分支 )结构
(2) 选择 ( 分 支 )结构 选择 ( 分 支 )结构 是对 某 个给 定条件 进行 判断 ,条件 为“真 ”( 满足 )
或为“假”(不满足 )时,分别执行不 同的程序 语 句。当条件 不满足 时,有时需要执行一些语
句,而有时可能 什么 都不 做,由此分化出两种形态。(参见图 1.5:选择 ( 分 支 )结构)
散转 (Switch)结构
对于 简单 的选择 (if)结构 ,条件判断 的结果只有 Yes 和 No 两种。 而在更复杂 的 选择 结构
中,比 如说对 某个表达式 的值进行多重条件判断 ,结果 就会 有许多。 假设这个 表达式 可能
=0、1、 2、3、或者溢出,那么结果就有 5 个 分支, 我 们 可以用 4 个 选择 结构 来实现 这个 流
程图(参见图 1.6:多 重选择 ( 分支 )结构)。 当然,我们也可以用 一个散转 (Switch )结
构来画 (参见图 1.7:散转 (Switch)结构)。
剩余13页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- html+css+'青春献礼二十大 红色旅游助乡村'为主题的网页设计 2022年参与学校网页设计比赛时完成的
- Unity 模型布尔运算插件
- eCANtools工具,CAN资料包
- 129335283047061xiazaigongjuxiang(去重软件).apk
- Android环境检测工具,检测ksu,lsp,magisk等
- WordPress后台美化插件QuarterAdmin分享
- PCB_Project单片机绘制 (2024-5-11 22-22-13).zip
- nccl-local-repo-ubuntu2204-2.21.5-cuda12.4-1.0-1-amd64
- STM32移植LVGL源码工程 stm32移植GUI-Guider源码 LVGL移植源码
- Screenshot_20240522_084328_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功