📄 00000003.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: <A HREF="mailto:ax.bbs@bbs.ee.nthu.edu.tw.">ax.bbs@bbs.ee.nthu.edu.tw.</A> (athena), 信区: test <BR>标 题: 星星流讲座 0018 <BR>发信站: ☆清华电机☆ (Tue May 16 11:39:54 1995) <BR> <BR> <BR>第 4 讲 之 3 基本的流程控制 <BR> Topic: Flow Design <BR> <BR>再来看看比较难一点的部份: <BR> <BR>label1: <BR> if (input != 0) ◇ 数字是否为 0 ? <BR> { <BR> scanf ("%d", &input); □ 输入一数字并加总 <BR> if (input > 0) ◇ 数字是否小於 0? <BR> sum += input; <BR> goto label1; <BR> } <BR> <BR> sum *= 1.05; □ 结总并加上营业税 <BR> <BR>这个地方和我们的流程图顺序不一样,我们的流程图顺序是: <BR> <BR> □ 输入一数字并加总 ←┬———┐ <BR> ↓ │ 是 │ <BR> ◇ 数字是否小於 0?┘ │否 <BR> ↓否 │ <BR> ◇ 数字是否为 0 ? ————┘ <BR> ↓是 <BR> <BR>为什麽要把顺序换过来呢?那是因为流程图本身有问题。当数字小於 0 的 <BR>时候,当然是不能加总的 (钱有负值的吗?) 。而当数字等於 0 的时候, <BR>表示输入完毕,就不需要再输入了,所以我们先判断输入数字是否为 0, <BR>如果为 0 那就不需要再输入下一个了。输入一个数字之後,判断它的值是 <BR>否合法,然後再加总。 <BR> <BR>你也许会想到,为什麽不等全部输入完再判断呢?我们可以用阵列呀! <BR>这是因为用阵列太浪费空间了。 <BR> <BR>现在相信给各位一个流程图,你大概都能用 if-else 和 goto 来完成了, <BR>我们比较感兴趣的是:怎麽设计流程图? <BR> <BR>写程式解决一个问题,可以分成五个步骤: <BR> <BR> 定义问题 (Requirement Collection) <BR> ↓ <BR> 分析需求 (Requirement Analysis) <BR> ↓ <BR> 程式设计 (Coding) <BR> ↓ <BR> 测试更正 (Testing and Debugging) <BR> ↓ <BR> 程式维护 (Maintainence) <BR> <BR>我们现在要讲的,就是实施前两个步骤的一种方法。首先是定义问题:我 <BR>们要做一个收银机的程式,它可以加总,算出总金额和找钱的数目。这是 <BR>我们写这个程式的终极目标,所以不管怎麽样,做出来的程式一定必须符 <BR>合这个需求。 <BR> <BR>有了需求,我们就要分析它,研究出如何做它,一个基本的方法是画流程 <BR>图。流程图最常用的就是方块和菱形,方块代表程序,菱形代表条件判断 <BR>和分支,只要会这两个就可以了,其他的除非你考试要考,否则也不太用 <BR>的到 :p 我们现在就收银机程式的需求来想想如何画流程图。 <BR> <BR>收银机的行为是操作员把资料一笔一笔的输入,输入完之後按加总键算出 <BR>总金额。我们使用的键盘上并没有什麽加总键可以利用,这时候该怎麽办 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -