Trắc nghiệm Tin học 6 Bài 4: Cấu trúc lặp trong thuật toán
Câu 1: Sau khi thực hiện đoạn chương trình sau:
S:=10;
For i:=1 to 4 do S:=S+i;
Giá trị của biến S bằng bao nhiêu?
A. 20.
B. 14.
C. 10.
D. 0.
Hướng dẫn giải
Trả lời: Ban đầu S được gán giá trị bằng 10. Sau các vòng lặp S có giá trị là:
Với i= 1 → S= 10 + 1 = 11
Với i= 2 → S= 11 + 2 = 13
Với i= 3 → S= 13 + 3 = 16
Với i= 4 → S= 16 + 4 = 20
Đáp án: A.
Câu 2: Trong lệnh lặp For – do:
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.
Hướng dẫn giải
Trả lời: Trong lệnh lặp For – do Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không được thực hiện.
Đáp án: B.
Câu 3: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100
A. 1.
B. 100.
C. 99.
D. Tất cả đều sai.
Hướng dẫn giải
Trả lời: Số vòng lặp của bài toán được tính = giá trị cuối – giá trị đầu + 1 = 100 – 1 + 1 = 100 vòng.
Đáp án: B.
Câu 4: Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M.
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M.
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M.
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M.
Hướng dẫn giải
Trả lời: Đoạn chương trình:
For I:=1 to M do { I chạy trong phạm vi từ 1 đến M}
If (I mod 3 = 0) and (I mod 5 = 0) then { kiểm tra I chia hết cho 3 và cho 5 không}
T := T + I; {Cộng dồn vào tổng}
Đáp án: B.
Câu 5: Việc đầu tiên mà câu lệnh While … do cần thực hiện là gì?
A. Thực hiện < câu lệnh > sau từ khóa Do.
B. Kiểm tra giá trị của < điều kiện.
C. Thực hiện câu lệnh sau từ khóa Then.
D. Kiểm tra < câu lệnh.
Hướng dẫn giải
Trả lời: Việc đầu tiên mà câu lệnh While … do cần thực hiện là kiểm tra điều kiện. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước đầu.
Đáp án: B.
Câu 6: Thuật toán thực hiện công việc rửa rau được mô tả bằng cách liệt kê các bước như sau:
1. Cho rau vào chậu và xả nước ngập rau.
2. Dùng tay đảo rau trong chậu.
3. Vớt rau ra rổ, đổ hết nước trong chậu đi.
4. Lặp lại bước 1 đến bước 3 cho đến khi rau sạch thì kết thúc.
Điều kiện để dừng việc rửa rau là gì?
A. Vớt rau ra rổ.
B. Đổ hết nước trong chậu đi.
C. Rau sạch.
D. Rau ở trong chậu.
Hướng dẫn giải
Trả lời: Điều kiện để dừng việc rửa là rau sạch.
Đáp án: C.
Câu 7: Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước:
A. For…do.
B. While…do.
C. If..then.
D. If…then…else.
Hướng dẫn giải
Trả lời: Cú pháp lệnh lặp với số lần chưa biết trước: while <điều kiện> do
Đáp án: B.
Câu 8: Cú pháp lệnh lặp với số lần chưa biết trước:
A. While < điều kiện > to < câu lệnh >.
B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >.
C. While < điều kiện > do ;< câu lệnh >.
D. While < điều kiện > do < câu lệnh >.
Hướng dẫn giải
Trả lời: Cú pháp lệnh lặp với số lần chưa biết trước:
while <điều kiện> do ; trong đó:
+ Điều kiện: thường là 1 phép so sánh
+ Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
Đáp án: D.
Câu 9: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
A. Ngày tắm hai lần.
B. Học bài cho tới khi thuộc bài.
C. Mỗi tuần đi nhà sách một lần.
D. Ngày đánh răng 2 lần.
Hướng dẫn giải
Trả lời: Hoạt động học cho đến khi thuộc bài là lặp với số lần chưa biết trước vì không biết đến khi nào sẽ thuộc, chỉ cần biết thuộc sẽ dừng.
Đáp án: B.
Câu 10: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
A. 1 lần.
B. 2 lần.
C. 5 lần.
D. 6 lần.
Hướng dẫn giải
Trả lời: Cho biết câu lệnh sau Do thực hiện 5 lần vì i = 5 mỗi lần kiểm tra i>=1 thì giảm i đi 1 đơn vị qua câu lệnh i := i – 1; vậy câu lệnh được thực hiện 5 lần.
Đáp án: C.
Câu 11: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu nào?
A. Integer.
B. Real.
C. String.
D. Tất cả các kiểu trên đều được.
Hướng dẫn giải
Trả lời: Cú pháp câu lệnh lặp:
For := to do ;
Trong đó: biến đếm phải là kiểu nguyên ( Integer)
Đáp án: A.
Câu 12: Phát biểu nào sau đây là sai?
A. Cấu trúc lặp có số lần lặp luôn được xác định trước.
B. Cấu trúc lặp bao giờ cũng có điều kiện để vồng lặp kết thúc.
C. Cấu trúc lặp có hai loại là lặp với số lần biết trước và lặp với số lần không biết trước.
D. Cấu trúc lặp có loại kiểm tra điều kiện trước và loại kiểm tra điều kiện sau.
Hướng dẫn giải
Trả lời: Trong cấu trúc lặp, bao giờ cũng có bước kiểm tra điều kiện kết thúc quá trình lặp, có thể kiểm tra trước hoặc sau với số lần lặp không được xác định trước.
Đáp án: A.
Câu 13: Câu lệnh được mô tả như sau: “ Nếu Điều kiện đúng thực hiện Lệnh, nếu sai thì dừng” là câu lệnh gì?
A. Cấu trúc lặp
B. cấu trúc rẽ nhánh dạng thiếu
C. Cấu trúc rẽ nhánh dạng đủ
D. Cấu trúc tuần tự
Hướng dẫn giải
Trả lời: Cấu trúc rẽ nhánh dạng thiếu: Nếu Điều kiện đúng thực hiện Lệnh, nếu sai thì dừng.
Đáp án: B.
Câu 14: Thuật toán thực hiện công việc rửa rau được mô tả bằng cách liệt kê các bước như sau:
1. Cho rau vào chậu và xả nước ngập rau.
2. Dùng tay đảo rau trong chậu.
3. Vớt rau ra rổ, đổ hết nước trong chậu đi.
4. Lặp lại bước 1 đến bước 3 cho đến khi rau sạch thì kết thúc.
Các bước nào của thuật toán được lặp lại?
A. Chỉ bước 1 và 2.
B. Chỉ bước 2 và 3.
C. Ba bước 1, 2 và 3.
D. Cả bốn bước 1, 2, 3 và 4.
Hướng dẫn giải
Trả lời: Vòng lặp được lặp lại với 3 bước 1, 2 và 3.
Đáp án: C.
Câu 15: Hãy xác đinh bài toán sau: “Tìm số lớn nhất trong dãy n số tự nhiên cho trước”?
A. Đầu vào là dãy n số tự nhiên. Đầu ra là số lớn nhất trong dãy n số.
B. Đầu vào là số lớn nhất trong dãy n số. Đầu ra là dãy n số tự nhiên.
C. Cả đáp án A, B đều đúng
D. Cả đáp án A, B đều sai.
Hướng dẫn giải
Trả lời:
Trong bài toán thì đầu vào là giá trị đề bài đã cho, Đầu ra là giá trị cần tìm. Vậy trong bài toán trên INPUT là dãy n số tự nhiên. OUTPUT là số lớn nhất trong dãy n số.
Đáp án: A