Câu 11: Cho đoạn chương trình sau đây: X:= 0; While X <= 5 do X := X + 3; Sau khi đoạn chương trình trên được thực hiện, giá trị của X bằng bao nhiêu? A. 0 B. 3 C. 6 D. 9 Câu 12: Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu: j:=1; For i:=1 to 5 do j:=j+2; A. 3 B. 9 C. 5 D. 11 Câu 13: Cho đoạn lệnh sau, Hãy cho biết đoạn lệnh thực hiện bao nhiêu vòng lặp ? x:=1; while x<5 do x:=x+2; A. 1 vòng lặp B. 2 vòng lặp C. 3 vòng lặp D. 5 vòng lặp Câu 14: S:=10; x:=1; While S < 5.2 do S:=S – x; Writeln(S); Khi kết thúc S bằng: A. 1 B. 5 C. 10 D. Lặp vô hạn lần Câu 15: Cho đoạn lệnh sau, Hãy cho biết đoạn lệnh thực hiện bao nhiêu vòng lặp ? x:=1; while x<5 do x:=x+2; A. 1 vòng lặp B. 2 vòng lặp C. 3 vòng lặp D. 5 vòng lặp Câu 16: Các lệnh nào dưới đây lặp với số lần biết trước? A. Ngày đánh răng ba lần. B. Học cho đến khi học thuộc bài. C. Nhặt từng cọng rau cho đến khi xong. D. Gọi điện cho tới khi có người nhấc máy. Câu 17: Câu lệnh sau đây: for i=1 to 5 do x=x+1; Sai ở chổ nào? A. giá trị đầu không là kiểu số nguyên B. thiếu dấu : sau biến x C. thiếu dấu : sau biến i D. thiếu dấu : sau biến i và x Câu 18: Chọn điều kiện Đúng trong các điều kiện sau? A. x=3 B. x/3 C. x 3 D. x <= 3 Câu 19: Trong câu lệnh lặp: For i := 1 to 10 do j := j + 2; write( j ); Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần? A. 10 lần ; B. 1 lần; C. 5 lần; D. Không thực hiện. Câu 20: Trong cú pháp câu lệnh lặp với số lần biết trước: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; Số lần lặp là: A. Giá trị cuối – Giá trị đầu +1 B. Giá trị cuối – Giá trị đầu –1 C. Giá trị đầu – Giá trị cuối +1 D. Giá trị đầu – Giá trị cuối –1 Câu 21: Câu lệnh lặp while…do có dạng đúng là: A. While <điều kiện> <câu lệnh> do; B. While <điều kiện> do <câu lệnh>; C. While <câu lệnh> <câu lệnh> do; D. While do <điều kiện> <câu lệnh>; Câu 22: Hãy chỉ ra câu lệnh Đúng trong các câu lệnh sau: A. for i:=10 to 1 do x:=x+1; B. for i:=1 to 10; do x:=x+1 C. for i:=1 to 10 do x:=x+1; D. for i:= 1 to 10 for j:=1 to 10 do x:=x+1; Câu 23: Lệnh lặp sau: for i:=0 to 5 do begin…end; được thực hiện bao nhiêu lần? A. 7 lần B. 5 lần C. 6 lần D. 0 lần Câu 24: Cú pháp của câu lệnh For …. do là: A. for <biến đếm> := <Giá trị đầu> to <giá trị cuối> do <câu lệnh>; B. for <biến đếm> := <Giá trị cuối> to <giá trị đầu> 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ị đầu> to; <giá trị cuối> do <câu lệnh>; Câu 25: Xác định tính đúng sai cho mỗi phát biểu dưới đây. Hãy đánh dấu X vào chỗ trống thích hợp. (1 điểm) Phát biểu Đúng Sai Trong nhiều trường hợp, việc thực hiện câu lệnh lặp while .. do tốn ít thời gian hơn câu lệnh lặp for .. do Để thay đổi giá trị của điều kiện điều khiển vòng lặp sao cho sau một số hữu hạn lần lặp, điều kiện phải có giá trị sai (không bị lặp vô hạn lần) Mọi câu lệnh lặp for .. do đều có thể thay thế một cách thích hợp bởi câu lệnh lặp while .. do Câu lệnh sau do trong câu lệnh lặp while .. do có thể không thực hiện một lần nào nếu ngay từ đầu, điều kiện điều khiển vòng lặp có giá trị sai. Ta nói rằng while .. do là câu lệnh lặp chưa biết trước số lần lặp bởi vì chưa biết điều kiện điều khiển vòng lặp sẽ có giá trị sai sau bao nhiêu lần lặp Câu 26: Viết cú pháp câu lệnh lặp với số lần biết trước, lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh. Câu 27: Trong các câu lệnh Pascal sau đây, lệnh nào sai và sai ở đâu? a) While i:=1 do t:=10; b) While a<=b; do write(‘b khong nho hon a’); c) While i = 1 do write(‘toi tap trinh gioi’); d) i:=1; while i<10 do sum:=sum+i; i:=i+1; e) i:=1; x:=5; whie i<x do i:=i+1; write(‘gia tri cua i la’, i); Câu 28: Cho thuật toán sau: Bước 1: T 0, i 0. Bước 2: Nếu T > 20, chuyển sang bước 4. Bước 3: i i + 1, T T * i và quay lại bước 2. Bước 4: Thông báo kết quả và kết thúc thuật toán. b) Hãy cho biết thuật toán trên thực hiện bao nhiêu vòng lặp ? ................................ c) Khi kết thúc, T có kết quả là bao nhiêu ? .............................................................. Câu 29: Viết chương trình tính tổng N số tự nhiên đầu tiên N= 1+2+3+... (với N được nhập vào từ bàn phím). Câu 30: Viết chương trình tính tích N số tự nhiên đầu tiên N= 1+2+3+... (với N được nhập vào từ bàn phím).
2 câu trả lời
11. C
12. D
13. C
14. B
15. C
16. A
17. D
18. D
19. B
20. A
21. B
22. C
23. C
24. A
25. Đúng/ Sai/ Đúng/ Sai/ Đúng
26.
Số lần biết trước:
- Cú pháp: For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
- Hoạt động:
B1: Biến đếm nhận giá trị đầu
B2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh
B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2
B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp
Số lần chưa biết trước:
- Cú pháp: While <điều kiện> do <câu lệnh>;
- Hoạt động:
B1: Kiểm tra điều kiện
B2: 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 B1.
28.
b) Lặp vô hạn
c) T=0
29.
program Tong;
uses crt;
var i,n:integer;
S:longint;
begin clrscr;
writeln('Nhap so n: '); readln(n);
S:=0;
for i:=1 to n do
S:=S+i;
write('Tong N la: ',S);
readln;
end.
30.
program Tich;
uses crt;
var i,n:integer;
T:longint;
begin clrscr;
writeln('Nhap so n: '); readln(n);
T:=0;
for i:=1 to n do
T:=T*i;
write('Tich N la: ',T);
readln;
end.
Học tốt!