[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.36,0:00:02.75,Default,,0000,0000,0000,,寫一個程式時,就是要想辦法 Dialogue: 0,0:00:02.75,0:00:06.20,Default,,0000,0000,0000,,將腦裡的好點子\N變成真實的程式碼 Dialogue: 0,0:00:06.41,0:00:10.72,Default,,0000,0000,0000,,這裡我想要談一種很多程式設計師使用的方法 Dialogue: 0,0:00:10.72,0:00:13.26,Default,,0000,0000,0000,,稱作「偽代碼」 Dialogue: 0,0:00:13.26,0:00:16.97,Default,,0000,0000,0000,,你或許從來沒聽過「偽代碼」這名詞 Dialogue: 0,0:00:16.97,0:00:21.41,Default,,0000,0000,0000,,但基本上,這是很像英文的程式碼 Dialogue: 0,0:00:21.41,0:00:24.60,Default,,0000,0000,0000,,或者是任何一種語言 Dialogue: 0,0:00:25.22,0:00:28.93,Default,,0000,0000,0000,,呃,或許這不是很清楚,\N那來談談一個實際的例子 Dialogue: 0,0:00:29.57,0:00:33.57,Default,,0000,0000,0000,,如果我想要畫一個漂亮對稱的臉 Dialogue: 0,0:00:33.57,0:00:37.20,Default,,0000,0000,0000,,我或許會先看鏡子裡的自己,\N瞄出臉的輪廓 Dialogue: 0,0:00:37.20,0:00:40.27,Default,,0000,0000,0000,,看到了自己橢圓形的臉 Dialogue: 0,0:00:40.27,0:00:43.91,Default,,0000,0000,0000,,兩隻眼睛,大概在這麼高 Dialogue: 0,0:00:43.91,0:00:46.77,Default,,0000,0000,0000,,這是臉的中央 Dialogue: 0,0:00:46.77,0:00:51.27,Default,,0000,0000,0000,,如此我就大概知道臉要怎樣畫 Dialogue: 0,0:00:51.27,0:00:54.28,Default,,0000,0000,0000,,那我會先把它用偽代碼寫出來 Dialogue: 0,0:00:55.88,0:00:59.28,Default,,0000,0000,0000,,第一件要做的事是畫臉 Dialogue: 0,0:00:59.28,0:01:01.00,Default,,0000,0000,0000,,在中央畫一個橢圓形 Dialogue: 0,0:01:02.14,0:01:07.82,Default,,0000,0000,0000,,然後再畫兩隻橢圓形的眼睛 Dialogue: 0,0:01:07.82,0:01:14.79,Default,,0000,0000,0000,,大約在臉的三分之二高度,\N大小是大約臉的五分之一 Dialogue: 0,0:01:15.05,0:01:18.01,Default,,0000,0000,0000,,不是精確的數據,只是看著我自己的臉 Dialogue: 0,0:01:18.01,0:01:24.12,Default,,0000,0000,0000,,然後畫嘴巴,\N一條橫跨半個臉的線 Dialogue: 0,0:01:24.12,0:01:28.80,Default,,0000,0000,0000,,大約在臉的三分之一高度 Dialogue: 0,0:01:28.82,0:01:32.59,Default,,0000,0000,0000,,請留意我是如何把偽代碼寫成評論 Dialogue: 0,0:01:32.59,0:01:36.16,Default,,0000,0000,0000,,在這裡每一行以兩條斜線開始 Dialogue: 0,0:01:36.20,0:01:40.02,Default,,0000,0000,0000,,這樣,可以直接在程式裡寫入偽代碼 Dialogue: 0,0:01:40.02,0:01:43.10,Default,,0000,0000,0000,,而且不用擔心語法上的錯誤 Dialogue: 0,0:01:43.10,0:01:45.99,Default,,0000,0000,0000,,因為程式會忽略評論 Dialogue: 0,0:01:46.67,0:01:50.43,Default,,0000,0000,0000,,寫好了偽代碼,我現在可以花時間 Dialogue: 0,0:01:50.43,0:01:54.100,Default,,0000,0000,0000,,將偽代碼轉換成真實的程式碼 Dialogue: 0,0:01:54.100,0:01:58.38,Default,,0000,0000,0000,,對吧?畫臉需要在中心有個橢圓形 Dialogue: 0,0:01:58.38,0:02:03.30,Default,,0000,0000,0000,,這用橢圓形函數 Dialogue: 0,0:02:03.30,0:02:07.54,Default,,0000,0000,0000,,找出這螢幕的中心跟它的大小 Dialogue: 0,0:02:08.14,0:02:09.71,Default,,0000,0000,0000,,可以嗎?看起來不錯 Dialogue: 0,0:02:09.71,0:02:12.45,Default,,0000,0000,0000,,眼睛也是橢圓形的 Dialogue: 0,0:02:12.45,0:02:15.50,Default,,0000,0000,0000,,我的臉全是橢圓形,我很圓 Dialogue: 0,0:02:15.50,0:02:21.74,Default,,0000,0000,0000,,我們用數學來計算眼睛的位置 Dialogue: 0,0:02:21.74,0:02:26.84,Default,,0000,0000,0000,,以及讓它們的大小大約為臉的五分之一 Dialogue: 0,0:02:26.84,0:02:29.12,Default,,0000,0000,0000,,很好,第一個眼睛看起來不錯 Dialogue: 0,0:02:29.12,0:02:31.52,Default,,0000,0000,0000,,另一個眼睛用複製方式 Dialogue: 0,0:02:31.52,0:02:32.64,Default,,0000,0000,0000,,很好! Dialogue: 0,0:02:32.64,0:02:37.12,Default,,0000,0000,0000,,現在,我可以把偽代碼給朋友來實行 Dialogue: 0,0:02:37.12,0:02:38.62,Default,,0000,0000,0000,,而他們也許真的可以 Dialogue: 0,0:02:38.62,0:02:40.80,Default,,0000,0000,0000,,因為我已經給了如此好的描述 Dialogue: 0,0:02:40.80,0:02:44.71,Default,,0000,0000,0000,,所以我現在就要來做這件事,\N因為我們是朋友,對吧? Dialogue: 0,0:02:45.73,0:02:48.57,Default,,0000,0000,0000,,或許你會覺得這很愚蠢 Dialogue: 0,0:02:48.57,0:02:51.79,Default,,0000,0000,0000,,為什麼要花力氣來寫程式兩次 Dialogue: 0,0:02:51.79,0:02:54.88,Default,,0000,0000,0000,,第一次用人類語言,\N第二次用程式語言? Dialogue: 0,0:02:54.88,0:03:00.84,Default,,0000,0000,0000,,這例子很基本,但很快的,\N你就會製作更複雜的程式 Dialogue: 0,0:03:00.84,0:03:03.42,Default,,0000,0000,0000,,編碼前,要把整個程式儲放在腦裡 Dialogue: 0,0:03:03.42,0:03:05.46,Default,,0000,0000,0000,,或許會有些困難 Dialogue: 0,0:03:05.46,0:03:09.30,Default,,0000,0000,0000,,所以我通常會把大致的想法\N先用偽代碼寫出 Dialogue: 0,0:03:10.19,0:03:15.12,Default,,0000,0000,0000,,然後再花更多的時間\N在各部分的細節上 Dialogue: 0,0:03:15.12,0:03:19.01,Default,,0000,0000,0000,,將偽代碼轉換成真正的程式碼 Dialogue: 0,0:03:19.01,0:03:22.42,Default,,0000,0000,0000,,我想一旦你開始使用偽代碼後 Dialogue: 0,0:03:22.42,0:03:24.30,Default,,0000,0000,0000,,你會多多地使用它 Dialogue: 0,0:03:24.30,0:03:26.50,Default,,0000,0000,0000,,在你的下一個程式試用它看看