Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.26 MB, 100 trang )
Như vậy, các thuật toán tìm ƯCLN bằng máy tính bỏ túi có thể xuất hiện. Bằng
cách chọn loại MTCT đang được sử dụng phổ biến hiện nay, chúng tôi sẽ phân tích
các thuật toán tìm ƯCLN trong quyển sách chuyên khảo hướng dẫn sử dụng loại
máy này và hướng dẫn cách sử dụng chúng để giải các bài toán trong chương trình
phổ thông với lưu ý rằng chúng được xuất bản bởi Vụ Trung học phổ thông của Bộ
giáo dục và đào tạo. Vì thế, chúng có nhiều ảnh hưởng lên chương trình và SGK
phổ thông hiện hành.
Để thuận tiện cho việc trích dẫn, chúng tôi tạm kí hiệu các giáo trình này lần
lượt là [SH], [ĐSĐC], [TRR] và [HDMTCT].
Đầu tiên chúng ta sẽ mô hình hoá kiểu nhiệm vụ chính cần nghiên cứu là:
T : Tìm ƯCLN của hai số nguyên khác không cho trước
Chúng ta đã biết việc tìm ƯCLN của ba số nguyên trở lên được dựa trên việc
tìm ƯCLN trong các ƯCLN của mỗi cặp số trong các số đã cho. Do đó, trong
chương này, chúng tôi chỉ tập trung vào kiểu nhiệm vụ là tìm ƯCLN của hai số
nguyên khác 0 cho trước.
Chúng tôi sẽ không phân tích từng tác phẩm nhưng sẽ phân tích theo từng kĩ
thuật tìm thấy trong các tác phẩm này vì chúng có thể trùng nhau. Ngoài ra, chúng
tôi cũng cố gắng làm rõ mối liên hệ của các kĩ thuật này trên phương diện các yếu
tố lí thuyết giải thích chúng.
1. Dựa vào định nghĩa ( τ 1 )
Tên gọi ƯCLN xuất phát từ định nghĩa của nó và bản thân tên gọi này cũng
đã miêu tả chính xác bản chất của nó.
Ước chung lớn nhất của hai hay nhiều số là số lớn nhất trong tập hợp
các ước chung của các số đó.
[Sách giáo khoa Toán 6, trang 54]
Định nghĩa này được công nhận và sử dụng trong tất cả các tác phẩm mà
chúng tôi đã tham khảo. Thậm chí, trong một số tài liệu như ĐSĐC hay TRR, các
tác giả sử dụng kí hiệu ƯCLN mà không nêu ra định nghĩa, như một cách mặc
nhiên công định nghĩa này.
Kỹ thuật này có các bước làm hoàn toàn dựa trên định nghĩa. Ta có thể tóm
tắt các bước làm của kỹ thuật τ 1 như sau:
• Tìm tập hợp tất cả ước chung của hai số.
• Chọn số lớn nhất trong tập hợp các ước chung đó.
θ1 : kỹ thuật τ 1 không chỉ dựa trên định nghĩa của ƯCLN của hai hay nhiều
số mà còn dựa trên cơ sở: tập hợp các ước chung của hai hay nhiều số là tập hợp có
hữu hạn phần tử.
Điều này xuất phát từ việc mỗi số nguyên chỉ có hữu hạn ước: Nếu a là ước
của b thì ta có a ≤ b , mà tập hợp N thì không thể giảm vô hạn. Ngoài ra, tập hợp N
là tập hợp được sắp thứ tự tốt. Do đó, với hai phần tử bất kì trong tập hợp các ước
chung, ta luôn tìm được số lớn hơn. Vì thế, ta luôn tìm được số lớn nhất trong tập
hợp này.
2. Chọn trong các ước của số nhỏ ( τ 2 )
Theo như tên gọi, kỹ thuật này đặc biệt hữu dụng với các số có 1 hoặc 2 chữ
số, những số quen thuộc có thể nhẩm nhanh các ước. Do ƯCLN trước hết phải là
ước chung, tức là nó phải là ước của tất cả các số đã cho nên ta có thể chọn lấy số
nhỏ nhất trong số đó và tìm tất cả các ước của nó. Sau đó, lần lượt thử xem từng
ước đó có là ước của các số còn lại không cho đến khi thử đến ước lớn nhất của số
vừa chọn. ƯCLN là số lớn nhất thỏa trong quá trình đó. Tất nhiên, việc thử chọn
này thường đi kèm với nhận xét về tính chia hết của các số đã cho.
Ví dụ, để tìm ƯCLN(22, 33, 77), ta không cần thử ước là 2 được vì chắc
chắn 33 và 77 không chia hết cho nó. Với ví dụ này, ta có thể nhẩm ngay
ƯCLN(22, 33, 77) là 11 mà không cần tính toán nhiều.
Kỹ thuật này được dựa trên định nghĩa của ƯCLN. Bên cạnh đó, quan hệ thứ
tự toàn phần của tập hợp số tự nhiên và tính duy nhất của ƯCLN cũng là cơ sở lý
thuyết cho kỹ thuật này.
3. Phân tích ra thừa số nguyên tố ( τ 3 )
Thuật toán này dựa vào một định nghĩa khác của ƯCLN(a, b): Đó là tích của
những thừa số nguyên tố chung của a và b.
Cơ sở lý thuyết θ 3 của kỹ thuật τ 3 là định lý cơ bản của Số học:
Mọi số tự nhiên lớn hơn 1 đều phân tích được ra thừa số nguyên tố
một cách duy nhất (không kể thứ tự các thừa số).
[SH, tr 64]
Định lý này được chứng minh dựa trên 2 định lý nhỏ hơn:
“Mọi số lớn hơn 1 đều phân tích được ra thừa số nguyên tố.” và “Mọi số lớn
hơn 1 đều phân tích được ra thừa số nguyên tố một cách duy nhất.”
Việc chứng minh những định lý này cơ bản dựa vào nguyên lý quy nạp toán
học. Trong khuôn khổ của luận văn, chúng tôi sẽ không trình bày phần chứng minh
của các định lý này.
Lý thuyết cho công nghệ θ 3 là Số học.
4. Thuật toán Euclide ( τ 4 )
Được Euclide tìm ra và trình bày trong quyển Elements vào thế kỷ thứ 3
trước công nguyên, đây là thuật toán lâu đời nhất để tìm ƯCLN nhưng rất hiệu quả.
Đây gần như là giải thuật duy nhất dùng trong lập trình tin học hay máy tính cầm
tay với thời gian tính toán kết quả rất nhanh. Donald Knuth đã đưa ra nhận định sau
về thuật toán Euclide:
Thuật toán Euclide là ông tổ của mọi thuật toán vì nó là một thuật
toán phi thường và cổ xưa nhất còn tồn tại đến ngày hôm nay.
“The Euclidean algorithm is the granddaddy of all algorithms,
because it is the oldest nontrivial algorithm that has survived to the
present day.”
Donald Knuth (1981), The Art of Computer Programming, Vol.2:
Seminumerical Algorithms, ấn bản thứ 2, tr 318.
Thuật toán như sau:
Nếu b là ước của a, đặt r 0 = b. Nếu không, ta thực hiện lần lượt
các phép chia có dư số:
a = bq1 + r1
, 0 ≤ r1 ≤ b
b = r1q2 + r2
, 0 ≤ r2 ≤ r1
r1 = r2 q1 + r3
, 0 ≤ r3 ≤ r2
………………………………….
rk = rk +1qk + 2 + rk + 2
, 0 ≤ rk + 2 ≤ rk +1
………………………………….
Do b > r1 > r2 > ... > rk > ... ≥ 0 , thuật toán sẽ ngưng lại sau một số
hữu hạn bước.
Gọi rn +1 là dư số đầu tiên bằng không. Ta có:
rn − 2 = rn −1qn + rn
, 0 ≤ rn ≤ rn −1
rn −1 = rn qn +1 + 0
[…]
rn là ước số chung lớn nhất của a và b.
[TRR, tr 106]
Thuật toán này dựa trên hai mệnh đề sau:
a = bp ⇒ ƯCLN(a; b) = b
a = bp + r (r ≠ 0) ⇒ ƯCLN(a; b) = ƯCLN(b; r)
Thuật toán Euclide có thể mô tả bằng sơ đồ sau:
[SH, tr 12]
Thuật toán này được chứng minh trong tài liệu [TRR] bằng phương pháp quy
nạp toán học. Đó là công nghệ θ 4 của τ 4 . Tìm hiểu sâu hơn, τ 4 được xây dựng và
chứng minh một cách hoàn chỉnh hơn dựa trên tính chất đặc trưng của vành
Euclide: tồn tại ánh xạ δ sao cho:
δ : N* → N
r →r
Trong phần chứng minh thuật toán được trình bày trong [ĐSĐC, tr 117], r là
số dư trong phép chia của số tự nhiên a cho số tự nhiên b. Tính chất của ánh xạ này
làm cho thuật toán phải kết thúc sau một số hữu hạn bước vì dãy các số tự nhiên
không thể giảm vô hạn. Do đó, Đại số đại cương chính là lý thuyết tham chiếu của
công nghệ θ3 .
Một biến thể khác của thuật toán này là: Với hai số tự nhiên a, b, trong đó
a>b thì ta có: ƯCLN(a, b) = ƯCLN(a – b, b).
Với cách làm này, ta không phải thực hiện phép chia mà thay vào đó là phép
trừ qua lại giữa các số, cho đến khi nào ta được cặp số bằng nhau. Do đó, kĩ thuật
này đơn giản hơn do việc thực hiện phép trừ dù sao cũng dễ hơn việc thực hiện
phép chia, đặc biệt là với các đa thức. Kỹ thuật này cũng được trình bày ở trang 48
và 49 trong sách giáo khoa môn Tin học lớp 10 hiện hành.
Ví dụ: Để tìm ƯCLN của 108 và 30, ta làm như sau:
108 = 30. 3 + 18
Suy ra: ƯCLN(108; 30) = ƯCLN(30; 18)
30 = 18. 1 + 12
Suy ra: ƯCLN(108; 30) = ƯCLN(30; 18) = ƯCLN(18; 12)
18 = 12. 1 + 6
Suy ra: ƯCLN(108; 30) = ƯCLN(30; 18) = ƯCLN(18; 12) = ƯCLN(12; 6)
Mà 12 chia hết cho 6 nên 6 là ƯCLN(108; 30)
5. Dùng máy tính cầm tay ( τ 5 )
Những thuật toán ở trên có thể đều cần đến máy tính cầm tay để quá trình
tính toán nhẹ nhàng hơn nhưng ở thuật toán này, máy tính cầm tay giúp ta tìm được
ƯCLN một cách trực tiếp chứ không chỉ là một công cụ tính toán. ƯCLN của hai số
được tìm ra dựa trên chức năng đơn giản phân số của máy tính và định nghĩa của
phân số tối giản: Đó là phân số có ƯCLN của tử và mẫu là 1, hay tử và mẫu là hai
số nguyên tố cùng nhau. Để đơn giản phân số, máy tính đã được lập trình để chia tử
và mẫu cho ƯCLN của chúng. Theo đó, với mỗi phân số nhập vào, máy tính đều
đơn giản đến dạng tối giản. Ứng dụng này được lập trình thành vòng lặp dựa trên
thuật toán Euclide.
Bên cạnh đó, dựa vào định nghĩa của phân số tối giản và tính duy nhất của
dạng phân tích thành thừa số nguyên tố, khi đơn giản phân số thì tử và mẫu đơn
giản cho nhau những thừa số chung. Ta tìm được ƯCLN là tích của những thừa số
chung đó. Có thể tóm tắt kỹ thuật này như sau:
• Nhập a và b thành dạng phân số
số này, ví dụ thành
a
rồi dùng máy tính đơn giản phân
b
c
.
d
• ƯCLN(a, b) = a : c hay ƯCLN(a, b) = b : d
Việc sử dụng máy tính đã đơn giản các công đoạn tính toán của HS và cho
kết quả xuất hiện nhanh chóng. Trong [HDMTCT, tr 65] có đưa ra một ví dụ minh
họa với 2 số 209865 và 283935 thì kết quả theo các bước hướng dẫn xuất hiện chỉ
trong khoảng chưa đầy 1 phút, nhanh hơn nhiều so với việc tính tay. Từ đó, việc tìm
ƯCLN của 3 số tự nhiên trở lên có thể được thực hiện bằng cách tìm ƯCLN của
từng cặp và chọn ra số nhỏ nhất trong các ƯCLN của từng cặp đó. Quan trọng hơn,
việc sử dụng máy tính còn giúp HS tránh được bước kiểm tra một số có phải là số
nguyên tố không, vốn là bước khó nhất trong thuật toán phân tính thành thừa số
nguyên tố.
Tuy nhiên, máy tính chỉ thực hiện chính xác các phép tính trong giới hạn là
±1 ở chữ số thứ 10 nên với những trường hợp vượt quá giới hạn này, kết quả của
máy tính không còn chính xác nữa.
Ví dụ: Với yêu cầu tìm ƯCLN(987 654 321; 123 456 789), dựa vào dấu hiệu
chia hết cho 9, ta biết rằng 2 số này có ước chung là 9 nên ƯCLN của chúng sẽ lớn
hơn hay bằng 9. Tuy nhiên, khi nhập vào máy tính phân số
987654321
, máy tính
123456789
không thể xuất kết quả ở dạng phân số mà màn hình chỉ hiện ra số thập phân
8,000000073 là thương của phép chia. Như vậy, để tìm ƯCLN của 2 số này, ta phải
thực hiện thêm các bước: tìm số dư của phép chia bằng cách tính hiệu của
987654321 – 8. 123456789 = 9. Theo thuật toán Euclide, ta có:
ƯCLN(987654321; 123456789) = ƯCLN(123456789; 9) = 9
Kết quả này dễ thấy qua dấu hiệu chia hết cho 9, hoặc thực hiện phép chia
trên máy tính cũng cho thấy kết quả là số nguyên.
Dù vậy, nếu xét trong chương trình toán 6 hiện hành, rõ ràng, việc sử dụng
máy tính sẽ thuận tiện và dễ dàng hơn cho học sinh.
Do được lập trình dựa vào thuật toán Euclide nên thuật toán này cùng với kỹ
thuật τ 3 và những lập trình khác của máy tính chính là công nghệ của τ 5 và lý
thuyết của công nghệ là Đại số đại cương.
6. Kết luận chương I
Từ những kỹ thuật được nêu ở trên, chúng tôi có sơ đồ sau:
một phần công nghệ
τ 1 : Dựa vào định nghĩa
τ 2 : Chọn trong các ước của số nhỏ
τ 3 : Phân tích thành thừa số nguyên tố
τ 4 : Thuật toán Euclide
τ 5 : Dùng máy tính cầm tay
Một phần
công nghệ cho τ 5
Trong các kỹ thuật trên, τ 3 và τ 4 đóng vai trò là công nghệ cho τ 5 . Thực
chất, các kỹ thuật trên còn dựa trên định nghĩa của ƯCLN, hay ta có thể nói τ 1
chính là một phần công nghệ của tất cả các kỹ thuật.
Từ các kỹ thuật để tìm ƯCLN được nêu ở trên, chúng tôi đặt lại câu hỏi
nghiên cứu như sau:
Trong tổ chức toán học xoay quanh kiểu nhiệm vụ T – Tìm ƯCLN của các
số nguyên thì những kỹ thuật nào xuất hiện trong dạy học ở trường phổ thông?
Những kỹ thuật nào được thể chế ưu tiên hơn?
CHƯƠNG II. ƯCLN TRONG CHƯƠNG TRÌNH PHỔ
THÔNG
1. Phân tích chương trình
Đối tượng ƯCLN xuất hiện trong chương trình phổ thông ở chương trình các
lớp sau:
Vị trí của đối tượng ƯCLN
Môn
Khối
Toán
6
Toán
7
Tìm ƯCLN là một công cụ để giải quyết các kiểu nhiệm vụ khác
Toán
8
trong chương trình Toán 7 và 8.
Tin
10
ƯCLN là đối tượng nghiên cứu chính và T – tìm ƯCLN là kiểu
nhiệm vụ tương ứng.
Thuật chia Euclide để tìm ƯCLN được giới thiệu trong phần mở
đầu về thuật toán.
Do đó, trong chương này, chúng tôi sẽ phân tích sách giáo khoa môn Toán
lớp 6 để làm rõ các tổ chức toán học xoay quanh đối tượng ƯCLN vì ước chung
lớn nhất được trình bày lần đầu tiên và chủ yếu trong chương trình môn toán lớp 6.
Sang học kì hai, HS được học về các số hữu tỉ và các phép toán trên số hữu
tỉ. Trong đó, “Rút gọn phân số” là một bài học riêng ở §4 và đây được xem một
nhiệm vụ cơ bản trong mỗi bài thực hiện phép tính liên quan đến phân số. Kỹ thuật
được Sách giáo khoa giới thiệu là đơn giản tử và mẫu của phân số cho ƯCLN của
chúng. Rút gọn phân số cũng là yêu cầu trọng tâm trong kì thi giữa học kì hai.
Lên đến lớp 7, tập hợp số hữu tỉ và các phép toán trên số hữu tỉ được nhắc lại
một lần nữa ở những bài đầu tiên. Trong đó, sách giáo khoa không hề nhắc lại cách
rút gọn phân số, xem như HS đã biết.
Bên cạnh đó, chương trình Toán 8 cũng sử dụng ƯCLN như một công cụ để
giúp đặt thừa số chung trong kiểu nhiệm vụ phân tích đa thức thành nhân tử. Dù
không được nêu ra thành một kỹ thuật chính thức trong sách giáo khoa nhưng để rút
được thừa số chung của các đơn thức trong đa thức, HS phải vận dụng ƯCLN. Vì
thế, chúng tôi cũng sẽ nghiên cứu sách giáo khoa Toán lớp 7 và 8.
Ngoài ra, dùng ƯCLN để đơn giản phân số cũng là một trong những thuật
toán cơ bản trong lập trình. HS làm quen với lập trình ở môn Tin học lớp 10. Trong
đó, đơn giản phân số được giới thiệu như là một ví dụ điển hình về lập trình dựa
trên thuật toán. Để làm rõ vị trí và vai trò của kiểu nhiệm vụ tìm ƯCLN trong môn
Tin học, chúng tôi sẽ tham khảo thêm sách giáo khoa ở lớp 10 của môn này.
2. Phân tích sách giáo khoa
Trong phần này, chủ yếu chúng tôi sẽ phân tích sách giáo khoa Toán lớp 6 vì
ở cấp lớp này, HS làm quen với bài toán tìm ƯCLN lần đầu tiên. Bên cạnh đó, để
có cái nhìn tổng thể về vai trò, vị trí của bài toán tìm ƯCLN của hai số nguyên
trong chương trình môn Toán ở bậc trung học cơ sở (THCS), chúng tôi tham khảo
sách Hướng dẫn thực hiện chuẩn kiến thức và kỹ năng môn Toán Trung học cơ sở
song song với việc tham khảo sách giáo khoa môn toán lớp 7, 8.
Ngoài ra, do bài toán tìm ƯCLN cũng là một vấn đề cơ bản khi viết thuật
toán nên nó cũng xuất hiện trong chương trình môn tin học ở lớp 10. Do đó, chúng
tôi cũng sẽ phân tích sách giáo khoa này.
Để tiện trích dẫn và tránh rườm rà khi cần dẫn chứng, chúng tôi tạm viết tắt
các giáo trình trên lần lượt thành SGK 6.1, SBT 6.1, SGK 6.2, SBT 6.2, SGV 6.1,
SGV 6.2, SGK 7.1, SGV 7.1, SGK 7.2, SGV 7.2, SGK 8.1, SGV 8.1, SGK Tin 10.
2.1.
Phần bài học
Để việc nghiên cứu được toàn diện và mang tính hệ thống, ngoài việc phân
tích tiết 17 – Ước chung lớn nhất, chúng tôi cũng sẽ phân tích các kiến thức ở
những tiết trước đó làm nền tảng cho bài học này.
2.1.1. SGK 6
2.1.1.1.
Kiến thức chuẩn bị
Trước khi đến với bài học về ƯCLN ở tiết 17, HS được làm quen với một số
kiến thức chuẩn bị, lần lượt ở các tiết: