WEBVTT 00:00:02.923 --> 00:00:05.567 在英文裡有很多不同種類的字彙 00:00:05.567 --> 00:00:08.309 像是名詞,形容詞,介系詞,動詞 00:00:08.309 --> 00:00:09.886 然後有很多規則 00:00:09.886 --> 00:00:12.601 告訴我們如何把它們組成一個句子 00:00:12.601 --> 00:00:19.341 如果我說 ”狗書我吃“ 00:00:19.341 --> 00:00:22.033 你會覺得 ”你到底在說什麼?“ 00:00:22.033 --> 00:00:23.913 如果你不覺得有錯的話 00:00:23.913 --> 00:00:25.867 很明顯的,你不能把兩個名詞放在 00:00:25.867 --> 00:00:28.108 形容詞和動詞前面 00:00:28.108 --> 00:00:29.440 這行不通的 00:00:29.440 --> 00:00:34.764 但如果換成說 ”我的狗吃書“ 00:00:34.764 --> 00:00:37.260 那你現在就知道我在說什麼了 00:00:37.260 --> 00:00:38.910 我甚至可以把動詞“吃”換掉 00:00:38.910 --> 00:00:42.765 換成另外一個動詞像是,我想想看,丟 00:00:42.765 --> 00:00:45.426 這在文法上還是正確的 00:00:45.426 --> 00:00:47.875 即使你沒辦法想像我的狗正在丟一本書 00:00:47.875 --> 00:00:49.991 但是在程式裡,我們不用不同種的字彙 00:00:49.991 --> 00:00:52.125 反而用一種東西叫資料類型 00:00:52.125 --> 00:00:54.485 你已經看過其中一種了:數字 00:00:54.485 --> 00:00:57.067 我們經常我們的繪圖程式裡使用數字 00:00:57.067 --> 00:00:58.323 就像英文 00:00:58.323 --> 00:01:01.342 有時候程式裡可以用數字,有時候不行 00:01:01.342 --> 00:01:05.354 如果我開始在背景程式打 “100減” 00:01:06.104 --> 00:01:08.696 那下一個東西最好要是數字 00:01:08.696 --> 00:01:13.508 或是一個也是數字的東西像是 “14+15” 00:01:13.508 --> 00:01:17.833 但是如果我打 “100 空白” 00:01:17.833 --> 00:01:20.434 我不可能在後面放一個數字 00:01:20.434 --> 00:01:23.815 因為 “100 空白 10” 不代表任何東西 00:01:23.815 --> 00:01:27.534 所以程式裡有另外一種資料類型,叫做Boolean 00:01:27.534 --> 00:01:29.133 這個程式叫做Boolean 00:01:29.133 --> 00:01:33.631 是因為某個叫做George Boole的傢伙發明它的 00:01:33.631 --> 00:01:37.394 不像一個數字有很多可能的值 00:01:37.394 --> 00:01:42.031 Boolean只能是兩種值: 是,或,否 00:01:43.000 --> 00:01:44.932 你可以看到當我打出他們的時候,他們變成藍色 00:01:44.932 --> 00:01:47.333 這代表他們是超級特別酷的字 00:01:47.333 --> 00:01:49.433 而且你之前已經看過我用過Boolean了 00:01:49.433 --> 00:01:52.036 雖然你可能沒有發現: if 述句! 00:01:52.036 --> 00:01:53.968 讓我們趕快複習一下他們怎麼運作 00:01:53.968 --> 00:01:58.931 我現在要給一個變數 “Number” 一個數值:40 00:01:58.931 --> 00:02:01.499 然後寫一個if述句說: 00:02:01.499 --> 00:02:08.707 “如果那個數字小於50,那我就畫第一個橢圓” 00:02:10.795 --> 00:02:13.044 接著我把這些程式複製進這個if述句 00:02:13.044 --> 00:02:16.234 然後全選再按tab把它縮排 00:02:16.234 --> 00:02:18.333 所以現在這個if述句說: 00:02:18.333 --> 00:02:22.772 “如果這個數字小於50,就要畫出上方這個橢圓” 00:02:22.772 --> 00:02:25.431 而如果這個數字大於50 00:02:25.431 --> 00:02:28.434 左上方的橢圓就消失了 00:02:28.434 --> 00:02:30.573 好,所以這些在括號裡面的東西 00:02:30.573 --> 00:02:32.831 其實就是一個Boolean述句 00:02:32.831 --> 00:02:36.164 記得,一個數學表述是任何可以做數學運算的表述 00:02:36.164 --> 00:02:40.204 像是3加2加4乘8 00:02:40.204 --> 00:02:43.801 所以一個Boolean述句就是可以做Boolean運算的述句 00:02:43.801 --> 00:02:46.499 一個檢查Boolean述句的好方法 00:02:46.499 --> 00:02:50.500 就是把是否放在句子中間,像是在問一個問題 00:02:50.500 --> 00:02:54.043 如果他聽起來像是一個是非問題,那他就是Boolean述句 00:02:54.043 --> 00:02:57.137 所以在這邊我們問:“這個數字是否小於50?” 00:02:57.137 --> 00:03:00.598 是,他是,所以這是一個Boolean述句 00:03:00.598 --> 00:03:04.173 如果現在我們有一個述句“4+4” 00:03:04.173 --> 00:03:10.224 然後我試著問:“是否4加是4” 這不是一個Boolean述句 00:03:10.224 --> 00:03:12.065 所以回到我們的if述句 00:03:12.065 --> 00:03:14.573 我其實可以把任何東西放進這個述句 00:03:14.573 --> 00:03:17.457 只要他是一個Boolean值或是Boolean述句 00:03:17.457 --> 00:03:21.289 所以如果我說 “if “是”” 我們永遠可以畫出一個橢圓 00:03:21.289 --> 00:03:24.598 或是說“if “否”” 那我們永遠畫不出這個橢圓 00:03:24.598 --> 00:03:28.699 我也可以說“if 3小於4” 00:03:28.699 --> 00:03:32.035 他是一個Boolean述句,而其值永遠是 “是” 00:03:32.035 --> 00:03:34.664 那句很明顯是正確的,而我們則永遠可以畫出這個橢圓 00:03:34.664 --> 00:03:38.042 或是 “if 3大於4”那這句話是不正確的 00:03:38.042 --> 00:03:41.049 我也可以賦予一個變數Boolean值,像是這樣: 00:03:41.049 --> 00:03:48.767 我現在要創造一個新的變數 WhinstonIsCool,然後給他 00:03:48.767 --> 00:03:51.500 一個Boolean值,所以是“是”或“否” 00:03:51.500 --> 00:03:54.274 假設他是“是”因為Winston很酷 00:03:54.274 --> 00:03:57.047 所以現在這個變數有一個Boolean值了 00:03:57.047 --> 00:04:00.444 我可以複製他進去if述句 00:04:00.444 --> 00:04:04.120 然後你們現在可以看到這個橢圓了 00:04:04.120 --> 00:04:06.731 因為變數WinstonIsCool的值是“是” 00:04:06.731 --> 00:04:10.600 我可以用一個Boolean述句來代替這個 00:04:10.600 --> 00:04:14.200 像是“2小於4” 00:04:14.200 --> 00:04:18.099 現在如果你正在創造一個變數含有Boolean值 00:04:18.099 --> 00:04:19.602 你應該給他一個名字 00:04:19.602 --> 00:04:21.997 來確定這個變數是“是”還是“否” 00:04:21.997 --> 00:04:24.902 有一個好方法來確定你的變數有一個好名字 00:04:24.902 --> 00:04:28.330 是把它放進一個if述句然後看他有沒有邏輯 00:04:28.330 --> 00:04:31.434 所以,忘記WinstonIsCool,我們已經知道他是“是” 00:04:31.434 --> 00:04:34.306 我們假設有另一個變數叫“瑪芬” 00:04:34.306 --> 00:04:37.101 好的,“If 瑪芬”,恩 00:04:37.101 --> 00:04:38.304 你知道嗎? 00:04:38.304 --> 00:04:42.169 他不代表任何意義,所以他是一個糟糕的變數名稱 00:04:42.169 --> 00:04:46.166 但是如果是“If 正在烤瑪芬” 那我們可以知道 00:04:46.166 --> 00:04:50.931 這個變數是否是“是”,那就正在烤瑪芬 00:04:50.931 --> 00:04:54.229 而不是問我什麼瑪芬,那並不重要 00:04:54.229 --> 00:04:59.000 所以現在我們回去“If 數字小於50” 00:04:59.000 --> 00:05:00.383 酷 00:05:00.383 --> 00:05:02.538 現在我們來看其他Boolean述句 00:05:02.538 --> 00:05:05.772 你已經看過“小於”和“大於” 00:05:05.772 --> 00:05:09.077 但是你可以檢查一個東西是否是“小於等於” 00:05:09.077 --> 00:05:12.571 所以來試試看,“If 數字小於等於48” 00:05:12.571 --> 00:05:20.034 我們也可以說“If 數字大於等於48” 00:05:20.034 --> 00:05:24.201 如果是,我們可以畫出右上角的橢圓 00:05:24.201 --> 00:05:27.375 縮排這句 00:05:27.375 --> 00:05:30.271 如果你想要檢查兩個東西是否相同 00:05:30.271 --> 00:05:32.419 可以說”if 數字 00:05:32.419 --> 00:05:36.281 然後後面打三個等號,或是“三個等號48” 00:05:39.494 --> 00:05:42.496 所以他很像你在數學裡用的等號 00:05:42.496 --> 00:05:44.794 不過這次你有連續三個等號 00:05:44.794 --> 00:05:46.634 有點多餘是不是? 00:05:46.634 --> 00:05:48.899 所以最後,我們想要知道 00:05:48.899 --> 00:05:51.235 兩個東西是不是不相等 00:05:51.235 --> 00:05:53.236 所以嚴格來講,你可以說 00:05:53.236 --> 00:05:57.601 “if 數字”然後接一個驚嘆號和兩個等號,然後“48” 00:05:57.601 --> 00:06:02.134 所以我們現在可以畫出最後一個橢圓 00:06:04.096 --> 00:06:07.499 所以如果回到最上面,我們可以看到數字是48 00:06:07.499 --> 00:06:09.765 所以這個數字小於等於48 00:06:09.765 --> 00:06:11.766 也就是為什麼左上角的橢圓會出現 00:06:11.766 --> 00:06:16.201 這個數字也大於等於48,也等於48 00:06:16.201 --> 00:06:18.701 但他不等於48 00:06:18.701 --> 00:06:21.630 這就是為什麼我們缺少右下角的橢圓 00:06:21.630 --> 00:06:23.803 如果我們現在更改數字 00:06:23.803 --> 00:06:26.346 你可以看到橢圓出現的變化 00:06:26.998 --> 00:06:29.634 所以現在你們知道Boolean值 00:06:29.634 --> 00:06:31.300 就像數學算式 00:06:31.300 --> 00:06:33.734 Boolean述句可以變得很複雜 00:06:33.734 --> 00:06:35.743 但是我們改個時間再講吧