Return to Video

Booleans (Video Version)

  • 0:03 - 0:05
    Trong tiếng Anh, ta có các phần câu khác nhau,
  • 0:05 - 0:08
    như Danh từ, Tính từ, Giới từ, Động từ.
  • 0:08 - 0:12
    Và sau đó là một loạt các quy tắc cho biết cách ghép những phần câu đó lại với nhau.
  • 0:12 - 0:22
    Vậy, nếu ta nói, "Dog Books my eat" (Chó sách của tôi ăn) bạn sẽ kiểu "CLGT?" (Cậu làm gì thế? :v)
  • 0:22 - 0:26
    Và không nhận ra điều này trước đây, rõ ràng bạn không thể ghép hai danh từ
  • 0:26 - 0:29
    trước tính từ và cuối cùng là động từ. Nó không có nghĩa.
  • 0:29 - 0:37
    Nhưng ta đổi lại vị trí và nói: "My dog eats books" ("Con chó của tôi gặm sách"), mọi người sẽ hoàn toàn hiểu tôi nói gì.
  • 0:37 - 0:43
    Ta thậm chí có thể thay thế động từ "gặm" (eat) bằng một động từ khác như, không biết nữa, "ném" (throw) chẳng hạn
  • 0:43 - 0:48
    và nó vẫn có nghĩa về mặt ngữ pháp, ngay cả khi bạn không thể hình dung ra con chó của tôi ném sách như thế nào.
  • 0:48 - 0:52
    Như vậy, trong lập trình, thay vì các thành phần của câu, ta có thứ gọi là các loại (type).
  • 0:52 - 0:57
    Ta đã từng thấy những thứ này: các con số. Ta lúc nào cũng dùng số trong code vẽ hình của mình.
  • 0:57 - 1:01
    Và giống như trong tiếng Anh, có khi việc dùng một con số mang ý nghĩa và đôi khi là vô nghĩa.
  • 1:01 - 1:09
    Nếu tôi gõ nhập vào hàm background, "100-" thì bất kể sau đó là cái gì, nó cũng nên là 1 con số,
  • 1:09 - 1:14
    hoặc ít nhất một cái gì đó có thể tính ra số như "14 + 15." chẳng hạn.
  • 1:14 - 1:20
    Mặt khác, nếu tôi vừa gõ "100", thì thực sự không thể đặt một số sau đó
  • 1:20 - 1:23
    bởi vì "100 10" là vô nghĩa.
  • 1:23 - 1:28
    Còn có một loại khác trong lập trình, được gọi là loại Boolean.
  • 1:28 - 1:34
    Và nó được gọi là Boolean bởi ông nào đó tên là George Boole đã nghĩ ra nó.
  • 1:34 - 1:38
    Và không giống như một số có thể mang rất nhiều giá trị,
  • 1:38 - 1:43
    một Boolean chỉ có thể là một trong hai giá trị: đúng (true) hoặc sai (false).
  • 1:43 - 1:47
    Và bạn có thể thấy khi ta gõ, chúng chuyển sang màu xanh, nghĩa là những từ này cực kỳ đặc biệt.
  • 1:47 - 1:51
    Và bạn đã thấy một chỗ có sử dụng boolean, mặc dù không nhận ra điều đó:
  • 1:51 - 1:52
    Mệnh đề If!
  • 1:52 - 1:53
    Hãy ôn lại nhanh về cách thức chúng làm việc.
  • 1:53 - 1:59
    Tôi sẽ tạo một biến gọi là 'number', gán cho nó một giá trị, 40.
  • 1:59 - 2:08
    Và viết một câu lệnh If có nội dung "Nếu number nhỏ hơn 50, thì
  • 2:08 - 2:11
    ... Tôi sẽ vẽ hình elip đầu tiên này. "
  • 2:11 - 2:16
    Tôi sẽ copy câu lệnh này vào mệnh đề If và thụt lề nó bằng cách chọn tất cả và nhấn tab.
  • 2:18 - 2:23
    Như vậy, bây giờ mệnh đề này nói, "Nếu number nhỏ hơn 50" (đó là!) "Thì ta sẽ vẽ hình elip trên cùng."
  • 2:23 - 2:28
    Và nếu tôi gán cho number giá trị lớn hơn 50, bạn có thể thấy rằng hình elip trên cùng biến mất.
  • 2:28 - 2:33
    Được rồi, vậy thứ trong cặp ngoặc đơn thực sự là một biểu thức boolean.
  • 2:33 - 2:40
    Hãy nhớ rằng, một biểu thức toán học là bất cứ thứ gì có thể tính toán thành một số: như 3 + 2 + 4 * 8.
  • 2:40 - 2:44
    Vậy, một biểu thức Boolean là bất cứ thứ gì có thể đánh giá thành Boolean.
  • 2:44 - 2:47
    Một cách tốt để kiểm tra xem một biểu thức có phải là Boolean hay không, là dán từ "là" (is)
  • 2:47 - 2:51
    ở phía trước của nó, và hỏi nó như một câu hỏi thông thường.
  • 2:51 - 2:54
    Nếu nó có vẻ như là một câu hỏi dạng xác nhận Có /Không (Yes/No question), thì ta biết đó là một biểu thức boolean.
  • 2:54 - 3:00
    Vậy, ở đây ta có thể nói, "number có ít hơn 50 không?" Vâng, đúng vậy, và đúng, đó là một biểu thức Boolean.
  • 3:00 - 3:05
    Mặt khác, nếu tôi có thứ khác như, "4 + 4" và cố gắng hỏi,
  • 3:05 - 3:11
    "Có phải là 4 + 4?" Không. Không mang giá trị Boolean.
  • 3:11 - 3:13
    Như vậy, trở lại mệnh đề If của ta. Ta thực sự đặt gì cũng được
  • 3:13 - 3:17
    bên trong cặp dấu ngoặc đơn này, miễn là biểu thức Boolean hoặc giá trị Boolean.
  • 3:17 - 3:21
    Vậy, tôi có thể gõ, "If true", và hình elip sẽ luôn được vẽ ra.
  • 3:21 - 3:25
    Hoặc tôi có thể gõ, "If false", và hình elip sẽ không bao giờ được vẽ.
  • 3:25 - 3:30
    Tôi làm điều gì đó như "If 3 < 4", đó là biểu thức Boolean
  • 3:30 - 3:33
    nó sẽ luôn trả về đúng, điều này thật vô nghĩa,
  • 3:33 - 3:38
    hình elip sẽ luôn được vẽ ra, hoặc "3 > 4" và điều đó luôn luôn sai.
  • 3:38 - 3:41
    Và ta cũng có thể gán Booleans cho các biến, như thế này:
  • 3:41 - 3:48
    tôi sẽ tạo biến mới, gọi nó là winstonIsCool và gán cho nó
  • 3:48 - 3:55
    một giá trị Boolean, true hay false. Đặt giá trị là 'đúng' bởi thực sự Winston chắc chắn rất tuyệt.
  • 3:55 - 3:59
    Giờ biến này đã có giá trị Boolean, tôi có thể copy
  • 3:59 - 4:03
    và paste nó bên trong mệnh đề If
  • 4:03 - 4:06
    và giờ ta thấy hình elip được vẽ, bởi giá trị của WinstonIsCool
  • 4:06 - 4:09
    là đúng.
  • 4:09 - 4:11
    Ta cũng có thể thay thế biểu thức này bằng biểu thức Boolean,
  • 4:11 - 4:15
    có thể là "2 < 4."
  • 4:15 - 4:18
    Nếu tạo một biến có nghĩa là giá trị Boolean,
  • 4:18 - 4:21
    bạn nên đặt cho nó một cái tên mô tả điều kiện khi biến nhận giá trị 'đúng'.
  • 4:21 - 4:24
    Cách để kiểm tra xem bạn đã chọn một cái tên đủ tốt cho biến hay chưa
  • 4:24 - 4:28
    là đặt nó trong một mệnh đề If và xem nó mang nghĩa như là một điều kiện không.
  • 4:28 - 4:31
    Vậy, hãy quên WinstonIsCool đi, ta biết rằng nó đúng.
  • 4:31 - 4:35
    Giả sử tôi có một biến gọi là "muffins".
  • 4:35 - 4:37
    Được rồi, "ifMuffins" Hừm.
  • 4:37 - 4:41
    Chà, bạn biết không, điều đó không nói lên bất cứ điều gì, nên nó là một tên biến khá tồi.
  • 4:41 - 4:46
    Nhưng nếu ta có "If muffinsAreBaking", thì nó sẽ cho biết
  • 4:46 - 4:51
    Khi biến này có giá trị đúng, thì muffin đang được nướng.
  • 4:51 - 4:54
    Và đừng hỏi tôi muffins là gì, nó không quan trọng đâu.
  • 4:54 - 4:59
    Vậy, giờ ta hãy quay lại "Nếu number < 50."
  • 4:59 - 5:00
    Ngon đấy.
  • 5:00 - 5:02
    Giờ hãy xem xét một số biểu thức Boolean khác.
  • 5:02 - 5:05
    Bạn đã thấy toán tử "<" và ">"
  • 5:05 - 5:09
    nhưng ta cũng có thể kiểm tra xem giá trị nào đó "nhỏ hơn hoặc bằng".
  • 5:09 - 5:13
    Vậy, hãy thử xem, "Nếu number <= 48."
  • 5:13 - 5:20
    Và ta cũng có thể nói, "Nếu number >= 48."
  • 5:20 - 5:24
    Nếu đúng, ta sẽ vẽ một hình elip ở trên cùng bên phải.
  • 5:26 - 5:27
    Hãy căn lề.
  • 5:27 - 5:32
    Và nếu muốn kiểm tra xem hai giá trị bằng nhau không, ta có thể nói:
  • 5:32 - 5:38
    "If number" và sau đó ba dấu bằng hay có thể viết "===48."
  • 5:38 - 5:42
    Nó rất giống với dấu bằng mà (=) mà ta từng dùng trong toán học,
  • 5:42 - 5:44
    nhưng lần này ta dùng nó tới ba lần liên tiếp.
  • 5:44 - 5:46
    Có phải nhiều thái quá không?
  • 5:46 - 5:51
    Và cuối cùng nếu muốn kiểm tra hai giá trị KHÔNG bằng nhau,
  • 5:51 - 6:00
    hoàn toàn không bằng, ta có thể viết, "If number" và sau đó là một dấu chấm than (!), và rồi 2 dấu bằng (==), "48".
  • 6:00 - 6:03
    Và rồi ta sẽ vẽ hình elip cuối cùng.
  • 6:04 - 6:08
    Được rồi. Vậy, nếu quay trở lại đầu trang, ta có thể thấy con số đó là 48,
  • 6:08 - 6:12
    nên nó nhỏ hơn hoặc bằng 48, đó là lý do tại sao hình elip trên cùng bên trái được vẽ nên.
  • 6:12 - 6:17
    Nó cũng lớn hơn hoặc bằng 48, nó cũng bằng 48,
  • 6:17 - 6:21
    nhưng nó không KHÁC 48, đó là lý do tại sao ta không thấy hình elip dưới cùng bên phải.
  • 6:21 - 6:26
    Và nếu nghịch ngợm với các giá trị, ta có thể thấy những hình elip được vẽ thay đổi.
  • 6:26 - 6:30
    Vậy, bây giờ ta đã biết về Booleans.
  • 6:30 - 6:33
    Và cũng giống như các biểu thức toán học, biểu thức Boolean có thể trở nên thực sự phức tạp.
  • 6:33 - 0:00
    Nhưng ta sẽ nói về chúng vào lúc khác.
Title:
Booleans (Video Version)
Description:

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

Vietnamese subtitles

Incomplete

Revisions