Trường THCS Phú Mỹ KIỂM TRA HỌC KỲ I --- o0o --- Môn: Tin học 8 A. Phần Trắc nghiệm: (4 điểm) Chọn câu đúng và đánh dấu vào phần bài làm: 1/ Biểu thức 1+1/x + 1/y + 1/z được chuyển vể dạng biểu thức trong toán là: a zyx 111 1 +++ b zyx ++ + 1 1 c zyx 111 1 +++ d zyx ++ 1 2/ Sau khi thực hiện câu lệnh n:=27 div 3, thì n có giá trị là: a 4 b 3 c 8 d 5 3/ Cho x=9, y=17 và đoạn chương trình sau: if (x > y) or (y mod 2 <> 0) then x:=x/3; y:= y - x; Giá trị của x, y thay đổi như thế nào khi thực hiện đoạn chương trình trên: a x = 9, y = 17 b x = 3, y = 8 c x = 9, y = 8 d x = 3, y = 14 4/ Cho x=8, sau khi thực hiện câu lệnh if (x mod 5 = 0) then x:=x/4 giá trị của x là: a 4 b 2 c 8 d Tất cả đều sai. 5/ Cho a là biến kiểu số thực, x là biến kiểu xâu kí tự. Phép gán nào sau đây là đúng: a a:=2.5 b x:=2 c a:='123' d x:=a 6/ Để chạy chương trình pascal, ta nhấn tổ hợp phím: a Alt + F9 b Ctrl + F9 c Alt + F10 d F9 7/ Hàm sqr(x) có giá trị trả về là: a x b x c x 2 1 d 2 x 8/ Biểu thức a dcba − +−+ 3 6))(( khi viết trong pascal sẽ có dạng: a ((a + b)*(c - d)+6)/3 - a b (a + b)*(c - d)+6)/3 - a c (a + b)*(c - d) + 6/(3 - a) d (a + b)*(c - d) + 6/3 - a 9/ Các khai báo nào dưới đây là sai: a Var xep_loai, diem: real; b Const ten lop = '8a 2'; c Var nguyen : integer; thuc : real; d Const ten_nhom = 'Tin học'; 10/ Trong các giá trị sau, giá trị nào thuộc kiểu dữ liệu xâu kí tự: a 15 b True c 2.75 d 'abc' B. Phần Tự luận: (6 điểm) Câu 1: Chương trình sau tính chu vi và diện tích của hình tròn. Hãy tìm các lỗi (nếu có) và sửa lại cho đúng trong chương trình sau: const Pi:=3,14; var cv,dt:integer; r:real; begin r=5.5 cv=2*pi*r; dt=pi*r*r; writeln('chu vi la:=cv'); writeln('dien tich la:=dt'); readln end. Câu 2: Viết chương trình tìm giá trị nhỏ nhất của 2 số a, b. Với a, b nhập từ bàn phím. Trường THCS Phú Mỹ KIỂM TRA HỌC KỲ I --- o0o --- Môn: Tin học 8 A. Phần Trắc nghiệm: (5 điểm) Chọn câu đúng và đánh dấu vào phần bài làm: 1/ Các phép toán +, - , *, / có thể áp dụng cho kiểu dữ liệu: a ký tự và số nguyên. b xâu ký tự và ký tự. c số thực, ký tự. d số nguyên, số thực. 2/ Biểu thức a m x 2 15 2 + ≥ được chuyển sang pascal là: a x >= (m 2 + 15) / (2*a) b x >= m*m + 15 / 2*a c x ≥ (m*m + 15) / 2*a d x >= (m*m + 15) / (2*a) 3/ Để khai báo hằng số k có giá trị bằng 50, ta thực hiện câu lệnh sau: a Const k:150; b Var k:=50; c Const k=50; d Var k=50; 4/ Cho a=18, sau khi thực hiện câu lệnh if (a mod 5 = 3) then a:=a div 4 ; giá trị của a là: a 4 b 2 c 3 d Tất cả đều sai. 5/ Cho a là biến kiểu số thực, x là biến kiểu xâu kí tự. Phép gán nào sau đây là đúng: a x:=2 b a:=2.5 c x:=a d a:='123' 6/ Để dịch chương trình Pascal ta nhấn tổ hợp phím: a Alt + X b Ctrl + X c Shift + X d Alt + F9 7/ Biểu thức a dcba − +−+ 3 6))(( khi viết trong pascal se có dạng: a (a + b)*(c - d)+6)/3 - a b (a + b)*(c - d) + 6/(3 - a) c (a + b)*(c - d) + 6/3 - a d ((a + b)*(c - d)+6)/3 - a 8/ Hàm abs(x) có giá trị trả về là: a 2 x b x 2 1 c x d x 9/ Trong các giá trị sau, giá trị nào thuộc kiểu dữ liệu số nguyên a 'tin hoc' b 5 c '10' d 12.75 10/ Cho x =18, y = 8, giá trị của x, y thay đổi như thế nào khi thực hiện câu lệnh sau: if (x > y) or (y mod 2 <> 0) then y:= x/ 3; a x = 18, y = 8 b x = 9, y = 3 c x = 18, y = 6 d x = 3, y = 6 B. Phần Tự luận: (5 điểm) Câu 1: Chương trình sau thực hiện tính trung bình cộng 3 số a,b,c. Hãy tìm các lỗi (nếu có) và sửa lại cho đúng trong chương trình sau: program bt 1; var a,b,c,tb:integer; begin write(nhap 3 so a,b,c:); readln(a,b,c); if a>b then tb:=(a+b+c)/3; else tb:=a*b*c/3; writeln(gia tri cua tb la:,tb); readln end; Câu 2: Viết chương trình nhập 3 số a, b, c từ bàn phím là độ dài 3 cạnh của 1 tam giác. Hãy kiểm tra tam giác đó coa phải là tam giác đều không? Trường THCS Phú Mỹ KIỂM TRA HỌC KỲ I --- o0o --- Môn: Tin học 8 A. Phần Trắc nghiệm: (5 điểm) Chọn câu đúng và đánh dấu vào phần bài làm: 1/ Máy tính có thể hiểu được trực tiếp ngôn ngữ nào trong các ngôn ngữ dưới đây? a Ngôn ngữ lập trình. b Ngôn ngữ máy. c Ngôn ngữ tự nhiên. d Tất cả các ngôn ngữ nói trên. 2/ Biểu thức a m x 2 15 2 + ≥ được chuyển sang pascal là: a x >= (sqr(m) + 15) / (2*a) b x ≥ (m*m + 15) / 2*a c x >= (sqrt(m) + 15) / (2*a) d x >= sqr(m) + 15 / 2*a 3/ Biểu thức 1+1/x + 1/y + 1/z được chuyển vể dạng biểu thức trong toán là: a zyx 111 1 +++ b zyx 111 1 +++ c zyx ++ 1 d zyx ++ + 1 1 4/ Sau khi thực hiện câu lệnh n:=20 mod 3 , thì n có giá trị là: a 2 b 6 c 4 d 3 5/ Để khai báo biến s là biến kiểu xâu ký tự, ta thực hiện câu lệnh sau: a Var s=string; b Var s:string; c Const a:real; d Var s:integer; 6/ Cho x=8, sau khi thực hiện câu lệnh if (x div 2 <> 0) then x:=x/4 ; giá trị của x là: a 4 b 2 c 3 d Tất cả đều sai. 7/ Để chạy chương trình pascal, ta nhấn tổ hợp phím: a Alt + F9 b Alt + F10 c F9 d Ctrl + F9 8/ Cho x=9, y=18 và đoạn chương trình sau: if (x > y) or (y mod 2 <> 0) then begin x:=x/3; y:= x + 2; end; y:= y - x; Giá trị của x, y thay đổi như thế nào khi thực hiện đoạn chương trình trên: a x = 9, y = 18 b x = 3, y = 11 c x = 9, y = 9 d x = 3, y = 5 9/ Hàm sqrt(x) có giá trị trả về là: a x b x 2 1 c x d 2 x 10/ Các khai báo nào dưới đây là sai: a Const ten_nhom = 'Tin học'; b Var xep_loai, diem: real; c Var nguyen : integer; thuc : real; d Const ten lop = '8a 2'; B. Phần Tự luận: (5 điểm) Câu 1: Cho chương trình tính chu vi và điện tích hình tròn. Hãy tìm các lỗi (nếu có) và sửa lại cho đúng trong chương trình sau: var r,cv,dt:integer; begin write(nhap ban kinh r:); readln(r); cv=2*3.14*r; dt=r*r*3.14; writeln('chu vi la:=cv'); writeln('dien tich la:=dt'); readln end. Câu 2: Viết chương trình tìm giá trị nhỏ nhất của 2 số a, b. Với a, b nhập từ bàn phím. Trường THCS Phú Mỹ KIỂM TRA HỌC KỲ I --- o0o --- Môn: Tin học 8 Phần Trắc nghiệm: (5 điểm) Chọn câu đúng và đánh dấu vào phần bài làm: 1/ Các phép toán +, - , *, / có thể áp dụng cho kiểu dữ liệu: a số thực, ký tự. b xâu ký tự và ký tự. c số nguyên, số thực. d ký tự và số nguyên. 2/ Biểu thức 2 22 4 2 x x yx − − được chuyển sang biểu thức trong pascal là: a (x 2 - y 2 )/2x - 4x 2 b (x*x - y*y) : 2*x - 4*x*x c (sqr(x) - sqr(y))/2*x - 4*sqr(x) d (x*x - y*y)/(2*x) - 4x*x 3/ Cho x =18, y = 8 và đoạn chương trình sau: if (x > y) or (y mod 2 <> 0) then begin x:=x div 3; y:= x/ 2; end; Giá trị của x, y thay đổi như thế nào khi thực hiện đoạn chương trình trên: a x = 18, y = 8 b x = 6, y = 3 c x = 18, y = 6 d x = 3, y = 6 4/ Để khai báo biến s là biến kiểu xâu ký tự, ta thực hiện câu lệnh sau: a Var s:string; b Var s=string; c Var s:integer; d Const a:real; 5/ Các khai báo nào dưới đây là sai: a Const ten_nhom = 'Tin học'; b Var xep_loai, diem: real; c Var nguyen : integer; thuc : real; d Const ten lop = '8a 2'; 6/ Trong các tên dưới đây, tên nào hợp lệ trong pascal: a tam giac b 8a c end d tamgiac 7/ Cho x=8, sau khi thực hiện câu lệnh if (x mod 5 = 0) then x:=x/4; giá trị của x là: a 4 b 2 c 8 d Tất cả đều sai. 8/ Để thoát khỏi Pascal ta nhấn tổ hợp phím: a Alt + F9 b Alt + X c Shift + X d Ctrl + X 9/ Hàm sqr(x) có giá trị trả về là: a x b x c x 2 1 d 2 x 10/ Biểu thức ((a + b)*(c - d)+6)/3 - a khi viết trong toán sẽ có dạng: a a dcba −+ −+ 6 3 ))((( b a dcba − +−+ 3 6))((( c 3 6 ))((( a dcba − +−+ d 3 6))((( adcba −+−+ A. Phần Tự luận: (5 điểm) Câu 1: Hãy tìm các lỗi (nếu có) và sửa lại cho đúng trong chương trình sau: program bai tap; var x,y,t:integer; begin write(nhap 2 so x,y:); readln(a b); if x>y then t:=x/y; else t:=y/x; writeln(gia tri cua t la:,t); readln end; Câu 2: Viết chương trình tính tổng và tích của ba số a, b, c. Với a,b,c được nhập từ bàn phím. Họ tên: ……………………………… Lớp: ………………………………… BÀI LÀM A. Phần Trắc nghiệm: B. Phần Tự luận: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .