Trường: THCS Lý Tự TrọngLớp:..... Ghi lại thành đoạn chương trình đúng.. * Hãy sử dụng câu lệnh điều kiện dạng đủ để kết hợp hai đoạn lệnh trên thành một: ...
Trang 1Trường: THCS Lý Tự Trọng
Lớp:
Họ, tên:
KIỂM TRA HỌC KỲ II
NĂM HỌC 2008 - 2009 Môn: TIN - Lớp 8 (Thời gian làm bài: 45 phút)
A Trắc nghiệm: ( 5 điểm )
Khoanh tròn vào trước những chữ cái A ( hoặc B hoặc C hoặc D) trước câu trả lời đúng nhất
Câu 1: Câu lệnh Pascal nào sau đây là hợp lệ?
A) For i:=100 to 1 do writeln(‘PASCAL); B) For i:=1.5 to 10.5 do writeln(‘PASCAL’);
C) For i= 1 to 10 do writeln(‘PASCAL’); D) For i:= 1 to 10 do writeln(‘PASCAL’);
Câu 2: Cho S và i là biến nguyên Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do s := s+i;
writeln(s);
Kết quả in lên màn hình là của s là :
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: 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
Câu 5: 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ị in ra màn hình là?
Câu 6: Để tính tổng S=1+2+3+ 4+ 5 + … + n; em chọn đoạn lệnh:
a) s:=0; i:=0;
While i<=n do
S:=S + 1;
a) s:=0; i:=0;
While i<=n do
If (I mod 2)= 1 Then S:=S + i;
b) s:=0; i:=0;
While i<=n do
begin
S:=S + i;
i:=i+1;
End;
d) s:=0; i:=0;
While i<=n do begin
if (i mod2)=1 Then S:=S + i;
Else i:=i+1;
End;
Trang 2Câu 7: Chọn khai báo hơp lệ
Câu 8: Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là
Câu 9: Vòng lặp while do là vòng lặp:
C) 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à >=100
Câu 10: 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:
B Tự luận ( 5 điểm )
Câu 1: ( 3 điểm ) Phát hiện lỗi sai trong đoạn chương trình sau và sửa lỗi Ghi lại thành đoạn chương trình đúng.
Program chuong trinh3;
Var N, i: integer;
S: longint;
Begin
Write(‘ Nhap so N=’); Readln(N)
S:=0; n=1;
While n<=100 do
s:=s+1/i;
n:=n+1;
Writeln(‘ Tong la:’, S);
End;
Câu 2: ( 2 điểm ): Giải thích ý nghĩa của các đoạn lệnh sau: Đoạn 1: Max:=a[1]; For i:= 2 to n do If Max < a[i] then Max:= a[i]; Ý nghĩa:
Đoạn 2: Min:=a[1]; For i:= 2 to n do If Min > a[i] then Min:= a[i]; Ý nghĩa:
* Hãy sử dụng câu lệnh điều kiện dạng đủ để kết hợp hai đoạn lệnh trên thành một:
Trang 3
ĐÁP ÁN CHẤM ĐỀ KIỂM TRA HỌC KỲ II, NĂM HỌC 2008 - 2009
MÔN TIN - LỚP 8 A) Trắc nghiệm Mỗi câu đúng được 0,5 điểm
B) Tự luận
Câu 1: 3 điểm
Đoạn chương trình có 6 lỗi Mỗi lỗi được phát hiện và sửa đúng được 0,5 điểm
Chương trình đúng là:
Chương trình lỗi:
Program chuong trinh3;
Var N, i: integer;
S: longint;
Begin
Write(‘ Nhap so N=’); Readln(N)
S:=0; n=1;
While n<=100 do
s:=s+1/i;
n:=n+1;
Writeln(‘ Tong la:’, S);
End;
Chương trình đúng Program chuongtrinh3;
Var N, i: integer;
S: Real;
Begin Write(‘ Nhap so N=’); Readln(N);
S:=0; n=1;
While n<=100 do Begin
s:=s+1/i;
n:=n+1;
End;
Writeln(‘ Tong la:’, S);
End.
Câu 2: ( 2 điểm)
Đoạn 1: Ý nghĩa: Đoạn lệnh dùng để tìm giá trị lớn nhất của dãy số a 0,5 điểm
Đoạn 1: Ý nghĩa: Đoạn lệnh dùng để tìm giá trị nhỏ nhất của dãy số a 0,5 điểm
Kết hợp 2 đoạn lệnh trên: ( 1 điểm )
Max:= a[1]; Min:=a[1];
For i:= 2 to n do
If Max < a[i] then Max:= a[i] else Min:= a[i];