< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:01 - 0:07
    Trong video này, ta cùng tìm hiểu về vòng
    lặp. Trên khung, ta có vòng lặp while giúp ta
    viết rất nhiều dòng văn bản chỉ bằng vài câu lệnh đơn.
  • 0:07 - 0:10
    Nếu ta thay đổi nội dung
    của một dòng văn bản,
  • 0:10 - 0:12
    thì tất cả các dòng khác cũng thay đổi.
  • 0:12 - 0:16
    Vậy vòng lặp 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ĩ
    cách lập trình chương trình này
  • 0:19 - 0:22
    bằng các kiến thức đã học mà
    không sử dụng vòng lặp.
  • 0:22 - 0:27
    Để làm điều này, 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", trong ngoặc là biến
    "message" và tham số chỉ vị trí văn bản.
  • 0:33 - 0:36
    Để các văn bản lặp lại, ta sẽ
    sao chép lại câu lệnh và sửa các tham số.
  • 0:36 - 0:39
    Và nếu làm như vậy, ta
    sẽ tốn nhiều thời gian.
  • 0:39 - 0:43
    Hoặc nếu ta muốn các dòng
    văn bản đứng gần nhau hơn.
  • 0:43 - 0:47
    Giả sử, ta muốn đổi tham số 70 thành 60,
  • 0:47 - 0:51
    Như vậy, ta cũng sẽ phải sửa
    tham số của các dòng lệnh khác
  • 0:51 - 0:55
    để khoảng cách các dòng văn bản đều nhau.
  • 0:55 - 0:58
    Như vậy, ta sẽ càng
    mất nhiều thời gian hơn.
  • 0:58 - 1:02
    Để giải quyết vấn đề này,
    ta có một công cụ hữu ích là vòng lặp.
  • 1:02 - 1:06
    Trong lập trình, khi
    thấy các câu lệnh lặp lại,
  • 1:06 - 1:10
    chúng ta hãy nghĩ
    đến việc sử dụng vòng lặp
  • 1:10 - 1:14
    để lặp lại các câu lệnh và
    có thể sửa đồng loạt chỉ với ít thao tác.
  • 1:14 - 1:18
    Sau đây là cách sử dụng vòng lặp.
    Đầu tiên, ta nhập "while",
  • 1:18 - 1:22
    theo sau là cặp ngoặc đơn và ngoặc nhọn.
    Lúc này, người bạn báo lỗi hiện lên.
  • 1:22 - 1:26
    vì ta chưa hoàn thành câu lệnh này.
  • 1:26 - 1:31
    Mỗi khi viết một vòng lặp,
    ta 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
    "Ta muốn lặp lại cái gì?"
  • 1:37 - 1:41
    Những phần ta cần lặp lại sẽ
    được viết bên trong dấu ngoặc nhọn.
  • 1:41 - 1:46
    Ở bài này, ta muốn lặp lại lệnh "text" nên
    ta dán lệnh đó vào trong dấu ngoặc nhọn.
  • 1:46 - 1:50
    Nếu chỉ đưa lệnh "text" vào như vậy,
  • 1:50 - 1:52
    ta mới chỉ đang gọi lặp lại
    cùng một lệnh "text".
  • 1:52 - 1:58
    Do đó, ta có câu hỏi thứ hai là: ""Ta cần
    thay đổi điều gì ở mỗi lần lặp lại?"
  • 1:58 - 2:01
    Nhìn vào câu lệnh "text", ta sẽ cần
    thay đổi tọa độ y trong mỗi lần lặp,
  • 2:01 - 2:06
    40 thành 60 và thành 80. D đó,
    chúng ta sẽ cần tạo một biến đặt tên là y.
  • 2:06 - 2:09
    Ta sẽ khai báo biến này
  • 2:09 - 2:12
    nhận giá trị là 40. Và để biến y
    thay đổi sau mỗi vòng lặp,
  • 2:12 - 2:17
    ta sẽ nhập "y = y + 20"
    trong vòng lặp while.
  • 2:17 - 2:20
    Như vậy, giá trị mới gán cho y
    sẽ tăng sau mỗi vòng lặp.
  • 2:20 - 2:24
    Ta có thể áp dụng bài học về các phím tắt.
  • 2:24 - 2:28
    Ta sẽ nhập "y += 20".
  • 2:28 - 2:33
    Cuối cùng, ta trả lời câu hỏi thứ ba:
    "Các câu lệnh cần lặp lại đến khi nào?"
  • 2:33 - 2:37
    Chúng ta không muốn
    các câu lệnh lặp lại vô hạn
  • 2:37 - 2:41
    vì ta sẽ mất thời gian chờ đợi
    hoặc trình duyệt có thể sập.
  • 2:41 - 2:43
    Trong trường hợp này,
  • 2:43 - 2:47
    chúng ta chỉ muốn lặp lại
    các dòng văn bản tới cuối khung kết quả.
  • 2:47 - 2:51
    Tức là miễn là y nhỏ 400 thì ta sẽ lặp lại
    các câu lệnh. Ta nhập "y < 400" vào
  • 2:51 - 2:56
    cặp dấu ngoặc đơn. Và câu lệnh while
    lặp lại lệnh "text" đến cuối khung kết quả.
  • 2:56 - 3:00
    Bạn thấy rằng cách làm này
    đơn giản hơn cách làm ban đầu
  • 3:00 - 3:04
    và giúp ta tiết kiệm
    được rất nhiều thời gian.
  • 3:04 - 3:08
    Vậy ta sẽ xóa các câu lệnh trước đó đi.
  • 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
    Ta sẽ đổi nội dung biến "message" thành
    "y is now" và sửa nội dung lệnh "text".
  • 3:15 - 3:19
    Ta gắn y vào sau "message"
    để hiển thị giá trị gán cho biến y.
  • 3:19 - 3:23
    Ta thấy rằng, sau mỗi lần lặp lại,
    giá trị gán cho y tăng thêm 20 đơn vị.
  • 3:23 - 3:26
    Ta có thể thay đổi giá trị tăng thêm
    bằng cách sửa 20 thành 50.
  • 3:26 - 3:31
    Ta thấy khoảng cách
    giữa các dòng văn bản đã giãn ra.
  • 3:31 - 3:36
    Bạn cũng có thể thay đổi
    giá trị gán cho biến y tùy thích.
  • 3:36 - 3:40
    Và việc thay đổi giá trị của biến y
    ảnh hưởng đến số lần lặp lại của câu lệnh.
  • 3:41 - 3:46
    Bạn có thể liên tưởng tới câu lệnh "if".
  • 3:46 - 3:49
    Phần trong ngoặc đơn giống với biểu thức
    Boolean mà ta đã học.
  • 3:49 - 3:52
    Sau đó, chương trình sẽ chạy các
    câu lệnh trong ngoặc nhọn
  • 3:52 - 3:55
    nếu biểu thức trong dấu ngoặc đơn là đúng.
  • 3:55 - 3:57
    Một điều thú vị của vòng lặp while là
  • 3:57 - 4:04
    có một chức năng ẩn là
    "go back to the start of the loop".
  • 4:06 - 4:11
    Nghĩa là không giống như câu lệnh "if"
    chạy liên tục miễn là điều kiện đúng,
  • 4:11 - 4:15
    thì vòng lặp sau mỗi lần chạy các lệnh
    trong ngoặc nhọn sẽ quay lại và kiểm tra
  • 4:15 - 4:18
    xem liệu điều kiện trong
    ngoặc đơn còn thỏa mãn hay không.
  • 4:18 - 4:21
    Nếu điều kiện ở ngoặc đơn vẫn thoả mãn,
    chương trình sẽ lặp lại một lần nữa,
  • 4:21 - 4:23
    tương tự với các lần tiếp theo.
  • 4:23 - 4:28
    Trong trường hợp này, chương trình sẽ xem
    y còn nhỏ hơn 279 không sau mỗi lần lặp.
  • 4:28 - 4:32
    Nếu có thì chương trình sẽ lặp lại các
    lệnh trong ngoặc nhọn 1 lần nữa.
  • 4:32 - 4:36
    Nếu không thì vòng lặp sẽ dừng lại.
  • 4:36 - 4:38
    Vậy là ta đã tìm hiểu xong về vòng lặp.
  • 4:38 - 4:42
    Có nhiều cách thú vị để áp dụng
    vòng lặp trong lập trình
  • 4:42 - 4:46
    trong các video tiếp theo.
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