Luyện theo chủ đề · Tin học lớp 10

Câu lệnh lặp while

Chương “Giải quyết vấn đề với sự trợ giúp của máy tính”. Các câu thuộc chủ đề này, gom từ mọi đề trên trang, kèm đáp án và lời giải.

3
câu
2
đề thi
  1. Đề chính thức Tin học 2026 (Bộ GD&ĐT) – mã đề 0501 · Câu 10 Phần I
    Câu 10.

    Lựa chọn ngôn ngữ lập trình Python hoặc C++ để tìm hiểu đoạn chương trình sau:

    Python:

    x, a, b = 1, 4, 8
    while (a < b):
        if (x < a): x = x * a
        else: x = x // a
        a = a + 1
    print(x)

    C++:

    int x = 1, a = 4, b = 8;
    while (a < b) {
        if (x < a) x = x * a;
        else x = x / a;
        a = a + 1;
    }
    cout << x;

    Sau khi thực hiện đoạn chương trình trên, giá trị nào sau đây được hiển thị trên màn hình?

    • A.

      4.

    • B.

      21.

      Đáp án
    • C.

      3.

    • D.

      20.

    Lời giải

    Lần theo vòng lặp với b = 8:

    – a = 4: x = 1 < 4 nên x = 1 × 4 = 4.

    – a = 5: x = 4 < 5 nên x = 20.

    – a = 6: x = 20 ≥ 6 nên x = 20 // 6 = 3.

    – a = 7: x = 3 < 7 nên x = 21.

    – a = 8: vòng lặp dừng.

    In ra 21. Chọn B.

  2. Đề chính thức Tin học 2026 (Bộ GD&ĐT) – mã đề 0501 · Câu 16 Phần I
    Câu 16.

    Lựa chọn ngôn ngữ lập trình Python hoặc C++ để tìm hiểu đoạn chương trình sau:

    Python:

    n = 1
    while n % a != 0 and n % b != 0:
        n = n + 1

    C++:

    int n = 1;
    while (n % a != 0 && n % b != 0)
        n = n + 1;

    Giả sử a và b là hai số nguyên dương khác nhau, sau khi thực hiện đoạn chương trình trên, n là số nguyên dương thỏa mãn tính chất nào sau đây?

    • A.

      Nhỏ nhất và chia hết cho a hoặc b.

      Đáp án
    • B.

      Nhỏ nhất và chia hết cho cả a và b.

    • C.

      Lớn nhất và là ước số của a hoặc b.

    • D.

      Lớn nhất và là ước số của cả a và b.

    Lời giải

    Vòng lặp tăng n từ 1 cho đến khi n chia hết cho a hoặc cho b (điều kiện lặp là n không chia hết cho cả hai). Kết quả là số nguyên dương nhỏ nhất chia hết cho a hoặc b. Chọn A.

  3. Đề chính thức Tin học 2025 (Bộ GD&ĐT) – mã đề 0501 · Câu 8 Phần I
    Câu 8.

    Lựa chọn ngôn ngữ Python hoặc C++ để tìm hiểu đoạn chương trình sau:

    Đoạn chương trình viết bằng Python (số ở đầu là Dòng):

    1  n, i, S = 9, 5, 0
    2  while i < n:
    3      S = S + i
    4      i = i + 2
    5  print(S)

    Đoạn chương trình viết bằng C++ (số ở đầu là Dòng):

    1  int n = 9, i = 5, S = 0;
    2  while (i < n) {
    3      S = S + i;
    4      i = i + 2;
    5  }
    6  cout << S;

    Phương án nào sau đây chỉ ra đúng số lần lặp của câu lệnh while ở Dòng 2?

    • A.

      3.

    • B.

      2.

      Đáp án
    • C.

      1.

    • D.

      0.

    Lời giải

    Ban đầu n=9, i=5, S=0n = 9,\ i = 5,\ S = 0.

    • Lần lặp 1: i=5<9i = 5 < 9 → S=5, i=7S = 5,\ i = 7.

    • Lần lặp 2: i=7<9i = 7 < 9 → S=12, i=9S = 12,\ i = 9.

    • i=9i = 9 không nhỏ hơn 9 nên vòng lặp dừng.

    Câu lệnh while lặp 2 lần. Chọn B.