Đề kiểm tra học kì II Tin học Lớp 8 - Đề 1 - Năm học 2010-2011 - Trường THCS Gia An

doc3 trang | Chia sẻ: thuongnguyen92 | Lượt xem: 320 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề kiểm tra học kì II Tin học Lớp 8 - Đề 1 - Năm học 2010-2011 - Trường THCS Gia An, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG THCS GIA AN	BÀI KIỂM TRA HỌC KỲ II, Năm học 2010-2011
Họ và tên: . 	Môn: Tin học 8. (đề 1).
Lớp:.	Thời gian: 45 phút. Ngàytháng.năm 2011
Điểm
Chữ ký Gv chấm
Chữ ký G.T 1
Chữ ký G.T 2
I. Trắc nghiệm.(7điểm).
Phần 1: Khoanh tròn trước chữ cái của đáp án đúng cho các câu hỏi sau: (5đ).
Câu 1: Phần mềm nào sau đây dùng để soạn thảo chương trình bằng ngôn ngữ lập trình?
A) Turbo Pascal.	B). Sun Time.	C) Microsoft Word. D) Microsoft Excel.
Câu 2: Trong ngôn ngữ lập trình Pascal, sau khi kết thúc đoạn chương trình: 
 For i:= 100 downto 1 do. Giá trị của i là: .
	A) 0.	B) 100.	C) 50.	D) 1.
Câu 3: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp: For i:=1 to 50 do Begin.. end;
Câu lệnh lặp được thực hiện:
	A) Không lần nào.	B) 1 lần.	C) 49 lần.	 D) 50 lần.
Câu 4: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp: For  downto  do. Trong mỗi lần lặp, biến đếm thay đổi như thế nào?
	A) Tăng lên một đơn vị. 	B) Giảm đi 1 đơn vị. C) Thay đổi 1giá trị khác 0. 	D) Tăng hoặc giảm 1 đơn vị.
Câu 5: Đoạn chương trình sau, cho biết kết quả là gì?
	So:= 1;
	While So<10 do Begin Writeln(So); So:=So+1; End.
	A) In ra các số từ 1 đến 9; 	B) In ra các số từ 1 đến 10.
	C) In ra số vô hạn các số 1.	D) In ra vô hạn các số 10.
Câu 6: Cách khai báo biến mảng sau đây. Khai báo nào đúng?
Var a: array[1..100] of Integer; B) Var a: array[1,5..100] of Integer;
Var a: array[1:100] of Integer; D) Var a: array[100..1] of Integer;
Câu 7: Cách khai báo biến sau, máy tính có thực hiện được hay không?
	Var n: Integer;
	 a: array[ n..100] of Integer;
	A) Thực hiện được.	B) Không thực hiện được.
Câu 8: Nếu muốn nhập điểm cho học sinh với sĩ số lớp là 100 thì khi viết chương trình với việc khai báo biến mảng như sau có thoả mãn không?
Var diem: array[1..50] of real;
	A) Thoả mãn.	B) Không thoả mãn.
Câu 9: Phần mềm nào sau đây dùng để vẽ quan sát hình không gian?
	A) FinGer Break Out.	B) SunTimes.	C) GeoGebra. D) YenKa.
Câu 10: Phần mềm nào sau đây dùng để luyện gõ phím nhanh?
	A) FinGer Break Out. B) SunTimes. C) GeoGebra. 	 D) YenKa 
Phần 2: Hãy xác định Đúng/Sai cho các phát biểu dưới đây(2đ)?
Phát biểu
Đúng
Sai
a. Không nên thay đổi giá trị của “biến đếm” trong câu lệnh lặp Fordo. Ví dụ: câu lệnh lặp sau đây là không nên sử dụng:
 For i:=1 to n do i:=i+1;
