< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:01 - 0:04
    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
  • 0:04 - 0:08
    giúp ta viết ra rất nhiều
    dòng văn bản chỉ bằng vài câu lệnh đơn.
  • 0:08 - 0:10
    Nếu ta thay đổi nội dung văn bản
    có trong một dòng lệnh,
  • 0:10 - 0:12
    thì kết quả hiển thị
    sẽ được đổi đồng loạt.
  • 0:12 - 0:17
    Vậy vòng lặp hoạt động như thế nào?
    Trước khi phân tích về câu lệnh vòng lặp này,
  • 0:17 - 0:19
    ta hãy suy nghĩ về
    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 câu lệnh tạo 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
    ví dụ ta muốn đổi tham số 70 thành 60,
  • 0:47 - 0:51
    thì 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à chỉnh sửa
    chúng đồ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
    nhưng đừng lo, thông báo sẽ biến mất khi
    ta viết xong câu lệnh một cách chính xác.
  • 1:27 - 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
    Nhưng 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. Do đó,
    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:13
    và gán giá trị khởi đầu là 40
    Bây giờ, để biến y thay đổi sau mỗi vòng lặp,
  • 2:13 - 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ũng có thể kiến thức
    về cách nhập tắt để áp dụng ở đây.
  • 2:24 - 2:28
    Ta sẽ nhập "y += 20".
  • 2:28 - 2:33
    Cuối cùng, ta cần trả lời câu hỏi thứ ba:
    "Các câu lệnh cần được 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ể bị quá tải.
  • 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. Vậy ta nhập "y < 400" vào
  • 2:51 - 2:56
    cặp dấu ngoặc đơn. Và câu lệnh while sẽ
    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
    Ta tiếp tục tìm hiểu về vòng lặp.
  • 3:11 - 3:16
    Ta sẽ đổi nội dung biến "message" thành
    "y is now" và sửa nội dung lệnh "text" ở dưới.
  • 3:16 - 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
    Khi đó, 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à ta cũng có thể thay đổi số lần lặp lại của
    câu lệnh khi thay đổi giá trị giới hạn của y.
  • 3:41 - 3:46
    Ở đây, 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:56
    nếu biểu thức trong dấu ngoặc đơn
    là đúng, nếu không đúng thì sẽ dừng chạy.
  • 3:57 - 4:04
    Ngoài ra, vòng lặp while có một cơ chế thú vị
    là "quay lại kiểm tra điều kiện của biểu thức".
  • 4:06 - 4:11
    Nghĩa là khác với lệnh "if" chỉ kiểm tra
    điều kiện một lần rồi thực thi yêu cầu,
  • 4:11 - 4:15
    thì sau mỗi lần chạy lệnh trong
    ngoặc nhọn, vòng lặp 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
    và ta sẽ tìm hiểu kỹ hơn
    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

Incomplete

Revisions Compare revisions