Sáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học

docx 26 trang sk10 18/12/2024 60
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

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:

  • docxsang_kien_kinh_nghiem_chuyen_de_he_dem_trong_tin_hoc.docx
  • pdfSáng kiến kinh nghiệm Chuyên đề hệ đếm trong Tin học.pdf