A. Luyện tập

Hoàn chỉnh Bài 2 SGK tr 69

B. Trắc nghiệm

Câu 1:Vòng lặp While – do kết thúc khi nào

   A. Khi điều kiện cho trước không được thỏa mãn

   B. Khi đủ số vòng lặp

   C. Khi tìm được Output

   D. Tất cả các phương án

   Vòng lặp While – do là vòng lặp chưa biết trước số lần lặp vì vậy việc lặp chỉ kết thúc khi điều kiện cho trước không được thỏa mãn.

   Đáp án: A

Câu 2: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 < đ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 >

   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 3: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

   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 5:Câu lệnh sau giải bài toán nào:

   While M <> N do

   If M > N then M:=M-N else N:=N-M;

   A. Tìm UCLN của M và N

   B. Tìm BCNN của M và N

   C. Tìm hiệu nhỏ nhất của M và N

   D. Tìm hiệu lớn nhất của M và N

   Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệu của số lớn trừ số bé. Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.

   Đáp án: A

Câu 6: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

   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 7: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 >;

   cú pháp lệnh lặp với số lần chưa biết trước:

   while <điều kiện> do <câu lệnh>; 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 8:Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

   A. While S>=108 do

   B. While S < 108 do

   C. While S <= 1.0E8 do

   D. While S >= E8 do

   Cấu trúc câu lệnh While- do có dạng:

   While <điều kiện > do < câu lệnh>;

   Ý nghĩa: Câu lệnh được thực hiện khi điều kiện được thỏa mãn. Do vậy mỗi lần thực hiện câu lệnh nó sẽ kiểm tra điều kiện, đúng sẽ thực hiện, sai thì dừng vòng lặp.

   Mà điều kiện của bài là S>108 vì vậy nó sẽ kiểm tra S<= 108 thì tính tổng đến khi S>108 thì dừng. Trong Pascal S<= 108 được viết là S<= 1.0E8.

   Đáp án: C

Câu 9: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

   cú pháp lệnh lặp với số lần chưa biết trước:

    while <điều kiện> do <câu lệnh>;

   Đáp án: B