TRƯỜNG THCS LÊ QUÝ ĐÔN
ĐỀ CƯƠNG ÔN TẬP HỌC KỲ II - MÔN TIN 8 NĂM HỌC: 2020-2021
--- I./ TRẮC NGHIỆM:
Câu 1: Vòng lặp sau thực hiện bao nhiêu lần lặp:
For i := 1 to 5 do a := a + 1;
A. 3 lần. B. 4 lần. C. 5 lần. D. 6 lần.
Câu 2: Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 0; For i := 1 to 4 do S := S + 2;
A. S = 8 B. S = 10 C. S = 12 D. S = 14
Câu 3: Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 1; For i := 1 to 3 do S := S * 2;
A. S = 6 B. S = 8 C. S = 10 D. S = 12
Câu 4: Số lần lặp của câu lệnh lặp for…to…do… được tính như thế nào?
A. Giá trị đầu – giá trị cuối B. Giá trị đầu – giá trị cuối + 1 C. Giá trị cuối – giá trị đầu D. Giá trị cuối – giá trị đầu + 1 Câu 5: Trong câu lệnh lặp, kiểu dữ liệu của biến đếm là:
A. Real B. String C. Integer D. Char
Câu 6: Câu lệnh lặp với số lần chưa biết trước bắt đầu bằng từ khóa:
A. For B. While C. If D. Var
Câu 7: Vòng lặp sau cho kết quả T bằng bao nhiêu:
i := 0; T := 0;
While i < 3 do
begin T := T + i; i := i + 1; end;
A. T = 2 B. T = 3 C. T = 4 D. T = 5
Câu 8: Từ khóa nào sau đây dùng để khai báo biến:
A. Uses B. Begin C. Var D. Writeln
Câu 9: Khai báo biến kiểu mảng nào sau đây là hợp lệ:
A. Var a,b: array[1 .. n] of real; B. Var a,b: array[1 : n] of Integer;
C. Var a,b: array[1 .. 100] of Integer ; D. Var a,b: array[1 … 100] of real;
Câu 10: Var i: integer;
BEGIN
For i:=1 to 20 do writeln(‘Chao cac ban lop 8 – LQD’);
Readln;
END.
Đoạn chương trình trên in ra màn hình kết quả gì ?
A. 1 câu “ Chao cac ban lop 8 – LQD”; B. 20 câu “Chao cac ban lop 8 – LQD”;
C. 10 câu “ Chao cac ban lop 8 – LQD”; D. Không in ra câu nào cả;
Câu 11: Trong câu lệnh While...do… nếu điều kiện đúng thì:
A. Tiếp tục vòng lặp B. Vòng lặp vô tận C. Lặp 10 lần D. Thoát khỏi vòng lặp
Câu 12: Câu lệnh sau đây cho kết quả như thế nào? For i:=1 to 10 do Writeln(‘A’);
A. In dãy số từ 10 đến 1 ra màn hình B. In dãy số từ 1 đến 10 ra màn hình C. In 20 ký tự A ra màn hình D. In 10 ký tự A ra màn hình
Câu 13: Trong câu lệnh For ... do… biến đếm của câu lệnh tăng lên bao nhiêu sau mỗi lần lặp?
A. 1 B. 4 C. 2 D. 3
Câu 14: Cú pháp câu lệnh lặp với số lần chưa biết trước:
A. For ... to... do
B. For <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;
C. For ... do
D. For <biến đếm>:=<giá trị đầu > to <giá trị cuối > do <câu lệnh>;
Câu 15: Chọn phát biểu đúng:
A. Lặp vô hạn lần có thể xảy ra ở câu lệnh lặp với số lần biết trước B. Lặp vô hạn lần là lặp 1000 lần
C. Lặp vô hạn lần có thể xảy ra ở câu lệnh điều kiện
D. Lặp vô hạn lần có thể xảy ra ở câu lệnh lặp với số lần chưa biết trước Câu 16: Cho biết số lần lặp của câu lệnh sau? For i:=1 to 20 do....
A. 21 B. 19 C. 20 D. 22
Câu 17: Chọn câu lệnh đúng:
A. x:=1; while x<10 do x:=x+5; B. x =1; while x> 10 do x:=x+5;
C. x:=1; while x:= 10 do x:=x+5; D. x:=10; while x< 10 do x=x+5;
Câu 18: Cho đoạn chương trình: J:= 0; For i:= 1 to 5 do J:= j + i;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến J bằng bao nhiêu?
A. 12 B. 22 C. 15 D. 42
Câu 19: Trong câu lệnh For ... do… sau từ khóa “do” có hai câu lệnh trở lên ta “gói” chúng trong:
A. Begin...readln; B. Begin...and; C. End...Begin D. Begin... end;
Câu 20: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc là :
A. Lặp 10 lần B. Lặp vô số lần
C. Lặp với số lần chưa biết trước D. Lặp với số lần biết trước Câu 21: Các câu lệnh sau, câu lệnh nào hợp lệ?
A. For i:=1 to 10 do; write (‘a’) B. For i:=1 to 10 do write (‘a’);
C. var x:real; begin for x:=1 to 10 do write (‘a’); end.
D. For i=1 to 10 do write (‘a’);
Câu 22: Giá trị đầu và cuối của câu lệnh lặp For...do… có kiểu dữ liệu:
A. Số thực B. Số nguyên C. a, b đúng D. a, b sai
Câu 23: Cặp từ khóa begin...end; gói từ hai câu lệnh trở lệnh trong vòng lặp nào?
A. Sử dụng trong khai báo biến mảng B. While....do C. Cả For...do và While....do D. For...do
Câu 24: Cho biết ý nghĩa của câu lệnh sau: For i:=1 to 10 do Readln(a[i]);
A. In dãy số trong mảng a B. Nhập dãy số cho mảng a C. Nhập giá trị cho biến i D. In giá trị cho biến i Câu 25: Cho biết cú pháp câu lệnh lặp với số lần biết trước?
A. For <giá trị cuối> to <giá trị đầu> do <câu lệnh>;
B. For <biến đếm> :=<chỉ số đầu> to <chỉ số cuối> do <câu lệnh>;
C. While <điều kiện> do <câu lệnh>;
D. While <giá trị đầu> then <giá trị cuối> do <câu lệnh>;
Câu 26: Cho biết ý nghĩa của câu lệnh sau: For i:=1 to 10 do Readln(a[i]);
A. In dãy số trong mảng a B. Nhập dãy số cho mảng a C. Nhập giá trị cho biến i D. In giá trị cho biến i Câu 27: Giá trị của biến mảng là gì?
A. Một số B. Dãy số C. Một ký tự D. Một biến
Câu 28: Cho câu lệnh sau: S:=S+1/i ; Cho biết kiểu dữ liệu cần khai báo cho biến S là:
A.integer B. byte C. longint D. real Câu 29 : Trong Pascal, khai báo nào sau đây đúng?
A. var tb: real; B. var 4hs: integer; C. var r=30; D. const x: real;
Câu 30: Chọn phát biểu đúng:
A. Một vài trường hợp, ta có thể thay câu lệnh for…do bằng while …do và ngược lại B. Không thể thay câu lệnh for…do bằng while …do và ngược lại
C. Có thể thay câu lệnh for… do và while… do bằng biến mảng
D. Mọi trường hợp đều có thể thay câu lệnh for…do bằng while …do và ngược lại Câu 31: Trong câu lệnh while…do nếu điều kiện sai thì:
A. Tiếp tục vòng lặp B. Lặp 1 lần
C. Lặp vô hạn lần D. Thoát khỏi vòng lặp
Câu 32: Cho biết cú pháp khai báo biến mảng
A. <tên mảng>:array [<chỉ số đầu> …. <chỉ số cuối>] of <kiểu dữ liệu>;
B. <tên mảng>:array [<chỉ số đầu> .. <chỉ số cuối>] for <kiểu dữ liệu>;
C. <tên mảng>:array [<chỉ số đầu>.. <chỉ số cuối>] of <kiểu dữ liệu>;
D. <tên mảng>:array [<chỉ số đầu> ... <chỉ số cuối>] of <kiểu dữ liệu>;
Câu 33: Phát biểu nào sau đây là đúng:
A. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn.
B. Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp.
C. Ngôn ngữ Pascal chỉ thể hiện cấu trúc lặp bằng câu lệnh for…do...
D. Câu B và C đúng.
Câu 34: Trong các câu lệnh Pascal sau, câu nào được viết đúng:
A. for i:=1 to 10 do B. for i:=1 to 10 do;
C. for i=1 to 10 do D. for i:1 to 10 do
Câu 35: Để nhập một giá trị vào phần tử A[3] của mảng A thì ta viết là:
A. Readln(A) B. Readln(A[3]) C. Readln(A[i]) D. Readln(A(3)) Câu 36. Khai báo mảng A gồm 30 phần tử từ 3 đến 33 là các số nguyên thì ta khai báo như sau:
A. A: Array [1..30] of integer; B. A :Array [3...33] of integer;
C. A :Array [3..33] of integer; D. A :Array [33] of integer;
II./ TỰ LUẬN:
Câu 1. Viết cú pháp và nêu hoạt động của câu lệnh lặp với số lần biết trước ( For .. to .. do) trong Pascal? Cho ví dụ?
Câu 2. Trình bày cú pháp và hoạt động của câu lệnh lặp với số lần chưa biết trước While..do?
Cho ví dụ?
Câu 3: Dữ liệu kiểu mảng là gì? Cách khai báo (cú pháp ) biến mảng trong Pascal có dạng như thế nào? Nêu các lơi ích của việc sử dụng biến mảng trong chưong trình?
Câu 4: Viết chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số, độ dài của dãy cũng được nhập từ bàn phím.
Câu 5: Viết chương trình nhập một dãy A gồm n số nguyên từ bàn phím và in ra màn hình : a) Giá trị lớn nhất Max của dãy số A;
b) In các số lẻ của dãy số A;
c) In các số chẵn của dãy số A;
d) Tính tổng dãy số A và tổng các số lẻ có trong dãy số A.
* Hướng dẫn:
+ Câu b), c) trong vòng lặp For nếu là số lẻ hoặc số chẵn thì dùng biến ĐẾM để đếm các số lẻ hoặc số chẵn có trong dãy A
+ Câu d) trong vòng lặp For nếu là số lẻ thì đi tính tổng các số lẻ đó bằng cách cộng dồn các phần tử lẻ vào biến tổng S.
---Hết---