WEBVTT 00:00:00.363 --> 00:00:02.754 寫一個程式時,就是要想辦法 00:00:02.754 --> 00:00:06.204 將腦裡的好點子 變成真實的程式碼 00:00:06.414 --> 00:00:10.721 這裡我想要談一種很多程式設計師使用的方法 00:00:10.721 --> 00:00:13.262 稱作「偽代碼」 00:00:13.262 --> 00:00:16.966 你或許從來沒聽過「偽代碼」這名詞 00:00:16.966 --> 00:00:21.406 但基本上,這是很像英文的程式碼 00:00:21.406 --> 00:00:24.600 或者是任何一種語言 00:00:25.220 --> 00:00:28.931 呃,或許這不是很清楚, 那來談談一個實際的例子 00:00:29.571 --> 00:00:33.572 如果我想要畫一個漂亮對稱的臉 00:00:33.572 --> 00:00:37.205 我或許會先看鏡子裡的自己, 瞄出臉的輪廓 00:00:37.205 --> 00:00:40.273 看到了自己橢圓形的臉 00:00:40.273 --> 00:00:43.907 兩隻眼睛,大概在這麼高 00:00:43.907 --> 00:00:46.766 這是臉的中央 00:00:46.766 --> 00:00:51.271 如此我就大概知道臉要怎樣畫 00:00:51.271 --> 00:00:54.277 那我會先把它用偽代碼寫出來 00:00:55.877 --> 00:00:59.285 第一件要做的事是畫臉 00:00:59.285 --> 00:01:01.005 在中央畫一個橢圓形 00:01:02.145 --> 00:01:07.816 然後再畫兩隻橢圓形的眼睛 00:01:07.816 --> 00:01:14.788 大約在臉的三分之二高度, 大小是大約臉的五分之一 00:01:15.048 --> 00:01:18.011 不是精確的數據,只是看著我自己的臉 00:01:18.011 --> 00:01:24.117 然後畫嘴巴, 一條橫跨半個臉的線 00:01:24.117 --> 00:01:28.805 大約在臉的三分之一高度 00:01:28.825 --> 00:01:32.589 請留意我是如何把偽代碼寫成評論 00:01:32.589 --> 00:01:36.159 在這裡每一行以兩條斜線開始 00:01:36.199 --> 00:01:40.017 這樣,可以直接在程式裡寫入偽代碼 00:01:40.017 --> 00:01:43.100 而且不用擔心語法上的錯誤 00:01:43.100 --> 00:01:45.990 因為程式會忽略評論 00:01:46.670 --> 00:01:50.430 寫好了偽代碼,我現在可以花時間 00:01:50.430 --> 00:01:54.995 將偽代碼轉換成真實的程式碼 00:01:54.995 --> 00:01:58.375 對吧?畫臉需要在中心有個橢圓形 00:01:58.375 --> 00:02:03.295 這用橢圓形函數 00:02:03.295 --> 00:02:07.535 找出這螢幕的中心跟它的大小 00:02:08.145 --> 00:02:09.709 可以嗎?看起來不錯 00:02:09.709 --> 00:02:12.451 眼睛也是橢圓形的 00:02:12.451 --> 00:02:15.500 我的臉全是橢圓形,我很圓 00:02:15.500 --> 00:02:21.739 我們用數學來計算眼睛的位置 00:02:21.739 --> 00:02:26.844 以及讓它們的大小大約為臉的五分之一 00:02:26.844 --> 00:02:29.117 很好,第一個眼睛看起來不錯 00:02:29.117 --> 00:02:31.515 另一個眼睛用複製方式 00:02:31.515 --> 00:02:32.642 很好! 00:02:32.642 --> 00:02:37.120 現在,我可以把偽代碼給朋友來實行 00:02:37.120 --> 00:02:38.620 而他們也許真的可以 00:02:38.620 --> 00:02:40.795 因為我已經給了如此好的描述 00:02:40.795 --> 00:02:44.708 所以我現在就要來做這件事, 因為我們是朋友,對吧? 00:02:45.728 --> 00:02:48.572 或許你會覺得這很愚蠢 00:02:48.572 --> 00:02:51.792 為什麼要花力氣來寫程式兩次 00:02:51.792 --> 00:02:54.877 第一次用人類語言, 第二次用程式語言? 00:02:54.877 --> 00:03:00.837 這例子很基本,但很快的, 你就會製作更複雜的程式 00:03:00.837 --> 00:03:03.419 編碼前,要把整個程式儲放在腦裡 00:03:03.419 --> 00:03:05.459 或許會有些困難 00:03:05.459 --> 00:03:09.301 所以我通常會把大致的想法 先用偽代碼寫出 00:03:10.191 --> 00:03:15.121 然後再花更多的時間 在各部分的細節上 00:03:15.121 --> 00:03:19.012 將偽代碼轉換成真正的程式碼 00:03:19.012 --> 00:03:22.420 我想一旦你開始使用偽代碼後 00:03:22.420 --> 00:03:24.303 你會多多地使用它 00:03:24.303 --> 00:03:26.498 在你的下一個程式試用它看看