SKKN Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình

SKKN Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình

Trong thực tiễn dữ liệu của máy tính đều phải sử dụng đến một hệ đếm nào đó, một số bài toán lập trình của Tin học lớp 11 cũng có liên quan đến hệ đếm. Qua quá trình tham gia giảng dạy Tin học khối 10, để HS hiểu sâu hơn về bản chất của quá trình mã hóa dữ liệu trong máy tính và cũng là tiền đề cho việc lập trình các bài toán liên quan đến các hệ đếm. Tôi nhận thấy việc chuyển đổi giữa các hệ đếm trong Tin học thường gặp rất nhiều trong các bài toán lớp 10, vận dụng linh hoạt vào các bài toán lớp 11 và trong các đề thi HSG tỉnh cũng không phải là dễ. Việc học sinh tìm hiểu về tất cả các hệ đếm nói chung và cách chuyển đổi giữa các hệ đếm nói riêng còn khá nhiều lúng túng bởi thời gian học phần này của lớp 10 chỉ có 1 tiết mà còn nhiều vấn đề khác nữa nên các em nắm kiến thức chưa vững và chưa sâu. Đặc biệt là những yêu cầu của các bài toán lập trình lớp 11 và đề thi HSG cấp tỉnh liên quan đến cách chuyển đổi giữa các hệ đếm học sinh thường không biết bắt đầu từ đâu để giải quyết vấn đề mà bài toán đưa ra. Hơn nữa các em lớp 11 hầu như quên kiến thức cũ của lớp 10 dẫn đến kỹ năng khi làm việc với các hệ đếm của học sinh thường không đáp ứng được yêu cầu đề ra.

1.2. Mục đích nghiên cứu

Với mong muốn phần nào giúp học sinh trong việc chuyển đổi các hệ đếm một cách dễ dàng, tìm ra lời giải cho một số bài toán liên quan tới hệ đếm dễ dàng hơn, nhất là giúp cho các em học sinh có thể yêu thích nhiều hơn nữa môn Tin học, tôi xin giới thiệu chuyên đề “Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình” mà tôi đã áp dụng có hiệu quả trong quá trình giảng dạy. Chuyên đề được trình bày dựa trên kinh nghiệm giảng dạy của bản thân và tham khảo một số tài liệu liên quan.

 

doc 14 trang thuychi01 11451
Bạn đang xem tài liệu "SKKN Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
1. Mở đầu	2
1.1. Lí do chọn đề tài	2
1.2. Mục đích nghiên cứu	2
1.3. Đối tượng nghiên cứu	2
1.4. Phương pháp nghiên cứu	2
1.5. Những điểm mới của SKKN	2	
	2. Nội dung sáng kiến kinh nghiệm	3
