Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
497,51 KB
Nội dung
Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tơ Oai Hùng BÀI TẬP CHƯƠNG 1 Viết giải thuật để mơ tả thói quen buổi sáng bạn, từ lúc nghe chuông đồng hồ báo thức lúc bạn rời khỏi nhà để làm hay học Viết giải thuật tính để bậc hai số dương Áp dụng giải thuật để tính giá trị 2046, lấy đến số lẻ Khơng sử dụng thiết bị tính tốn Tại nhà khoa học máy tính trọng đến sở liệu cần phải biết mạng máy tính Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tơ Oai Hùng BÀI TẬP CHƯƠNG Viết mã giả cho giải thuật tìm bậc số dương (phương pháp Newton– Raphson) Viết mã giả để tìm trung bình cộng tập số Viết mã giả để tìm phần tử trung bình tập có n số Biết rằng, n lẻ phần tử trung bình phần tử tập có thứ tự Ngược lại, phần tử trung bình trung bình cộng hai phần tử tập có thứ tự Cho biết độ phức tạp giải thuật tìm phần tử trung bình câu 3? Giả sử giải thuật tìm trung bình cộng (mean) (n) giải thuật tìm phần tử trung bình (median) (nlog n) Cho biết tỷ lệ thời gian thực thi hai giải thuật số phần tử tập số 1.000.000 Một giải thuật xếp đơn giản bubble sort (sắp xếp bọt) Giải thuật quét qua tất phần tử nhiều lần Mỗi lần, giải thuật so sánh hai phần tử kề để thứ tự Cho ví dụ, có danh sách sau: Bubble sort bắt đầu so sánh với Hai phần tử có thứ tự, bubble sort so sánh tiếp với 3, bubble sort hoán đổi hai phần tử Tiếp tục so sánh với 1, bubble sort hoán đổi hai phần tử Tiếp tục so sánh với 4, bubble sort hoán đổi hai phần tử Sau lần quét, kết là: Quét từ trái sang phài lần nữa, kết là: Quét từ trái sang phài lần nữa, kết là: Đây kết cuối Hãy viết mã giả cho giải thuật bubble sort? Cho biết độ phức tạp giải thuật bubble sort? Cho biết tỷ lệ thời gian thực thi giải thuật bubble sort merge sort số phần tử danh sách 1.000.000 có thứ tự ngẫu nhiên? Tìm giải thuật để giải vấn đề sau: a) Cho số nguyên dương n, tìm danh sách số ngun dương mà tích lớn tất danh sách số nguyên dương mà tổng n Cho ví dụ: a Nếu n = 4, danh sách kết {2, 2} Vì lớn danh sách có 1; b Nếu n = 5, danh sách kết {2, 3} Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tơ Oai Hùng b) Danh sách kết n = 2001? 10 Những tên sau đem so sánh câu lệnh if list[midpoint] = searchItem giải thuật tìm kiếm nhị phân tên cần tìm Joe: Alice, Brenda, Carol, Duane, Evelyn, Fred, George, Henry, Irene, Joe, Karl, Larry, Mary, Nancy, Oliver 11 Số lần tìm kiếm nhiều giải thuật tìm kiếm nhị phân số phần tử danh sách là: a) 200 b) 100.000 12 Các giá trị in hình thực thi thủ tục đệ qui Exercise(N) giá trị N lúc đầu gán 1? procedure Exercise(N) in giá trị N if (N < 3) then Exercise(N + 1) in giá trị N 13 Cho biết giải thuật có thời gian thực thi là: (log n), (n) (n2)? 14 Đoạn chương trình sau dùng để tính thương hai số nguyên dương phép chia nguyên cách đếm số lần mà số bị chia trừ cho số chia đến số bị chia nhỏ số chia Cho ví dụ 7/3 = 2, - - = (< 3) Hỏi kết quotient chương trình có khơng? count 0; remainder dividend; // dividend = số bị chia remainder remainder – divisor; count count + while (remainder >= divisor) // divisor = số chia quotient count // quotient = thương 15 Đoạn chương trình sau dùng để tính tích hai số ngun khơng âm X Y cách tích lũy (cộng dồn) tổng X lần giá trị Y Hỏi kết product chương trình có khơng? product Y // product = tích count while (count < X) product product + Y; count count + Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tơ Oai Hùng BÀI TẬP CHƯƠNG Viết số 6, 13, 11, 18, 27, 4, 229 dạng nhị phân (cơ số 2) Giá trị thập phân (cơ số 10) 0101, 1001, 1011, 0110, 10000, 10010, 11100101 bao nhiêu? Giá trị thập phân 11.01, 101.111, 10.1, 110.011, 0.101 bao nhiêu? Viết hỗn số sau dạng nhị phân: , , 18 , 516 , 5 Thực phép cộng nhị phân sau: 11011 + 1010.001 + 1100 11111 + 1.101 111.11 + 0001 00.01 Giá trị nhị phân số 377 hệ bát phân (cơ số 8) bao nhiêu? Giả sử số nguyên có dấu biểu diễn 16 bit a) Cho biết giá trị dương lớn biểu diễn b) Cho biết giá trị âm nhỏ biểu diễn c) Biểu diễn 17.440 d) Biểu diễn -20 Viết giá trị ký tự C, H R bảng mã ASCII dạng thập phân nhị phân Tham khảo danh sách lệnh CPU Intel x86 dạng từ gợi nhớ chương này, viết lệnh để cộng hai giá trị chứa nhớ địa 50 51 Kết ghi vào địa 101 10 Viết lệnh để lấy giá trị chứa nhớ địa 50 trừ cho giá trị địa 51 Kết ghi vào địa 101 11 Cho biết ưu khuyết điểm máy tính có chiều dài từ lớn? 12 Giả sử nhớ cache có thời gian truy cập 10 ns, nhớ có thời gian truy cập 100 ns Nếu tỷ lệ "hit rate" cache 70 Tính thời gian trung bình truy cập nhớ? Lưu ý: - hit rate – tỷ lệ phần trăm truy cập nhớ tìm thấy - miss rate – tỷ lệ phần trăm truy cập nhớ khơng tìm thấy Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính - Th.S GVC Tơ Oai Hùng miss rate = – hit rate 13 Giả sử tốc độ máy tính 1GHz trung bình có chu kỳ cho lệnh Máy tính kết nối với Internet tốc độ 10 Mbit/s Có lệnh thực thi từ lúc máy tính nhận bit máy tính nhận tồn ký tự (8 bit)? 14 Cho biết giá trị thập phân số bù hai sau: 00011, 01111, 11100, 11010, 00000, 10000? 15 Viết giá trị thập phân sau dạng bù sử dụng bit: 6, 6, -17, 13, -1, 0? Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tơ Oai Hùng BÀI TẬP CHƯƠNG Sau hàm viết ngơn ngữ C để tính tổng dãy số nguyên Giả sử giá trị phần tử số số phần tử bắt đầu begin nhỏ hay số phần tử cuối end (begin end): int summation(int begin, int end) { int result = begin; begin = begin + 1; while( begin (car n) (whatsThis1 (cdr n))) (car n)) ( else (whatsThis1 (cdr n))) ))) b) Kết lời gọi hàm là: (whatsThis (list 3) a) Hãy cho biết hàm whatsThis2 sau thực điều gì? (define whatsThis2 (lambda (n) (if (zero? n) (+ (whatsThis2 (- n 1)) (* n n)))) b) Kết lời gọi hàm là: (whatsThis2 3) a) Hãy cho biết hàm whatsThis3 sau thực điều gì? (define whatsThis3 (lambda (n) (if (