< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:01 - 0:07
    Chúng ta cùng tìm hiểu về các vòng lặp nhé. Ta có một vòng lặp while ở đây. Chỉ với một vài dòng mã, ta có thể viết rất nhiều thông điệp dọc theo màn hình.
  • 0:07 - 0:10
    Nếu ta thay đổi nội dung của một thông điệp,
  • 0:10 - 0:12
    thì tất cả các thông điệp khác cũng thay đổi.
  • 0:12 - 0:16
    Vòng lặp này hoạt động như thế nào?
    Ta có thể quay lại mã này sau.
  • 0:16 - 0:19
    Trước tiên, ta cần suy nghĩ xem
    cách tạo ra chương trình này
  • 0:19 - 0:22
    chỉ với những gì ta biết mà
    không sử dụng vòng lặp.
  • 0:22 - 0:27
    Để làm điều đó, có vẻ như ta sẽ chỉ
    viết đi viết lại rất nhiều văn bản.
  • 0:27 - 0:33
    Ta nhập lệnh "text", sau đó là biến "message" ta đã tạo
    ở trên và bây giờ ta chỉ cần lặp lại
  • 0:33 - 0:36
    để các thông điệp trải dài
    đến cuối khung kết quả.
  • 0:36 - 0:39
    Làm như vậy rất mất công.
  • 0:39 - 0:43
    Khoảng cách đến cuối bảng vẽ còn rất nhiều và còn tệ hơn
  • 0:43 - 0:47
    nếu ta phát hiện ra lỗi sai trong các tham số,
    ví dụ như đây không phải 70
  • 0:47 - 0:51
    mà phải là 60. Lỗi này ảnh
    hưởng cả lệnh bên dưới
  • 0:51 - 0:55
    và các lệnh khác nữa.
  • 0:55 - 0:58
    Cách làm này sẽ mất nhiều thời gian hơn.
  • 0:58 - 1:02
    Đây quả là một vấn đề nan giải
    và thật may mắn là ta có công cụ vòng lặp.
  • 1:02 - 1:06
    Từ giờ trở đi, mỗi khi gặp các mã lặp lại như vậy,
  • 1:06 - 1:10
    Hãy nghĩ ngay đến vòng lặp. Vòng lặp sẽ giúp ta
  • 1:10 - 1:14
    lặp đi lặp lại các mã và ta chỉ
    cần sửa một chút ở các dòng lệnh.
  • 1:14 - 1:18
    Sau đây là cách sử dụng vòng lặp để viết lại mã này. Đầu tiên, ta nhập "while"
  • 1:18 - 1:22
    sau đó là dấu ngoặc đơn và dấu ngoặc nhọn. Người bạn của chúng ta hiện lên với một thông điệp
  • 1:22 - 1:26
    bởi vì ta chưa hoàn thành dòng mã này. Đừng lo, người bạn ấy sẽ biến mất khi ta hoàn thành.
  • 1:26 - 1:31
    Mỗi khi viết một vòng lặp, bạn
    cần trả lời được 3 câu hỏi quan trọng:
  • 1:31 - 1:33
    3 câu hỏi đó là
  • 1:33 - 1:37
    "Bạn muốn lặp lại cái gì?"
  • 1:37 - 1:41
    Thông điệp mà ta cần lặp lại phải
    được viết bên trong dấu ngoặc nhọn.
  • 1:41 - 1:46
    Trong trường hợp này, ta muốn lặp lại lệnh "text" nên ta sẽ dán lệnh đó vào trong dấu ngoặc nhọn.
  • 1:46 - 1:50
    Nhìn nó hơi kỳ cục. Bởi vì chúng ta chỉ đang
  • 1:50 - 1:52
    lặp đi lặp lại cùng một lệnh "text".
  • 1:52 - 1:58
    Ta cần phải thay đổi một thứ gì đó. Vì vậy, ta có câu hỏi thứ hai là "Bạn muốn thay đổi điều gì ở mỗi lần lặp lại?"
  • 1:58 - 2:01
    Ta muốn thay đổi tọa độ y thành 60
  • 2:01 - 2:06
    và sau đó là 80. Thay vào đó,
    ta sẽ biến nó thành một biến.
  • 2:06 - 2:09
    Gọi biến đó là Y vì nó đại diện cho tọa độ y. Ta sẽ khai báo biến này
  • 2:09 - 2:12
    ở bên trên lệnh "while". Giá trị đầu tiên là 40.
  • 2:12 - 2:18
    Bây giờ, ta chỉ cần thay đổi giá trị của biến y thành y bằng y cộng 20.
  • 2:18 - 2:20
    Các giá trị sau sẽ lớn hơn.
  • 2:20 - 2:24
    Ta có thể áp dụng bài học
    về các phím tắt tăng ở đây.
  • 2:24 - 2:28
    Ta chỉ cần dùng phím tắt ở đây. Vậy là ta đã trả lời xong hai câu hỏi.
  • 2:28 - 2:33
    Bây giờ, ta cần trả lời câu hỏi thứ ba:
    "Các thông điệp cần lặp lại trong bao lâu?"
  • 2:33 - 2:37
    Ta không hề muốn các thông
    điệp này lặp lại vô hạn.
  • 2:37 - 2:41
    Bởi vì nếu làm vậy, thứ nhất là sẽ mất rất nhiều thời gian và thứ hai là trình duyệt có thể sập.
  • 2:41 - 2:43
    Nhưng mong là nó sẽ không sập.
  • 2:43 - 2:47
    Ta chỉ muốn lặp lại các thông
    điệp này tới cuối khung kết quả.
  • 2:47 - 2:51
    Tức là ta sẽ lặp lại các thông điệp miễn là y nhỏ hơn 400.
  • 2:51 - 2:56
    Ta nhập "y nhỏ hơn 400" vào lệnh "while và các lệnh đã được lặp lại tới cuối khung kết quả.
  • 2:56 - 3:00
    Có thể thấy, cách làm này đơn giản hơn cách làm trước đó,
  • 3:00 - 3:04
    cách làm trước mất nhiều thời gian để viết mã hơn mà mãi vẫn chưa hoàn thành thông điệp.
  • 3:04 - 3:08
    Ta xóa các lệnh trước đó đi và ta đã hoàn thành chương trình.
  • 3:08 - 3:11
    Bây giờ, ta sẽ tìm hiểu
    kỹ hơn về vòng lặp.
  • 3:11 - 3:15
    Để làm điều đó, ta sẽ in y ra mỗi lần điều kiện thỏa mãn.
    Ta có thông điệp là "y is now"
  • 3:15 - 3:19
    Ở lệnh "text", ta gắn y vào "message"
    để thấy các giá trị của biến y.
  • 3:19 - 3:23
    Các giá trị đang tăng
    lên 20 đơn vị.
  • 3:23 - 3:26
    Ta có thể thay đổi điều này bằng
    cách thay đổi biến y ở dưới.
  • 3:26 - 3:31
    Ta sẽ sửa thành 50.
    Bây giờ, các giá trị sẽ tăng 50 đơn vị.
  • 3:31 - 3:36
    Ta có thể thay đổi giá trị của biến y tùy thích.
  • 3:36 - 3:39
    Việc thay đổi điều kiện của lệnh "while" sẽ ảnh hưởng đến việc chương trình dừng lại ở đâu.
  • 3:41 - 3:46
    Để hiểu kỹ hơn, ta hãy liên tưởng tới câu lệnh "if".
  • 3:46 - 3:49
    Coi điều kiện này là biểu thức
    Boolean mà ta đã học.
  • 3:49 - 3:52
    Sau đó, ta tạo phần thân của lệnh "if".
  • 3:52 - 3:55
    Lệnh text chỉ xảy ra khi giá trị
    của biểu thức Boolean là "true".
  • 3:55 - 3:57
    Còn nếu không, ta sẽ chuyển luôn sang phần cuối cùng.
  • 3:57 - 4:04
    Một điều thú vị là trong vòng lặp while, ta có một câu lệnh đó là "go back to the start of the loop" ở cuối.
  • 4:06 - 4:11
    Câu lệnh này nghĩa là thay
    vì dừng lại và để vòng lặp tiếp tục,
  • 4:11 - 4:15
    giống như lệnh "if" thì mỗi khi tạo thân
    của vòng lặp ta sẽ quay lại và kiểm tra xem
  • 4:15 - 4:17
    liệu điều kiện vẫn
    đang thỏa mãn hay không.
  • 4:17 - 4:20
    Nếu điều kiện vẫn thoả mãn
    thì ta sẽ lặp lại một lần nữa
  • 4:20 - 4:22
    và ở lần lặp lại thứ hai,
    ta vẫn làm tương tự.
  • 4:22 - 4:28
    Ta sẽ quay lại và kiểm tra xem liệu
    y vẫn nhỏ hơn 279 hay không.
  • 4:28 - 4:31
    Nếu có thì ta sẽ lặp lại các lệnh
    một lần nữa và tiếp tục kiểm tra điều kiện.
  • 4:31 - 4:36
    Nếu không thì ta quay lại điều kiện
    của lệnh "while" và vòng lặp sẽ dừng lại.
  • 4:36 - 4:38
    Ta sẽ tiếp tục lập trình
    chương trình của mình.
  • 4:38 - 4:42
    Có nhiều cách thú vị hơn để sử dụng
    vòng lặp và ta sẽ sớm tìm hiểu.
  • 4:42 - 4:46
    Nhưng hiện tại, chúng ta đã
    có một khởi đầu tuyệt vời về vòng lặp.
Title:
Intro to While Loops | Computer Programming | Khan Academy
Description:

more » « less
Video Language:
English
Team:
Khan Academy
Duration:
04:46

Vietnamese subtitles

Revisions Compare revisions