2.1. Cơ sở lí luận của sáng kiến kinh nghiệm	3	
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm	3
2.3. Các sáng kiến kinh nghiệm đã sử dụng để giải quyết vấn đề	3
2.4. Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, 
với bản thân, đồng nghiệp và nhà trường	12
3. Kết luận, kiến nghị	13
3.1. Kết luận	13
3.2. Kiến nghị	13
TÀI LIỆU THAM KHẢO	14
1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Trong thực tiễn dữ liệu của máy tính đều phải sử dụng đến một hệ đếm nào đó, một số bài toán lập trình của Tin học lớp 11 cũng có liên quan đến hệ đếm. Qua quá trình tham gia giảng dạy Tin học khối 10, để HS hiểu sâu hơn về bản chất của quá trình mã hóa dữ liệu trong máy tính và cũng là tiền đề cho việc lập trình các bài toán liên quan đến các hệ đếm. Tôi nhận thấy việc chuyển đổi giữa các hệ đếm trong Tin học thường gặp rất nhiều trong các bài toán lớp 10, vận dụng linh hoạt vào các bài toán lớp 11 và trong các đề thi HSG tỉnh cũng không phải là dễ. Việc học sinh tìm hiểu về tất cả các hệ đếm nói chung và cách chuyển đổi giữa các hệ đếm nói riêng còn khá nhiều lúng túng bởi thời gian học phần này của lớp 10 chỉ có 1 tiết mà còn nhiều vấn đề khác nữa nên các em nắm kiến thức chưa vững và chưa sâu. Đặc biệt là những yêu cầu của các bài toán lập trình lớp 11 và đề thi HSG cấp tỉnh liên quan đến cách chuyển đổi giữa các hệ đếm học sinh thường không biết bắt đầu từ đâu để giải quyết vấn đề mà bài toán đưa ra. Hơn nữa các em lớp 11 hầu như quên kiến thức cũ của lớp 10 dẫn đến kỹ năng khi làm việc với các hệ đếm của học sinh thường không đáp ứng được yêu cầu đề ra.
1.2. Mục đích nghiên cứu
Với mong muốn phần nào giúp học sinh trong việc chuyển đổi các hệ đếm một cách dễ dàng, tìm ra lời giải cho một số bài toán liên quan tới hệ đếm dễ dàng hơn, nhất là giúp cho các em học sinh có thể yêu thích nhiều hơn nữa môn Tin học, tôi xin giới thiệu chuyên đề “Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình” mà tôi đã áp dụng có hiệu quả trong quá trình giảng dạy. Chuyên đề được trình bày dựa trên kinh nghiệm giảng dạy của bản thân và tham khảo một số tài liệu liên quan.
1.3. Đối tượng nghiên cứu
- Đối tượng khảo sát:	Học sinh khối 11 của lớp: 11A2, 11A3, 11A6 và học sinh đội tuyển tỉnh.
1.4. Phương pháp nghiên cứu
- Hình thành được kỹ năng tính toán, chuyển đổi giữa các hệ đếm trong Tin học giải các bài tập cho học sinh và có được một hệ thống kiến thức với các bài tập về các hệ đếm. Phạm vi thực hiện trên các hệ đếm của Tin học.
1.5. Những điểm mới của đề tài
- Học sinh sau khi được giới thiệu một cách hệ thống các dạng bài tập về cách chuyển đổi giữa các hệ đếm và quy trình giải quyết từng dạng đã có thể nhận biết yêu cầu của bài toán và cách thức giải quyết chúng một cách hiệu quả.
- Hình thành ở HS kỹ năng phân tích, xử lý các vấn đề liên quan đến bài tập về hệ đếm, sử dụng thành thạo vòng lặp biết trước, thủ tục chuẩn vào/ra đơn giản, bước đầu làm quen với 1 số chương trình con dạng thủ tục tạo điều kiện thuận lợi cho việc tiếp thu kiến thức về cách viết chương trình và bồi dưỡng HS giỏi tỉnh..
2. NỘI DUNG
2.1. CƠ SỞ LÍ LUẬN
Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vực hoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn. Việc sử dụng máy tính không còn chỉ bó hẹp trong viện nghiên cứu, các trường đại học, các trung tâm máy tính mà còn mở rộng ra mọi cơ quan, tổ chức kinh tế... và trong các gia đình. Song song với quá trình trên, việc giảng dạy Tin học trong các trường THPT cũng được đẩy mạnh đi đôi với việc tăng cường trang bị máy vi tính. Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đã đưa môn học này vào trường phổ thông như những môn học khác bắt đầu từ năm học 2006-2007.
Trong bối cảnh toàn ngành GD-ĐT đang nỗ lực đổi mới phương pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh trong hoạt động học tập. Điều 24.2 của Luật giáo dục đã nêu rõ: “Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh ”. Như vậy, chúng ta có thể thấy định hướng đổi mới phương pháp dạy học đã được khẳng định, không còn là vấn đề tranh luận. Cốt lõi của việc đổi mới phương pháp dạy học ở trường phổ thông là giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động. Với một số nội dung trong đề tài này, HS có thể tự học, tự rèn luyện thông qua một số bài tập, dạng bài tập cụ thể.
2.2. Thực trạng của vấn đề trước khi áp dụng sáng kiến kinh nghiệm
 - Qua thực tế giảng dạy ở trường THPT Hậu Lộc 4 nhiều năm, tôi nhận thấy khi học đến chương trình Tin học lớp 11 đa số học sinh đều cho rằng đây là môn học khó nhất trong các môn học. Nhiều em còn sợ môn học này và còn khá nhiều bỡ ngỡ khi tiếp cận với lập trình có cấu trúc, cũng như quên cách chuyển đổi giữa các hệ đếm trong Tin học ở lớp 10. Chính vì vậy, học sinh thường gặp nhiều khó khăn khi thực hiện viết chương trình pascal ở lớp 11. Từ đó dẫn đến các em không biết xử lí thế nào và bắt đầu từ đâu khi gặp các bài toán phức tạp liên quan đến chuyển đổi các hệ đếm trong Tin học. Đặc biệt hơn nữa là những lớp 11 học ban cơ bản và ban xã hội của trường THPT Hậu Lộc 4 chúng tôi – một trường thuộc khu vực bãi ngang ven biển học sinh không được chịu khó lắm khi gặp các bộ môn khó và cần tư duy logic nhiều như môn Tin học lớp 11 của Bộ GD – ĐT.
2.3. Các sáng kiến kinh nghiệm đã sử dụng để giải quyết vấn đề
- Với cách chuyển đổi các hệ đếm ở bài tập pascal lớp 11 giáo viên có thể tạo sự hứng thú cho học sinh bằng các bài tập cụ thể của cách chuyển đổi các hệ đếm ở lớp 10. Qua đó các em có thể giải các các bài toán trong thực tế, bước đầu viết được một số chương trình về chuyển đổi các hệ đếm.
- Do đặc trưng của bộ môn nên học sinh muốn học được tốt môn Tin học cần có được tư duy khái quát xác định được hết các khả năng của một vấn đề.
- Phát triển nhân cách học sinh khi tham gia làm các bài tập về cách chuyển đổi các hệ đếm có thể rèn luyện tính tích cực chủ động sáng tạo trang việc chọn hướng giải quyết một vấn đề cụ thể thông qua việc liệt kê các khả năng của nó.
Cụ thể tôi xin đưa ra một số vấn đề mà giáo viên cần truyền đạt kỹ cho học sinh lớp 11 để các em xâu chuỗi vấn đề một cách tốt nhất, hỗ trợ cho việc viết chương trình được hoàn thiện hơn như sau:
I. Một số vấn đề về hệ đếm.
Khái niệm hệ đếm 
- Khái niệm: Hệ đếm được hiểu như là một tập các kí hiệu và quy tắc sử dụng tập kí hiệu đó.
- Trong các hệ đếm:
 + Có hệ đếm mà giá trị các số phụ thuộc vào vị trí đứng, như hệ đếm thập phân. 
Ví dụ: 255 gồm 2 trăm, 5 chục, 5 đơn vị
+ Có hệ đếm mà giá trị các số không phụ thuộc vào vị trí đứng, như hệ đếm La Mã. 
Ví dụ: IV hay VI thì I là 1, V là 5 dù đứng ở vị trí nào. 
2. Khái niệm về các hệ đếm trong Tin học: 
- Hệ đếm thập phân (cơ số 10): Là hệ đếm gồm 10 chữ số 0, 1, 2, 3, 4, 5, 6,7,8,9
- Hệ đếm nhị phân (cơ số 2): Là hệ đếm gồm 2 chữ số 0 và 1
- Hệ đếm bát phân (cơ số 8): Là hệ đếm gồm 8 chữ số 0, 1, 2, 3, 4, 5, 6, 7
- Hệ đếm Hexa (cơ số 16): Là hệ đếm gồm 10 chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 và 6 chữ cái A, B, C, D, E, F tương ứng với 6 số 10, 11, 12, 13, 14, 15
Chuyển đổi giữa các hệ đếm trong Tin học
* Xây dựng công thức tổng quát cho việc chuyển đổi giữa các hệ đếm:
Trong hệ đếm thập phân ta có: 234=2*102 + 3*101 + 4*100
Vậy số N= dndn-1dn-2d2d1d0,d-1d-2d-3 dm-1dm trong hệ đếm cơ số b được biểu diễn như sau:
 N = dn.bn + dn-1.bn-1 + dn-2.bn-2 ++ d-1.b-1 + d0.b0 + d-1.b-1 +d-2.b-2 + 
