什么是流程圖
算法是程序的靈魂,所以在編程之前會先設(shè)計算法。如果我設(shè)計完算法,要和我的同伴討論一下它是否合理,應(yīng)該怎么辦呢?在沒有寫出程序之前,我怎么描述我的算法呢?
首先想到的就是用語言描述,我們還是拿生活中的場景先舉個例子——假設(shè)你很喜歡吃下圖中的這種“荷蘭小黃瓜”(這種小黃瓜口感清脆,新鮮多汁,當(dāng)水果或者炒菜都非常好吃),由于超市里價格比較貴,你想用種子自己在家種,所以經(jīng)過搜索,設(shè)計了“種小黃瓜”算法:

- 準(zhǔn)備好20公分以上的容器,加入培養(yǎng)土,澆灌充足的水分,并播下2-3粒種子;
- 待幼苗長出后,分出最健康的苗株到大的容器里,每株間留下15公分的間距;
- 待葉子生長茂密長出藤蔓后,豎立支柱,將苗莖固定在支柱上;
- 接下來的生長期注意觀察,如果盆土干了就要澆水,每周施肥一次;
- 果實成熟后摘取,就能吃到美味的小黃瓜啦!
(實際的栽培可能有一些注意事項,小朋友們?nèi)绻朐囼灥脑捒梢宰孕邪俣龋?/p>
上面的“算法”是用文字描述的,你會不會感覺有點啰嗦?這種情況下,其實我們程序員有一個更好的工具來表示算法,那就是“流程圖”。流程圖并不神秘,上面的過程如果用流程圖表示是這樣:

流程圖
相信你一定能看懂這張圖吧?仔細觀察你會發(fā)現(xiàn),把要做的事情寫在文字框里作為指令(適當(dāng)簡練一點)。再用線條和箭頭把它們連起來,就組成了流程圖。用用流程圖表示的算法,會更清晰明了,也更容易理解,不容易產(chǎn)生歧義。
流程圖的元素
流程圖是由指令框和流程線組成的,不同的指令框使用方法有些不太一樣,這里有些簡單的規(guī)則:
- 開始與結(jié)束: 用于流程圖的起點和終點,是一種圓角的長方形;

開始結(jié)束
- 執(zhí)行:表示執(zhí)行的步驟,用普通的長方形來代表。

執(zhí)行
- 條件執(zhí)行:表示執(zhí)行的步驟會根據(jù)條件的不同而發(fā)生改變。

條件執(zhí)行
- 流程線:帶箭頭的線條,它表示執(zhí)行的方向和順序。

流程線
只要掌握上面4條規(guī)則,你就可以畫出自己的流程圖啦。
練一練
假如有以下“算法”:
你每天晚上放學(xué)之后回到家,會先看晚飯有沒有做好,如果晚飯做好了,就先吃晚飯,再做作業(yè),然后洗漱睡覺;如果晚飯沒有做好,你會先做作業(yè),然后吃晚飯,接著做作業(yè),洗漱睡覺。
請你用流程圖表示這個算法,并和你的爸爸媽媽討論一下。