Return to Video

Booleans (影片版)

  • 0:03 - 0:06
    在英文裡有很多不同種類的字彙
  • 0:06 - 0:08
    像是名詞,形容詞,介系詞,動詞
  • 0:08 - 0:10
    然後有很多規則
  • 0:10 - 0:13
    告訴我們如何把它們組成一個句子
  • 0:13 - 0:19
    如果我說 ”狗書我吃“
  • 0:19 - 0:22
    你會覺得 ”你到底在說什麼?“
  • 0:22 - 0:24
    如果你不覺得有錯的話
  • 0:24 - 0:26
    很明顯的,你不能把兩個名詞放在
  • 0:26 - 0:28
    形容詞和動詞前面
  • 0:28 - 0:29
    這行不通的
  • 0:29 - 0:35
    但如果換成說 ”我的狗吃書“
  • 0:35 - 0:37
    那你現在就知道我在說什麼了
  • 0:37 - 0:39
    我甚至可以把動詞“吃”換掉
  • 0:39 - 0:43
    換成另外一個動詞像是,我想想看,丟
  • 0:43 - 0:45
    這在文法上還是正確的
  • 0:45 - 0:48
    即使你沒辦法想像我的狗正在丟一本書
  • 0:48 - 0:50
    但是在程式裡,我們不用不同種的字彙
  • 0:50 - 0:52
    反而用一種東西叫資料類型
  • 0:52 - 0:54
    你已經看過其中一種了:數字
  • 0:54 - 0:57
    我們經常我們的繪圖程式裡使用數字
  • 0:57 - 0:58
    就像英文
  • 0:58 - 1:01
    有時候程式裡可以用數字,有時候不行
  • 1:01 - 1:05
    如果我開始在背景程式打 “100減”
  • 1:06 - 1:09
    那下一個東西最好要是數字
  • 1:09 - 1:14
    或是一個也是數字的東西像是 “14+15”
  • 1:14 - 1:18
    但是如果我打 “100 空白”
  • 1:18 - 1:20
    我不可能在後面放一個數字
  • 1:20 - 1:24
    因為 “100 空白 10” 不代表任何東西
  • 1:24 - 1:28
    所以程式裡有另外一種資料類型,叫做Boolean
  • 1:28 - 1:29
    這個程式叫做Boolean
  • 1:29 - 1:34
    是因為某個叫做George Boole的傢伙發明它的
  • 1:34 - 1:37
    不像一個數字有很多可能的值
  • 1:37 - 1:42
    Boolean只能是兩種值: 是,或,否
  • 1:43 - 1:45
    你可以看到當我打出他們的時候,他們變成藍色
  • 1:45 - 1:47
    這代表他們是超級特別酷的字
  • 1:47 - 1:49
    而且你之前已經看過我用過Boolean了
  • 1:49 - 1:52
    雖然你可能沒有發現: if 述句!
  • 1:52 - 1:54
    讓我們趕快複習一下他們怎麼運作
  • 1:54 - 1:59
    我現在要給一個變數 “Number” 一個數值:40
  • 1:59 - 2:01
    然後寫一個if述句說:
  • 2:01 - 2:09
    “如果那個數字小於50,那我就畫第一個橢圓”
  • 2:11 - 2:13
    接著我把這些程式複製進這個if述句
  • 2:13 - 2:16
    然後全選再按tab把它縮排
  • 2:16 - 2:18
    所以現在這個if述句說:
  • 2:18 - 2:23
    “如果這個數字小於50,就要畫出上方這個橢圓”
  • 2:23 - 2:25
    而如果這個數字大於50
  • 2:25 - 2:28
    左上方的橢圓就消失了
  • 2:28 - 2:31
    好,所以這些在括號裡面的東西
  • 2:31 - 2:33
    其實就是一個Boolean述句
  • 2:33 - 2:36
    記得,一個數學表述是任何可以做數學運算的表述
  • 2:36 - 2:40
    像是3加2加4乘8
  • 2:40 - 2:44
    所以一個Boolean述句就是可以做Boolean運算的述句
  • 2:44 - 2:46
    一個檢查Boolean述句的好方法
  • 2:46 - 2:50
    就是把是否放在句子中間,像是在問一個問題
  • 2:50 - 2:54
    如果他聽起來像是一個是非問題,那他就是Boolean述句
  • 2:54 - 2:57
    所以在這邊我們問:“這個數字是否小於50?”
  • 2:57 - 3:01
    是,他是,所以這是一個Boolean述句
  • 3:01 - 3:04
    如果現在我們有一個述句“4+4”
  • 3:04 - 3:10
    然後我試著問:“是否4加是4” 這不是一個Boolean述句
  • 3:10 - 3:12
    所以回到我們的if述句
  • 3:12 - 3:15
    我其實可以把任何東西放進這個述句
  • 3:15 - 3:17
    只要他是一個Boolean值或是Boolean述句
  • 3:17 - 3:21
    所以如果我說 “if “是”” 我們永遠可以畫出一個橢圓
  • 3:21 - 3:25
    或是說“if “否”” 那我們永遠畫不出這個橢圓
  • 3:25 - 3:29
    我也可以說“if 3小於4”
  • 3:29 - 3:32
    他是一個Boolean述句,而其值永遠是 “是”
  • 3:32 - 3:35
    那句很明顯是正確的,而我們則永遠可以畫出這個橢圓
  • 3:35 - 3:38
    或是 “if 3大於4”那這句話是不正確的
  • 3:38 - 3:41
    我也可以賦予一個變數Boolean值,像是這樣:
  • 3:41 - 3:49
    我現在要創造一個新的變數 WhinstonIsCool,然後給他
  • 3:49 - 3:52
    一個Boolean值,所以是“是”或“否”
  • 3:52 - 3:54
    假設他是“是”因為Winston很酷
  • 3:54 - 3:57
    所以現在這個變數有一個Boolean值了
  • 3:57 - 4:00
    我可以複製他進去if述句
  • 4:00 - 4:04
    然後你們現在可以看到這個橢圓了
  • 4:04 - 4:07
    因為變數WinstonIsCool的值是“是”
  • 4:07 - 4:11
    我可以用一個Boolean述句來代替這個
  • 4:11 - 4:14
    像是“2小於4”
  • 4:14 - 4:18
    現在如果你正在創造一個變數含有Boolean值
  • 4:18 - 4:20
    你應該給他一個名字
  • 4:20 - 4:22
    來確定這個變數是“是”還是“否”
  • 4:22 - 4:25
    有一個好方法來確定你的變數有一個好名字
  • 4:25 - 4:28
    是把它放進一個if述句然後看他有沒有邏輯
  • 4:28 - 4:31
    所以,忘記WinstonIsCool,我們已經知道他是“是”
  • 4:31 - 4:34
    我們假設有另一個變數叫“瑪芬”
  • 4:34 - 4:37
    好的,“If 瑪芬”,恩
  • 4:37 - 4:38
    你知道嗎?
  • 4:38 - 4:42
    他不代表任何意義,所以他是一個糟糕的變數名稱
  • 4:42 - 4:46
    但是如果是“If 正在烤瑪芬” 那我們可以知道
  • 4:46 - 4:51
    這個變數是否是“是”,那就正在烤瑪芬
  • 4:51 - 4:54
    而不是問我什麼瑪芬,那並不重要
  • 4:54 - 4:59
    所以現在我們回去“If 數字小於50”
  • 4:59 - 5:00
  • 5:00 - 5:03
    現在我們來看其他Boolean述句
  • 5:03 - 5:06
    你已經看過“小於”和“大於”
  • 5:06 - 5:09
    但是你可以檢查一個東西是否是“小於等於”
  • 5:09 - 5:13
    所以來試試看,“If 數字小於等於48”
  • 5:13 - 5:20
    我們也可以說“If 數字大於等於48”
  • 5:20 - 5:24
    如果是,我們可以畫出右上角的橢圓
  • 5:24 - 5:27
    縮排這句
  • 5:27 - 5:30
    如果你想要檢查兩個東西是否相同
  • 5:30 - 5:32
    可以說”if 數字
  • 5:32 - 5:36
    然後後面打三個等號,或是“三個等號48”
  • 5:39 - 5:42
    所以他很像你在數學裡用的等號
  • 5:42 - 5:45
    不過這次你有連續三個等號
  • 5:45 - 5:47
    有點多餘是不是?
  • 5:47 - 5:49
    所以最後,我們想要知道
  • 5:49 - 5:51
    兩個東西是不是不相等
  • 5:51 - 5:53
    所以嚴格來講,你可以說
  • 5:53 - 5:58
    “if 數字”然後接一個驚嘆號和兩個等號,然後“48”
  • 5:58 - 6:02
    所以我們現在可以畫出最後一個橢圓
  • 6:04 - 6:07
    所以如果回到最上面,我們可以看到數字是48
  • 6:07 - 6:10
    所以這個數字小於等於48
  • 6:10 - 6:12
    也就是為什麼左上角的橢圓會出現
  • 6:12 - 6:16
    這個數字也大於等於48,也等於48
  • 6:16 - 6:19
    但他不等於48
  • 6:19 - 6:22
    這就是為什麼我們缺少右下角的橢圓
  • 6:22 - 6:24
    如果我們現在更改數字
  • 6:24 - 6:26
    你可以看到橢圓出現的變化
  • 6:27 - 6:30
    所以現在你們知道Boolean值
  • 6:30 - 6:31
    就像數學算式
  • 6:31 - 6:34
    Boolean述句可以變得很複雜
  • 6:34 - 6:36
    但是我們改個時間再講吧
Title:
Booleans (影片版)
Description:

這僅是我們互動程式編輯教學的螢幕擷取,用以簡易化字幕編輯及翻譯。最好上:https://www.khanacademy.org/cs/programming/觀看我們的教學影片。

more » « less
Video Language:
English
Duration:
06:37

Chinese, Traditional subtitles

Revisions