+ dm-1.bm-1 +dm.bm
1. Chuyển đổi biểu diễn số ở hệ thập phân sang hệ đếm cơ số khác:
Để chuyển đổi biểu diễn một số ở hệ thập phân sang hệ đếm cơ số khác, trước hết ta tách phần nguyên và phần phân rồi tiến hành chuyển đổi từng phần, sau đó ghép lại để có kết quả cần tìm.
a. Chuyển đổi biểu diễn phần nguyên 
	Cho N là số tự nhiên và b là cơ số của hệ đếm. Giả sử giá trị của N được tính theo công thức: N = dnbn + dn-1bn-1 + + d0 	(1)
Vì 0 £ d0 < b nên khi chia N cho b thì phần dư của phép chia đó là d0 còn thương số N1 sẽ là:
	N1 = dnbn-1 + dn-1bn-2 + + d1	(2)
Tương tự d1 chính là phần dư của phép chia N1 cho b. Gọi N2 là thương của phép chia đó. Quá trình chia như vậy được thực hiện liên tiếp và ta sẽ lần lượt nhận được giá trị các di . Quá trình này sẽ dừng lại khi nhận được thương số bằng 0. Để có biểu diễn cần tìm, các phần dư thu được cần sắp xếp theo thứ tự là dnd0 
Ví dụ: 7510 = ?2 = ?16 = ?8
Sau khi thực hiện theo cách trên ta có: 
7510 = 10010112 
7510 = 4B16 và 7510 = 1138 
b. Chuyển đổi biểu diễn phần phân:
Cho N’ là phần phân( phần sau dấu phẩy) của một số và b là cơ số của hệ đếm. Giả sử N’ được tính theo công thức:
 N’ = d-1b-1 + d-2b-2 + + d-mb-m 	(1’)
Nhân hai vế của (1’) với b ta được:
N’1 = d-1 + d-2b-1 + + d-mb-(m-1) 	 
Ta nhận thấy d-1 chính là phần nguyên của kết quả phép nhân, còn phần phân của kết quả là: 
N’2 = d-2b-1 + + d-mb-(m-1) 	(2’)
Lặp lại phép nhân như trên đối với (2’), ta thu được d-2 là phần nguyên. Thực hiện liên tiếp phép nhân theo cách trên, cuối cùng ta thu được dãy d-1d-2 d-3 trong đó 0 £ d-i < b
Ví dụ: 0,6787510 = ?2 
Thực hiện phép nhân theo cách trên, ta có kết quả: 
	0,6787510 = 0,1010110112 
Cũng thực hiện như trên ta có : 0,843510 = 0,D7EF16
2. Chuyển đổi biểu diễn số giữa hệ nhị phân và hệ hexa:
Hệ nhị phân và hệ Hexa là hai hệ đếm thường dùng trong Tin học. Vì 16 là lũy thừa của 2(16=24) nên việc chuyển đổi biểu diễn số giữa hai hệ đếm đó được thực hiện dễ dàng. Để chuyển đổi biểu diễn số từ hệ nhị phân sang hệ đếm hexa ta áp dụng quy tắc sau:
Gộp các chữ số nhị phân thành từng nhóm bốn chữ số về hai phía kể từ vị trí phân cách phần nguyên và phần phân (các chữ số thiếu nếu có được thay thế bằng chữ số 0) 
Thay mỗi nhóm bốn chữ số nhị phân bởi một kí hiệu tương ứng ở hệ hexa.
Ví dụ: 1011100101,112 = ?16 
Gộp thành từng nhóm bốn chữ số nhị phân: 0010 1110 0101,11002
 Thay mỗi nhóm bốn chữ số nhị phân bởi một kí hiệu ở hệ hexa tương ứng: 2, E, 5, C
Từ đó ta có: 1011100101,112 = 2E5,C16
Để chuyển đổi biểu diễn số ở hệ hexa sang hệ đếm nhị phân ta chỉ cần thay từng kí hiệu ở hệ hexa bằng nhóm bốn chữ số tương ứng ở hệ nhị phân
Ví dụ: 3,D7EF16 = 0011,1101 0111 1110 11112
3. Chuyển từ hệ đếm cơ số 2 sang hệ đếm 10:
Theo công thức tổng quát đã xây dựng
 N = dn.bn + dn-1.bn-1 + dn-2.bn-2 ++ d-1.b-1 + d0.b0 + d-1.b-1 +d-2.b-2 + 
