Thực hiện các thao tác lặp đi lặp lại nhiều lần dựa vào các điều kiện nhất định.

11. Bài tập

Bài 1: Sinh bảng cửu chương

Mô tả:

Hãy viết một ứng dụng để in ra trang web một bảng cửu chương với giao diện như sau:

Hướng dẫn:

Bước 1: Tạo một trang web với các thẻ HTML cơ bản.

Bước 2: Viết mã Javascript để chèn một bảng với các cột và dòng tương ứng vào tài liệu HTML:

Sử dụng 2 vòng lặp lồng nhau. Một vòng lặp để chèn các dòng và một vòng lặp để chèn các ô.

Bài 2: Hiển thị các số nguyên tố đầu tiên

Mô tả:

Trong phần này, chúng ta sẽ phát triển một ứng dụng cho phép hiển thị 20 số nguyên tố đầu tiên.

Hướng dẫn:

Bước 1: Khai báo biến số nguyên numbers và nhập cho nó một giá trị từ bàn phím để lưu số lượng số nguyên tố cần in ra.

Bước 2: Khai báo biến count và gán cho nó giá trị 0, biến này để đếm xem số lượng lượng số nguyên tố cần in ra đã bằng numbers hay chưa.

Bước 3: Khai báo biến N và gán cho giá trị 2, biến này để kiểm tra xem các giá trị nó nhận được có phải là số nguyên tố không, mỗi lần lặp giá trị của biến sẽ được tăng lên 1.

Bước 4: Trong khi count < numbers thì:

  • Kiểm tra xem N có phải là số nguyên tố không. Nếu N là số nguyên tố thì in ra giá trị của N và tăng giá trị của count lên 1
  • Giá trị của N tăng lên 1 để kiểm tra số tiếp theo

 

Bài 3: Các số chia hết cho 7

Tính tổng của 30 số chia hết cho 7 đầu tiên trong các số tự nhiên.

Bài 4: Số fibonacci chia hết cho 5

Tìm số đầu tiên trong dãy fibonacci chia hết cho 5.

12. Bài kiểm tra

Câu 1: JavaScript hỗ trợ những lệnh nào để thực hiện vòng lặp?

  1. for
  2. do/while
  3. for/in
  4. while

Câu 2: Lệnh ‘for’ nào thực hiện lặp 5 lần?

  1. for( i=0; i<5; i++ )
  2. for( i=0; i<5; i+=2 )
  3. for( i=0; i<6; i++ )
  4. for( i=0; i<4; i++ )

Câu 3: Xác định giá trị của biến count sau khi thực hiện đoạn mã sau:

let count = 0;
       while (count++ < 10) {
           count++;
       }
  1. 11
  2. Không có giá trị nào đúng
  3. 9
  4. 10

Câu 4: Xác định giá trị của biến count sau khi thực hiện đoạn mã sau:

let count = 0;
       do {
           count++;
       } while (count++ < 10);
  1. Không có giá trị nào đúng
  2. 10
  3. 12
  4. 11

Câu 5: Đâu là đoạn mã thực hiện lặp tương đương với đoạn mã sau:

let count = 0;
      while (count < 5) { count++; }
  1. var count = 0;

for( count < 5; count ++ ){ }

  • Không có đoạn mã nào tương tương
  • for( count = 0; count <= 5; count++ ){ }
  • for( count = 0; count < 5 ){ count++; }

Câu 6: …………… cho phép một tập các chỉ thị được thực thi chừng nào một điều kiện xác định đạt còn đúng.

  1. Cấu trúc
  2. Vòng lặp
  3. Tất cả đều sai
  4. Toán tử

Câu 7: Dự đoán kết quả đoạn mã sau:

       let x = 1;
       for (let i = 0; i < 3; i++) {
           x = x + 1;
       }
       console.log(x);
  1. 1
  2. 4
  3. 2
  4. 3

Câu 8: Dự đoán kết quả đoạn mã sau:

       let x = 1, i;
       for (i = 0; i < 3; i = i + 2) {
           x = x + 1;
       }
       console.log(x);
       console.log(i);
  1. 2,4
    1. 3,2
    1. 3,4
    1. 2,1

Câu 9: Dự đoán kết quả của đoạn mã dưới đây:

       let i = 0;
       while (i < 3) {
           console.log(i);
           i++;
       }
  1. 1 2 3
    1. Lỗi
    1. 0 1 2
    1. 0 1 2 3

Câu 10: Dự đoán kết quả của đoạn mã dưới đây:

let i = 0;
       while (i <= 3) {
           console.log("hi");
           i++;
       }
  1. hi bye
    1. hihi
    1. hi bye hi
    1. Hihihihi

Đáp án: Câu 1 a b c d , Câu 2 c, Câu 3 a , Câu 4 c, Câu 5 d, Câu 6 b, Câu 7 b, Câu 8 c, Câu 9 c, Câu 10 d

13. Tổng kết

  • Cấu trúc lặp giúp tự động thực hiện lặp đi lặp lại các tác vụ
  • Các cấu trúc lặp thông dụng: for, while, do-while
  • Cấu trúc lặp for được sử dụng phù hợp nhất trong những tình huống mà chúng ta biết trước số lần lặp
  • Cấu trúc lặp while và do-while được sử dụng phù hợp nhất trong những tình huống mà chúng ta không biết trước số lần lặp
  • Phần thân của cấu trúc lặp do-while được thực hiện ít nhất là 1 lần, kể cả trong trường hợp biểu thức điều kiện trả về false ngay từ đầu
  • Có thể lồng các vòng lặp vào với nhau, càng nhiều vòng lặp lồng nhau thì độ phức tạp của mã càng cao
  • Câu lệnh break được sử dụng để ngắt luồng thực thi của vòng lặp
  • Câu lệnh continue được sử dụng để bỏ qua vòng lặp hiện tại.