C_and_CPP 板


LINE

其實不應該在這邊講,因為大部份都是常識,不是常識書上一開始也會講。 - 1 - 流程圖一般而言就是從上畫到下: ███ ↓ ███ ↓ .... ↓ ███ 開始結束還會用一個圓邊的block,那叫終結者(terminator, 端點) 不過這裡太難畫了,你知道就好。 反正早20年書上就教大家畫流程圖只要用這個長方格(執行步驟)和菱形(判斷)。 那這有什麼好講的呢?你都已經知道了啊 重點在下面。 - 2 - 迴圈一定會有一個判斷(condition), 不管先判斷(pre-condition)還是後判斷(post-condition),一定會有 ███ ↓ ███ ↓ ◢◣ ◥◤ 這個判斷有點大,不過意思到就好。 迴圈畫法的重點,就是把判斷後的流程畫好 *判斷- 合乎迴圈執行的條件嗎? yes: 回到迴圈頭 no: 往下執行 ███<─┐ ↓ │ ███ │ ↓yes │ ◢◣──┘ ◥◤ ↓no ███ ↓ .... pre-condition就反過來 *判斷- 合乎迴圈執行的條件嗎? yes: 往下執行 no: 往前跳過整個迴圈,繼續執行 no ◢◣<──┐ ┌── ◥◤ │ │ ↓yes │ │ ███ │ │ ↓ │ │ ███──┘ │ └─> ███ ↓ .... 如圖所示這樣會需要畫兩條跳躍(傳統上的goto),有別於post-condition的一條 因為post-condition當中,判斷和「繼續執行」的跳躍指令合在一起 而在pre-condition當中和判斷結合的跳躍指令卻是「停止執行,跳過迴圈」 而「繼續執行」的跳躍指令則在迴圈尾 為了一致性會希望你把「繼續執行」的跳躍都畫在同一邊 「跳過迴圈」畫在另一邊 如果有break,因為他是離開迴圈,所以也不要跟「繼續執行」畫在同一邊 不然兩條跳躍會交叉,你要畫個半圓表示跳過對方 ↑ │ ╭─╮ ─┘│└─> │ 這樣兩條流程交叉的畫法叫jog (或jump,不過組語的跳躍也是jump,會混淆) 除非圖很複雜,不然最好不要畫。 掌握這些原則之後多層迴圈也不過就是多畫幾條跳躍而已 只是那幾條不要互相重疊 ███<──┐ ↓ │ ███<─┐│ ↓ ││ ███ ││ ↓YES ││ ◢◣──┘│ ◥◤ │ ↓NO │ ███ │ ↓YES │ ◢◣───┘ ◥◤ ↓NO .... 因為太懶了而且要上班(開玩笑,有人在盯的),畫兩層迴圈就好 三層的,還有混合post-和pre-condition的,就你自己畫 - 3 - 注意有的時候兩層迴圈的開頭其實沒有分開來 因為方框裏面大家只會寫有實際執行到的敘述,不會把大括號也畫一格 所以有時候多層迴圈繼續執行會跳回同一格 ███<─┐┐ ↓ ││ 像這樣,可能好幾條跳躍都跳到同一格上 - 4 - 如果你覺得線很多很煩(事實上真的是很煩),可以使用connector符號 外觀是一個圈圈裏面一個數字或字母,例如"㊣" (這是示意; 裏面不要寫正) 圖上線很多的時候就這樣畫 .... ↓ ███ ─>㊣ 然後在上面或下面哪裡 ███<─㊣ ↓ .... 數字要配合,1就接1,2就接2 他的原始意義就是接圖,畫到紙不夠的時候接到右邊最上面繼續畫 等於一條線,只是中間不畫 所以不要有一個1接到好幾個1這種情況,那應該包裝為判斷或switch block。 -- 從前有個馬鈴薯王國 有個高貴偉大的國王 有的人尊敬他 有的人畏懼他 但有個人敢看不起他不只是一條龍 嘿呵 快出動 去征服 去擺平 嘿呵 快出征 去征服那條龍 嘿呵 快出動(宰了它!轟了它!)嘿呵 快出征 去征服那條龍 :■ Potatoes and Dragons (C)Alphanim France 2004-05 :. --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.118.23
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1505802607.A.065.html
1F:推 Neisseria: 推一個 09/19 14:50
2F:推 wtchen: 雖然有點離本板主題,不過言之有物+板工喜歡 :) 09/19 16:58
3F:→ school4303: 板工喜歡XD 09/19 18:03
4F:推 Yshuan: 推 很用心地說明阿 09/19 20:46
5F:推 stucode: 推 還想看更多像這樣的認真文章 09/19 21:10
6F:推 Lipraxde: 我記得以前我畫流程圖的時候老師要我把返回的箭頭指到線 09/19 22:56
7F:→ Lipraxde: 上 09/19 22:56
8F:推 VictorTom: 推~~M大竟然可以用BBS畫流程圖....Orz 09/20 00:51
9F:推 ddtsatan: 推 09/20 01:04
※ 編輯: MOONRAKER (220.135.118.23), 09/20/2017 12:03:19
10F:→ MOONRAKER: 開玩笑我可是從北斗神拳還在連載的時候就在畫流程圖… 09/20 13:07
11F:→ MOONRAKER: (虎爛)(廢話) 09/20 13:07
12F:推 VictorTom: 支持M大畫到獵人連載完....(堆坑XD) 09/21 03:07
13F:推 zzss2003: 謝謝,解釋得很清楚 09/21 11:09
14F:→ MOONRAKER: 不要阿~我不要畫到56億7000萬年後阿~ 09/21 11:10
※ 編輯: MOONRAKER (220.135.118.23), 09/21/2017 11:24:03
15F:推 Lee1027: 推一個 09/22 01:21
16F:推 leo80042: 09/22 04:48
※ 編輯: MOONRAKER (220.135.118.23), 09/22/2017 10:55:37
17F:→ MOONRAKER: 一直改不是因為很三八,是因為這個字型怪怪的 09/22 14:51
18F:→ MOONRAKER: Wenquanyi micro hei的符號都差半格 直線會斷… :~( 09/22 14:51
19F:推 sunneo: cool 09/25 22:05







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP