ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ 1 Thời gian làm bài: 60 phút I. Phần trắc nghiệm 1. Tại sao dung lượng bộ nhớ ngoài có thể lớn hơn bộ nhớ trong rất nhiều lần: a) Vì bộ nhớ ngoài chịu sự điều khiển trực tiếp từ hệ thống vào ra. b) Vì bộ nhớ ngoài không bị giới hạn bởi không gian địa chỉ của CPU. c) Vì công nghệ chế tạo bộ nhớ ngoài rẻ hơn bộ nhớ trong. d) Vì bộ nhớ ngoài chứa được hệ thống file. 2. Chức năng chính của tập các thanh ghi (Registers) là: a) Điều khiển nhận lệnh b) Giải mã lệnh và thực thi lệnh c) Vận chuyển thông tin giữa các thành phần bên trong máy tính d) Chứa các thông tin phục vụ cho hoạt động của CPU 3. Sử dụng số nhị phân n bit để biểu diễn số nguyên có dấu. Hỏi giá trị số nguyên nhỏ nhất có thể biểu diễn được là bao nhiêu ? a) 1 2 n− − b) 2 n − c) 1 2 1 n− − − d) 2 1 n − − 4. Sử dụng số nhị phân n bit để biểu diễn số nguyên không dấu. Hỏi giá trị số nguyên lớn nhất có thể biểu diễn được là bao nhiêu ? a) 1 2 n− b) 2 n c) 1 2 1 n− − d) 2 1 n − 5. Cho A, B, C là các số nguyên có dấu 8 bit với A = 58 ; B = -112 ; C = 54. Tính giá trị biểu thức A + B – C ? a) 0 b) -116 c) -108 d) 108 6. Cho A, B, C là các số nguyên có dấu 8 bit với A = 10, B = -100, C = 50. Tính giá trị biểu thức A OR B AND C a) -40 b) 18 c) 58 d) 26 7. Cho biết kết quả hiện trên màn hình sau khi chạy chương trình dưới đây Var a, b: integer; Procedure XuLy(x : integer, var y : integer); Begin y := x; x := x + 10; End; BEGIN a := 100; b := 10; XuLy(a, b); b := a + 100; a := b + 100; writeln(a,’ ’, b); readln; END. a) 300200 b) 300 200 c) 310 210 d) 310210 8. Cho biết dung lượng bộ nhớ trong tối đa của một CPU tổ chức bộ nhớ theo BYTE và có 16 bit địa chỉ ? a) 16KB b) 16MB c) 64MB d) 64KB 9. Cho biết chức năng không phải của bus địa chỉ ? a) Xác định địa chỉ ô nhớ cần truy cập thuộc bộ nhớ trong. b) Xác định địa chỉ file cần truy cập trên ổ đĩa cứng. c) Xác định địa chỉ lệnh cần nạp vào CPU. d) Xác định địa chỉ cổng vào ra cần trao đổi dữ liệu. 10. Một số nhị phân 32 bit nếu biểu diễn trong hệ cơ số 8 sẽ có tối đa bao nhiêu chữ số ? a) 8 b) 10 c) 11 d) 16 II. Phần lập trình 1. Xây dựng chương trình con dạng hàm theo mẫu khai báo sau Function DemKyTu(s : String, c : char) : Integer; Biết rằng hàm DemKyTu trả về số lần xuất hiện ký tự c trong xâu s. Sử dụng hàm đã xây dựng để lập trình chương trình sau: Nhập liên tiếp từ bàn phím một số xâu ký tự. Quá trình nhập kết thúc khi người dùng nhập vào xâu rỗng. Sau đó đưa ra màn hình các thông tin sau đây a- Tổng số ký tự trong các xâu đã nhập (không tính dấu cách). b- Số lần xuất hiện của từng nguyên âm a, e, i, o, u, y. c- Cho biết nguyên âm nào xuất hiện nhiều nhất. 2. Để quản lý các chuyến xe khởi hành tại một bến ô tô, người ta sử dụng một file có định kiểu trong đó thông tin về mỗi chuyến xe được lưu trong một bản ghi có cấu trúc như sau: TTXe = Record Ngay : Integer; Thang : Integer; BienSo: String[10]; SoKhach : Integer; End; Không sử dụng kiểu mảng, hãy viết chương trình thực hiện các công việc sau. a. Tạo mới tệp dữ liệu XeKhach.dat tại thư mục C:\QLXK sau đó nhập từ bàn phím thông tin về N chuyến xe và lưu vào tệp. Trong đó N cũng là một số nguyên được nhập từ bàn phím với điều kiện 10 ≤ N ≤ 20. b. Duyệt nội dung tệp XeKhach.dat vừa tạo và tính tổng số hành khách khởi hành tại bến xe vào ngày 29/4 rồi hiển thị ra màn hình. c. Nhập 2 số nguyên D và M từ bàn phím với điều kiện 1 ≤ D ≤ 31 và 1 ≤ N ≤ 12. Sau đó tìm và đưa thông tin về tất cả các chuyến xe khởi hành trong ngày D tháng M ra tệp văn bản có tên là Baocao.txt theo định dạng Danh sach cac chuyen xe ngay D thang M: STT Bien so So hanh khach 1 31C6868 21 Chú ý: cột STT chiếm 5 vị trí, cột Bien so chiếm 10 vị trí, cột So hanh khach chiếm 10 vị trí. ĐÁP ÁN ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ: 1 Thời gian làm bài: 60 phút Phần 1: Phần trắc nghiệm Câu hỏi Yêu cầu trả lời Điểm 1. B 0.6 2. D 0.6 3. A 0.6 4. D 0.6 5. C 0.6 6. D 0.6 7. B 0.6 8. D 0.6 9. B 0.6 10. C 0.6 Phần 1: Phần tự luận Câu hỏi Điểm 1a 0.6 1b 0.6 1c 0.8 2a 0.6 2b 0.6 2c 0.8 - Hết - ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ: 2 Thời gian làm bài: 60 phút I. Phần trắc nghiệm 1. Cho biết chức năng không phải của bus địa chỉ ? a) Xác định địa chỉ ô nhớ cần truy cập thuộc bộ nhớ trong. b) Xác định địa chỉ file cần truy cập trên ổ đĩa cứng. c) Xác định địa chỉ lệnh cần nạp vào CPU. d) Xác định địa chỉ cổng vào ra cần trao đổi dữ liệu. 2. Sử dụng số nhị phân n bit để biểu diễn số nguyên có dấu. Hỏi giá trị số nguyên lớn nhất có thể biểu diễn được là bao nhiêu ? a) 1 2 n− b) 2 n c) 1 2 1 n− − d) 2 1 n − 3. Cho biết kết quả hiện trên màn hình sau khi chạy chương trình dưới đây Var a, b: integer; Procedure XuLy(var x : integer, var y : integer); Begin y := x; x := y + 10; End; BEGIN a := 100; b := 10; XuLy(a, b); b := a + 30; a := b + 50; writeln(a,’ ’, b); readln; END. a) 180130 b) 180 130 c) 190 140 d) 190140 4. Tại sao dung lượng bộ nhớ ngoài có thể lớn hơn bộ nhớ trong rất nhiều lần: a) Vì bộ nhớ ngoài chịu sự điều khiển trực tiếp từ hệ thống vào ra. b) Vì bộ nhớ ngoài không bị giới hạn bởi không gian địa chỉ của CPU. c) Vì công nghệ chế tạo bộ nhớ ngoài rẻ hơn bộ nhớ trong. d) Vì bộ nhớ ngoài chứa được hệ thống file. 5. Sử dụng số nhị phân n bit để biểu diễn số nguyên không dấu. Hỏi giá trị số nguyên lớn nhất có thể biểu diễn được là bao nhiêu ? a) 1 2 n− b) 2 n c) 1 2 1 n− − d) 2 1 n − 6. Cho A, B, C là các số nguyên có dấu 8 bit với A = 100 ; B = -127 ; C = 27. Tính giá trị biểu thức A + B – C ? a) 0 b) -100 c) -108 d) -54 7. Mã lệnh đang được CPU thực hiện được lưu trữ ở đâu: a) Bộ nhớ ngoài b) Bộ nhớ chính c) Tập thanh ghi d) ALU 8. Cho A, B, C là các số nguyên có dấu 8 bit với A = 51, B = -107, C = 13. Tính giá trị biểu thức A OR B AND C a) -40 b) 29 c) 58 d) 47 9. Cho biết dung lượng bộ nhớ trong tối đa của một CPU tổ chức bộ nhớ theo WORD (mỗi ô nhớ có dung lượng bằng 2 byte) và có 16 bit địa chỉ ? a) 16 KB b) 32 KB c) 64 KB d) 128 KB 10. Một số nhị phân 32 bit nếu biểu diễn trong hệ cơ số 16 sẽ có tối đa bao nhiêu chữ số ? a) 8 b) 10 c) 11 d) 16 II. Phần lập trình 1. Xây dựng chương trình con dạng hàm theo mẫu khai báo Function CODEC(S : String, c : Byte) : string; Trong đó kết quả trả về là một xâu mới S1 thỏa mãn điều kiện: mỗi ký tự trong xâu đầu vào S có mã ASCII là x sẽ được biến đổi thành ký tự nằm ở vị trí tương ứng trong xâu S1 nhưng có mã ASCII là x1 = x XOR c. Đây chính là hàm mã hóa/giải mã dữ liệu sử dụng phép toán XOR với giá trị khóa là tham số c. Hàm này cho phép thực hiện cả 2 chức năng giải mã và mã hóa dữ liệu. Sử dụng hàm đã xây dựng lập trình thực hiện công việc: a. Đọc một xâu ký tự từ bàn phím rồi thực hiện mã hóa với giá trị khóa bằng 102 và đưa xâu đã mã hóa ra màn hình. b. Đọc một xâu ký tự đã mã hóa từ bàn phím rồi giải mã và đưa xâu kết quả ra màn hình, biết giá trị khóa được sử dụng khi mã hóa là 102. 2. Để quản lý các chuyến xe khởi hành tại một bến ô tô, người ta sử dụng một file có định kiểu trong đó thông tin về mỗi chuyến xe được lưu trong một bản ghi có cấu trúc như sau: TTXe = Record Ngay : Integer; Thang : Integer; BienSo: String[10]; SoKhach : Integer; End; Không sử dụng kiểu mảng, hãy viết chương trình thực hiện các công việc sau. a. Tạo mới tệp dữ liệu XeKhach.dat tại thư mục C:\QLXK sau đó nhập liên tiếp từ bàn phím thông tin về các chuyến xe và lưu vào tệp. Quá trình nhập dữ liệu kết thúc khi người dùng nhập thông số Ngay hoặc Thang bằng 0. b. Duyệt nội dung file XeKhach.dat vừa tạo để tính số chuyến và tổng số hành khách do xe có biển số 31C-6868 chuyên chở trong tháng 4. Đưa các kết quả tìm được ra màn hình. c. Nhập 2 số nguyên D và M từ bàn phím với điều kiện 1 ≤ D ≤ 31 và 1 ≤ N ≤ 12. Sau đó tìm và đưa thông tin về tất cả các chuyến xe khởi hành trong ngày D tháng M ra tệp văn bản có tên là Baocao.txt theo định dạng Danh sach cac chuyen xe ngay D thang M: STT Bien so So hanh khach 1 31C-6868 21 Cuối tệp có dòng thống kê : Tong so Hanh khach trong ngay: và đưa ra tổng số hành khách đã xuất phát từ bến trong ngày D tháng M. Chú ý: cột STT chiếm 5 vị trí, cột Bien so chiếm 10 vị trí, cột So hanh khach chiếm 10 vị trí. ĐÁP ÁN ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ: 2 Thời gian làm bài: 60 phút Phần 1: Phần trắc nghiệm Câu hỏi Yêu cầu trả lời Điểm 1. B 0.6 2. C 0.6 3. C 0.6 4. B 0.6 5. D 0.6 6. D 0.6 7. C 0.6 8. B 0.6 9. D 0.6 10. A 0.6 Phần 1: Phần tự luận Câu hỏi Điểm 1a 1 1b 1 2a 0.6 2b 0.6 2c 0.8 - Hết - . 0.6 10. C 0.6 Phần 1: Phần tự luận Câu hỏi Điểm 1a 0.6 1b 0.6 1c 0.8 2a 0.6 2b 0.6 2c 0.8 - Hết - ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ: 2 Thời gian làm bài: 60 phút I. Phần trắc nghiệm 1. Cho biết chức. phát từ bến trong ngày D tháng M. Chú ý: cột STT chiếm 5 vị trí, cột Bien so chiếm 10 vị trí, cột So hanh khach chiếm 10 vị trí. ĐÁP ÁN ĐỀ THI TIN HỌC ĐẠI CƯƠNG ĐỀ SỐ: 2 Thời gian làm bài: 60 phút Phần. nguyên lớn nhất có thể biểu diễn được là bao nhiêu ? a) 1 2 n− b) 2 n c) 1 2 1 n− − d) 2 1 n − 6. Cho A, B, C là các số nguyên có dấu 8 bit với A = 100 ; B = - 127 ; C = 27 . Tính giá trị