Câu 1: Cho đoạn chương trình:
S:=0;
For i:=1 to 5 do S:=S+2;
Sau khi thực hiện đoạn chương trình trên S có kết quả là :
A. 20 B. 15 C. 10 D. 0
Câu 2: Từ khóa trong câu lệnh lặp với số lần đã biết trước là:
A. While, do B. For, to, do C. For, do D. Four, to, do
Câu 3: Trong câu lệnh lặp với số lần đã biết trước, sau mỗi vòng lặp, biến đếm được tự động tăng thêm ...... cho đến khi bằng giá trị cuối. Chỗ trống cần điền là:
A. 1 đơn vị B. 6 đơn vị C. 4 đơn vị D. 2 đơn vị
Câu 4: Với S là biến Tổng và có giá trị ban đầu là 0. Hãy viết câu lệnh lặp với số lần biết trước tính tổng các số tự nhiên từ 2 đến 10.
A. For i:=1 to 10 do S:=S+i; B. For i:=2 to 10 do S:=S+i;
C. For i:=1 to 10 do S:=S+2*i; D. For i:=2 to 10 do S:=S+2*i;
Câu 5: Với S là biến Tổng và có giá trị ban đầu là 0. Hãy viết câu lệnh lặp với số lần biết trước tính tổng các số chẵn từ 2 đến 10.
A. For i:=1 to 5 do S:=S+i; B. For i:=2 to 10 do S:=S+i;
C. For i:=1 to 5 do S:=S+2*i; D. For i:=2 to 10 do S:=S+2*i;
Câu 6: Với S là biến Tổng và có giá trị ban đầu là 0. Hãy viết câu lệnh lặp với số lần biết trước tính tổng các số lẻ từ 1 đến 10.
A. For i:=1 to 5 do S:=S+2*i-1; B. For i:=1 to 9 do S:=S+i;
C. For i:=1 to 5 do S:=S+2*i+1; D. For i:=1 to 9 do S:=S+2*i;
Câu 7: Với S là biến Tích và có giá trị ban đầu là 1. Hãy viết câu lệnh lặp với số lần biết trước tính tích các số tự nhiên từ 1 đến 5.
A. For i:=1 to 5 do S:=S+i; B. For i:=0 to 4 do S:=S*(i+1);
C. For i:=1 to 5 do S:=S*i; D. B và C đều đúng;
Câu 8: Với S là biến Tích và có giá trị ban đầu là 1. Hãy viết câu lệnh lặp với số lần biết trước tính tích các số chia hết cho 4 từ 1 đến 20.
A. For i:=1 to 5 do S:=S+4*i; B. For i:=4 to 20 do S:=S+4*i;
C. For i:=1 to 5 do S:=S*4*i; D. B và C đều đúng;
Câu 9: Với S là biến Tích và có giá trị ban đầu là 1. Hãy viết câu lệnh lặp với số lần biết trước tính tích các số chia hết cho 3 từ 1 đến 9.
A. For i:=1 to 3 do S:=S*i; B. For i:=0 to 2 do S:=S*(i+3);
C. For i:=1 to 3 do S:=S*3*i; D. B và C đều đúng;
Câu 10: Câu lệnh for i=10 to 1 do writeln(’A’); có bao nhiêu lỗi?
A. 1 B. 2 C. 3 D. 4
Câu 11: Câu lệnh for i=2.2 to 18.2 do writeln (’A’); có bao nhiêu lỗi?
A. 1 B. 2 C. 3 D. 4
Câu 12: Câu lệnh for i=1 to 5 do writeln(’Tin hoc’); được sửa lỗi như thế nào?
A. for i:=1 to 5 do writeln(’Tin hoc’); B. for i=:1 to 5 do writeln(’ Tin hoc’);
C. for i:=5 to 1 do; writeln(’ Tin hoc’); D. for i:=1 to 5 do writeln(’ Tin hoc’)
Câu 13: Câu lệnh for i:=0 to 9 do writeln(’A’); có bao nhiêu vòng lặp?
A. 7 B. 8 C. 9 D. 10
Câu 14: Cho đoạn chương trình:
S:=0;
For i:=1 to 5 do S:=S+2;
Sau khi thực hiện đoạn chương trình trên i có kết quả là :
A. 2 B. 3 C. 4 D. 5
Câu 15: Đoạn chương trình sau: var x: real; Begin for x:=2 to 8 do writeln(’A’); End.
được sửa lỗi như thế nào?
A. var x: interger; Begin for x:=2 to 8 do writeln(’A’); End.
B. var x: integer; Begin for x:=2 to 8 do writeln(’A’); End.
C. var x: real; Begin for x:=2 to 8 do writeln(’A’) End.
D. var x: real; Begin for x=2 to 8 do writeln(’A’); End.
Câu 16: Hãy cho biết giá trị của S trong đoạn lệnh sau:
S:=0; for i:=1 to 3 do S:=S+2*i;
A. 0 B. 4 C. 3 D. 12
Câu 17: Hãy cho biết giá trị của S trong đoạn lệnh sau:
S:=0; for i:=2 to 6 do S:=S*2*i;
A. 0 B. 8 C. D. 40
Câu 18: Trong Pascal, câu lệnh lặp với số lần đã biết trước có dạng:
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> to <giá trị cuối> do <câu lệnh>;
C. for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>
D. for <biến đếm> := <giá trị cuối> to <giá trị đầu> do <câu lệnh>;
Câu 19: Số vòng lặp trong câu lệnh lặp với số lần đã biết trước là:
A. Giá trị đầu + giá trị cuối + 1 B. Giá trị cuối - giá trị đầu + 1
C. Giá trị đầu - giá trị cuối + 1 D. Giá trị cuối - giá trị đầu
Câu 20: Trong câu lệnh lặp với số lần đã biết trước, khi thực hiện lệnh, ban đầu biến đếm sẽ nhận giá trị bằng:
A. Giá trị đầu B. Giá trị cuối C. 0 D. 1
Câu 21: Trong câu lệnh lặp với số lần đã biết trước, giá trị đầu và giá trị cuối là:
A. Các giá trị tự nhiên B. Các giá trị nguyên C. Các giá trị thực D. A, B, C đúng
Câu 22: Hãy cho biết ý nghĩa câu lệnh for … do trong đoạn lệnh sau:
S:=0; for i:=1 to 10 do S:=S+3*i;
Tổng các số chia hết cho 3 từ 1-30 (hoặc từ 3-30)
Câu 23: Hãy cho biết ý nghĩa câu lệnh for … do trong đoạn lệnh sau:
S:=1; for i:=0 to 3 do S:=S*(i+1);
Tích các số tự nhiên từ 1 đến 4
Câu 24: Kiểu dữ liệu của biế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
Câu 25: Hoạt động nào sau đây lặp với số lần lặp biết trước?
A. Giặt tới khi sạch
B. Học bài cho tới khi thuộc bài
C. Gọi điện tới khi có người nghe máy
D. Ngày đánh răng 2 lần
Câu 26: Câu lệnh For..to..do kết thúc :
A. Khi biến đếm nhỏ hơn giá trị cuối
B. Khi biến đếm lớn hơn giá trị cuối
C. Khi biến đếm nhỏ hơn giá trị đầu
D. Khi biến đếm lớn hơn giá trị đầu
Câu 27: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng:
A. for i:=1 to 10; do x:=x+1;
B. for i:=1 to 10 do x:=x+1;
C. for i:=10 to 1 do x:=x+1;
D. for i =10 to 1 do x:=x+1;
Câu 28: 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
Câu 29: Đ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
Câu 30: 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
Câu 31: 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
Câu 32: Xác định số vòng lặp cho bài toán: tính tổng các số lẻ từ 1 đến 99
A. 49
B. 50
C. 98
D. 99
Câu 33: Cho đoạn chương trình:
S:=0;
For i:=1 to 5 do S:=S+2;
Câu lệnh lặp trên lặp bao nhiêu lần?
A. 4 B. 5 C. 6 D. Chỉ 1 lần.
CÂU LỆNH LẶP WHILE … DO
- Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
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 hay câu lệnh ghép (câu lệnh ghép phải đặt trong begin ….end;)
- Câu lệnh lặp được thực hiện như sau (2 bước)
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện sai, câu lệnh sẽ bỏ qua kết thúc vòng lặp. Nếu điều kiện đúng câu lệnh sẽ được thực hiện và quay lại bước 1
Câu 34: Trong Pascal, câu lệnh lặp với số lần chưa biết trước có dạng:
A. while <điều kiện> do <câu lệnh> B. while <câu lệnh> do <điều kiện>;
C. while <điều kiện> do <câu lệnh>; D. while := <điều kiện> do <câu lệnh>;
Câu 35: Cho đoạn chương trình:
S: =0 ; n:= 0;
While S < = 6 do
begin
n:= n+1;
S:= S+ n ;
End;
25.1/ Sau khi thực hiện đoạn chương trình trên S có kết quả là
A. 6 B. 10 C. 15 D. 21
25.2/ Sau khi thực hiện đoạn chương trình trên n có kết quả là
A. 2 B. 3 C. 4 D. 5
25.3/ Câu lệnh lặp trên là câu lệnh lặp gì?
A. Biết trước B. Chưa biết trước C. Điều kiện D. Tất cả đều sai.
25.4/ Câu lệnh trong câu lệnh lặp While ... do là câu lệnh .................
A. Đơn B. Ghép C. A, B đúng D. Tất cả đều sai.
Câu 36: Đoạn lệnh sau so:=2; While so < 5 do writeln(so); cho kết quả gì?
A. In ra kết quả từ 2 đến 4 B. In ra các số từ 2 đến 5
C. In ra số 2 D. In ra vô hạn số 2
Câu 37: Câu lệnh lặp với số lần chưa biết trước được thực hiện bao nhiêu bước?
A. 1 B. 2 C. 3 D. 4
Câu 38: Bước đầu tiên khi thực hiện câu lệnh lặp với số lần chưa biết trước là:
A. Kiểm tra điều kiện B. Thực hiện câu lệnh
C. Kiểm tra biến D. Kiểm tra câu lệnh
Câu 39: Để thực hiện chương trình tính tổng S = 1 + 2 + 3 + 4 ... + 100 ta có thể sử dụng câu lệnh lặp nào?
A. For ... do B. While ... do C. Cả A, B sai D. Cả A, B đúng
Câu 40: Đoạn lệnh S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n end; có bao nhiêu vòng lặp?
A. Vô tận B. 3 C. 5 D. 6
Câu 41: Đoạn lệnh n:=0; while n<=10 do begin n:=n+1; end; có bao nhiêu vòng lặp?
A. 0 B. 10 C. 11 D. Vô tận
Câu 42: Đoạn lệnh S:=0; n:=1; while i<=5 do begin S:=S+i; n:=n+1; end; giá trị S sau khi kết thúc câu lệnh lặp là?
A. 1 B. 5 C. 8 D. 15
Câu 43: Đoạn lệnh X:=10; while X:=10 do X:=X+5; có bao nhiêu lỗi?
A. 1 B. 2 C. 3 D. 4
Câu 44: Đoạn lệnh X:=10; while X:=10 do X:=X+5; được sửa lỗi như thế nào?
A. X:=10 while X:=10 do X:=X+5; B. X:=10; while X=10 do X:=X+5
C. X:=10; while X=10 do X:=X+5; D. X:=10 while X=10 do X=X+5
Câu 45: Câu lệnh Pascal : While (2*5>=10) do Writeln (2*5); sẽ :
A. In số 10 ra màn hình 3 lần. B. In số 10 ra màn hình 5 lần.
C. Không thực hiện lệnh Writeln (2*5); D. Lặp vô hạn lần lệnh Writeln (2*5);
Câu 46: Đoạn lệnh S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n; có bao nhiêu lỗi?
A. 1 B. 4 C. 5 D. 6
Câu 47: Đoạn lệnh S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n; được sửa lỗi:
A. S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n end;
B. S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n; end.
C. S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n; end;
D. S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n end;
Câu 48: Đoạn lệnh S:=10; x:=0.5; while S >5.2 do S:=S - x; writeln(S); có bao nhiêu vòng lặp?
A. Vô tận B. 5 C. 6 D. 10
Câu 49: Đoạn lệnh X:=20 while X=10 do X=X+10; có bao nhiêu lỗi?
A. 1 B. 2 C. 3 D. 4
Câu 1: B
Câu 2: D