ktra_hkI1_0809_tinhoc8_lythuyet Trường THCS DTNT Ba Tơ Lớp Họ và tên: KIỂM TRA HỌC KỲ II Môn: Tin học 8 Thời gian làm bài: 45 phút ĐIỂM NHẬN XÉT CHỮ KÝ Bằng số Bằng chữ Giám khảo Giám thị (Bài thi gồm 02 trang) Câu 1: (2 điểm) Viết cú pháp câu lệnh lặp biết trước số lần lặp và câu lệnh lặp chưa biết trước số lần lặp. Giải thích các thành phần trong câu lệnh. Câu 2: (4 điểm) Các lệnh khai báo biến mảng trong Pascal sau đây đúng hay sai (Đ/S)? Nếu sai hãy sửa lại cho đúng. Khai báo Đ/ S Sửa lại a ) Var x: array[1, 5] of integer; b ) Var x: array[1…7] of byte; c ) Var x: array[-5 5] of byte; d ) Var x: array[3 3.5] of real; ktra_hkI1_0809_tinhoc8_lythuyet e ) Var x: array[1:10] of integer; f) Var x: array[5 3] of real; g ) Var x: array(3 5) of integer; h ) Var do: array[1 10] of byte; Câu 3: (4 điểm) Cho đoạn chương trình sau đây: Max:=0; For i:=1 to 10 do If Max < a[i] then Max:=a[i]; Writeln(‘So lon nhat la ’, Max); a) Đoạn chương trình trên thực hiện công việc gì? b) Viết lệnh khai báo các biến dùng trong đoạn chương trình. c) Hoàn thành đoạn chương trình thành chương trình hoàn chỉnh. ktra_hkI1_0809_tinhoc8_lythuyet ktra_hkI1_0809_tinhoc8_lythuyet HƯỚNG DẪN CHẤM ĐIỂM Câu 1: (2 điểm) - Cú pháp câu lệnh lặp biết trước số lần lặp: (0,5đ) For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; - Giải thích:(0,5đ) for, to, do là các từ khóa. biến đếm là biến kiểu nguyên. câu lệnh có thể là đơn hoặc ghép. giá trị đầu, giá trị cuối là những giá trị nguyên. (giá trị đầu không lớn hơn giá trị cuối). - Cú pháp câu lệnh lặp chưa biết trước số: (0,5đ) While <điều kiện> do <câu lệnh>; - Giải thích:(0,5đ) while, do là các từ khóa. điều kiện thường là một phép so sánh. câu lệnh có thể là đơn hoặc ghép. Câu 2: (4 điểm) Mỗi câu trả lời đúng được 0,5đ. Khai báo Đ/ S Sửa lại a ) S Var x: array[1 5] of integer; b ) S Var x: array[1 7] of byte; c ) Đ d ) S Var x: array[3 5] of real; e ) S Var x: array[1 10] of integer; f) S Var x: array[3 5] of real; g ) S Var x: array[3 5] of integer; h ) S Var x: array[1 10] of byte; Lưu ý: giá trị 3.5 ở câu d) có thể được sửa thành một giá trị nguyên bất kỳ. Tên mảng do ở câu h) có thể được sửa thành một tên khác. Câu 3: (4 điểm) a) Đoạn chương trình thực hiện công việc tìm giá trị lớn nhất trong dãy 10 số. (1đ) b) (1đ) Var a: array[1 10] of integer; Max, i: integer; Lưu ý: Nếu mảng a là kiểu số thực thì Max cũng phải kiểu số thực. Mảng a có thể nhiêu hơn 10 phần tử. c) (2đ) Yêu cầu tối thiểu của chương trình: Program THI; Var a: array[1 10] of integer; ktra_hkI1_0809_tinhoc8_lythuyet Max, i: integer; Begin For i:=1 to 10 do readln(a[i]); Max:=0; For i:=1 to 10 do If Max < a[i] then Max:=a[i]; Writeln(‘So lon nhat la ’, Max); End. . ktra_ hkI1_ 080 9_tinhoc8_lythuyet Trường THCS DTNT Ba Tơ Lớp Họ và tên: KIỂM TRA HỌC KỲ II Môn: Tin học 8 Thời gian làm bài: 45 phút ĐIỂM NHẬN XÉT CHỮ. thành chương trình hoàn chỉnh. ktra_ hkI1_ 080 9_tinhoc8_lythuyet ktra_ hkI1_ 080 9_tinhoc8_lythuyet HƯỚNG DẪN CHẤM ĐIỂM Câu 1: (2 điểm) - Cú pháp câu lệnh. array[1…7] of byte; c ) Var x: array[-5 5] of byte; d ) Var x: array[3 3.5] of real; ktra_ hkI1_ 080 9_tinhoc8_lythuyet e ) Var x: array[1:10] of integer; f) Var x: array[5 3] of real; g ) Var x: