Sáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học
MỤC LỤC Trang 1. Lời giới thiệu.....................................................................................................1 2. Tên sáng kiến:....................................................................................................2 3. Tác giả sáng kiến:..............................................................................................2 4. Chủ đầu tư tạo ra sáng kiến:..............................................................................3 5. Lĩnh vực áp dụng sáng kiến: .............................................................................3 6. Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử ..................................3 7. Mô tả bản chất của sáng kiến: ...........................................................................3 7.1. Về nội dung của sáng kiến: .............................................................3 7.1.1. Thực trạng của vấn đề mà sáng kiến cần giải quyết ............................3 7.1.2. Các giải pháp: ......................................................................................3 7.2. Về khả năng áp dụng của sáng kiến: ............................................21 8. Những thông tin cần được bảo mật .................................................................22 9. Các điều kiện cần thiết để áp dụng sáng kiến:.................................................22 10. Đánh giá lợi ích thu được của sáng kiến .......................................................22 11. Danh sách những tổ chức đã tham gia áp dụng sáng kiến..........................24 12. Tài Liệu Tham Khảo.......................................................................25 2 Việc dùng hệ đếm nhị phân trong máy tính quả là rất tự nhiên, nhưng đứng về phương diện giao lưu giữa máy và người thì cũng có nhược điểm quan trọng là các số tự nhiên ghi theo hệ đếm nhị phân viết rất dài. Như con số 1000 trong hệ đếm thập phân nếu viết dưới dạng hệ đếm nhị phân sẽ là 11000011010100000. Để giải quyết khó khăn này, trong lí thuyết về máy tính người ta sử dụng hai hệ đếm bổ trợ là các hệ đếm cơ số 8 và hệ đếm cơ số 16. Nhờ đó một con số có ba chữ số trong hệ đếm cơ số 2 sẽ là một con số có một chữ số trong hệ đếm cơ số 8 chỉ bằng 1/3 độ dài của con số viết theo hệ đếm cơ số 2, so với con số viết theo hệ đếm cơ số 8 không khác mấy so với con số viết theo cơ số 10. Ví dụ con số 100.000 viết theo hệ đếm cơ số 8 sẽ là 303240. Tương tự một con số có một chữ số viết theo hệ đếm cơ số 16 đại diện cho một con số có 4 chữ số trong hệ đếm cơ số 2. Một kí tự tương ứng với một con số có hai chữ số trong hệ đếm cơ số 16. Trong hệ đếm cơ số 16 cần có 16 kí hiệu độc lập. Thực tế người ta dùng chữ số tự nhiên 1,2, 3, 4, 5, 6, 7, 8 và các chữ cái A, B, C, D, E, F đại diện cho các số 10, 11, 12, 13.14, 15 (các chữ số trong hệ đếm thập phân). Như vậy con số 100.000 được viết là 186A0. Việc chuyển đổi từ hệ đếm nhị phân sang hệ đếm cơ số 8 và cơ số 16 khá đơn giản; và việc phối hợp sử dụng hệ đếm cơ số 8 và cơ số 16 sẽ tránh được phiền phức viết những con số quá dài trong hệ đếm cơ số 2. Hệ đếm cơ số 8 và cơ số 16 đã trợ giúp đắc lực cho việc giao lưu giữa người và máy tính. Đối với con người thì cơ số thập phân (cơ số 10) là rất quen thuộc, chúng ta thường thao tác, tính toán trên hệ cơ số 10. Nhưng đối với máy tính thì khác, cơ số 10 không phải là sở trường mà lại là cơ số nhị phân (tức cơ số 2). Chính vì vậy bất kì ai học Tin học đều phải hiểu cơ số, biết cách chuyển một số từ cơ số này sang cơ số khác. Để giúp các em học sinh hiểu rõ hơn về các hệ đếm trong tin học tôi mạnh dạn đưa ra và hướng dẫn các em “chuyên đề hệ đếm trong tin học” 2. Tên sáng kiến: “Chuyên đề hệ đếm trong Tin học” 3. Tác giả sáng kiến: - Họ và tên: Nguyễn Đăng Hiệp 4 Hệ đếm La mã I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Ví dụ: MLVI = 1000 + 50 + 5 +1 =1056 MLIV = 1000 + 50 + 5 -1 = 1054 - Hệ thập phân: + Mỗi chữ số x đứng ở hàng thứ i tính từ bên phải có giá trị là x.10 i-1. Như vậy một đơn vị ở một hàng sẽ có giá trị gấp 10 lần một đơn vị ở hàng kế cận bên phải + Giá trị của số là tổng giá trị của các chữ số có tính tới vị trí của nó. Giá trị của 3294,5 = 3.103 + 2.102 + 9.101 + 4.100 + 5.10-1 - Các hệ đếm thường dùng là hệ đếm phụ thuộc vị trí Ví dụ: VI và IV, V có giá trị là 5 không phụ thuộc vị trí. Số 15 và 51 là phụ thuộc vào vị trí - Có nhiều hệ đếm khác nhau nên muốn phân biệt số được biểu diễn ở hệ đếm nào người ta viết cơ số làm chỉ số dưới của số đó. Ví dụ: Biểu diễn số 7, ta viết: 1112 (hệ cơ số 2), 710 (hệ cơ số 10), 716 (hệ cơ số 16) 2. Biểu diễn số trong các hệ đếm Các hệ đếm khi nghiên cứu máy tính: ▪ Hệ thập phân (decimal system): Con người sử dụng 6 3 2 1 0 -1 -2 1011.012 = 1x2 + 0x2 + 1x2 + 1x2 + 0x2 + 1x 2 = 1x 8 + 0 x 4 + 1 x 2 + 1 x 1 + 0x 0.5 + 1*0.25 =11.2510 Bài tập : 5AE.7B(16) = ? (10) b. Cơ số d sang cơ số 10 B1: Xác định giá trị vị trí của mỗi ký số B2: Nhân giá trị vị trí với ký số của cột tương ứng. B3: Cộng kết quả của các phép tính nhân trong bước 2. Ví dụ 1: 11001 =? (2) (10) 4 3 2 1 0 = 1x2 + 1x2 +0x2 + 0x2 + 1x2 =16 + 8 + 0 + 0 +1 = 25 (10) Ví dụ 2: 4706.25(8) = ?(10) = 4x83 + 7x82 + 0x81 + 6x80+ 2x8-1+ 5x8-2 = 4x256 + 7x64 + 0x8 + 6x1 + 2x 0.125 + 5*0.015625 = 2048 + 448 + 0 + 6 + 0.25 +0.078125 = 2502.328125 (10) Bài tập: 1AC(16) = ?(10) 405.42(7) = ? (10) c. Cơ số 10 sang cơ số d Chuyển phần nguyên: ▪ Lần lượt chia cho cơ số d cho đến khi thương số bằng 0. ▪ Kết quả là các dư số trong phép chia viết ra theo thứ tự ngược lại. Ví dụ: Số 12(10) = ?(2) 8 ▪ Kếtquả: 545(6) = 209(10) = 3101(4) e. Chuyển nhanh giữa các hệ cơ số 2, 8 và 16 + Chuyển hệ 2 sang hệ 8 Bước 1: Chia số nhị phân thành các nhóm, mỗi nhóm gồm ba chữ số (bắt đầu từ phải qua). Bước 2: Chuyển mỗi nhóm 3 chữ số thành 1 số hệ bát phân. Ví dụ: 101110(2) = ? (8) 2 1 0 101(2) = 1 x 2 +0 x 2 +1 x 2 = 4 + 0 + 1 = 5(10) = 5(8) 2 1 0 110(2) = 1 x 2 +1 x 2 +0 x 2 = 4 +2+0 = 6(10) = 6(8) Kết quả: 101110(2) = 56(8) + Chuyển hệ 8 sang hệ 2 Bước 1: Chuyển mỗi số hệ cơ số 8 thành 3 số hệ cơ số 2. Bước 2: Kết nối tất cả các nhóm hệ cơ số 2 (mỗi nhóm có 3 số) thành một số hệ cơ số 2 10 2AB(16) = 0010 1010 1011 2 A B Kết quả: 2AB(16) = 001010101011(2) II. CỦNG CỐ LẠI KIẾN THỨC CHO HỌC SINH BẰNG CÁC BÀI TẬP CƠ BẢN LIÊN QUAN ĐẾN NỘI DUNG KIẾN THỨC HỆ ĐẾM ĐÃ HỌC. Câu 1: Hãy chuyển đổi các số hệ thập phân sau đây ra nhị phân : 112, 21, 32, 45, 92 , 156, 231, 143, 69 Câu 2: Hãy chuyển đổi các số thập phân sau đây ra hệ thập lục phân : 41,39,58,91,146, 246, 99,88, 140,177. Câu 3: Hãy chuyển đổi các số nhị phân sau đây ra số thập phân: 0101 01100 , 0101 1110 , 0101 1100 , 0111 0111 , 0101 1110 , 0101 1001. Câu 4: Hãy chuyển đổi các số nhị phân sau đây ra số thập lục phân: 0101 01100 , 0101 1110 , 0101 1100 , 0111 0111 , 0101 1110 , 0101 1001. Câu 5 : Hãy chuyển đổi các số thập lục phân sau đây ra thập phân : AF , 20 , A5 , CF , B8 , D9 , E5 . Câu 6 : Hãy chuyển đổi các số thập lục phân sau đây ra nhị phân : AF , 20 , A5 , CF , B8 , D9 , E5 . Câu 7: Hãy chuyển đổi các số nguyên dương lẻ thập phân sau đây ra nhị phân : 112.18 , 21.25 , 32.04, 45.625, 92.40 , 156.2, 231.5 , 143.60 , 69.32 Câu 8: Hãy chuyển đổi các số nguyên dương thập phân sau đây ra hệ thập lục phân : 41.32 , 39.18 , 58.16 ,91.25 , 146.2, 246.5 , 99.4 , 88.35, 140.1 , 177.625 Câu 9: Hãy chuyển đổi các số nhị phân lẻ sau đây ra số thập phân: 0101 01100.011 , 0101 1110.0011 , 0101 1100.011 , 0111 0111.1101 , 0101 1110.0111 , 0101 1001.0011 Câu 10: Hãy chuyển đổi các số nhị phân lẻ sau đây ra số thập lục phân: 0101 01100.0111 , 0101 1110.01 , 0101 1100.11001 , 0111 0111.11 , 0101 1110.1001 , 0101 1001.111 12 0101 01110.011 , 0101 1010.0011 , 0101 1100.011 , 0101 0110.1101 , 0100 1110.0111 , 0111 1001.0011 Câu 25: Hãy chuyển đổi các số nhị phân lẻ sau đây ra số thập lục phân: 0101 0100.0111 , 0101 1100.01 , 0101 1110.11001 , 0111 0011.11 , 0100 1110.1001 , 0111 1001.111 Câu 26 : Hãy chuyển đổi các số thập lục phân lẻ sau đây ra thập phân : A1F.22 , 2E0.E , A75.2F , C0F.04 , B18.9 , D9A.E , E15.A . Câu 27 : Hãy chuyển đổi các số thập lục phân lẻ sau đây ra nhị phân : A1F.02 , 2E0.A , A25.EB , C.65 , B8.2 , D9.4F , E5.09 Câu 28: Đổi các số sau từ hệ thập phân sang hệ nhị phân: a) 218; b) 189; c) 274 d) 44,5; e) 25,25; f) 41,3125 Câu 29: Đổi các số sau từ hệ nhị phân sang hệ thập phân: a)1111 1100; b) 1110 0110 c) 1011 1011; d) 1000 1001 Câu 30: Đổi các số sau từ hệ thập phân sang hệ thập lục: a) 268; b) 129; c) 245 III. MỞ RỘNG KIẾN THỨC CHO ĐỘI TUYỂN HỌC SINH GIỎI Ở TRƯỜNG. Các em lớp trong đội tuyển học sinh giỏi của trường đã được làm quen với lập trình Pascal. Trong chuyên đề này tôi cũng sẽ hướng dẫn các em một số chương trình chuyển đổi giữa các hệ đếm Nguyên tắc của phương pháp chuyển đổi từ hệ cơ số 10 sang hệ cơ số 2 là lấy số cần chuyển đổi chia cho 2 (kết quả chỉ lấy phần nguyên), sau đó tiếp tục lấy kết quả chia 2 (và cũng chỉ lấy phần nguyên), kết quả số nhị phân thu được là tập hợp các số dư của các phép chia. 1./ Đổi hệ Thập phân sang hệ Nhị phân Program Doi_thap_phan_ra_nhi_phan; Var 14 Readln(He10); N:=He10; He8:=' '; Repeat Y:=He10 Mod 8; Str(Y, Tam); He8:=Tam + He8; He10:= He10 Div 8; Until He10 = 0; Writeln; Writeln('+So he 10 la : ',N); Writeln('+Doi sang he 8 la: ',He8); Writeln; Writeln(' Bam phim de ket thuc'); Readln End. 3./ Đổi hệ Thập phân ra hệ Thập lục phân Program Doi_thap_phan_ra_thap_luc; Var He10,N,Y:Word; He16,Tam:String; Begin Writeln('DOI SO TU HE THAP PHAN SANG HE THAP LUC PHAN'); Writeln; Write('-Nhap so nguyen he thap phan: '); Readln(He10); N:=He10; He16:=' '; Repeat Y:=He10 Mod 16; If Y < 10 Then Str(Y, Tam) Else 16 Until He10 = 0; Writeln; Writeln('+So he 10 la : ',N); Writeln('+Doi sang he: ',HeN:2,' la: ',He); Writeln; Writeln(' Bam phim de ket thuc'); Readln End. Bài toán ứng dụng: Số hexa (năm 2011-2012) Trong toán học, lâu nay Bờm chỉ biết đến số thập phân. Hôm nay, tình cờ Bờm đọc được tài liệu nói về số hexa. Số hexa là số được tạo thành bởi các chữ số (0 →9) và các chữcái (A →F). Muốn chuyển đổi một số nguyên K (K ≥ 0) từ hệ thập phân sang hệ hexa Bờm làm như sau: Bờm lấy số K chia cho 16 được thương là P, rồi lấy thương P chia cho 16. Cứ lặp lại như vậy cho đến khi nào thương bằng 0 thì dừng, sau đó viết liên tiếp phần dư từ dưới lên thì Bờm thu được số hexa: Yêu cầu: Cho dãy số nguyên ở hệ thập phân. Hãy giúp Bờm chuyển dãy số trên thành dãy số tương ứng ở hệ hexa. Dữ liệu vào: Từ file BAI1.INP gồm: - Dòng 1: Sốnguyên dương n (n ≤103). - Dòng 2n+1: Mỗi dòng chứa một sốnguyên K (0 ≤ K ≤ 109). Kết quả: Ghi ra file BAI1.OUT gồm: n dòng là n số hexa tương ứng. Chương trình chuyển từ số hệ thập phân (10) sang hệ hexa(16) uses crt; var n,i,k:longint; S:string; f2,f1:text; function chcs16(M:longint):string; Var du:longint; He16,T:String;
File đính kèm:
- sang_kien_kinh_nghiem_chuyen_de_he_dem_trong_tin_hoc.docx
- Sáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học.pdf