+ dm-1.bm-1 +dm.bm
 Với b = 2. Ta có ví dụ: 
11001011,112 = 1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 1*2-2
= 128 + 64 + 0 + 0 + 8 + 0 + 2 + 1 + 0,2 + 0,02
= 203,2210
4. Chuyển từ hệ đếm cơ số 8 sang hệ đếm 10 
Theo công thức tổng quát đã xây dựng
 N = dn.bn + dn-1.bn-1 + dn-2.bn-2 ++ d-1.b-1 + d0.b0 + d-1.b-1 +d-2.b-2 + 
+ dm-1.bm-1 +dm.bm
 Với b = 8. Ta có ví dụ: 
471,358 = 4*82 + 7*81 + 1*80 + 3*8-1 + 5*8-2 
= 256 + 56 + 1 + 2,4 + 0,4
= 315,810
5. Chuyển từ hệ đếm cơ số 16 sang hệ đếm 10 
Theo công thức tổng quát đã xây dựng
 N = dn.bn + dn-1.bn-1 + dn-2.bn-2 ++ d-1.b-1 + d0.b0 + d-1.b-1 +d-2.b-2 + 
+ dm-1.bm-1 +dm.bm
 Với b = 16. Ta có ví dụ: 
A4F,B3716 = 10*162 + 4*161 + 15*160 + 11*16-1 + 3*16-2 + 7*16-3
= 2560 + 64 + 15 + 17,6 + 0,48 + 0,112
= 2667,19210
III. CÁC DẠNG BÀI TẬP THƯỜNG GẶP
Dạng 1: Một số bài tập củng cố kiến thức, tạo hứng thú cho HS 
Bài 1: Chuyển đổi các số sau sang hệ đếm 10 
001010102	
2F516
1678
Trả lời:
a. 001010102 = 0*27 + 0*26 + 1*25 + 0*24 + 1*23 + 0*22 + 1*21 + 0*20
= 4210
 b. 2F516 = 2*162 + 15*161 + 5*160 
 = 75710 
c. 1678 = 1* 82 + 6*81 + 7*80 
	= 11910
