Sở GD & ĐT Cà Mau Đề kiểmtrahọc kỳ II Trường:THPT Thới Bình Môn: Tin học Thời gian: 45p I. Mục tiêu đánh giá - Sự hiểu biết, vận dụng của học sinh trong chương V, chương VI và bài 13 II. Yêu cầu của đề - ? III. Ma trận đề Yêu cầu Bài 13 Chương V Chương VI Biết câu 17 câu 1, câu 2, câu 8, câu 9 câu 3, câu 4, câu 11, câu 13, câu 14 Hiểu câu 5, câu 7 câu 6, câu 10, câu 15, câu 16 Vận dụng câu 18 IV. Nội dung đề: Câu 1 (1đ) Phân loại tệp và thao tác với tệp? Câu 2 (0.5đ) Nêu lợi ích của việc sử dụng chương trình con? Câu 3 (0.5đ) Chương trình con có bao nhiêu loại? Kể ra? Câu 4 (0.5đ) Thế nào là biến cục bộ? Thế nào là biến toàn cục? Câu 5 (0.5đ) Cho hai tệp văn bản: Tep_A.TXT và tep_B.TXT mỗi dòng của tệp chứa một số nguyên. Xét chương trình: Var f1, f2: text; n:longint; Begin assign (f1, `Tep_A.TXT `); Reset(f1); assign (f2, `Tep_B.TXT `); Reset(f2); While not eof (f1) do Begin Read (f1, n) If n>0 then writeln( f2,n); end; close(f1); assign (f1, `Tep_A.TXT `); Reset(f1); While not eof (f1) do Begin Read (f1, n) If n > 0 then writeln( f2,n); End; close(f1); close(f2); End. Hãy cho biết điều khẳng đònh nào sau đây là đúng a. Chương trình trên tao tệp văn bản mới chứa hai lần số nguyên dương từ tệp Tep_A.TXT b. Chương trình trên lọc các dòng chứa các số nguyên dương từ hai tệp Tep_A.TXT và Tep_B.TXT sang tệp mới, giữ nguyên thứ tự xuất hiện trong các tệp dữ liệu. c. Chương trình trên lọc các dòng chứa các số nguyên dương từ tệp Tep_A.TXT tệp mới. d. Chương trình trên lọc các dòng chứa các số nguyên dương từ tệp Tep_B.TXT tệp mới. Câu 6: (1đ) Xét đoạn chương trình con sau Funtion TichVH(Var a,b: Vector; n: byte): real; Var i:Interger s: real Begin s:=0; For i:= 1 to n do s:=st a[i]*b[i]; TichVH:=s; End; Hãy cho biết chương trình con trên thực hiện lệnh gì? Câu 7 (1đ) Xét chương trình Var f:text; n, mx, k:longint; Begin assign (f, ` input.Dat `); reset (f); mx:= -2147483647; While not eof (f) do Begin Read(f,n); If n > mx then Begin mx:= n; x:=1; End else If n=mx then inc(k) end; close(f); Writeln(xm, “ , k); End. Hãy cho biết chương trình trên thực hiện công việc gì? Câu 8 (0.5đ) Cho tệp văn bản có 108 dòng. Ta có thể đọc trực tiếp ngay dòng 41 mà không cần đọc 40 dòng đầu không? tại sao? Câu 9 (0.5đ) Trong chương trình sử dụng tệp có tên là Data, ta có thể khai báo biến tệp với tên là Data được không? Tại sao? Câu 10 (1đ) Trong chương trình con, khi nào nên tổ chức truyền tham biến và khi nào nhất thiết phải truyền tham biến? Câu 11 (0.25đ) Có thểt dùng chương trình con để viết chương trình mà không dùng câu lệnh ghép hay không? Câu 12 (0.25đ) Tên biến dùng trong chương trình con có thể trùng với tên biết dùng trong chương trình chính được hay không? Câu 13 (0.25đ) Có thể một chương trình con không có tham số hình thức và cũng không có các biến khai báo cục bộ trong chương trình con hay không? Câu 14 (0.25đ) Biến cục bộ được khai báo ở đâu? Biến cục bộ có thể có tên giống biến toàn cục hay không? Câu 15 (0.25đ) Xét một chương trình có một số chương trình con. Ta có thể mở tệp ở một chương trình con nào đó và sau khi xử lý xong, đóng tệp ở một chương trình con khác hay không? Câu 16 (0.25đ) Tại sao với tên hàm cần khai báo kiểu dữ liệu còn tên thủ tục không khai báo kiểu dữ liệu? Câu 17 (0.25đ) Nêu cách khai báo kiểu bản ghi? Câu 18: Hãy mô tả hàm Fact(n) trả về giá trò n! (n giai thừa, n nguyên) sử dụng hàm này tính và đưa ra màn hình n! với n=0,1, .,10 ghi chú: − = = lại còn hợptrường các trong 0n nếu !1* 1 ! nn n V. HƯỚNG DẪN CHẤM Câu 1: • Phân loại tệp: (0,5đ) - Xét theo cách tổ chức dữ liệu: (0,25) - Xét theo cách truy cập: (0,25) • thao tác với tệp:(0,5đ) - Gán tên tệp - Mở tệp - Đọc tệp/ ghi tệp văn bản - Đóng tệp Câu 2: Nêu được lợi ích của việc sử dụng chương trình con (0,5đ) Câu 3: Nêu được chương trình con có bao nhiêu loại và kể ra(0,5đ) Câu 4: Nêu được biến toàn cục và biến cục bộ: (0,5đ) Câu 5: Chọn đúng câu b: (0,5đ) Câu 6: Biết được đoạn chương trình con thực hiện được việc tính tích vô hướng 2 vectơ A và B(1đ) Câu 7: Tìm Max và cho biết số lần đạt Max(1đ) Câu 8: không, độ dài các dòng không biết trước vì vậy không thể đònh vò trực tiếp dòng 41(0,5đ) Câu 9: Được. vì vậy tên biên tệp là 2 đối tượng khác nhau, mối quan hệ giữa chúng được xác lâp qua lệnh mở tệp(0,5đ) Câu 10: Các biến cần nhiều bộ nhớ như vectơ, ma trận thì nên truyền tham biến, các biến chứa kết quả trả về nhất thiết phải dùng tham biến:(0,25đ) Câu 11: Được (0,25đ) Câu 12: Có thể (0,25đ) Câu 13: Được (0,25đ) Câu 14: Ở chương trình con, có thể :(0,25đ) Câu 15: Được (0,25đ) Câu 16: Tên hàm được sử dụng như biến và sẽ dùng để chứa dữ liệu (KQ trả về). Tên thủ tục chỉ dùng để gọi, không chứa dữ liệu trả về (0,25đ) Câu 17: Type <tên kiểu bản ghi>=Record <tên trường 1>: kiểu trường 1; . <tên trường k>: kiểu trường k; End; Var <tên biến>:<tên kiểu bản ghi>; Câu 18:(2đ) Var i:integer Function Fack(n:integer):Longint; Var s:longint; Begin if n=0 then Fack:=1 else Begin s:=1; for i:=1 to n do s:=s*i fack:=s; End; End Begin for i:=0 to 10 do Writeln(i,’’,fact(i)); End; . & ĐT Cà Mau Đề kiểm tra học kỳ II Trường:THPT Thới Bình Môn: Tin học Thời gian: 45p I. Mục tiêu đánh giá - Sự hiểu biết, vận dụng của học sinh trong. vận dụng của học sinh trong chương V, chương VI và bài 13 II. Yêu cầu của đề - ? III. Ma trận đề Yêu cầu Bài 13 Chương V Chương VI Biết câu 17 câu 1, câu