1 00:00:00,363 --> 00:00:02,754 寫一個程式時,就是要想辦法 2 00:00:02,754 --> 00:00:06,204 將腦裡的好點子 變成真實的程式碼 3 00:00:06,414 --> 00:00:10,721 這裡我想要談一種很多程式設計師使用的方法 4 00:00:10,721 --> 00:00:13,262 稱作「偽代碼」 5 00:00:13,262 --> 00:00:16,966 你或許從來沒聽過「偽代碼」這名詞 6 00:00:16,966 --> 00:00:21,406 但基本上,這是很像英文的程式碼 7 00:00:21,406 --> 00:00:24,600 或者是任何一種語言 8 00:00:25,220 --> 00:00:28,931 呃,或許這不是很清楚, 那來談談一個實際的例子 9 00:00:29,571 --> 00:00:33,572 如果我想要畫一個漂亮對稱的臉 10 00:00:33,572 --> 00:00:37,205 我或許會先看鏡子裡的自己, 瞄出臉的輪廓 11 00:00:37,205 --> 00:00:40,273 看到了自己橢圓形的臉 12 00:00:40,273 --> 00:00:43,907 兩隻眼睛,大概在這麼高 13 00:00:43,907 --> 00:00:46,766 這是臉的中央 14 00:00:46,766 --> 00:00:51,271 如此我就大概知道臉要怎樣畫 15 00:00:51,271 --> 00:00:54,277 那我會先把它用偽代碼寫出來 16 00:00:55,877 --> 00:00:59,285 第一件要做的事是畫臉 17 00:00:59,285 --> 00:01:01,005 在中央畫一個橢圓形 18 00:01:02,145 --> 00:01:07,816 然後再畫兩隻橢圓形的眼睛 19 00:01:07,816 --> 00:01:14,788 大約在臉的三分之二高度, 大小是大約臉的五分之一 20 00:01:15,048 --> 00:01:18,011 不是精確的數據,只是看著我自己的臉 21 00:01:18,011 --> 00:01:24,117 然後畫嘴巴, 一條橫跨半個臉的線 22 00:01:24,117 --> 00:01:28,805 大約在臉的三分之一高度 23 00:01:28,825 --> 00:01:32,589 請留意我是如何把偽代碼寫成評論 24 00:01:32,589 --> 00:01:36,159 在這裡每一行以兩條斜線開始 25 00:01:36,199 --> 00:01:40,017 這樣,可以直接在程式裡寫入偽代碼 26 00:01:40,017 --> 00:01:43,100 而且不用擔心語法上的錯誤 27 00:01:43,100 --> 00:01:45,990 因為程式會忽略評論 28 00:01:46,670 --> 00:01:50,430 寫好了偽代碼,我現在可以花時間 29 00:01:50,430 --> 00:01:54,995 將偽代碼轉換成真實的程式碼 30 00:01:54,995 --> 00:01:58,375 對吧?畫臉需要在中心有個橢圓形 31 00:01:58,375 --> 00:02:03,295 這用橢圓形函數 32 00:02:03,295 --> 00:02:07,535 找出這螢幕的中心跟它的大小 33 00:02:08,145 --> 00:02:09,709 可以嗎?看起來不錯 34 00:02:09,709 --> 00:02:12,451 眼睛也是橢圓形的 35 00:02:12,451 --> 00:02:15,500 我的臉全是橢圓形,我很圓 36 00:02:15,500 --> 00:02:21,739 我們用數學來計算眼睛的位置 37 00:02:21,739 --> 00:02:26,844 以及讓它們的大小大約為臉的五分之一 38 00:02:26,844 --> 00:02:29,117 很好,第一個眼睛看起來不錯 39 00:02:29,117 --> 00:02:31,515 另一個眼睛用複製方式 40 00:02:31,515 --> 00:02:32,642 很好! 41 00:02:32,642 --> 00:02:37,120 現在,我可以把偽代碼給朋友來實行 42 00:02:37,120 --> 00:02:38,620 而他們也許真的可以 43 00:02:38,620 --> 00:02:40,795 因為我已經給了如此好的描述 44 00:02:40,795 --> 00:02:44,708 所以我現在就要來做這件事, 因為我們是朋友,對吧? 45 00:02:45,728 --> 00:02:48,572 或許你會覺得這很愚蠢 46 00:02:48,572 --> 00:02:51,792 為什麼要花力氣來寫程式兩次 47 00:02:51,792 --> 00:02:54,877 第一次用人類語言, 第二次用程式語言? 48 00:02:54,877 --> 00:03:00,837 這例子很基本,但很快的, 你就會製作更複雜的程式 49 00:03:00,837 --> 00:03:03,419 編碼前,要把整個程式儲放在腦裡 50 00:03:03,419 --> 00:03:05,459 或許會有些困難 51 00:03:05,459 --> 00:03:09,301 所以我通常會把大致的想法 先用偽代碼寫出 52 00:03:10,191 --> 00:03:15,121 然後再花更多的時間 在各部分的細節上 53 00:03:15,121 --> 00:03:19,012 將偽代碼轉換成真正的程式碼 54 00:03:19,012 --> 00:03:22,420 我想一旦你開始使用偽代碼後 55 00:03:22,420 --> 00:03:24,303 你會多多地使用它 56 00:03:24,303 --> 00:03:26,498 在你的下一個程式試用它看看