b. Trong lệnh lặp While  do; giá trị của “biếm đếm” phải thay đổi: Ví dụ: While i<=100 do i:=i+1;
c. Trong câu lệnh lặp For  do. Để in ra các số thực kém nhau 0.1 đơn vị từ 0 đến 1.5 ta viết câu lệnh như sau: For i:= 0 to 1.5 do writeln(i);
d. Câu lệnh sau do trong lệnh lặp While  do, có thể không được thực hiện 1 lần nào nếu ngay từ đầu điều kiện điều khiển vòng lặp có giá trị “Sai”.
e. Mọi câu lệnh lặp For  do đều có thể thay thế 1 cách thích hợp bởi câu lệnh lặp Whiledo.
f. . Mọi câu lệnh lặp Whiledo đều có thể thay thế 1 cách thích hợp bởi câu lệnh lặp For  do.
g. Ta nói rằng: While  do là câu lệnh lặp chưa biết trước số lần lặp bởi chưa biết điều kiện điều khiển vòng lặp sẽ có giá trị “Sai” bao nhiêu lần lặp.
h. Ta nói rằng: For  to là câu lệnh lặp đã biết trước số lần lặp bởi biết biến đếm điều khiển vòng lặp sẽ có giá trị cuối.
II. Tự luận: (3đ).
Tham khảo thuật toán tìm ước chung lớn nhất (UCLN) của 2 số nguyên dương a và b.
INPUT a, b là hai số nguyên dương.
OUTPUT: UCLN(a,b).
Bước 1: Nhập a,b>0;
Bước 2: Nếu a=b chuyển tới bước 4.
Bước 3: Trong khi ab thì:
	 Nếu a>b, gán a← a-b; Ngược lại gán b←b-a; Quay lại bước 2.
Bước 4: In ra a. Kết thúc thuật toán.
Lần lặp
a
b
0
1
2
3
4
Dựa vào thuật toán trên, em hãy kiểm tra thuật toán trên với bộ dữ liệu thử 2 số nguyên là a= 48; b=30. (1đ)
Và viết chương trình cho thuật toán trên (2đ).
Bài làm
ĐÁP ÁN-BIỂU ĐIỂM BÀI KIỂM TRA HỌC KỲ II. Năm học: 2010-2011.
Môn: Tin học 8. (Đề 1)
I. Trắc nghiệm.(7điểm).
Phần 1: Khoanh tròn trước chữ cái của đáp án đúng cho các câu hỏi sau: (5đ).
(Mỗi câu khoanh đúng được 0.5đ)
Câu
1
2
3
4
5
6
7
8
9
10
Đáp án
A
D
D
B
B
A
B
B
D
A
Phần 2: Hãy xác định Đúng/Sai cho các phát biểu dưới đây(2đ)?Mỗi câu 0.25đ.
Phát biểu
Đúng
Sai
a. Không nên thay đổi giá trị của “biến đếm” trong câu lệnh lặp Fordo. Ví dụ: câu lệnh lặp sau đây là không nên sử dụng:
 For i:=1 to n do i:=i+1;
Đ
b. Trong lệnh lặp While  do; giá trị của “biếm đếm” phải thay đổi: Ví dụ: While i<=100 do i:=i+1;
Đ
c. Trong câu lệnh lặp For  do. Để in ra các số thực kém nhau 0.1 đơn vị từ 0 đến 1.5 ta viết câu lệnh như sau: For i:= 0 to 1.5 do writeln(i);
S
d. Câu lệnh sau do trong lệnh lặp While  do, có thể không được thực hiện 1 lần nào nếu ngay từ đầu điều kiện điều khiển vòng lặp có giá trị “Sai”.
Đ
e. Mọi câu lệnh lặp For  do đều có thể thay thế 1 cách thích hợp bởi câu lệnh lặp Whiledo.
Đ
f. . Mọi câu lệnh lặp Whiledo đều có thể thay thế 1 cách thích hợp bởi câu lệnh lặp For  do.
S
g. Ta nói rằng: While  do là câu lệnh lặp chưa biết trước số lần lặp bởi chưa biết điều kiện điều khiển vòng lặp sẽ có giá trị “Sai” bao nhiêu lần lặp.
Đ
h. Ta nói rằng: For  to là câu lệnh lặp đã biết trước số lần lặp bởi biết biến đếm điều khiển vòng lặp sẽ có giá trị cuối.
Đ
II. Tự luận: (3đ).
Dựa vào thuật toán trên, em hãy kiểm tra thuật toán trên với bộ dữ liệu thử 2 số nguyên là a= 48; b=30. (1đ)
Lần lặp
a
b
0
48
30
1
18
30
2
18
12
3
6
12
4
6
6
Và viết chương trình cho thuật toán trên (2đ).
Program UCLN;
Var a,b: Integer;
Begin
 Write(‘nhap hai so nguyen duong a,b:’); Readln(a,b);
 While ab do 
 If a>b then a:=a-b else b:=b-a;
 Writeln( ‘UCLN la:’,a);
 Readln;
End.	

File đính kèm:

  • docBÀI KIỂM TRA HỌC KỲ II lop 8 dè 1.doc
  • docĐỀ CƯƠNG ÔN TẬP HỌC KỲ II.doc