1.Cú pháp lệnh lặp for do dạng lùi
A.for biến đếm = giá trị cuối downto giá trị…
A.for biến đếm = giá trị cuối downto giá trị đầu do câu lệnh;
B.for biến đếm := giá trị đầu downto giá trị cuối do câu lệnh;
C.for biến đếm := giá trị cuối downto giá trị đầu do câu lệnh;
C.for biến đếm = giá trị cuối down giá trị đầu do câu lệnh;
2.Cú pháp lệnh lặp for do dạng tiến
A.for biến đếm = giá trị cuối to giá trị đầu do câu lệnh;
B.for biến đếm := giá trị đầu downto giá trị cuối do câu lệnh;
C.for biến đếm := giá trị cuối to giá trị đầu do câu lệnh;
D.for biến đếm := giá trị đầu to giá trị cuối do câu lệnh;
3.Trong vòng lặp for do dạng tiến, giá trị của biến đếm
A.Tự động giảm đi 1 đơn vị
B.Tự động điều chỉnh
C.Tự động tăng lên 1 đơn vị
D.Chỉ tăng khi có câu lệnh thay đổi giá trị
4.Kiểu dữ liệu của bến đếm trong lệnh lặp for do
A.Cùng kiểu với giá trị đầu và giá trị cuối
B.Chỉ cần khác kiểu với giá trị đầu
C.Cùng kiểu với các biến trong câu lệnh
D.Không cần phải xác định kiểu dữ liệu
5.Trong lệnh lặp for do dạng tiến
A.Giá trị đầu phải nhỏ hơn giá trị cuối
B.Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
C.Giá trị đầu phải lớn hơn giá trị cuối
D.Giá trị đầu phải bằng giá trị cuối
6.Lệnh lặp for do được sử dụng khi
A.Lặp với số lần biết trước
B.Lặp với số lần chưa biết trước
C.Lặp với số lần có thể biết trước
D.Lặp với số lần không bao giờ biết trước
7.Cấu trúc lặp với số lần chưa biết trước là
A.while điều kiện do câu lệnh;
B.for điều kiện do câu lệnh;
C.while câu lệnh do điều kiện;
D.while not điều kiện do câu lệnh;
8.Có thể dùng câu lệnh while do thay cho câu lệnh for do được không?
A.Không thể thay thế
B.Chỉ thay thế được khi vòng lặp đó chưa biết trước số lần lặp
C.Luôn thay thế được
D.Tỉ lệ thay thế được là 50%
9.Trong lệnh while do, điều kiện gì
A.Biểu thức số học
B.Biểu thức quan hệ
C.Hằng đẳng thức
D.Biểu thức logic
10.Trong vòng lặp while do, câu lệnh được thực hiện khi
A.Điều kiện sai
B.Điều kiện không xác định
C.Điều kiện đúng
D.Không cần điều kiện
Chúng ta sẽ cùng nhau đi qua từng câu hỏi một cách chi tiết, để các em hiểu rõ bản chất và cách áp dụng nhé!
1. Cú pháp lệnh lặp for do dạng lùi
Đáp án đúng: B. for biến đếm := giá trị đầu downto giá trị cuối do câu lệnh;
Giải thích chi tiết:
- Trong lập trình, lệnh lặp for do dạng lùi (hay còn gọi là lặp giảm) được dùng khi chúng ta muốn biến đếm giảm dần giá trị qua mỗi lần lặp.
- Cú pháp chuẩn của lệnh lặp for do dạng lùi là:
for biến_đếm := giá_trị_đầu downto giá_trị_cuối do câu_lệnh; - Ở đây:
biến đếmlà một biến có kiểu dữ liệu là số nguyên hoặc ký tự, dùng để kiểm soát số lần lặp.:=là toán tử gán, dùng để gán giá trị khởi tạo cho biến đếm.giá trị đầulà giá trị khởi đầu của biến đếm, thường là một số lớn.downtolà từ khóa chỉ định rằng biến đếm sẽ giảm dần.giá trị cuốilà giá trị mà biến đếm sẽ đạt tới (hoặc vượt qua nếu không đủ điều kiện). Giá trị cuối này phải nhỏ hơn hoặc bằng giá trị đầu.do câu lệnh;chỉ ra khối lệnh sẽ được thực hiện lặp đi lặp lại.
- Tại sao các đáp án khác sai?
- A và D sử dụng dấu
=thay vì:=cho phép gán, và sắp xếp giá trị không đúng với quy tắc lặp lùi. - C sắp xếp giá trị ngược lại so với định nghĩa lặp lùi:
giá trị cuối downto giá trị đầusẽ không hoạt động đúng nếugiá trị cuốinhỏ hơngiá trị đầu. Chúng ta muốn biến đếm đi từ giá trị lớn (giá trị đầu) xuống giá trị nhỏ (giá trị cuối).
- A và D sử dụng dấu
2. Cú pháp lệnh lặp for do dạng tiến
Đáp án đúng: D. for biến đếm := giá trị đầu to giá trị cuối do câu lệnh;
Giải thích chi tiết:
- Ngược lại với dạng lùi, lệnh lặp for do dạng tiến (hay còn gọi là lặp tăng) được dùng khi chúng ta muốn biến đếm tăng dần giá trị qua mỗi lần lặp.
- Cú pháp chuẩn là:
for biến_đếm := giá_trị_đầu to giá_trị_cuối do câu_lệnh; - Ở đây:
giá trị đầulà giá trị khởi đầu của biến đếm, thường là một số nhỏ.tolà từ khóa chỉ định rằng biến đếm sẽ tăng dần.giá trị cuốilà giá trị mà biến đếm sẽ đạt tới. Giá trị cuối này phải lớn hơn hoặc bằng giá trị đầu.
- Tại sao các đáp án khác sai?
- A và C sử dụng dấu
=không đúng hoặc sắp xếp giá trị không hợp lý. - B là cú pháp của lệnh lặp lùi, không phải lặp tiến.
- A và C sử dụng dấu
3. Trong vòng lặp for do dạng tiến, giá trị của biến đếm
Đáp án đúng: C. Tự động tăng lên 1 đơn vị
Giải thích chi tiết:
- Đúng như tên gọi “lặp tiến” hay “lặp tăng”, sau mỗi lần thực hiện xong khối lệnh bên trong vòng lặp, giá trị của biến đếm sẽ tự động tăng lên 1 đơn vị. Đây là một đặc điểm quan trọng của lệnh for do giúp chúng ta không cần phải tự mình viết lệnh tăng biến đếm.
- Ngược lại, trong vòng lặp for do dạng lùi (downto), biến đếm sẽ tự động giảm đi 1 đơn vị.
4. Kiểu dữ liệu của biến đếm trong lệnh lặp for do
Đáp án đúng: A. Cùng kiểu với giá trị đầu và giá trị cuối
Giải thích chi tiết:
- Trong lập trình, đặc biệt là các ngôn ngữ lập trình cấu trúc như Pascal (ngôn ngữ thường được dùng làm nền tảng trong SGK Tin học lớp 8), biến đếm và các giá trị đầu, giá trị cuối của vòng lặp for do phải cùng kiểu dữ liệu. Kiểu dữ liệu này phải là kiểu đếm được (ordinal type), tức là có thể xác định phần tử liền trước hoặc liền sau, ví dụ như kiểu số nguyên (Integer), kiểu ký tự (Char).
- Việc này đảm bảo rằng vòng lặp có thể hoạt động logic và chính xác, vì máy tính cần biết cách tăng hoặc giảm giá trị của biến đếm từ giá trị đầu đến giá trị cuối.
5. Trong lệnh lặp for do dạng tiến
Đáp án đúng: B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
Giải thích chi tiết:
- Đối với lệnh lặp for do dạng tiến (to), biến đếm sẽ bắt đầu từ
giá trị đầuvà tăng dần lên. Để vòng lặp có thể thực hiện được ít nhất một lần hoặc hoạt động đúng logic,giá trị đầuphải nhỏ hơn hoặc bằnggiá trị cuối.- Nếu
giá trị đầu < giá trị cuối: Vòng lặp sẽ thực hiện nhiều lần. - Nếu
giá trị đầu = giá trị cuối: Vòng lặp sẽ thực hiện đúng 1 lần. - Nếu
giá trị đầu > giá trị cuối: Vòng lặp sẽ không thực hiện lần nào cả (vì điều kiện để tăng từ giá trị đầu đến giá trị cuối không được thỏa mãn).
- Nếu
- Tương tự, đối với lệnh lặp for do dạng lùi (downto),
giá trị đầuphải lớn hơn hoặc bằnggiá trị cuối.
6. Lệnh lặp for do được sử dụng khi
Đáp án đúng: A. Lặp với số lần biết trước
Giải thích chi tiết:
- Lệnh for do là dạng vòng lặp xác định số lần (definite loop). Điều này có nghĩa là ngay từ khi bắt đầu vòng lặp, chúng ta đã biết chắc chắn hoặc có thể tính toán được số lần mà vòng lặp sẽ được thực hiện. Ví dụ, lặp 10 lần, lặp từ 1 đến N, lặp cho tất cả các phần tử trong một danh sách cố định.
- Khi số lần lặp chưa xác định trước hoặc phụ thuộc vào một điều kiện nào đó xảy ra trong quá trình lặp, chúng ta sẽ sử dụng các lệnh lặp khác như while do (sẽ tìm hiểu ở các câu sau).
7. Cấu trúc lặp với số lần chưa biết trước là
Đáp án đúng: A. while điều kiện do câu lệnh;
Giải thích chi tiết:
- Khi chúng ta muốn một khối lệnh được lặp đi lặp lại miễn là một điều kiện nào đó còn đúng, và số lần lặp không thể xác định trước ngay từ đầu (ví dụ: lặp cho đến khi người dùng nhập đúng mật khẩu, lặp cho đến khi đạt được một kết quả tính toán nào đó), thì chúng ta sử dụng lệnh lặp while do.
- Cú pháp chuẩn là:
while điều_kiện do câu_lệnh; - Ở đây:
điều kiệnlà một biểu thức logic (có giá trị là True hoặc False).do câu lệnh;là khối lệnh sẽ được thực hiện chừng nàođiều kiệncòn đúng.
- Tại sao các đáp án khác sai?
- B sai cú pháp của for.
- C sai cú pháp của while (điều kiện phải đứng trước do).
- D là một biến thể của điều kiện trong while, nhưng không phải là cấu trúc tổng quát.
8. Có thể dùng câu lệnh while do thay cho câu lệnh for do được không?
Đáp án đúng: C. Luôn thay thế được
Giải thích chi tiết:
- Đây là một điểm rất thú vị! Mọi vòng lặp for do (với số lần lặp biết trước) đều có thể được viết lại bằng vòng lặp while do. Chúng ta chỉ cần khởi tạo một biến đếm trước vòng lặp while, đặt điều kiện lặp dựa trên biến đếm đó, và tự tăng/giảm biến đếm bên trong vòng lặp.
- Ví dụ: Vòng lặp
for i := 1 to 5 do print(i);có thể được viết lại bằng while do như sau:
i := 1;
while i <= 5 do
begin
print(i);
i := i + 1;
end; - Tuy nhiên, điều ngược lại không phải lúc nào cũng đúng. Một số vòng lặp while do với điều kiện phức tạp, không liên quan đến việc đếm số lần, thì rất khó hoặc không thể chuyển thành for do một cách tự nhiên.
9. Trong lệnh while do, điều kiện gì
Đáp án đúng: D. Biểu thức logic
Giải thích chi tiết:
- Điều kiện trong lệnh while do bắt buộc phải là một biểu thức logic (hay còn gọi là biểu thức Boolean). Điều này có nghĩa là khi biểu thức đó được đánh giá, kết quả trả về phải là Đúng (True) hoặc Sai (False).
- Ví dụ về biểu thức logic:
a > b,x = 0,(tuoi >= 18) AND (quoc_tich = 'VN'). - Biểu thức quan hệ (như
a > b) là một dạng của biểu thức logic. Nhưng biểu thức logic là khái niệm tổng quát hơn, bao gồm cả các phép toán logic như AND, OR, NOT. Do đó, "Biểu thức logic" là đáp án chính xác nhất.
10. Trong vòng lặp while do, câu lệnh được thực hiện khi
Đáp án đúng: C. Điều kiện đúng
Giải thích chi tiết:
- Nguyên tắc hoạt động của vòng lặp while do là:
- Đầu tiên, hệ thống sẽ kiểm tra
điều kiện. - Nếu
điều kiệnlà Đúng (True), khốicâu lệnhbên trong vòng lặp sẽ được thực hiện. - Sau khi thực hiện xong khối lệnh, hệ thống lại quay lại kiểm tra
điều kiệnmột lần nữa. - Quá trình này cứ tiếp diễn cho đến khi
điều kiệntrở thành Sai (False), lúc đó vòng lặp sẽ kết thúc và chương trình chuyển sang thực hiện các lệnh tiếp theo.
- Đầu tiên, hệ thống sẽ kiểm tra
- Nếu ngay từ đầu
điều kiệnđã là Sai (False), thì khốicâu lệnhsẽ không bao giờ được thực hiện.
Hy vọng với những giải thích chi tiết này, các em đã hiểu rõ hơn về lệnh lặp for do và while do. Hãy ghi nhớ thật kỹ các kiến thức này vì chúng là nền tảng quan trọng cho việc học lập trình sau này nhé! Chúc các em học tốt!
1c 2d 3c 4a 5b 6a 7a 8d 9b 10c
1. C
2. D
3. B
4. A
5. B
6. A
7. A
8. C
9. D
10. C