I/ TRẮÙC NGHIỆM 5 điểm Chọn câu trả lời đúng nhất Câu 1: Lệnh lặp nào sau đây là đúng?. Sau khi chạy chương trình biến a và b có giá trị là mấy Câu 3: Viết chương trình nhập vào một mản
Trang 1Trường THCS Thành Cổ
ĐỀ KIỂM TRA MƠN TIN HỌC
Thời gian làm bài 45 phút
Họ và tên: lớp 8
Phần trả lời : học sinh chọn A, B, C, D rồi ghi vào các ô tương ứng
I/ TRẮÙC NGHIỆM (5 điểm) Chọn câu trả lời đúng nhất
Câu 1: 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>;
Câu 2: 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 3: 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à >=100
Câu 4: Câu lệnh lặp while…do có dạng đúng là:
A) While <điều kiện> do; <câu lệnh>; C) While <điều kiện> <câu lệnh> do;
B) While <câu lệnh> do <điều kiện>; D) While <điều kiện> do <câu lệnh>;
Câu 5: Trong chương trình pascal sau đây:
Var x : integer ;
Begin
X:= 3 ;
If (45 mod x) =0 then x:= x +2;
If x > 10 then x := x +10 ; End.
X có giá trị là:
Câu 6: Để tính tổng S=2 + 4 + 6 … + n; em chọn đoạn lệnh:
if ( i mod 2)=0 then S:=S + i; if ( i mod 2)=1 then S:=S + i;
S:= S + i ; if ( i mod 2)<>0 then S:=S + i;
Câu 7: 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;
Điểm
Trang 2Else i:=i+1;
End;
Câu 8: Để 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 9: 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 10: 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à?
II/ PHẦN TỰ LUẬN (5 điểm)
Câu 1: Cho biết kết quả khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); vì sao?
Câu 2: 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.
Sau khi chạy chương trình biến a và b có giá trị là mấy
Câu 3: Viết chương trình nhập vào một mảng n số nguyên, sắp xếp rồi in ra màn hình mảng đó
theo thứ tự không giảm
Trang 3
Trường THCS Thành Cổ
ĐỀ KIỂM TRA MƠN TIN HỌC
Thời gian làm bài 45 phút
Họ và tên: lớp 8
Phần trả lời : học sinh chọn A, B, C, D rồi ghi vào các ô tương ứng
TRẮÙC NGHIỆM (5 điểm) 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>; C) While <điều kiện> <câu lệnh> do;
B) While <câu lệnh> do <điều kiện>; D) While <điều kiện> do; <câu lệnh>;
Câu 2: 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 3: Trong chương trình pascal sau đây:
Var x : integer ;
Begin
X:= 5 ;
If (45 mod x) =0 then x:= x +2;
If x > 10 then x := x +10 ; End.
X có giá trị là:
Câu 4: Để tính tổng các số chẳn 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)=1 then S:=S + i; if ( i mod 2)=0 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 5: Sau khi thực hiện đoạn chương trình j:= 2; for i:= 1 to 3 do j:=j+2; thì j có giá trị là?
Câu 6: 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>;
Câu 7: 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:=3;
While i<=n do begin
if (i mod 2)=1 Then S:=S + i;
Else i:=i+1;
Điểm
Trang 4Câu 8: Để 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 9: Câu lệnh (pascal) nào sau đây là hợp lệ?
B) For i:=100 to 1 do writeln(‘A’); B) For i:=1.5 to 10.5 do writeln(‘A’);
C)For i= 1 to 10 do writeln(‘A’); D) For i:= 1 to 10 do writeln(‘A’);
Câu 10: Vòng lặp while do là vòng lặp:
A) Chưa biết trước số lần C) lặp Biết trước số lần 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
II/ PHẦN TỰ LUẬN
Câu 1: Cho biết kết quả khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); vì sao?
Câu 2: Cho chương trình sau:
Var a,b : integer ;
Begin
a:=10 ; b:=7 ;
If a< b then a:= a + b else
Begin a:= a- b; b:= b + a; end;
Writeln( ‘ a= ‘, a , ‘ b = ‘, b);
End.
Sau khi chạy chương trình biến a và b có giá trị là mấy
Câu 3: Viết chương trình nhập vào một mảng n số nguyên, sắp xếp rồi in ra màn hình mảng đó
theo thứ tự không giảm.