TRƯỜNG THCS NGUYỄN CƠNG TRỨ KIỂM TRA HỌC KỲ II
LỚP: 8…. THỜI GIAN: 45 PHÚT
HỌ TÊN:………………………………….
I. Làm và đánh dấu lựa chọn đúng vào bảng phía dưới : (4 điểm)
Câu 1: Câu lệnh viết đúng cú pháp là:
A. While <điều kiện> to <câu lệnh>;
B. While <điều kiện> do <câu lệnh>;
C. While <điều kiện> to <câu lệnh1> do <câu lệnh 2>;
D. While <điều kiện>; do <câu lệnh>;
Câu 2: Cú pháp của câu lệnh lặp for … do … là ?
A. If (điều kiện) then (câu lệnh);
B. For (biến đếm):=(giá trị đầu) to (giá trị cuối) do (câu lệnh);
C. Var n, i:interger;
D. Phải kết hợp cả a, b và c.
Câu 3: Hoạt động nào sau đây lặp với số lần nhất định:
A. Ngày ăn cơm ba bữa B.Mỗi tuần đi tập đàn một lần
C. Học cho tới khi thuộc bài D.Nhặt từng cọng rau cho tới khi xong
Câu 4: Chọn khai báo hợp lệ:
A. Var a,b: array[1 n] of real; C. Var a,b: array[1:n] of real;
B. Var a,b: array[1 100] of real; D. Var a,b: array[1…n] of real;
Câu 5: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
A. If a=5 then a:=d+1; else a:=d+2; B. If a=5 then a:=d+1else a:=d+2;
C. If a=5 then a=d+1; else a=d+2; D. If a=5 then a:=d+1else a:=d+2
Câu 6: Trong ngơn ngữ Pascal, muốn kiểm tra đồng thời cả ba giá trị của A, B, C có cùng lớn hơn 0 hay
khơng ta viết câu lệnh If thế nào cho đúng nhất?
A. If A, B, C > 0 then…
B. IF (A>0) and (B>0) and (C>0) then…
C. IF A>0 and B>0 and c>0 then…
D. IF (A>0) or (B>0) or (c>0) then…
Câu 7: Trong ngơn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=10 to 1 do write (i,’ ‘);
A. 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1
C. Đưa ra 10 dấu cách D. Khơng đưa ra kết quả gì
Câu 8: Đoạn lệnh sau đây sẽ cho kết quả gì?
so:=1;
While so < 10 do writeln(so);
so:=so + 1;
A. In ra vô hạn các số 1, mỗi số trên một dòng; B. Không phương án nào đúng
C. In ra các số từ 1 đến 9; D. In ra các số từ 1 đến 10;
Câu 9: Với câu lệnh for (biến đếm):= (giá trị đầu) to (giá trị cuối) do (câu lệnh); khi thực hiện ban đầu
biến đếm nhận giá trị là 1 sau mỗi vòng lặp biến đếm tăng thêm?
1
ĐIỂM LỜI PHÊ CỦA THẦY,CƠ GIÁO
a. Một đơn vị B. hai đơn vị C. ba đơn vị D. bốn đơn vị
Câu 10: Trong chương trình Pascal sau đây:
Var x : integer ;
Begin
X:= 3 ;
If (45 mod 3) =0 then x:= x +2;
If x > 10 then x := x +10 ;
End.
X có giá trị mấy?
A) 3 B) 5 C) 15 D)10
Câu 11:Cho chương trình sau:
Var a,b : integer ;
Begin
A:=16 ; b:=8 ;
If a< b then a:= a + b else
Begin a:= a - b; b:= b + a end;
Writeln( ‘ a= ‘, a , ‘ b = ‘, b);
End.
Biến a và b có giá trị là mấy?
A. a=16 ;b = 8; B. a= 24 ; b= 8;
C. a = 8 ; b =16; D. a =24 ; b =16;
Câu 12: Sau khi thực hiện đoạn chương trình Pascal sau:
Y:=4;
For i:=1 to 5 do begin x:=y; y:=x – 1; end;
Chúng ta sẽ nhận được kết quả nào dưới đây?
A. x= 3, y=4 ; B. x= 2, y=3; C. x= 0, y=1; D. x= 2, y=1;
Câu 13: Để đếm có bao nhiêu số lẻ nhỏ hơn hay
bằng n ; em chọn đoạn lệnh:
A) for i:=1 to n do
if ( i mod 2)< >0 then S:=S + 1;
C) for i:=1 to n do
if ( i mod 2) =0 then S:=S + 1;
B) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i ;
D) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i;
Câu 14: Lần lượt thực hiện các lệnh trong đọan lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là:
A) t=1 B) t=3 C) t=2 D) t=6
Câu 15: Sau đoạn chương trình
X:= 5;
If (45 mod 3) = 0 then x:= x + 1; giá trị của biến x là:
A. 5 B. 4
C. 6 D. 10
Câu 16: Cho đoạn chương trình sau:
S:=0;
For i:=1 to 3 do
2
For j:=1 to 3 do s:= s+i+j;
Hãy cho biết kết quả của s sau khi chạy chương trình:
A. 9 B. 36
C. 13 D.42
Câu 17: Câu lệnh nào sau đây lặp vô hạn lần
A) s:=5; i:=0;
While i<=s do
s:=s + 1;
C) s:=5; i:=1;
While i<=s do
i:=i + 1;
B) s:=5; i:=1;
While i> s do
i:=i + 1;
D) s:=0; i:=0; n:=5;
While i<=n do
begin
if (i mod 2)=1 Then S:=S + i;
Else i:=i+1;
End;
Câu 18: Để tính tổng S=1/2+1/4 + 1/6 + … +1/ n; em chọn đoạn lệnh:
A) for i:=1 to n do
if ( i mod 2)=0 then S:=S + 1/i;
C) for i:=1 to n do
if ( i mod 2) < > 0 then S:=S + i;
B) for i:=1 to n do
if ( i mod 2)=0 then S:=S – 1/i
Else S:= S + 1/i;
D) for i:=1 to n do
if ( i mod 2)=0 then S:=S +1/ i
Else S:=S-1/i;
Câu 19: Để tính tổng S=2 + 4 + 6 … + n; em chọn đoạn lệnh:
A) for i:=1 to n do C) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i; if ( i mod 2)=1 then S:=S + i;
B) for i:=1 to n do D) for i:=1 to n do
S:= S + i ; if ( i mod 2)<>0 then S:=S + i;
Câu 20: Câu lệnh pascal nào sau đây là hợp lệ?
A) For i:=100 to 1 do writeln(‘A’); C) For i:=1.5 to 10.5 do writeln(‘A’);
B) For i= 1 to 10 do writeln(‘A’); D) For i:= 1 to 10 do writeln(‘A’);
Câu 21: Vòng lặp while do là vòng lặp:
A) Biết trước số lần lặp C) Chưa biết trước số lần lặp
B) Biết trước số lần lặp nhưng giới hạn là <=100 D) Biết trước số lần lặp nhưng giới hạn là >=10
Câu 22: 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
A) Integer; B) real; C) string D) tất cả các kiểu trên đều được
Câu 23: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình?
a. Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân
b. Viết số 1 rồi viết số 3.5
c. Chỉ viết số 3.5 mà thôi
d. Không thực hiện được vì giá trò của biến đếm có kiểu dữ liệu là Real
Câu 24: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giá trò của j là?
A) 4 B) 6 C) 8 D)10
3
Đánh dấu chéo vào đáp án đúng theo mỗi câu:
1 2 3 4 5 6 7 8 9 10 11 12
A
B
C
D
13 14 15 16 17 18 19 20 21 22 23 24
A
B
C
D
II. Viết chương trình
Bài 1: Viết chương trình tính tổng biểu thức:
n
A
1
4
1
3
1
2
1
1 +++++=
Bài 2: Viết chương trình Pascal làm nhiệm vụ sau:
a) Nhập vào từ bàn phím điểm kiểm tra môn Toán của n học sinh trong một lớp (1<=n<=50)
b) In ra màn hình số lượng học sinh đạt điểm giỏi (>=8.0).
ĐÁP ÁN
Đánh dấu chéo vào đáp án đúng theo mỗi câu:
1 2 3 4 5 6 7 8 9 10 11 12
A x
4
B x x x x x x x
C x x
D x x
13 14 15 16 17 18 19 20 21 22 23 24
A x x x x x
B x x x
C x x
D x x
III. Viết chương trình
1) program tinh-tong ;
uses crt;
var i , n: integer; s: real;
begin
clrscr;
Write(‘ hay nhap vao gia tri n:’); readln(n);
For i:=1 to n do
S:= s+1/I;Write(‘ tong s la:’ , s:4:2);
Readln;
End.
2) program diem_toan;
uses crt;
var i , n,dem: integer; dt: array [1 50] of real;
begin
clrscr;
write(‘ hay nhap so hoc sinh trong lop :’); readln(n);
write(‘nhap diem:’);
for i:= 1 to n do
begin write( i , ‘:’); readln(dt[i]); end;
for i:=1 to n do
begin
IF dt[i] >= 8.0 then dem :=dem +1;
Write (‘ so hs gioi:’ , dem); readln; end;
End.
5