[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:02.92,0:00:05.57,Default,,0000,0000,0000,,在英文裡有很多不同種類的字彙 Dialogue: 0,0:00:05.57,0:00:08.31,Default,,0000,0000,0000,,像是名詞,形容詞,介系詞,動詞 Dialogue: 0,0:00:08.31,0:00:09.89,Default,,0000,0000,0000,,然後有很多規則 Dialogue: 0,0:00:09.89,0:00:12.60,Default,,0000,0000,0000,,告訴我們如何把它們組成一個句子 Dialogue: 0,0:00:12.60,0:00:19.34,Default,,0000,0000,0000,,如果我說 ”狗書我吃“ Dialogue: 0,0:00:19.34,0:00:22.03,Default,,0000,0000,0000,,你會覺得 ”你到底在說什麼?“ Dialogue: 0,0:00:22.03,0:00:23.91,Default,,0000,0000,0000,,如果你不覺得有錯的話 Dialogue: 0,0:00:23.91,0:00:25.87,Default,,0000,0000,0000,,很明顯的,你不能把兩個名詞放在 Dialogue: 0,0:00:25.87,0:00:28.11,Default,,0000,0000,0000,,形容詞和動詞前面 Dialogue: 0,0:00:28.11,0:00:29.44,Default,,0000,0000,0000,,這行不通的 Dialogue: 0,0:00:29.44,0:00:34.76,Default,,0000,0000,0000,,但如果換成說 ”我的狗吃書“ Dialogue: 0,0:00:34.76,0:00:37.26,Default,,0000,0000,0000,,那你現在就知道我在說什麼了 Dialogue: 0,0:00:37.26,0:00:38.91,Default,,0000,0000,0000,,我甚至可以把動詞“吃”換掉 Dialogue: 0,0:00:38.91,0:00:42.76,Default,,0000,0000,0000,,換成另外一個動詞像是,我想想看,丟 Dialogue: 0,0:00:42.76,0:00:45.43,Default,,0000,0000,0000,,這在文法上還是正確的 Dialogue: 0,0:00:45.43,0:00:47.88,Default,,0000,0000,0000,,即使你沒辦法想像我的狗正在丟一本書 Dialogue: 0,0:00:47.88,0:00:49.99,Default,,0000,0000,0000,,但是在程式裡,我們不用不同種的字彙 Dialogue: 0,0:00:49.99,0:00:52.12,Default,,0000,0000,0000,,反而用一種東西叫資料類型 Dialogue: 0,0:00:52.12,0:00:54.48,Default,,0000,0000,0000,,你已經看過其中一種了:數字 Dialogue: 0,0:00:54.48,0:00:57.07,Default,,0000,0000,0000,,我們經常我們的繪圖程式裡使用數字 Dialogue: 0,0:00:57.07,0:00:58.32,Default,,0000,0000,0000,,就像英文 Dialogue: 0,0:00:58.32,0:01:01.34,Default,,0000,0000,0000,,有時候程式裡可以用數字,有時候不行 Dialogue: 0,0:01:01.34,0:01:05.35,Default,,0000,0000,0000,,如果我開始在背景程式打 “100減” Dialogue: 0,0:01:06.10,0:01:08.70,Default,,0000,0000,0000,,那下一個東西最好要是數字 Dialogue: 0,0:01:08.70,0:01:13.51,Default,,0000,0000,0000,,或是一個也是數字的東西像是 “14+15” Dialogue: 0,0:01:13.51,0:01:17.83,Default,,0000,0000,0000,,但是如果我打 “100 空白” Dialogue: 0,0:01:17.83,0:01:20.43,Default,,0000,0000,0000,,我不可能在後面放一個數字 Dialogue: 0,0:01:20.43,0:01:23.82,Default,,0000,0000,0000,,因為 “100 空白 10” 不代表任何東西 Dialogue: 0,0:01:23.82,0:01:27.53,Default,,0000,0000,0000,,所以程式裡有另外一種資料類型,叫做Boolean Dialogue: 0,0:01:27.53,0:01:29.13,Default,,0000,0000,0000,,這個程式叫做Boolean Dialogue: 0,0:01:29.13,0:01:33.63,Default,,0000,0000,0000,,是因為某個叫做George Boole的傢伙發明它的 Dialogue: 0,0:01:33.63,0:01:37.39,Default,,0000,0000,0000,,不像一個數字有很多可能的值 Dialogue: 0,0:01:37.39,0:01:42.03,Default,,0000,0000,0000,,Boolean只能是兩種值: 是,或,否 Dialogue: 0,0:01:43.00,0:01:44.93,Default,,0000,0000,0000,,你可以看到當我打出他們的時候,他們變成藍色 Dialogue: 0,0:01:44.93,0:01:47.33,Default,,0000,0000,0000,,這代表他們是超級特別酷的字 Dialogue: 0,0:01:47.33,0:01:49.43,Default,,0000,0000,0000,,而且你之前已經看過我用過Boolean了 Dialogue: 0,0:01:49.43,0:01:52.04,Default,,0000,0000,0000,,雖然你可能沒有發現: if 述句! Dialogue: 0,0:01:52.04,0:01:53.97,Default,,0000,0000,0000,,讓我們趕快複習一下他們怎麼運作 Dialogue: 0,0:01:53.97,0:01:58.93,Default,,0000,0000,0000,,我現在要給一個變數 “Number” 一個數值:40 Dialogue: 0,0:01:58.93,0:02:01.50,Default,,0000,0000,0000,,然後寫一個if述句說: Dialogue: 0,0:02:01.50,0:02:08.71,Default,,0000,0000,0000,,“如果那個數字小於50,那我就畫第一個橢圓” Dialogue: 0,0:02:10.80,0:02:13.04,Default,,0000,0000,0000,,接著我把這些程式複製進這個if述句 Dialogue: 0,0:02:13.04,0:02:16.23,Default,,0000,0000,0000,,然後全選再按tab把它縮排 Dialogue: 0,0:02:16.23,0:02:18.33,Default,,0000,0000,0000,,所以現在這個if述句說: Dialogue: 0,0:02:18.33,0:02:22.77,Default,,0000,0000,0000,,“如果這個數字小於50,就要畫出上方這個橢圓” Dialogue: 0,0:02:22.77,0:02:25.43,Default,,0000,0000,0000,,而如果這個數字大於50 Dialogue: 0,0:02:25.43,0:02:28.43,Default,,0000,0000,0000,,左上方的橢圓就消失了 Dialogue: 0,0:02:28.43,0:02:30.57,Default,,0000,0000,0000,,好,所以這些在括號裡面的東西 Dialogue: 0,0:02:30.57,0:02:32.83,Default,,0000,0000,0000,,其實就是一個Boolean述句 Dialogue: 0,0:02:32.83,0:02:36.16,Default,,0000,0000,0000,,記得,一個數學表述是任何可以做數學運算的表述 Dialogue: 0,0:02:36.16,0:02:40.20,Default,,0000,0000,0000,,像是3加2加4乘8 Dialogue: 0,0:02:40.20,0:02:43.80,Default,,0000,0000,0000,,所以一個Boolean述句就是可以做Boolean運算的述句 Dialogue: 0,0:02:43.80,0:02:46.50,Default,,0000,0000,0000,,一個檢查Boolean述句的好方法 Dialogue: 0,0:02:46.50,0:02:50.50,Default,,0000,0000,0000,,就是把是否放在句子中間,像是在問一個問題 Dialogue: 0,0:02:50.50,0:02:54.04,Default,,0000,0000,0000,,如果他聽起來像是一個是非問題,那他就是Boolean述句 Dialogue: 0,0:02:54.04,0:02:57.14,Default,,0000,0000,0000,,所以在這邊我們問:“這個數字是否小於50?” Dialogue: 0,0:02:57.14,0:03:00.60,Default,,0000,0000,0000,,是,他是,所以這是一個Boolean述句 Dialogue: 0,0:03:00.60,0:03:04.17,Default,,0000,0000,0000,,如果現在我們有一個述句“4+4” Dialogue: 0,0:03:04.17,0:03:10.22,Default,,0000,0000,0000,,然後我試著問:“是否4加是4” 這不是一個Boolean述句 Dialogue: 0,0:03:10.22,0:03:12.06,Default,,0000,0000,0000,,所以回到我們的if述句 Dialogue: 0,0:03:12.06,0:03:14.57,Default,,0000,0000,0000,,我其實可以把任何東西放進這個述句 Dialogue: 0,0:03:14.57,0:03:17.46,Default,,0000,0000,0000,,只要他是一個Boolean值或是Boolean述句 Dialogue: 0,0:03:17.46,0:03:21.29,Default,,0000,0000,0000,,所以如果我說 “if “是”” 我們永遠可以畫出一個橢圓 Dialogue: 0,0:03:21.29,0:03:24.60,Default,,0000,0000,0000,,或是說“if “否”” 那我們永遠畫不出這個橢圓 Dialogue: 0,0:03:24.60,0:03:28.70,Default,,0000,0000,0000,,我也可以說“if 3小於4” Dialogue: 0,0:03:28.70,0:03:32.04,Default,,0000,0000,0000,,他是一個Boolean述句,而其值永遠是 “是” Dialogue: 0,0:03:32.04,0:03:34.66,Default,,0000,0000,0000,,那句很明顯是正確的,而我們則永遠可以畫出這個橢圓 Dialogue: 0,0:03:34.66,0:03:38.04,Default,,0000,0000,0000,,或是 “if 3大於4”那這句話是不正確的 Dialogue: 0,0:03:38.04,0:03:41.05,Default,,0000,0000,0000,,我也可以賦予一個變數Boolean值,像是這樣: Dialogue: 0,0:03:41.05,0:03:48.77,Default,,0000,0000,0000,,我現在要創造一個新的變數 WhinstonIsCool,然後給他 Dialogue: 0,0:03:48.77,0:03:51.50,Default,,0000,0000,0000,,一個Boolean值,所以是“是”或“否” Dialogue: 0,0:03:51.50,0:03:54.27,Default,,0000,0000,0000,,假設他是“是”因為Winston很酷 Dialogue: 0,0:03:54.27,0:03:57.05,Default,,0000,0000,0000,,所以現在這個變數有一個Boolean值了 Dialogue: 0,0:03:57.05,0:04:00.44,Default,,0000,0000,0000,,我可以複製他進去if述句 Dialogue: 0,0:04:00.44,0:04:04.12,Default,,0000,0000,0000,,然後你們現在可以看到這個橢圓了 Dialogue: 0,0:04:04.12,0:04:06.73,Default,,0000,0000,0000,,因為變數WinstonIsCool的值是“是” Dialogue: 0,0:04:06.73,0:04:10.60,Default,,0000,0000,0000,,我可以用一個Boolean述句來代替這個 Dialogue: 0,0:04:10.60,0:04:14.20,Default,,0000,0000,0000,,像是“2小於4” Dialogue: 0,0:04:14.20,0:04:18.10,Default,,0000,0000,0000,,現在如果你正在創造一個變數含有Boolean值 Dialogue: 0,0:04:18.10,0:04:19.60,Default,,0000,0000,0000,,你應該給他一個名字 Dialogue: 0,0:04:19.60,0:04:21.100,Default,,0000,0000,0000,,來確定這個變數是“是”還是“否” Dialogue: 0,0:04:21.100,0:04:24.90,Default,,0000,0000,0000,,有一個好方法來確定你的變數有一個好名字 Dialogue: 0,0:04:24.90,0:04:28.33,Default,,0000,0000,0000,,是把它放進一個if述句然後看他有沒有邏輯 Dialogue: 0,0:04:28.33,0:04:31.43,Default,,0000,0000,0000,,所以,忘記WinstonIsCool,我們已經知道他是“是” Dialogue: 0,0:04:31.43,0:04:34.31,Default,,0000,0000,0000,,我們假設有另一個變數叫“瑪芬” Dialogue: 0,0:04:34.31,0:04:37.10,Default,,0000,0000,0000,,好的,“If 瑪芬”,恩 Dialogue: 0,0:04:37.10,0:04:38.30,Default,,0000,0000,0000,,你知道嗎? Dialogue: 0,0:04:38.30,0:04:42.17,Default,,0000,0000,0000,,他不代表任何意義,所以他是一個糟糕的變數名稱 Dialogue: 0,0:04:42.17,0:04:46.17,Default,,0000,0000,0000,,但是如果是“If 正在烤瑪芬” 那我們可以知道 Dialogue: 0,0:04:46.17,0:04:50.93,Default,,0000,0000,0000,,這個變數是否是“是”,那就正在烤瑪芬 Dialogue: 0,0:04:50.93,0:04:54.23,Default,,0000,0000,0000,,而不是問我什麼瑪芬,那並不重要 Dialogue: 0,0:04:54.23,0:04:59.00,Default,,0000,0000,0000,,所以現在我們回去“If 數字小於50” Dialogue: 0,0:04:59.00,0:05:00.38,Default,,0000,0000,0000,,酷 Dialogue: 0,0:05:00.38,0:05:02.54,Default,,0000,0000,0000,,現在我們來看其他Boolean述句 Dialogue: 0,0:05:02.54,0:05:05.77,Default,,0000,0000,0000,,你已經看過“小於”和“大於” Dialogue: 0,0:05:05.77,0:05:09.08,Default,,0000,0000,0000,,但是你可以檢查一個東西是否是“小於等於” Dialogue: 0,0:05:09.08,0:05:12.57,Default,,0000,0000,0000,,所以來試試看,“If 數字小於等於48” Dialogue: 0,0:05:12.57,0:05:20.03,Default,,0000,0000,0000,,我們也可以說“If 數字大於等於48” Dialogue: 0,0:05:20.03,0:05:24.20,Default,,0000,0000,0000,,如果是,我們可以畫出右上角的橢圓 Dialogue: 0,0:05:24.20,0:05:27.38,Default,,0000,0000,0000,,縮排這句\N Dialogue: 0,0:05:27.38,0:05:30.27,Default,,0000,0000,0000,,如果你想要檢查兩個東西是否相同 Dialogue: 0,0:05:30.27,0:05:32.42,Default,,0000,0000,0000,,可以說”if 數字 Dialogue: 0,0:05:32.42,0:05:36.28,Default,,0000,0000,0000,,然後後面打三個等號,或是“三個等號48” Dialogue: 0,0:05:39.49,0:05:42.50,Default,,0000,0000,0000,,所以他很像你在數學裡用的等號 Dialogue: 0,0:05:42.50,0:05:44.79,Default,,0000,0000,0000,,不過這次你有連續三個等號 Dialogue: 0,0:05:44.79,0:05:46.63,Default,,0000,0000,0000,,有點多餘是不是? Dialogue: 0,0:05:46.63,0:05:48.90,Default,,0000,0000,0000,,所以最後,我們想要知道 Dialogue: 0,0:05:48.90,0:05:51.24,Default,,0000,0000,0000,,兩個東西是不是不相等 Dialogue: 0,0:05:51.24,0:05:53.24,Default,,0000,0000,0000,,所以嚴格來講,你可以說 Dialogue: 0,0:05:53.24,0:05:57.60,Default,,0000,0000,0000,,“if 數字”然後接一個驚嘆號和兩個等號,然後“48” Dialogue: 0,0:05:57.60,0:06:02.13,Default,,0000,0000,0000,,所以我們現在可以畫出最後一個橢圓 Dialogue: 0,0:06:04.10,0:06:07.50,Default,,0000,0000,0000,,所以如果回到最上面,我們可以看到數字是48 Dialogue: 0,0:06:07.50,0:06:09.76,Default,,0000,0000,0000,,所以這個數字小於等於48 Dialogue: 0,0:06:09.76,0:06:11.77,Default,,0000,0000,0000,,也就是為什麼左上角的橢圓會出現 Dialogue: 0,0:06:11.77,0:06:16.20,Default,,0000,0000,0000,,這個數字也大於等於48,也等於48 Dialogue: 0,0:06:16.20,0:06:18.70,Default,,0000,0000,0000,,但他不等於48 Dialogue: 0,0:06:18.70,0:06:21.63,Default,,0000,0000,0000,,這就是為什麼我們缺少右下角的橢圓 Dialogue: 0,0:06:21.63,0:06:23.80,Default,,0000,0000,0000,,如果我們現在更改數字 Dialogue: 0,0:06:23.80,0:06:26.35,Default,,0000,0000,0000,,你可以看到橢圓出現的變化 Dialogue: 0,0:06:26.100,0:06:29.63,Default,,0000,0000,0000,,所以現在你們知道Boolean值 Dialogue: 0,0:06:29.63,0:06:31.30,Default,,0000,0000,0000,,就像數學算式 Dialogue: 0,0:06:31.30,0:06:33.73,Default,,0000,0000,0000,,Boolean述句可以變得很複雜 Dialogue: 0,0:06:33.73,0:06:35.74,Default,,0000,0000,0000,,但是我們改個時間再講吧