KÌ THI HKII – MÔN TIN HỌC 8
Thời gian : 45 phút
PHIẾU TRẢ LỜI
Số thứ tự câu trả lời dưới đây ứng với số thứ tự câu trắc nghiệm trong đề. Đối với mỗi câu trắc nghiệm
01. ; / = ~ 04. ; / = ~ 07. ; / = ~ 10. ; / = ~
02. ; / = ~ 05. ; / = ~ 08. ; / = ~ 11. ; / = ~
03. ; / = ~ 06. ; / = ~ 09. ; / = ~ 12. ; / = ~
Phần 1: Chọn câu trả lời đúng nhất
Câu 1: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=1;
for i:=1 to 4 do s := s+i;
writeln(s);
Kết quả in lên màn hình là của s là :
a)11 b) 55 c) 15 d) 10
Câu 2: cho chương trình sau:
Var a,b : integer ;
Begin
a:=24 ; b:=12 ;
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=12 ;b = 24; b) a= 24 ; b= 36; c) a = 8 ; b =16; d) a =24 ; b =16;
Câu 3: Để tính tổng S=1 + 2 +3 +4 … + n; em chọn đoạn lệnh:
a) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i;
b) for i:=1 to n do
S:= S + i ;
c) for i:=1 to n do
if ( i mod 2)=1 then S:=S + i;
d) for i:=1 to n do
if ( i mod 2)<>0 then S:=S + i;
Câu 4: Để tính tổng S=1-2 +3 - 4 … +/- n; em chọn đoạn lệnh:
a)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 + i
Else S:= S + I;
c)for i:=1 to n do
if ( i mod 2)=1 then S:=S + i;
d)for i:=1 to n do
if ( i mod 2)<>0 then S:=S + i
Else S:=S-i;
Câu 5: Để 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;
TRƯỜNG................................................
HỌ TÊN:.................................................
MÃ SỐ:...................................................
LỚP:........................................................
ĐIỂM:
SỐ CÂU ĐÚNG
Đề
1
Câu 6: Chọn khai báo hơp lệ
a) Const n=5;
Var a,b: array[1..n] of real;
c) Var n: real;
Var a,b: array[1:n] of real;
b) Var a,b: array[100..1] of real; d) Var a,b: array[1...10] of real;
Câu 7: Lần lượt thực hiện đoạn lệnh: a[1]:=5; a[2]:=3; t:=(a[1]+a[2])*2+1;
Giá trò của t là
a) t=8 b) t=17 c) t=10 d) t=6
Câu 8: Để đế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)=1 then S:=S + i;
Câu 9: 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;
While i<=n do
begin
if (i mod2)=1 Then S:=S + i;
i:=i+1;
End;
Câu 10: 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 thứ tự là Real
Câu 11: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+3; thì giá trò j in ra màn hình là?
a) 9 b) 12 c) 8 d)10
Câu 12: Lệnh lặp nào sau đây là đúng?
a) For <biến đếm>= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>;
b) For <biến đếm>:= <giá trò đầu> to <giá trò cuôí> do <câu lệnh>;
c) For <biến đếm>:= <giá trò cuôí> to <giá trò đầu> do <câu lệnh>;
d) For <biến đếm>: <giá trò đầu> to <câu lệnh> do <giá trò cuối>;
Phần 2 : Tự Luận
Câu 13: Chọn đoạn chương trình sau:
n:=5; s:=0; i:=0;
While i<=n do
Begin
if (i mod2)=1 Then s:=s + i;
i:=i+1;
End;
Câu 14: Viết chương trình tính tổng S=1+1/2 +1/3 + 1/4 … 1/n bằng lệnh While … Do… ;
....................................................................... .....................................................................................
....................................................................... .....................................................................................
....................................................................... .....................................................................................
....................................................................... .....................................................................................
....................................................................... .....................................................................................
Lần lượt điền các giá trò khi thực hiện đoạn lệnh bên
i 0 1 2 3 4 5
i mod 2
S
....................................................................... .....................................................................................
....................................................................... .....................................................................................
....................................................................... .....................................................................................
....................................................................... .....................................................................................
KÌ THI HKII – MÔN TIN HỌC 8
Thời gian : 45 phút
PHIẾU TRẢ LỜI
Số thứ tự câu trả lời dưới đây ứng với số thứ tự câu trắc nghiệm trong đề. Đối với mỗi câu trắc nghiệm
01. ; / = ~ 04. ; / = ~ 07. ; / = ~ 10. ; / = ~
02. ; / = ~ 05. ; / = ~ 08. ; / = ~ 11. ; / = ~
03. ; / = ~ 06. ; / = ~ 09. ; / = ~ 12. ; / = ~
Phần 1: Chọn câu trả lời đúng nhất
Câu 1: Câu lệnh lặp while…do có dạng đúng là:
A) While <điều kiện> do; <câu lệnh>; B) While <điều kiện> <câu lệnh> do;
C) While <câu lệnh> do <điều kiện>; D) While <điều kiện> do <câu lệnh>;
Câu 2: Thực hiện đoạn lệnh sau, x nhận giá trò bao nhiêu:
x:=7; if x mod 3 = 2 then x:= x +1;
a) x=7 x=8 x=0 x=10
Câu 3: Để tính tổng S=2 + 4 + 6 … + n; em chọn đoạn lệnh:
a) for i:=1 to n do
S:= S + i ;
b) for i:=1 to n do
if ( i mod 2)=1 then S:=S + i;
c)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 4: Để tính tổng S=1-2 +3 - 4 … +/- n; em chọn đoạn lệnh:
a)for i:=1 to n do
if ( i mod 2)=1 then S:=S + i;
b) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i
Else S:= S + I; ;
c)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
Else S:=S-i;
Câu 5: Để tính tổng S=1+1/2 +1/3 + 1/4 … 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;
b)for i:=1 to n do
if ( i mod 2)=0 then S:=S + i
Else S:= S + I;
c)for i:=1 to n do
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 6: 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) Interger; b) real; c) string d) tất cả các kiểu trên đều được
Câu 7: Sau khi thực hiện đoạn chương trình j:= 1; for i:= 1 to 3 do j:=j+2; thì giá trò j in ra màn hình là?
a) 10 b) 6 c) 8 d)7
Câu 8: Chọn khai báo hơp lệ
a) Var n: real;
Var a,b: array[1:n] of real;
c) Const n=5;
Var a,b: array[1..n] of real;
b) Var a,b: array[100..1] of real; d) Var a,b: array[1..5..10] of real;
TRƯỜNG................................................
HỌ TÊN:.................................................
MÃ SỐ:...................................................
LỚP:........................................................
ĐIỂM:
SỐ CÂU ĐÚNG
Đề
2
Câu 9: Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=(a[1]+a[2])*2+1; Giá trò của t là
a) t=1 b) t=11 c) t=10 d) t=6