Mở đầu
1. Lý do chọn đề tài
1.1. Để phục vụ cho sự nghiệp công nghiệp hóa - hiện đại hóa đất
nước và bắt kịp sự phát triển của xã hội trong điều kiện bùng nổ thông tin,
ngành giáo dục và đào tạo phải đổi mới phương pháp dạy học một cách
mạnh mẽ nhằm đào tạo những con người có đầy đủ phẩm chất của người lao
động trong nền sản xuất tự động hóa như: năng động, sáng tạo, tự chủ, kỷ
luật nghiêm, có tính tổ chức, tính trật tự của các hành động và có ý thức suy
nghĩ tìm giải pháp tối ưu khi giải quyết công việc.
Những định hướng đổi mới phương pháp dạy học đã được thể hiện
trong các Nghị quyết hội nghị như: Nghị quyết hội nghị lần thứ IV BCH
trung ương Đảng Cộng sản Việt Nam (khóa IV, 1993) nêu rõ: Mục tiêu giáo
dục đào tạo phải hướng vào việc đào tạo những con người lao động tự chủ,
sáng tạo, có năng lực giải quyết những vấn đề thường gặp, qua đó mà góp
phần tích cực thể hiện mục tiêu lớn của đất nước.
Về phương pháp giáo dục đào tạo, Nghị quyết Hội nghị lần thứ II
BCH TW Đảng cộng sản Việt Nam (khóa VIII, 1997) đã đề ra:"Phải đổi mới
phương pháp đào tạo, khắc phục lối truyền đạt một chiều, rèn luyện thành
nếp tư duy sáng tạo của người học. Từng bước áp dụng những phương pháp
tiên tiến và phương tiện hiện đại vào quá trình dạy học, đảm bảo điều kiện và
thời gian tự học, tự nghiên cứu".
Điều 24, luật giáo dục (1998) quy định:" 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, tư duy sáng tạo của học
sinh, , 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".
1
Muốn đạt được điều đó, một trong những việc cần thiết phải thực hiện
trong quá trình dạy học là phát triển tư duy thuật giải cho học sinh.
1.2. Hiện nay ở trường phổ thông đã tiến hành giáo dục tin học. Tin
học được dạy tường minh như một nội dung và sử dụng máy tính điện tử như
công cụ dạy học. Do đó vấn đề phát triển phát triển tư duy thuật giải trong
môn toán giữ một vị trí quan trọng trong giáo dục tin học. Khẳng định này
được thể hiện rõ trong mục đích giáo dục tin học: "Làm cho tất cả mọi học
sinh tốt nghiệp trung học đều nắm được những yếu tố cơ bản của tin học với
tư cách là thành tố của văn hóa phổ thông". "Góp phần hình thành ở học sinh
những loại hình tư duy liên hệ mật thiết với việc sử dụng công nghệ thông
tin như tư duy thuật giải, tư duy điều khiển, ", "Góp phần hình thành ở học
sinh những phẩm chất của người lao động trong nền sản xuất tự động hóa
như: tính kỷ luật, tính kế hoạh hóa, tính phê phán và thói quen tự kiểm tra, ".
1.3. Phát triển tư duy thuật giải là mục đích của việc dạy học toán ở
trường phổ thông vì:
* Tư duy thuật giải tạo điều kiện tốt để học sinh tiếp thu kiến thức, rèn
luyện các kỹ năng Toán học.
* Tư duy thuật giải phát triển sẽ thúc đẩy sự phát triển các thao tác trí
tuệ (như: phân tích, tổng hợp, so sánh, trừu tượng hóa, khái quát hóa, ) cũng
như những phẩm chất trí tuệ (như : tính linh hoạt, tính độc lập, tính sáng
tạo).
* Tư duy thuật giải giúp học sinh hình dung được quá trình tự động
hóa diễn ra trong những lĩnh vực khác nhau của con người, trong đó có lĩnh
vực xử lý thông tin. Điều này làm cho học sinh thích nghi với xã hội tự động
hóa, góp phần làm giảm ngăn cách giữa nhà trường và xã hội.
1.4. Phát triển tư duy thuật toán trong môn toán có ý nghĩa về nhiều
mặt và môn toán chứa đựng khả năng to lớn về phát triển tư duy thuật giải,
thế nhưng, tư duy thuật giải chưa được chú ý phát triển đúng mức ở nhà
2
trường phổ thông. Đã có một số công trình nghiên cứu về vấn đề này, trong
số các công trình đó có thể kể tới luận án phó tiến sỹ của Dương Vương
Minh: "Phát triển tư duy thuật giải của học sinh trong khi dạy học các hệ
thống số ở trường phổ thông" (1998). Luận án này đã xem xét việc phát triển
tư duy thuật giải cho học sinh trong khi dạy các hệ thống số chứ chưa đi sâu
vào việc phát triển tư duy thuật giải cho học sinh trong khi dạy học nội dung
phương trình.
Luận văn của thạc sỹ Nguyễn Thị Thanh Bình: "Góp phần phát triển
tư duy thuật giải của học sinh Trung học phổ thông thông qua dạy học nội
dung lượng giác 11" (2000) đã đề cập đến việc phát triển tư duy thuật giải
cho học sinh trong khi dạy nội dung lượng giác 11.
1.5. Nội dung phương trình là nội dung quan trọng và khó ở chương
trình toán trung học phổ thông với nhiều biến đổi phức tạp, nhiều dạng toán,
nhiều quy trình vận dụng kỹ năng tính toán nhiều bài toán có tiềm năng có
thể chuyển về một thuật giải. Đó là điều kiện thuận lợi nhằm phát triển tư
duy thuật giải cho học sinh.
Với những lý do nêu trên, tôi chọn đề tài "Góp phần phát triển tư
duy thuật giải cho học sinh trung học phổ thông thông qua dạy học một
số nội dung phương trình" làm đề tài nghiên cứu khoa học của mình.
2. Mục đích nghiên cứu
Mục đích nghiên cứu của luận văn là đề ra một số biện pháp phát triển
tư duy thuật giải trong quá trình dạy học một số nội dung phương trình nhằm
góp phần nâng cao hiệu quả dạy học Toán ở trường phổ thông.
3. Giả thuyết khoa học
Nếu trong quá trình dạy học Toán trung học phổ thông nói chung, dạy
học nội dung phương trình, bất phương trình nói riêng, giáo viên thực hiện
theo một quy trình dạy học theo hướng phát triển tư duy thuật giải thì sẽ góp
phần nâng cao chất lượng dạy học toán ở trường phổ thông.
3
4. Nhiệm vụ nghiên cứu
Để đạt được mục đích nêu trên, luận văn có nhiệm vụ trả lời các câu
hỏi khoa học sau:
4.1. Tư duy thuật giải là gì và vì sao nó cần được phát triển ở học sinh
trong môn Toán?
4.2. Tiến hành phát triển tư duy thuật giải của học sinh trong môn toán
dựa trên những tư tưởng chủ đạo nào?
4.3. Có thể xây dựng quy trình dạy học phương trình theo hướng phát
triển tư duy thuật giải được không?
4.4. Để phát triển tư duy thuật giải cho học sinh cần có những định
hướng sư phạm nào?
4.5. Có thể đưa ra thuật giải giải một số dạng phương trình nhằm tập
luyện hoạt động tư duy thuật giải cho học sinh được không?
4.6. Kết quả thực nghiệm như thế nào?
5. Phương pháp nghiên cứu
5.1. Nghiên cứu lý luận
* Nghiên cứu các văn kiện Đảng và nhà nước, của Bộ giáo dục đào tạo
có liên quan đến việc dạy và học Toán ở trường phổ thông.
* Các sách báo, tạp chí có liên quan đến nội dung đề tài.
* Các công trình nghiên cứu các vấn đề có liên quan trực tiếp đến đề
tài (các luận văn, luận án, chuyên đề )
5.2. Nghiên cứu thực tiễn
* Dự giờ, quan sát giờ dạy của giáo viên và hoạt động học tập của học
sinh trong quá trình dạy học nói chung, dạy học nội dung phương trình nói
riêng.
* Tổ chức thực nghiệm kiểm chứng thông qua các lớp học thực
nghiệm và đối chứng trên cùng một lớp đối tượng.
6. Đóng góp của luận văn
4
6.1. Luận văn góp phần làm sáng tỏ nội dung khái niệm tư duy thuật
giải và vai trò vị trí của việc phát triển tư duy thuật giải trong dạy học toán.
6.2. Xây dựng được các quy trình dạy học theo hướng phát triển tư
duy thuật giải cho học sinh.
6.3. Xác định được một số định hướng sư phạm phát triển tư duy thuật
giải cho học sinh.
6.4. Khai thác được một số dạng phương trình có thể giúp học sinh
xây dựng được thuật giải.
6.5. Luận văn có thể dùng làm tài liệu tham khảo cho giáo viên toán
trung học phổ thông.
7. Cấu trúc luận văn
Luận văn ngoài phần mở đầu, kết luận và tài liệu tham khảo gồm có 3
chương.
Chương 1. Tư duy thuật giải và vấn đề phát triển tư duy thuật giải cho
học sinh phổ thông.
1.1. Cơ sở lý luận.
1.2. Khái niệm thuật toán.
1.3. Khái niệm tư duy thuật giải.
1.4. Vấn đề phát triển tư duy thuật giải trong dạy học Toán.
Chương 2. Một số định hướng sư phạm góp phần phát triển tư duy thuật
giải cho học sinh trung học phổ thông khi dạy một số nội dung phương trình.
2.1. Các nguyên tắc dạy học theo hướng phát triển tư duy thuật giải.
2.2. Một số định hướng phát triển tư duy thuật giải thông qua dạy học
nội dung phương trình.
2.3. Hướng dẫn học sinh xây dựng thuật giải cho một số dạng
phương trình.
5
Chương 1
Tư duy thuật giải và vấn đề phát triển tư duy
thuật giải cho học sinh thông qua môn Toán
1.1. Cơ sở lý luận
1.1.1. Quan điểm hoạt động trong phương pháp dạy học
Chúng ta biết rằng quá trình dạy học là một quá trình điều khiển hoạt
động giao lưu của học sinh nhằm thực hiện những mục đích dạy học. Còn
học tập là một quá trình xử lý thông tin. Quá trình này có các chức năng: đưa
thông tin vào, ghi nhớ thông tin, biến đổi thông tin, đưa thông tin ra và điều
phối. Học sinh thực hiện các chức năng này bằng những hoạt động của mình.
Thông qua hoạt động thúc đẩy sự phát triển về trí tuệ ở học sinh làm cho học
sinh học tập một cách tự giác, tích cực.
Xuất phát từ một nội dung dạy học ta cần phát hiện những hoạt động
liên hệ với nó rồi căn cứ vào mục đích dạy học mà lựa chọn để tập luyện cho
học sinh một số trong những hoạt động đã phát hiện. Việc phân tích một hoạt
động thành những hoạt động thành phần giúp ta tổ chức cho học sinh tiến
hành những hoạt động với độ phức hợp vừa sức họ.
Việc tiến hành hoạt động nhiều khi đòi hỏi những tri thức nhất định,
đặc biệt là tri thức phương pháp. Những tri thức này lại là kết quả của một
quá trình hoạt động khác. Trong hoạt động, kết quả rèn luyện được ở một
mức độ nào đó có thể lại là tiền đề để tập luyện và đạt kết quả cao hơn. Do
6
đó cần phân bậc những hoạt động theo những mức độ khác nhau làm cơ sở
cho việc chỉ đạo quá trình dạy học. Trên cơ sở việc phân tích trên về phương
pháp dạy học theo quan điểm hoạt động. Luận văn được nghiên cứu trong
khuôn khổ của lý luận dạy học, lấy quan điểm hoạt động làm nền tảng tâm lý
học. Nội dung của quan điểm này được thể hiện một cách tóm tắt qua những
tư tưởng chủ đạo sau:
* Cho học sinh thực hiện và tập luyện những hoạt động và hoạt động
tương thích với nội dung và mục đích dạy học.
* Hướng đích và gợi động cơ cho các hoạt động.
* Truyền thụ tri thức, đặc biệt là những tri thức phương pháp, như
phương tiện và kết quả của hoạt động.
* Phân bậc hoạt động làm căn cứ cho việc điều khiển quá trình dạy học.
1.1.2. Một số quan điểm khác
Luận văn lấy quan điểm hoạt động làm nền tảng tâm lý học để nghiên
cứu nhưng cũng dựa vào quan điểm của lý thuyết tình huống và lý thuyết
kiến tạo bởi vì các quan điểm dạy học của các lý thuyết này có sự giao thoa
với quan điểm của lý thuyết hoạt động. Theo lý thuyết tình huống thì học là
sự thích ứng (bao gồm đồng hóa và điều tiết) đối với một môi trường sản
sinh ra những mâu thuẫn, những khó khăn, những sự mất cân bằng.
Một tình huống thường liên hệ với những quy trình hành động. Một
yếu tố của tình huống mà sự thay đổi giá trị của nó có thể gây ra sự thay đổi
quy trình giải quyết vấn đề của học sinh. Do đó trong quá trình dạy học ta
cần soạn thảo ra tình huống tương ứng với tri thức cần dạy (tình huống cho
tri thức đó một nghĩa đúng). Sau đó ủy thác tình huống này cho học sinh.
Học sinh tiến hành hoạt động học tập diễn ra nhờ sự tương tác với môi
trường.
Theo lý thuyết kiến tạo, học tập là hoạt động thích ứng của người học.
Do đó dạy học phải là dạy hoạt động, tổ chức các tình huống học tập đòi hỏi
7
sự thích ứng của học sinh, qua đó học sinh kiến tạo được kiến thức, đồng
thời phát triển được trí tuệ và nhân cách của mình.
Như vậy, nếu phân tích rõ quan điểm dạy học theo lý thuyết tình
huống và lý thuyết kiến tạo sẽ góp phần phát triển phương pháp dạy học phát
triển tư duy thuật giải cho học sinh.
1.2. Khái niệm thuật toán
Khái niệm tư duy thuật giải liên hệ chặt chẽ với khái niệm thuật toán.
Do đó trước khi đưa ra khái niệm tư duy thuật giải ta hãy nghiên cứu khái
niệm thuật toán.
1.2.1. Nghiên cứu khái niệm thuật toán
a. Khái niệm bài toán
Trong tin học, người ta quan niệm bài toán là một việc nào đó ta muốn
máy tính thực hiện. Những việc như đưa một dòng chữ ra màn hình, giải
phương trình bậc hai, quản lý cán bộ của một cơ quan là những ví dụ về bài
toán.
Khi dùng máy tính giải toán, ta cần quan tâm đến hai yếu tố: Đưa vào
máy thông tin gì (Input) và lấy ra thông tin gì (Output). Do đó để phát biểu
một bài toán, ta cần phải trình bày rõ Input và Output của bài toán và mối
quan hệ giữa Input và Output.
Ví dụ 1: Bài toán tìm ước chung lớn nhất của hai số nguyên dương.
Input: Hai số nguyên dương M và N.
Output: ước chung lớn nhất của M và N.
Ví dụ 2: Bài toán tìm nghiệm của phương trình bậc 2: ax
2
+ bx + c = 0 (a
≠
0)
Input: Các số thực a, b, c. (a
≠
0)
Output: Tất cả các số thực x thỏa mãn: ax
2
+ bx + c = 0
ở đây Output có thể là một hoặc hai số thực hoặc câu trả lời không có
số thực nào như vậy.
8
Qua các ví dụ trên, ta thấy các bài toán được cấu tạo bởi hai thành
phần cơ bản:
Input: Các thông tin đã có.
Output: Các thông tin cần tìm từ Input.
b. Khái niệm thuật toán
Việc cho một bài toán là mô tả rõ Input cho trước và Output cần tìm.
Vấn đề là làm thế nào để tìm ra Output.
Việc chỉ ra tường minh một cách tìm Output của bài toán được gọi là
một thuật toán (algorithm) giải bài toán đó. Có nhiều định nghĩa khác nhau
về thuật toán. Dựa vào sự phân tích trên ta có thể định nghĩa thuật toán như sau:
Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được
sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy,
từ Input của bài toán, ta nhận được Output cần tìm.
Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên.
+ Xác định bài toán.
+ Input: Số nguyên dương N và dãy N số nguyên a
1
, a
2
, a
n
.
+ Output: Giá trị lớn nhất Max của dãy số.
* ý tưởng: - Khởi tạo giá trị Max = a
1
.
- Lần lượt với i từ 2 đến N, so sánh giá trị số hạng a
i
với
giá trị Max, nếu a
i
> Max thì Max nhận giá trị mới là a
i
.
* Thuật toán: Thuật toán giải bài toán này có thể được mô tả theo cách
liệt kê như sau:
Bước 1: Nhập N và dãy a
1
, a
2
, ,a
n
.
Bước 2: Max = a
i
; i: = 2
Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc.
Bước 4: + Bước 4.1. Nếu a
i
> Max thì Max: = a
i
+ Bước 4.2. Nếu i: = i + 1 rồi quay lại bước 3.
Từ định nghĩa ta thấy thuật toán có các tính chất sau:
9
* Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực
hiện các thao tác.
* Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán
kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo.
* Tính đúng đắn: sau khi thuật toán kết thúc ta phải nhận được Output
cần tìm.
Ví dụ: Với thuật toán tìm Max đã xét:
* Tính dừng: Vì giá trị của i mỗi lần tăng lên một đơn vị nên sau N
lần thì i > N, khi đó kết quả của phép so sánh ở bước 3 xác định việc đưa ra
giá trị Max rồi kết thúc.
* Tính xác định: Thứ tự thực hiện các bước của thuật toán được mặc
định là tuần tự nên sau bước 1 là bước 2, sau bước 2 là bước 3. Kết quả các
bước so sánh trong bước 3 và bước 4 đều xác định duy nhất bước tiếp theo
cần thực hiện.
* Tính đúng đắn: Vì thuật toán so sánh Max với từng số hạng của dãy
số và thực hiện Max: = a
i
nếu a
i
> Max nên sau khi so sánh hết N số hạng
của dãy thì Max là giá trị lớn nhất.
Ví dụ: Tính tổng các số nguyên dương lẻ trong khoảng từ 1 đến n.
- Xác định bài toán:
+ Input: N là số nguyên dương lẻ.
+ Output: Tổng các số nguyên dương lẻ từ 1 đến n.
* Thuật toán tính tổng các số nguyên dương lẻ từ 1 đến N như sau:
Bước 1: Hỏi giá trị của N.
Bước 2: S: = 0
Bước 3: i = 1.
Bước 4: Nếu i = N+1 thì sang bước 8, ngược lại sang bước 5.
Bước 5: Cộng thêm i vào S.
Bước 6: Cộng thêm 2 vào i.
10
Bước 7: Quay lại bước 4.
Bước 8: Tổng cần tìm chính là S.
Ta chú ý đến bước 4. ở đây ta muốn kết thúc thuật toán khi giá trị của i
vượt quá N. Thay vì viết "nếu i lớn hơn N" thì ta viết điều kiện "i = N+1"
không phải lúc nào cũng đạt được. Vì ban đầu i là một số lẻ, sau mỗi bước i
lại được tăng thêm 2 đơn vị nên i luôn luôn là số lẻ. Nếu N là số chẵn thì N + 1
là số lẻ nên sau một số bước nhất định, i sẽ bằng N + 1. Tuy nhiên, nếu N là
số lẻ thì N + 1 là số chẵn, do i là số lẻ nên dù có qua bao nhiêu bước đi
chăng nữa, i vẫn khác N + 1. Trong trường hợp đó, thuật toán trên bị quẩn
(hay vi phạm tính dừng).
Tính "đúng" là một tính chất khá hiển nhiên nhưng là tính chất khó đạt
tới nhất. Thật vậy, khi giải quyết một số vấn đề bài toán, ta luôn mong muốn
lời giải của mình sẽ cho kết quả đúng nhưng không phải lúc nào cũng đạt
được. Mọi học sinh khi làm bài kiểm tra đều muốn bài làm của mình có đáp
số đúng, nhưng trên thực tế, trong lớp chỉ có một số học sinh nhất định là có
khả năng đưa ra lời giải đúng.
1.2.2. Các đặc trưng của thuật toán
1. Tính đơn trị
Tính đơn trị của thuật toán đòi hỏi rằng các thao tác sơ cấp phải đơn
trị, nghĩa là hai phần tử thuộc cùng một cơ cấu, thực hiện cùng một thao tác
trên cùng một đối tượng thì phải cho cùng kết quả.
Ví dụ: Quy trình 4 bước để giải một bài toán.
Bước 1. Tìm hiểu nội dung bài toán.
Bước 2. Tìm đường lối giải toán.
Bước 3. Thực hiện chương trình giải toán.
Bước 4. Kiểm tra kết quả và nghiên cứu lời giải.
Quy trình này không phải là một thuật toán vì tính đơn trị bị vi phạm.
Chẳng hạn bước 1, bước 2, bước 3, bước 4 không được xác định vì người ta
có thể hiểu và làm theo nhiều cách khác nhau.
11
Từ tính đơn trị, ta cũng thấy được tính hình thức hóa của thuật toán.
Bất kể cơ cấu nào, chỉ cần biết thực hiện đúng trình tự quy định là sẽ đi đến
kết quả chứ không cần phải hiểu ý nghĩa của những thao tác này. Tính chất
này hết sức quan trọng vì nhờ đó ta có thể giao cho những thiết bị tự động
thực hiện thuật giải, làm một số công việc thay thế cho con người.
2. Tính hiệu quả
Tính hiệu quả của thuật toán được đánh giá dựa trên một số tiêu
chuẩn như: khối lượng tính toán, không gian và thời gian khi thuật toán được
thực hiện. Tính hiệu quả của thuật toán là một yếu tố quyết định để đánh giá,
chọn lựa cách giải quyết vấn đề - bài toán trên thực tế. Có rất nhiều phương
pháp để đánh giá tính hiệu quả của thuật toán. Độ phức tạp của thuật toán là
một tiêu chuẩn được dùng rộng rãi.
3. Tính tổng quát
Thuật toán có tính tổng quát là thuật toán phải áp dụng được cho mọi
trường hợp của bài toán chứ không phải chỉ áp dụng được cho một số trường
hợp riêng lẻ nào đó. Chẳng hạn thuật toán giải phương trình bậc hai sau đây
bằng Delta đảm bảo được tính chất này vì nó luôn luôn giải được với mọi giá
trị số thực a, b, c bất kỳ. Tuy nhiên, không phải thuật toán nào cũng đảm bảo
được tính tổng quát. Trong thực tế, có lúc người ta chỉ xây dựng thuật toán
cho một dạng đặc trưng của bài toán mà thôi.
Ví dụ: Thuật toán giải phương trình bậc hai: ax
2
+ bx + c = 0 (a
≠
0)
1. Cho biết giá trị ba hệ số a, b, c.
2. Nếu a = 0 thì:
2.1. Yêu cầu bài toán không đảm bảo.
2.2. Kết thúc thuật toán.
3. Nếu a
≠
0 thì:
3.1. Tính giá trị ∆ = b
2
- 4ac
3.2. Nếu ∆ > 0 thì:
12
3.2.1. Phương trình có 2 nghiệm phân biệt x
1
, x
2
.
3.2.2. Giá trị của hai nghiệm tính theo công thức:
a
b
x
2
1
∆−−
=
,
a
b
x
2
2
∆+−
=
3.2.3. Kết thúc thuật toán.
3.3. Nếu ∆ = 0.
3.3.1. Phương trình có nghiệm kép x
0
3.3.2. Giá trị của nghiệm kép là
a
b
x
2
0
−=
3.3.3. Kết thúc thuật toán.
3.4. Nếu ∆ < 0 thì:
3.4.1. Phương trình vô nghiệm.
3.4.2. Kết thúc thuật toán.
1.2.3. Các phương pháp biểu diễn thuật toán
Khi chứng minh hoặc giải một bài toán trong toán học, ta thường dùng
những ngôn ngữ toán học như: "ta có", "điều phải chứng minh","giả thiết",
và sử dụng các phép suy luận toán học như phép kéo theo, phép tương
đương,
Thuật toán là một phương pháp thể hiện lời giải một bài toán nên cũng
phải tuân theo một số quy tắc nhất định. Để có thể truyền đạt thuật toán cho
người khác hay chuyển thuật toán thành chương trình máy tính, ta phải có
phương pháp biểu diễn thuật toán. Có 4 phương pháp biểu diễn thuật toán.
1. Ngôn ngữ tự nhiên và ngôn ngữ toán học.
2. Dùng lưu đồ - sơ đồ khối.
3. Dùng ngôn ngữ phỏng trình.
4. Dùng ngôn ngữ lập trình.
1. Ngôn ngữ tự nhiên và ngôn ngữ toán học.
13
Trong cách biểu diễn thuật toán theo ngôn ngữ tự nhiên và ngôn ngữ
toán học, người ta sử dụng ngôn ngữ thường ngày và ngôn ngữ toán học để
liệt kê các bước của thuật toán. Các thuật toán ở mục 1 đều được viết dưới
dạng ngôn ngữ tự nhiên và ngôn ngữ toán học. Phương pháp biểu diễn này
không yêu cầu người viết thuật toán cũng như người đọc thuật toán phải nắm
các quy tắc. Tuy vậy, cách biểu diễn này thường dài dòng, không thể hiện rõ
cấu trúc thuật toán, đôi lúc gây hiểu nhầm hoặc khó hiểu cho người đọc. Ta
xét thêm ví dụ sau:
Ví dụ 1: Thuật toán xét dấu các nghiệm của phương trình bậc hai:
ax
2
+ bx + c = 0 (với giả thiết abc
≠
0)
Bước 1: Xác định các hệ số a, b, c.
Bước 2: Kiểm tra điều kiện ac < 0.
+ Nếu điều kiện đúng thì chuyển sang bước 3.
+ Nếu điều kiện sai thì chuyển sang bước 4.
Bước 3: Kết luận: Phương trình có 2 nghiệm trái dấu.
Chuyển sang bước 14.
Bước 4: Tính ∆ = b
2
- 4ac.
Bước 5: Kiểm tra điều kiện ∆ > 0.
+ Nếu điều kiện sai thì chuyển sang bước 9.
+ Nếu điều kiện đúng thì chuyển sang bước 6.
Bước 6: Kiểm tra điều kiện ab > 0.
+ Nếu điều kiện đúng thì chuyển sang bước 7.
+ Nếu điều kiện sai thì chuyển sang bước 8.
Bước 7: Kết luận: Phương trình có 2 nghiệm dương.
Chuyển sang bước 14.
Bước 8: Kết luận: Phương trình có 2 nghiệm âm.
Chuyển sang bước 14.
Bước 9: kiểm tra điều kiện ∆ = 0
14
+ Nếu điều kiện đúng thì chuyển sang bước 10.
+ Nếu điều kiện sai thì chuyển sang bước 13.
Bước 10. Kiểm tra điều kiện ab > 0.
+ Nếu điều kiện đúng thì chuyển sang bước 11.
+ Nếu điều kiện sai thì chuyển sang bước 12.
Bước 12. Kết luận: Phương trình có nghiệm kép dương.
Chuyển sang bước 14.
Bước 12. Kết luận: phương trình có nghiệm kép âm.
Chuyển sang bước 14.
Bước 13: Kết luận: phương trình vô nghiệm.
Bước 14: Kết thúc.
2. Lưu đồ - Sơ đồ khối.
Lưu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuật
toán. Biểu diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi được sự
phân cấp các trường hợp và quá trình xử lý của thuật toán. Phương pháp lưu
đồ thường được dùng trong những thuật toán có tính rắc rối, khó theo dõi
được quá trình xử lý.
Để biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loại thao
tác: thao tác lựa chọn và thao tác hành động.
* Thao tác lựa chọn.
Thao tác lựa chọn được biểu diễn bằng một hình thoi, bên trong chứa
biểu thức điều kiện:
* Thao tác xử lý được biểu diễn bằng một hình chữ nhật, bên trong
chứa nội dung xử lý.
a =
b
∆ = 0
15
* Đường đi.
Trong ngôn ngữ lưu đồ, do thể hiện các bước bằng hình vẽ và có thể
đặt các hình vẽ này ở vị trí bất kỳ nên ta phải có phương pháp để hiện trình
tự thực hiện các thao tác.
Hai bước kế tiếp nhau được nối bằng một mũi tên chỉ hướng thực
hiện.
Từ thao tác chọn lựa có thể có hai hướng đi, một hướng ứng với điều
kiện đúng, một hướng ứng với điều kiện sai.
* Điểm cuối.
Điểm cuối là điểm khởi đầu và kết thúc của thuật toán, được biểu diễn
như sau:
Tăng i lên
Chọn 1 hộp bất kỳ
Đ
16
Tăng i lên 1
Bước 1
Bước 3
Bước 2
∆ > 0 ∆ = 0
S
Có 2 nghiệm phân biệt
(Có thể thay chữ bắt đầu bởi Star/Begin) (Có thể thay chữ kết thúc bởi
End)
Ngoài ra còn có điểm nối, điểm nối sang trang dùng cho thuật toán có
lưu đồ lớn.
Ví dụ: Lưu đồ thuật toán giải phương trình bậc hai.
Bắt
đầu
Kết thúc
17
Bắt
đầu
Hỏi giá trị a, b , c
0
〉∆
0
=∆
Có 2 nghiệm
phân biệt ,
Có nghiệm kép Vô nghiệm
x=-b/2a
Kết thúc
S
S
Đ Đ
∆ = b
2
- 4ac
a
b
x
2
2,1
∆±
=
18
Lưu đồ mô tả thuật toán một cách trực quan nhưng lại rất cồng kềnh
khi phải mô tả những thuật toán phức tạp. Một phương pháp khác để biểu
diễn thuật toán khắc phục nhược điểm ấy là ngôn ngữ phỏng trình.
3. Ngôn ngữ phỏng trình
Tuy sơ đồ khối thể hiện rõ quá trình xử lý và sự phân cấp các trường
hợp của thuật toán nhưng lại cồng kềnh. Để mô tả thuật toán nhỏ ta phải
dùng một không gian rất lớn. Hơn nữa, lưu đồ chỉ phân biệt hai thao tác là rẽ
nhánh (lựa chọn có điều kiện) và xử lý mà trong trực tế, các thuật toán còn
có các lặp.
Biểu diễn thuật toán bằng ngôn ngữ phỏng trình là cách biểu diễn sự
vay mượn các cú pháp của một ngôn ngữ lập trình nào đó (Pascal, Basic, C,
C++, ) để thể hiện thuật toán. Ngôn ngữ phỏng trình đơn giản, gần gũi với
mọi người, dễ học vì nó sử dụng ngôn ngữ tự nhiên và chưa quá sa đà vào
những quy ước chi tiết. Mặt khác, nó cũng dễ chuyển sang những ngôn ngữ
cho máy tính điện tử vì đã sử dụng một cấu trúc và ký hiệu chuẩn hóa.
Ví dụ: Biểu diễn thuật toán giải phương trình bậc hai bằng ngôn ngữ
phỏng trình.
Begin.
If Delta > 0 then begin.
x
1
= (-b-sqrt(delta))/(2*a)
x
2
= (-b + sqrt (delta))/(2*a).
inra: phương trình có 2 nghiệm là x
1
, x
2
.
End.
Else.
If Delta = 0 then.
Inra: phương trình có nghiệm kép là
a
b
x
*2
−=
Else (trường hợp Delta < 0)
19
Inra: phương trình vô nghiệm.
End.
Trên đây, ta đã chỉ ra 3 cách để biểu diễn một thuật toán. Trong trường
hợp thuật toán viết bằng ngôn ngữ máy tính, ta có một chương trình.
4. Ngôn ngữ lập trình.
Có nhiều ngôn ngữ lập trình như Pascal, Basic, C, C++, Sau đây là
ví dụ dùng ngôn ngữ lập trình Pascal để biểu diễn thuật toán giải phương
trình bậc hai:
Ví dụ. Tìm nghiệm thực của phương trình bậc hai:
ax
2
+ bx + c = 0, (a
≠
0)
Input: Các hệ số a, b, c nhập từ bàn phím.
Outpt: Đưa ra màn hình các nghiệm thực hoặc thông báo “Phương
trình vô nghiệm”.
Thuật toán: Thuật toán giải phương trình bậc hai bằng ngôn ngữ lập
trình Pascal.
Program Giai-pt bậc hai;
Uses Crt;
Var a , b, c : real;
∆, x
1
, x
2
: real;
Begin
Clrscr;
Write (‘a, b, c: ’);
Readln (a, b, c) ;
∆ = b * b – 4 * a * c ;
if ∆ < 0 then Writeln (‘Phương trình vô nghiệm’)
Else
Begin
x1 = ( - b – sqrt (
∆
))/(2 * a);
20
x1 = ( - b + sqrt (
∆
))/(2 * a);
Witeln ( ‘x
1
=’, x
1
: 8:3 , ‘x
2
= ’ , x
2
: 8:3);
End;
Readln
End.
1.2.4. Độ phức tạp của thuật toán
Trong thực tế có nhiều thuật toán, về mặt lý thuyết là kết thúc sau hữu
hạn bước, tuy nhiên thời gian "hữu hạn" đó vượt quá khả năng làm việc của
chúng ta. Do đó để đánh giá tính hiệu quả của một thuật toán, chúng ta phải
chú ý đến độ phức tạp của các thuật toán. Độ phức tạp của thuật toán có thể
đo bằng không gian, tức là dung lượng bộ nhớ của máy tính cần thiết để thực
hiện thuật toán; và bằng thời gian, tức là thời gian máy tính làm việc. Trong
luận văn này, khi nói đến độ phức tạp của thuật toán ta luôn hiểu là độ phức
tạp thời gian. Độ phức tạp của thuật toán chính là cơ sở để phân loại bài toán
giải được hay không giải được.
1.3. Khái niệm tư duy thuật giải
1.3.1. Khái niệm thuật giải
Trong quá trình nghiên cứu giải quyết các vấn đề - bài toán, người ta
đã đưa ra nhận xét sau:
+ Có nhiều bài toán cho đến nay vẫn chưa tìm ra một cách giải theo
kiểu thuật toán và cũng không biết có tồn tại thuật toán hay không.
+ Có nhiều bài toán đã có thuật toán để giải nhưng không chấp nhận
được vì thời gian giải theo thuật toán đó quá lớn hoặc các điều kiện cho thuật
toán đó khó đáp ứng.
+ Có những bài toán được giải theo những cách giải vi phạm thuật
toán nhưng vẫn chấp nhận được.
21
Từ những nhận định trên, người ta thấy rằng cần phải có những đổi
mới cho khái niệm thuật toán. Người ta đã mở rộng hai tiêu chuẩn của thuật
toán: tính xác định và tính đúng đắn. Việc mở rộng tính xác định đối với
thuật toán được thể hiện qua các thuật giải đệ quy và ngẫu nhiên. Tính đúng
của thuật toán không còn bắt buộc đối với một số cách giải bài toán, nhất là
cách giải gần đúng. Trong thực tế, có nhiều trường hợp người ta chấp nhận
các cách giải thường cho kết quả tốt (nhưng không phải lúc nào cũng tốt)
nhưng ít phức tạp và hiệu quả. Chẳng hạn, nếu giải một bài toán bằng thuật
toán tối ưu đòi hỏi máy tính thực hiện trong vòng nhiều năm thì chúng ta có
thể chấp nhận một giải pháp gần tối ưu mà chỉ cần máy tính chạy trong vài
ngày hoặc vài giờ.
Các cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy
đủ các tiêu chuẩn của thuật toán thường được gọi là các thuật giải. Khái
niệm mở rộng này của thuật toán đã mở rộng cho chúng ta trong việc tìm
kiếm phương pháp để giải quyết các bài toán được đặt ra. Ngoài việc mở
rộng tính đúng của thuật toán, thuật giải có tất cả các tính chất khác của thuật
toán. Nó cũng có các hình thức biểu diễn phong phú như thuật toán. Tuy
nhiên, đối với một cơ cấu nhất định chỉ tương ứng với một hình thức biểu
diễn nhất định. Đặc biệt trong dạy học cần chú ý lựa chọn phương tiện biểu
diễn phù hợp với trình độ và kiến thức hiện có của học sinh. Sự hiểu biết về
thuật giải, các tính chất và phương tiện biểu diễn nó phản ánh trình độ văn
hóa thuật giải. Ngôn ngữ lập trình là bước phát triển cao của văn hóa thuật
giải.
1.3.2. Khái niệm tư duy thuật giải
Tư duy toán học là hình thức biểu lộ của tư duy biện chứng trong quá
trình con người nhận thức khoa học toán học hay thông qua hình thức áp
dụng toán học vào các khoa học khác. Như vậy, tư duy toán học là tư duy
biện chứng.
22
Tư duy thuật giải là một loại hình thức tư duy toán học. Nó là phương
thức tư duy biểu thị khả năng tiến hành các hoạt động sau:
T
1
: Thực hiện những thao tác theo một trình tự xác định phù hợp với
một thuật giải.
T
2
: Phân tích một quá trình thành những thao tác được thực hiện theo
những trình tự xác định.
T
3
: Khái quát hóa một quá trình diễn ra trên một số đối tượng riêng lẻ
thành một quá trình diễn ra trên một lớp đối tượng.
T
4
: Mô tả chính xác quá trình tiến hành một hoạt động.
T
5
: Phát hiện thuật giải tối ưu để giải quyết bài toán.
Trong đó, (T
1
) thể hiện năng lực thực hiện thuật giải, (T
2
- T
5
) thể hiện
năng lực xây dựng thuật giải.
Khái niệm tư duy thuật giải được xác định như trên là hoàn toàn phù
hợp với những kết quả nghiên cứu về hình thành văn hóa thuật giải. Trong
[38] tác giả Monakhôp đã nêu lên những thành phần của văn hóa thuật giải
bao gồm:
- Hiểu bản chất của thuật giải và những tính chất của nó; hiểu bản chất
ngôn ngữ là phương tiện biểu diễn thuật giải.
- Nắm vững các phương pháp và các phương tiện biểu diễn thuật giải.
- Hiểu tính chất thuật giải của các phương pháp toán học và các ứng
dụng của chúng; nắm vững các thuật giải của giáo trình toán phổ thông.
- Hiểu những cơ sở sơ cấp về lập trình cho máy tính điện tử.
Như vậy, phát triển tư duy thuật giải là một điều kiện cần thiết góp
phần hình thành và phát triển văn hóa thuật giải cho học sinh.
Từ khái niệm về tư duy thuật giải ta thấy rằng để phát triển tư duy
thuật giải cho học sinh trong dạy học toán, giáo viên phải tổ chức, điều khiển
các hoạt động tư duy thuật giải. Thông qua hoạt động đó giúp học sinh nắm
vững, củng cố các quy tắc đồng thời phát triển tư duy thuật giải cho học sinh.
23
Sau đây là một số ví dụ về phát triển tư duy thuật giải trong môn toán khi
dạy nội dung phương trình ở trường phổ thông.
1.3.3. Một số ví dụ dạy học phát triển tư duy thuật giải khi dạy nội
dung phương trình
Ví dụ 1.
ở chương trình toán lớp 9, ngay sau khi dạy xong quy tắc giải phương
trình bậc hai: ax
2
+bx +c = 0, (a
≠
0), giáo viên có thể cho học sinh nêu các
bước giải phương trình bậc hai như sau:
Bước 1: Xác định các hệ số a, b, c.
Bước 2: Tính biệt thức. ∆ = b
2
- 4ac.
Bước 3: Xét dấu ∆
+ Nếu ∆ < 0 thì phương trình vô nghiệm.
+ Nếu ∆ = 0 thì phương trình có nghiệm kép x
1
= x
2
=
a
b
2
−
+ Nếu ∆ > 0 thì phương trình có 2 nghiệm
∆+−
=
∆−−
=
a
b
x
a
b
x
2
2
2
1
Bước 4: Trả lời.
Hoạt động này nhằm mục đích tập luyện các hoạt động (T
2
) và (T
4
)
của tư duy thuật giải cho học sinh.
Sau đó giáo viên yêu cầu học sinh làm bài tập sau.
Bài tập: áp dụng quy tắc giải phương trình bậc hai, hãy giải các
phương trình sau:
a. 2x
2
- 3x + 5 = 0
b. - 4x
2
+ 20x - 25 = 0
c.
064
2
3
2
=−+ xx
24
Mục đích của bài tập này là yêu cầu học sinh thực hiện hoạt động (T
1
).
Do đó cần hướng dẫn các em thực hiện đúng theo trình tự các bước đã nêu
trong quy tắc. Có thể dùng một phần bảng trình bày quy tắc giải phương
trình, phần bảng còn lại trình bày lời giải phù hợp với từng quy tắc. Tiến
hành nhất quán như vậy trong một thời gian nhất định sẽ hình thành ở học
sinh quy tắc giải phương trình bậc hai, đồng thời phát triển ở các em năng
lực thực hiện thuật giải.
Ví dụ 2.
Khi dạy luyện tập giải phương trình bậc nhất đối với sinx và cosx ta có
thể đưa ra cho học sinh thêm bài tập sau:
Bài tập 1.
Giải phương trình:
1cos2cossin3sin
22
=+−
xxxx
Đứng trước bài toán này học sinh phải biết các công thức nhân đôi và
công thức hạ bậc, từ đó áp dụng các công thức này để biến đổi. Ta có thể
hướng dẫn học sinh giải bài toán này theo các bước sau:
Bước 1. Tính sin
2
x, cos
2
x theo cos2x.
2
2cos1
sin
2
x
x
−
=
,
2
2cos1
cos
2
x
x
+
=
và sinxcosx theo sin2x.
sinxcosx=
x2sin
2
1
Bước 2. Biến đổi đưa phương trình về phương trình bậc nhất đối với
sin 2x và cos2x dạng: Asin2x + Bcos2x = C
Bước 3. Giải phương trình: Asin2x + Bcos2x = C
Bài tập 2. Tìm giá trị nhỏ nhất và giá trị lớn nhất của hàm số:
2cossin
1cos2sin
++
++
=
xx
xx
y
Với bài toán này, học sinh phải nắm được sơ lược khái niệm giá trị lớn
nhất, giá trị nhỏ nhất của hàm số. Biết cách tìm điều kiện để hàm số có nghĩa
25