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

Câu lệnh lặp for

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
3
đề thi
  1. Đề chính thức Tin học 2026 (Bộ GD&ĐT) – mã đề 0501 · Câu 1 Phần I
    Câu 1.

    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:

    L = [2, 5, 4]
    k, n, T = 1, 3, 0
    for i in range(0, n):
        for j in range(0, i + 1):
            T = T + k * L[j]
        k = -1 * k

    C++:

    int k = 1, n = 3, T = 0, L[] = {2, 5, 4};
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < i + 1; j++) {
            T = T + k * L[j];
        }
        k = -1 * k;
    }

    Sau khi thực hiện đoạn chương trình trên, biến T có giá trị nào sau đây?

    • A.

      6.

      Đáp án
    • B.

      -5.

    • C.

      2.

    • D.

      -11.

    Lời giải

    Lần theo chương trình (k đổi dấu sau mỗi vòng i):

    – i = 0 (k = 1): T = 0 + 2 = 2; sau đó k = –1.

    – i = 1 (k = –1): T = 2 – 2 – 5 = –5; sau đó k = 1.

    – i = 2 (k = 1): T = –5 + 2 + 5 + 4 = 6.

    Kết quả T = 6. Chọn A.

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

    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  s = "TRI_TUE_NHAN_TAO"
    2  x = 9
    3  for i in range(8, 10):
    4      if i % 2 == 0: x = x * 2
    5      else: x = x // 3
    6  print(s[x])

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

    1  char s[] = "TRI_TUE_NHAN_TAO";
    2  int x = 9;
    3  for (int i = 8; i < 10; i++) {
    4      if (i % 2 == 0) x = x * 2;
    5      else x = x / 3;
    6  }
    7  cout << s[x];

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

    • A.

      E

      Đáp án
    • B.

      U

    • C.

      T

    • D.

      R

    Lời giải

    Ban đầu x=9x = 9. Với i=8i = 8 (chẵn): x=9⋅2=18x = 9 \cdot 2 = 18. Với i=9i = 9 (lẻ): x = 18 // 3 = 6 (C++: 18 / 3 = 6).

    Xâu "TRI_TUE_NHAN_TAO" đánh chỉ số từ 0: T(0) R(1) I(2) _(3) T(4) U(5) E(6). Vậy s[6] là E.

    Chọn A.

  3. Đề tham khảo Tin học 2025 (Bộ GD&ĐT) · Câu 18 Phần I
    Câu 18.

    Chọn một trong hai ngôn ngữ Python hoặc C++ để xem xét đoạn chương trình sau:

    Đoạn chương trình viết bằng ngôn ngữ Python:

    S = 0
    for i in range(1,4):
        S += i*i
    print(S)

    Đoạn chương trình viết bằng ngôn ngữ C++:

    int S = 0;
    for (int i = 1; i < 4; i++)
        S += i*i;
    cout << S;

    Phương án nào dưới đây nêu đúng giá trị của S sau khi thực hiện đoạn chương trình trên?

    • A.

      30.

    • B.

      29.

    • C.

      14.

      Đáp án
    • D.

      13.

    Lời giải

    Vòng lặp chạy với i=1,2,3i = 1, 2, 3 (range(1,4) không lấy 4, tương tự i < 4), mỗi lần cộng i2i^2 vào S: S=12+22+32=1+4+9=14S = 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14. Chọn C.