Bài 2: Chuyển đổi các số sau sang hệ đếm 2 
4210
B4D,C16
178 
Trả lời: 
42 : 2 = 21 dư 0
21 : 2 = 10 dư 1
10 : 2 = 5 dư 0
5 : 2 = 2 dư 1
2 : 2 = 1 dư 0
1 : 2 = 0 dư 1
Vậy 4210 = 001010102
B4D,C16 = 1011 0100 1101, 11002
17 : 2 = 8 dư 1
8 : 2 = 4 dư 0
4 : 2 = 2 dư 0
2 : 2 = 1 dư 0
1 : 2 = 0 dư 1
Vậy 178 = 100012
Bài 3: Chuyển đổi các số sau sang hệ đếm 16 
0111, 1110 1111 00112
75710 
Trả lời:
0111, 1100 1111 00112 = 7, CF316
757 : 16 = 47 dư 5
47 : 16 = 2 dư 15
2 : 16 = 0 dư 2
Vậy 75710 = 2F516 
Dạng 2: Ứng dụng cách chuyển đổi giữa các hệ đếm vào giải các bài toán lập trình lớp 11:
Bài 1. Số hexa
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ệuvào: Từfilehecoso10.intgồm:
-Dòng1:Sốnguyêndươngn(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 hecoso16.out gồm: n dòng là n số hexa tương ứng.
CHƯƠNG TRÌNH
uses crt;
var n,i,k:longint;
S:string;
f2,f1:text;
 function chcs16(M:longint):string;
 Var du:longint; He16,T:String;
 Begin
He16:=' ';
Repeat
du:=M Mod 16;
If du < 10 Then Str(du, T)
Else
 T:=Chr(du+55);
He16:=T + He16;
M:= M Div 16;
Until M = 0;
chcs16:=he16;
 End;
BEGIN
assign(f1,'hecoso10.int'); reset(f1);
readln(f1,n);
assign(f2,'hecoso16.out'); rewrite(f2);
for i:=1 to n do
begin
readln(f1,k);
writeln(f2,chcs16(k));
end;
close(f2); close(f1); END.
Bài 2: Từ hệ cơ số 10 sang hệ cơ số 2. 
CHƯƠNG TRÌNH
program chuyen_cs_10_2;
uses crt;
var i,j,m,N:integer;
S:string;
F1,f2:text;
function nhiphan(n:longint):string;
var s,so,du:integer;
St,St1:string;
begin
s:=0;so:=n; St:='';St1:='';
while (so >0) do
begin
du:=so mod 2;
so:=so div 2;
if du=1 then St:=St+'1' else St:=St+'0';
end;
for i:=length(St) downto 1 do St1:=St1+St[i];
nhiphan:=St1;
end;
BEGIN
assign(f1,'hecoso10.inp'); reset(f1);
assign(f2,'hecoso2.out'); rewrite(f2);
readln(f1,N);
for j:=1 to N do
 begin
readln(f1,m);
S:=nhiphan(m);
writeln(f2,S);
 end;
close(f1);close(f2);
END.
Bài 3: Chuyển từ hệ cơ số 2 sang hệ cơ số 10.
CHƯƠNG TRÌNH
uses crt;
var x,i,j,a,n:longint;
m:array[1..100000] of longint;
S:string;
f1,f2:text;
function luythua(n,x:longint):longint;
var m,i:longint;
begin
m:=1;
for i:=1 to n do m:=m*x;
luythua:=m;
end;
BEGIN
assign(f1,'hecoso2.int'); reset(f1);
assign(f2,'hecoso10.out'); rewrite(f2);
readln(f1,n);
for i:=1 to n do
 begin
readln(f1,S);
n:=0;a:=length(S);
for j:=1 to length(S) do
begin
if (S[j]='1') or (S[j]='0') then val(S[j],m[j]);
n:=n+luythua(a-1,2)*m[j];
dec(a);
end;
writeln(f2,n);
 end;
close(f1);close(f2);
END.
Câu 4: Hệ cơ số 16 sang 10
CHƯƠNG TRÌNH
uses crt;
var x,i,a,n:longint;
S:string;
f1,f2:text;
FUNCTION luythua(n,x:longint):longint;
var m,i:longint;
begin
m:=1;
for i:=1 to n do m:=m*x;
luythua:=m;
end;
FUNCTION he10(S:string):longint;
var n,i,m,a:longint;
k:array[1..1000] of longint;
 begin
n:=0;a:=length(S); i:=1;
for i:=1 to length(S) do
begin
 if S[i] in ['0'..'9'] then val(S[i],k[i])
 else
begin
if S[i]= 'A' then k[i]:=10;
if S[i]= 'B' then k[i]:=11;
if S[i]= 'C' then k[i]:=12;
if S[i]= 'D' then k[i]:=13;
if S[i]= 'E' then k[i]:=14;
if S[i]= 'F' then k[i]:=15;
end;
n:=n+luythua(a-1,16)*k[i];
dec(a);
end;
he10:=n;
 end;
BEGIN
assign(f1,'hecoso16.inp'); reset(f1);
assign(f2,'hecoso10.out'); rewrite(f2);
readln(f1,n);
for i:=1 to n do
 begin
readln(f1,S);
writeln(f2,he10(S));
 end;
close(f1);close(f2);
END.
2.4. Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, đồng nghiệp và nhà trường.
 - Bảng số liệu kết quả đạt được của học sinh lớp 11 năm học 2017-2018 khi chưa thực hiện đề tài:
STT
Lớp 
Sĩ số
Đạt yêu cầu
Không đạt yêu cầu
1
11A1
42
73%
27%
2
11A2
43
65%
35%
- Bảng số liệu kết quả đạt được của học sinh lớp 11 năm học 2018-2019 sau khi thực hiện đề tài:
STT
Lớp 
Sĩ số
Đạt yêu cầu
Không đạt yêu cầu
1
11A6
43
90%
10%
2
11A9
44
88%
12%
3
11A10
42
91%
9%
Trong quá trình trao đổi, thảo luận, trình bày, các em HS thể hiện được khả năng vận dụng, hiểu biết của mình nên các em tỏ ra hăng hái trong việc giơ tay phát biểu tranh luận. Đồng thời tiết học trở nên sinh động hơn và GV không đóng vai trò là người xây dựng lý luận mà học sinh là người chủ động để giải quyết các vấn đề. 
Đối với bản thân tôi sau thời gian nghiên cứu đề tài đã giúp tôi có những tiết giảng bài thực sự hưng phấn và rút được nhiều kinh nghiệm trong quá trình giảng dạy để đạt kết quả tốt nhất. Không những đối với tôi mà đồng nghiệp trong nhà trường cũng có thêm kinh nghiệm sau khi tham khảo đề tài của tôi, bước đầu đã có những vận dụng vào giảng dạy. Nhà trường có thêm những học sinh giỏi toàn diện và giáo viên tâm huyết với nghề.
3. KẾT LUẬN
3.1. Kết luận 
Ngôn ngữ lập trình nói chung đóng vai trò rất quan trọng trong việc xây dựng các chương trình ứng dụng để phục vụ cho cuộc sống. Nhờ sự phát triển của tin học trong đó các nhà lập trình chuyên nghiệp đóng vai trò không nhỏ mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải quyết công viêc nhanh, hiệu quả và chính xác hơn.
Hiện nay, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới sử dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy các thầy cô có thể đưa ra các vấn đề như lập trình các game nhỏđể các em có thể chứng tỏ được khả năng của mình làm cho HS yêu thích môn học, ham học hỏi và tìm tòi sáng tạo.
Đề tài này mang tính thực tiễn rất cao, cụ thể là: trong tiết học các em học sinh đã chủ động tìm tòi lại kiến thức đã học qua đó giải quyết được vấn đề do giáo viên đặt ra. Trong quá trình giải quyết vấn đề, giáo viên chỉ ra những lỗi mà các em học sinh mắc phải, giúp cho các em hiểu rõ và vận dụng tốt hơn các kiến thức đã học vào giải các bài toán do giáo viên đặt ra. 
Trên đây là toàn bộ kinh nghiệm của tôi qua nhiều năm liền dạy Tin học ở khối 10 và 11 cũng như tham khảo qua nhiều nguồn thông tin, tư liệu khác nhau, rất mong được sự đóng góp của các đồng nghiệp nhằm giúp đề tài của tôi được hoàn thiện thêm.
Tôi xin chân thành cảm ơn!
3.2. Kiến nghị
 	Sau khi thực hiện đề tài SKKN “Áp dụng cách chuyển đổi giữa các hệ đếm trong Tin học lớp 10 để vận dụng khi lập trình” tôi có một số ý kiến như sau:
 - Tăng cường cơ sở vật chất cho phòng thực hành: bổ sung máy tính, máy chiếu.
 - Bổ sung thêm phòng thực hành.
 - Thêm một số tiết bài tập và thực hành cho Tin học lớp 11.
 TÀI LIỆU THAM KHẢO
Sách giáo khoa tin học 10	Hồ Sĩ Đàm chủ biên 
Sách giáo viên tin học 10	Hồ Sĩ Đàm chủ biên 
Sách giáo khoa tin học 11	Hồ Sĩ Đàm chủ biên 
Sách giáo viên tin học 11	Hồ Sĩ Đàm chủ biên 
Lý thuyết và Bài tập lập trình Pascal 5.5-6.0	Nguyễn Thị Kiều Duyên 
Ngôn ngữ lập trình Pascal 7	 Quách Tuấn Ngọc
Turbo Pascal 7.0 PGS-TS Bùi Thế Tâm – Võ Văn Tuấn Dũng.
Giải một bài toán trên máy tính như thế nào	GS-TS Hoàng Kiếm
101 thuật toán và chương trình 	 Lê Văn Dũng – Trần khắc Tuấn (NXB Khoa Học Và Kĩ Thuật)
 Một số sáng kiến kinh nghiệm và ý kiến của đồng nghiệp.
 Một số bài tập tham khảo trên Internet.
--------------------------------------

Tài liệu đính kèm:

  • docskkn_ap_dung_cach_chuyen_doi_giua_cac_he_dem_trong_tin_hoc_l.doc