1. Trang chủ
  2. » Luận Văn - Báo Cáo

VẬN DỤNG PHƯƠNG PHÁP DẠY HỌC PHÂN HÓA VÀO DẠY HỌC CÁC CHIẾN LƯỢC THIẾT KẾ THUẬT TOÁN CHO HỌC SINH GIỎI

116 427 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 116
Dung lượng 916 KB
File đính kèm Bìa, phụ lục, bảng ......rar (50 KB)

Nội dung

2. Mục đích nghiên cứu Nghiên cứu và đề xuất phương pháp dạy học phân hóa vào dạy học các thuật giải nâng cao hướng đến học sinh giỏi. 3. Đối tượng nghiên cứu Áp dụng phương pháp dạy học phân hóa vào dạy các chiến lược thiết kế thuật toán cho học sinh chuyên Tin tại trường THPT Chuyên Thăng Long Đà Lạt. 4. Giả thiết khoa học Nếu áp dụng phương pháp dạy học phân hóa vào dạy các chiến lược thiết kế thuật toán một cách thích hợp thì chất lượng học tập của học sinh và hiệu quả giảng dạy của giáo viên được nâng cao. 5. Nhiệm vụ nghiên cứu Nghiên cứu cơ sở lý luận phương pháp dạy học phân hóa. Khảo sát thực trạng giảng dạy của giáo viên và học tập của học sinh tại Trường THPT Chuyên Thăng Long – Đà Lạt khi áp dụng các phương pháp dạy học hiện tại vào giảng dạy các thuật giải nâng cao. Đề xuất phương pháp dạy học phân hóa vào dạy học chuyên đề “Các chiến lược thiết kế thuật toán” cho học sinh Trường THPT Chuyên Thăng Long – Đà Lạt và thực nghiệm sư phạm.

Trang 1

MỞ ĐẦU

1 Lý do chọn đề tài

Luật giáo dục nước Cộng hòa Xã hội Chủ nghĩa Việt Nam đã quy định:

“Mục tiêu giáo dục là đào tạo con người Việt Nam phát triển toàn diện, có đạo đức,tri thức, sức khoẻ, thẩm mỹ và nghề nghiệp, trung thành với lý tưởng độc lập dântộc và chủ nghĩa xã hội; hình thành và bồi dưỡng nhân cách, phẩm chất và năng lựccủa công dân, đáp ứng yêu cầu của sự nghiệp xây dựng và bảo vệ Tổ quốc” (LuậtGiáo dục 2005, chương I, điều 2)

“Mục tiêu của giáo dục phổ thông là giúp học sinh phát triển toàn diện vềđạo đức, trí tuệ, thể chất, thẫm mỹ và các kỹ năng cơ bản, phát triển năng lực cánhân, tính năng động và sáng tạo, hình thành nhân cách con người Việt Nam xã hộichủ nghĩa, xây dựng tư cách và trách nhiệm công dân; chuẩn bị cho học sinh tiếptục học lên hoặc đi vào cuộc sống lao động, tham gia xây dựng và bảo vệ tổ quốc”(Luật Giáo dục 2005, chương II, điều 27)

Từ những quy định này đã phản ánh được nhu cầu đổi mới phương phápgiảng dạy nhằm đào tạo con người mới với đầy đủ năng lực, trình độ, phẩm chất để

có thể tham gia lao động đáp ứng được nhu cầu của xã hội sau này là một nhiệm vụquan trong của ngành giáo dục

Trường THPT Chuyên ngoài việc dạy học thông thường nhằm đảm bảo kiếnthức chung bên cạnh đó còn có nhiệm vụ phát hiện và bồi dưỡng mũi nhọn gópphần đào tạo một lực lượng học sinh có trình độ tốt đáp ứng được nhu cầu của xãhội ngày nay

Một trong những nội dung quan trọng của chương trình chuyên Tin học ởtrường THPT Chuyên góp phần giúp học sinh có kỹ năng lập trình đó là các chiếnlược thiết kế thuật toán Tuy nhiên, thực tế cho thấy chất lượng dạy và học nội dungchuyên đề các thuật giải nâng cao ở THPT Chuyên hiện nay vẫn còn hạn chế, giaoviên chưa kết hợp các phương pháp giảng dạy nhằm nâng cao khả năng tư duy thuậtgiải của học sinh, chưa hình thành được quá trình liên hệ ngược giữa kết quả kiểmtra của học sinh với kết quả mong đợi của giáo viên, học sinh vẫn còn thụ động,

Trang 2

thiếu tính tự giác, tích cực, chủ động và sáng tạo trong quá trình học tập và rènluyện của mình nên dẫn đến việc chiếm lĩnh những tri thức mới, kĩ năng về lập trìnhchưa được nâng cao, việc giảng dạy của giáo viên và học tập của học sinh còn gặpnhiều khó khăn.

Hiện nay ở các trường phổ thông, quan điểm phân hoá trong dạy học chưađược quan tâm đúng mức Giáo viên chưa được trang bị đầy đủ những hiểu biết và

kỹ năng dạy học phân hóa, chưa thực sự coi trọng yêu cầu phân hoá trong dạy học

Đa số các giờ học vẫn được tiến hành đồng loạt áp dụng như nhau cho mọi đốitượng học sinh, các câu hỏi bài tập đưa ra cho mọi đối tượng học sinh đều có chungmột mức độ khó - dễ Do đó không phát huy được tối đa năng lực cá nhân của họcsinh, chưa kích thích được tính tích cực, chủ động, sáng tạo của học sinh trong việcchiễm lĩnh tri thức, dẫn đến chất lượng giờ dạy không cao, chưa đáp ứng được mụctiêu giáo dục

Vấn đề dạy học sao cho mọi học sinh đều nhận được sự quan tâm thích đáng của giáo viên, được hoạt động nhận thức tích cực và phù hợp với năng lực của mình

và được phát triển hết khả năng đang là vấn đề cần quan tâm

Chủ đề kiến thức chuyên đề “ Các chiến lược thiết kế thuật toán” là một chuyên đề khó đối với học sinh chuyên THPT Phân phối chương trình chuyên đề

“Các chiến lược thiết kế thuật toán” một thời gian rất ít nên việc nắm vững lí

thuyết và vận dụng vào làm bài tập đối với học sinh là khó khăn Nhiều học sinhgặp không ít lúng tung khi làm bài tập Nếu các giờ dạy vẫn được tiến hành đồngloạt, áp dụng như nhau cho mọi đối tượng học sinh thì sẽ có nhiều học sinh yếu kémkhông nắm được kiến thức và kỹ năng cơ bản Dạy học phân hóa là một con đường,một cách có thể khắc phục những hạn chế này

Chính vì những lý do trên tôi chọn đề tài: “VẬN DỤNG PHƯƠNG PHÁP DẠY HỌC PHÂN HÓA VÀO DẠY HỌC CÁC CHIẾN LƯỢC THIẾT KẾ THUẬT TOÁN CHO HỌC SINH GIỎI”.

Trang 3

2 Mục đích nghiên cứu

Nghiên cứu và đề xuất phương pháp dạy học phân hóa vào dạy học các thuậtgiải nâng cao hướng đến học sinh giỏi

3 Đối tượng nghiên cứu

Áp dụng phương pháp dạy học phân hóa vào dạy các chiến lược thiết kế thuật toán cho học sinh chuyên Tin tại trường THPT Chuyên Thăng Long - Đà Lạt

4 Giả thiết khoa học

Nếu áp dụng phương pháp dạy học phân hóa vào dạy các chiến lược thiết kếthuật toán một cách thích hợp thì chất lượng học tập của học sinh và hiệu quả giảngdạy của giáo viên được nâng cao

5 Nhiệm vụ nghiên cứu

- Nghiên cứu cơ sở lý luận phương pháp dạy học phân hóa

- Khảo sát thực trạng giảng dạy của giáo viên và học tập của học sinh tại

Trường THPT Chuyên Thăng Long – Đà Lạt khi áp dụng các phương pháp dạy họchiện tại vào giảng dạy các thuật giải nâng cao

- Đề xuất phương pháp dạy học phân hóa vào dạy học chuyên đề “Các chiếnlược thiết kế thuật toán” cho học sinh Trường THPT Chuyên Thăng Long – Đà Lạt

và thực nghiệm sư phạm

6 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý luận

Tìm hiểu, phân tích, tổng hợp những tài liệu có liên quan đến đề tài nghiên cứu

- Phương pháp nghiên cứu thực tiễn

a) Phương pháp quan sát

Tiến hành dự giờ lên lớp của giáo viên và quan sát việc áp dụng các phươngpháp dạy học vào nội dung chuyên đề chiếc lược thiết kế thuật toán tại trường THPTChuyên Thăng Long – Đà Lạt nhằm tìm hiểu và học hỏi kinh nghiệm, đồng thời pháthiện những thuận lợi và khó khăn trong quá trình dạy học lập trình cho HS

b) Phương pháp đàm thoại

Trao đổi với giáo viên về các phương pháp giảng dạy nhằm nâng cao kĩ nănglập trình trong nội dung chuyên đề chiếc lược thiết kế thuật toán cho học sinh, tănghiệu quả của việc học tập, rút ra những thuận lợi và khó khăn khi thực hiện

Trang 4

c) Phương pháp thực nghiệm sư phạm

Thực hiện soạn bài và lên lớp có sử dụng phương pháp dạy học phân hóa vàonội dung chuyên đề các chiếc lược thiết kế thuật toán

Kiểm tra tính đúng đắn của giả thuyết khoa học và tính khả thi của phươngpháp dạy học đã đề xuất

Trang 5

NỘI DUNG Chương 1: CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN1.1 Sơ lược về phương pháp dạy học môn Tin học

1.1.1 Khái niệm về phương pháp dạy học

Phương pháp thường được hiểu là con đường, là cách thức để đạt những mụctiêu nhất định

Phương pháp dạy học liên hệ với quá trình dạy học, trong đó việc dạy (hoạt

động và giao lưu của thầy) điều khiển việc học (hoạt động và giao lưu của trò)

Hình ảnh khái quát những hoạt động và giao lưu nào đó thể hiện một cách thức làm

việc của thầy trong quá trình dạy học

Phương pháp dạy học là cách thức hoạt động và giao lưu của thầy gây nên

những hoạt động và giao lưu cần thiết của trò nhằm đạt được mục tiêu dạy học

1.1.2 Nhu cầu và định hướng đổi mới phương pháp dạy học

Luật giáo dục nước Cộng hòa Xã hội Chủ nghĩa Việt Nam đã quy định:

“Phương pháp giáo dục phải phát huy tính tích cực, tự giác, chủ động, tư duysáng tạo của người học; bồi dưỡng năng lực tự học, lòng say mê học tập và ý chívươn lên” (Luật giáo dục 1998, chương I, điều 4)

“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; phù hợp với đặc điểm của từng lớp học, mônhọ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ựctiễn; tác động đến tình cảm, đem lại niềm vui, hứng thú học tập của học sinh” (Luậtgiáo dục 2005, chương II, mục 2, điều 28)

PPDH cần hướng vào việc tổ chức cho người học học tập trong hoạt động

và bằng hoạt động tự giác, tích cực, chủ động và sáng tạo.

1.1.3 Những thành tố cơ sở của phương pháp dạy học

Mối liên hệ giữa nội dung dạy học với hoạt động cho thấy mỗi nội dung dạy

học đều liên hệ với những hoạt động nhất định mà ta có thể khai thác để tổ chức quá trình dạy học một cách hiệu quả Những hoạt động như vậy được coi là tương thích

với nội dung cho trước Xuất phát từ một nội dung dạy học, ta cần phát hiện những

Trang 6

hoạt động tương thích với nội dung đó, rồi căn cứ vào mục tiêu 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 được

Việc phân tách một hoạt động thành những hoạt động thành phần cũng 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ọ

Trong hoạt động, kết quả đạt đượ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 đó cần phân bậc 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

Như vậy quan điểm hoạt động trong phương pháp dạy học có thể được thểhiện ở các tư tưởng chủ đạo sau đây:

- Cho học sinh thực hiện và tập luyện những hoạt động và hoạt động thànhphần tương thích với nội dung và mục tiêu dạy học;

- Gợi động cơ cho các hoạt động học tập;

- Dẫn dắt học sinh kiến tạo tri thức, đặc biệt là 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ứ điều khiển quá trình dạy học

Những tư tưởng chủ đạo này giúp thầy giáo điều khiển quá trình học tập củahọc sinh Muốn điều khiển phải đo những đại lượng ra, so sánh với mẫu yêu cầu vàkhi cần thiết thì phải có sự điều chỉnh Trong dạy học, việc đo và so sánh này căn cứvào những hoạt động của học sinh Việc điều chỉnh được thực hiện nhờ tri thức,trong đó có tri thức phương pháp, và dựa vào sự phân bậc hoạt động

Những tư tưởng chủ đạo trên hướng vào việc tập luyện cho học sinh nhữnghoạt động và hoạt động thành phần, gợi động cơ hoạt động, kiến tạo tri thức mà đặcbiệt là tri thức phương pháp, phân bậc hoạt động như những thành tố cơ sở của

PPDH Sau này, để cho ngắn gọn, ta gọi các thành tố cơ sở của phương pháp dạy

Trang 7

1.1.3.1 Hoạt động và hoạt động thành phần

Nội dung của tư tưởng chủ đạo này là cho học sinh thực hiện và tập luyện những hoạt động và hoạt động thành phần tương thích với nội dung và mục tiêu dạy học Tư tưởng này có thể được cụ thể hoá như sau.

1.1.3.1.1 Phát hiện những hoạt động tương thích với nội dung

Mỗi nội dung dạy học đều liên hệ với những hoạt động nhất định Đó trước hết là những hoạt động đã được tiến hành trong quá trình lịch sử hình thành và ứng dụng những tri thức được bao hàm trong nội dung này, cũng chính là những hoạt động để người học có thể kiến tạo và ứng dụng những tri thức trong nội dung đó Trong quá trình dạy học, ta còn phải kể tới cả những hoạt động có tác dụng củng cố

tri thức, rèn luyện kĩ năng và hình thành thái độ

Từ đó, một hoạt động của người học được gọi là tương thích với một nội

dung dạy học nếu nó có tác động góp phần kiến tạo hoặc củng cố, ứng dụng nhữngtri thức được bao hàm trong nội dung đó hoặc rèn luyện những kĩ năng, hình thànhnhững thái độ có liên quan (Mặc dù “ứng dụng” một tri thức cũng có thể diễn ranhư một hình thức của “củng cố”, nhưng nó còn có tác động tới toàn bộ việc học trithức đó, cho nên trong câu trên “ứng dụng” được phát biểu tách ra để nhấn mạnh)

Với mỗi nội dung dạy học, ta cần phát hiện những hoạt động tương thích vớinội dung này

Việc phát hiện những hoạt động tương thích với nội dung căn cứ một phần quantrọng vào sự hiểu biết về những hoạt động nhằm lĩnh hội những dạng nội dung khácnhau: khái niệm, câu lệnh hay phương pháp, về những con đường khác nhau để lĩnhhội từng dạng nội dung, chẳng hạn con đường quy nạp hay suy diễn để xây dựng kháiniệm, con đường thuần tuý suy diễn hay có pha suy đoán để học tập câu lệnh

Trong việc phát hiện những hoạt động tương thích với nội dung, ta cần chú ýxem xét những dạng hoạt động khác nhau trên những bình diện khác nhau Nhữngdạng hoạt động sau đây cần được đặc biệt chú ý:

- Nhận dạng và thể hiện,

- Những hoạt động Tin học phức hợp,

Trang 8

- Những hoạt động trí tuệ phổ biến trong Tin học,

- Những hoạt động trí tuệ chung;

- Những hoạt động ngôn ngữ

1.1.3.1.2 Phân tích hoạt động thành những thành phần

Trong quá trình hoạt động, nhiều khi một hoạt động này có thể xuất hiện nhưmột thành phần của một hoạt động khác Phân tích được một hoạt động thànhnhững hoạt động thành phần là biết được cách tiến hành hoạt động toàn bộ, nhờ đó

có thể vừa quan tâm rèn luyện cho học sinh hoạt động toàn bộ vừa chú ý cho họ tậpluyện tách riêng những hoạt động thành phần khó hoặc quan trọng khi cần thiết Khidạy một câu lệnh cũng cần cho học sinh tiến hành tách hoạt động toàn bộ của câulệnh thành những hoạt động thành phần

1.1.3.1.3 Lựa chọn hoạt động dựa vào mục tiêu

Mỗi nội dung thường tiềm tàng nhiều hoạt động Tuy nhiên nếu khuyếnkhích tất cả các hoạt động như thế thì có thể sa vào tình trạng dàn trải, làm cho họcsinh thêm rối ren Để khắc phục tình trạng này, cần sàng lọc những hoạt động đãphát hiện được để tập trung vào một số mục tiêu nhất định Việc tập trung vàonhững mục tiêu nào đó căn cứ vào tầm quan trọng của các mục tiêu này đối với việcthực hiện những mục tiêu còn lại, đối với khoa học, kĩ thuật và đời sống, căn cứ vàotiềm năng và vai trò của nội dung tương ứng đối với việc thực hiện những mục tiêu

đó (có thể cân nhắc đối chiếu với nội dung khác)

1.1.3.1.4 Tập trung vào những hoạt động tin học

Trong khi lựa chọn hoạt động, để đảm bảo sự tương thích của hoạt động đốivới mục tiêu dạy học, ta cần nắm được chức năng phương tiện và chức năng mụctiêu của hoạt động và mối liên hệ giữa hai chức năng này Trong môn Tin, nhiều

hoạt động xuất hiện trước hết như phương tiện để đạt những yêu cầu tin học: kiến

tạo tri thức, rèn luyện kĩ năng tin học Một số trong những hoạt động như thế nổi bậtlên do tầm quan trọng của chúng trong Tin học, trong các môn học khác cũng nhưtrong thực tế và việc thực hiện thành thạo những hoạt động đó trở thành một trong

những mục tiêu dạy học

Trang 9

1.1.3.2 Động cơ hoạt động

Việc học tập tự giác, tích cực, chủ động và sáng tạo đòi hỏi học sinh phải có

ý thức về những mục tiêu đặt ra và tạo được động lực bên trong thúc đẩy bản thân

họ hoạt động để đạt các mục tiêu đó Điều này được thực hiện trong dạy học không

chỉ đơn giản bằng việc nêu rõ mục tiêu mà quan trọng hơn còn do gợi động cơ.

Gợi động cơ là làm cho học sinh có ý thức về ý nghĩa của những hoạt động

và của đối tượng hoạt động Gợi động cơ nhằm làm cho những mục tiêu sư phạm

biến thành những mục tiêu của cá nhân học sinh, chứ không phải chỉ là sự vào bài,đặt vấn đề một cách hình thức

Gợi động cơ không phải chỉ là việc làm ngắn ngủi lúc bắt đầu dạy một trithức nào đó (thường là một bài học), mà phải xuyên suốt quá trình dạy học Vì vậy

có thể phân biệt gợi động cơ mở đầu, gợi động cơ trung gian và gợi động cơ kết thúc Sau đây là những cách gợi động cơ xuất phát từ nội dung môn Tin học theo

từng giai đoạn động cơ như trên

1.1.3.3 Tri thức trong hoạt động

Nội dung của tư tưởng chủ đạo này là: Dẫn dắt học sinh kiến tạo tri thức, đặc biệt là tri thức phương pháp, như phương tiện và kết quả của hoạt động.

Tri thức vừa là điều kiện vừa là kết quả của hoạt động

1.1.3.4.1 Những căn cứ phân bậc hoạt động

Việc phân bậc hoạt động có thể dựa vào những căn cứ sau:

a) Sự phức tạp của đối tượng hoạt động

Đối tượng hoạt động càng phức tạp thì hoạt động đó càng khú thực hiện Vìvậy có thể dựa vào sự phức tạp của đối tượng để phân bậc hoạt động

Trang 10

b) Sự trừu tượng, khái quát của đối tượng

Đối tượng hoạt động càng trừu tượng, khái quát có nghĩa là yêu cầu thựchiện hoạt động càng cao Cho nên có thể coi mức độ trừu tượng, khái quát của đốitượng là một căn cứ để phân bậc hoạt động

c) Nội dung của hoạt động

Nội dung của hoạt động chủ yếu là những tri thức liên quan tới hoạt động vànhững điều kiện khác của hoạt động Nội dung hoạt động càng gia tăng thì hoạtđộng càng khó thực hiện, cho nên nội dung cũng là một căn cứ phân bậc hoạt động

d) Sự phức hợp của hoạt động

Ta đã biết rằng một hoạt động phức hợp bao gồm nhiều hoạt động thành phần.Gia tăng những thành phần này cũng có nghĩa là nâng cao yêu cầu đối với hoạt động

e) Chất lượng của hoạt động

Chất lượng của hoạt động, thường là tính độc lập hoặc độ thành thạo, cũng

có thể lấy làm căn cứ để phân bậc hoạt động

g) Phối hợp nhiều phương diện làm căn cứ phân bậc hoạt động

Sự phân bậc hoạt động trong mỗi ví dụ trên đây chỉ căn cứ vào một phươngdiện tách biệt Đương nhiên cũng có thể xem xét đồng thời nhiều phương diện khácnhau làm căn cứ phân bậc hoạt động

1.1.3.4.2 Điều khiển quá trình học tập dựa vào sự phân bậc hoạt động

Người giáo viên cần biết lợi dụng sự phân bậc hoạt động để điều khiển quátrình học tập, chủ yếu là theo những hướng sau:

b) Tuần tự nâng cao yêu cầu

Người ta cũng có thể dựa vào sự phân bậc hoạt động để tuần tự nâng cao

Trang 11

yêu cầu đối với học sinh Điều này phù hợp với lí thuyết của Vưgôtxki về vùng phát triển gần nhất

c) Tạm thời hạ thấp yêu cầu khi cần thiết

Trường hợp học sinh gặp khó khăn trong khi hoạt động, ta có thể tạm thời hạ thấp yêu cầu Sau khi họ đã đạt được nấc thấp này, yêu cầu lại được tiếp tục tuần tự

nâng cao Làm như vậy cũng vẫn phù hợp với lí thuyết của Vưgôtxki về vùng pháttriển gần nhất Thật vậy, khi học sinh gặp khó khăn có nghĩa là yêu cầu đề ra còn ởnhững vùng phát triển quá xa Tạm thời hạ thấp yêu cầu tức là đã điều chỉnh yêucầu hướng về vùng phát triển gần nhất

d) Dạy học phân hóa

Sự phân bậc hoạt động cũng tạo khả năng thực hiện dạy học phân hóa Dạy

học phân hóa xuất phát từ sự biện chứng của thống nhất và phân hóa, từ yêu cầuđảm bảo thực hiện mục tiêu chung cho toàn thể học sinh, đồng thời khuyến khíchphát triển tối đa những khả năng của từng cá nhân Trong dạy học phân hóa, ngườithầy giáo cần tính tới những đặc điểm của cá nhân học sinh, chú ý tới từng đốitượng hay từng loại đối tượng về trình độ tri thức, kĩ năng, kĩ xảo đã đạt, về khảnăng tiếp thu, nhu cầu luyện tập, sở thích hứng thú và khuynh hướng nghề nghiệp,

để tích cực hóa hoạt động của học sinh trong học tập

Một khả năng dạy học phân hóa thường dùng là phân hóa nội tại, tức là dạy học

phân hóa trong nội bộ một lớp học thống nhất, chưa sử dụng hình thức tổ chức phânhóa bên ngoài như nhóm ngoại khóa, giáo trình tự chọn, lớp chuyên, phân ban v.v…

Sự phân bậc hoạt động có thể được lợi dụng để thực hiện dạy học phân hóanội tại theo cách cho những học sinh thuộc những loại trình độ khác nhau đồng thờithực hiện những hoạt động có cùng nội dung nhưng trải qua hoặc ở những mức độyêu cầu khác nhau

1.1.4 Những chức năng điều hành quá trình dạy học

Mục này được viết dựa theo Walsch và Weber 1975

Đó là một phương diện quan trọng của PPDH mà người thầy giáo thường sửdụng để lập kế hoạch dạy học từng tiết học Dưới đây, từng chức năng điều hànhquá trình dạy học sẽ được lần lượt trình bày

Trang 12

1.1.4.1 Đảm bảo trình độ xuất phát

Trong việc dạy học, người thầy giáo cần căn cứ vào những điều kiện có sẵn

để tạo được trình độ xuất phát cần thiết của người học nhằm đạt được những mụctiêu đặt ra Những suy nghĩ về mặt này cần hướng tới toàn bộ một nội dung nào đó,

có khi là một lĩnh vực rộng lớn chứ không phải chỉ hạn chế ở từng tiết học riêng lẻ

1.1.4.2 Hướng đích và gợi động cơ

1.1.4.3 Làm việc với nội dung mới

Chức năng điều hành này được gọi là “Làm việc với nội dung mới” chứ không gọi là “Giảng bài mới” để tránh một sự hiểu lầm nghiêm trọng là chỉ có

“thầy nói, trò nghe”.

1.1.4.4 Củng cố

Việc củng cố tri thức, kĩ năng một cách có định hướng và có hệ thống có một

ý nghĩa to lớn trong dạy học tin Điều đó trước hết là do cấu tạo của những giáotrình tin ở trường phổ thông theo cách là mỗi lĩnh vực nội dung mới đều dựa vàonhững lĩnh vực nội dung đã được học trước kia Củng cố cần được thực hiện đối vớitất cả các thành phần của nhân cách đã được phát biểu thành mục tiêu trong chươngtrình, tức là không phải chỉ đối với tri thức mà còn đối với cả kĩ năng, kĩ xảo, thóiquen và thái độ Tuy nhiên, việc củng cố chỉ có thể được thực hiện dựa vào nhữngnội dung cụ thể, vì vậy dưới đây chỉ xét chủ yếu là việc củng cố tri thức và kĩ năngtin học

Trong môn Tin, củng cố diễn ra dưới các hình thức luyện tập, đào sâu, ứng dụng, hệ thống hóa và ôn Trong thực tế dạy học, ít khi xảy ra trường hợp chỉ xuất

hiện một hình thức củng cố Hơn nữa một biện pháp nâng cao hiệu quả củng cố làthầy giáo biết lựa chọn và phối hợp nhiều hình thức củng cố đồng thời

1.1.4.5 Kiểm tra và đánh giá

1.1.4.5.1 Kiểm tra

Đối với giáo viên và học sinh, kiểm tra nhằm cung cấp cho thầy và trò nhữngthông tin về kết quả dạy học, trước hết là về tri thức và kĩ năng của học sinh, nhưngcũng lưu ý cả về mặt năng lực, thái độ và phẩm chất của họ cùng với sự diễn biến

Trang 13

của quá trình dạy học Hiểu theo nghĩa rộng như vậy thì kiểm tra bao gồm khôngphải chỉ những bài kiểm tra cuối chương, cuối học kì mà còn cả những việc làm đơngiản hơn nhiều: những câu hỏi học sinh trong quá trình dạy học bằng vấn đáp, việcxem vở chuẩn bị bài tập ở nhà v.v Như vậy, kiểm tra là một chức năng được thựchiện rất thường xuyên và thường được hòa nhập vào toàn bộ quá trình dạy học.

Kiểm tra có mục tiêu kép: mục tiêu đối với thầy và mục tiêu đối với trò

1.1.4.5.2 Đánh giá

Hiệu quả kiểm tra càng bộc lộ rõ nếu có kèm theo sự đánh giá đúng mức và

công bằng của thầy giáo và tập thể học sinh ở đây thuật ngữ đánh giá được hiểu

theo nghĩa rộng bao gồm tất cả các kiểu xác nhận, đồng tình hay không đồng tình,

kể từ cái gật đầu đồng ý đến sự đánh giá bằng lời cho tới việc cho điểm

Cơ sở quan trọng để đánh giá là những bài kiểm tra, nhưng ngoài ra còn phảicăn cứ vào cả quá trình theo dõi học sinh Hai học sinh cùng đạt một điểm số nhưnhau có thể được thầy đánh giá khác nhau

Mục tiêu kiểm tra và đánh giá không phải chỉ ở chỗ cho học sinh một điểm

số Điều quan trọng là qua đó phải phân tích kết quả, cho học sinh thấy chỗ mạnh vàchỗ yếu của mình, chỗ nào đã nắm vững, chỗ nào còn lỗ hổng hoặc sai sót, và nếu

có thể thì vạch rõ nguyên nhân sai lầm để thầy căn cứ vào đó mà có những phươnghướng, biện pháp giúp trò khắc phục

1.1.4.6 Hướng dẫn công việc ở nhà

Hướng dẫn công việc ở nhà bao gồm:

- Hướng dẫn học lí thuyết;

- Hướng dẫn bài tập ở nhà;

- Chuẩn bị cho bài sau về mặt tri thức, dụng cụ v.v

1.2 Phương pháp dạy học phân hóa trong môn Tin học

Dạy học phân hoá là một cách thức dạy học đòi hỏi phải tổ chức, tiến hành các hoạt động dạy học dựa trên những khác biệt của người học về năng lực, nhu cầu nhận thức, các điều kiện học tập nhằm tạo ra những kết quả học tập và sự phát

Trang 14

triển tốt nhất cho người học, đảm bảo công bằng trong giáo dục, tức là đảm bảo quyền bình đẳng về cơ hội học tập cho người học.

1.2.1 Tư tưởng chủ đạo

Việc kết hợp giữa giáo dục diện “đại trà” với giáo dục diện “mũi nhọn”,giữa “phổ cập” với “nâng cao” trong dạy học Tin học ở trường phổ thông cầnđược tiến hành theo các tư tưởng chủ đạo sau:

a) Lấy trình độ chung trong lớp làm nền tảng:

Trong việc dạy học tin học phải biết lấy trình độ phát triển chung và điềukiện chung của HS trong lớp làm nền tảng, phải hướng vào những yêu cầu thật

cơ bản Người giáo viên phải biết lựa chọn nội dung và phương pháp dạy họcphù hợp với trình độ và điều kiện chung của lớp

b) Sử dụng những biện pháp phân hoá đưa diện HS yếu kém lên trình độ chung

GV cần có những biện pháp làm sao đưa những HS yếu kém đạt đượcnhững tiền đề cần thiết để có thể hoà nhập vào học tập đồng loạt theo trình độchung của cả lớp

c) Cần có những nội dung bổ sung và biện pháp phân hoá giúp HS khá, giỏi đạt được những yêu cầu nâng cao trên cơ sở đã đạt được những yêu cầu

cơ bản

Trong cùng một giờ dạy GV có thể bổ sung những kiến thức nâng cao chodiện HS khá, giỏi sau khi đã hoàn thành xong những yêu cầu cơ bản của giờ học

Dạy học phân hóa có thể được thực hiện theo hai hướng:

- Phân hoá nội tại (còn gọi là phân hoá trong), tức là dùng những biện pháp

phân hoá thích hợp trong một lớp học thống nhất với cùng một kế hoạch học tập,cùng một chương trình và sách giáo khoa

- Phân hoá về tổ chức (còn gọi là phân hoá ngoài), tức là hình thành những

nhóm ngoại khoá, lớp chuyên, giáo trình tự chọn v.v…

1.2.2 Những biện pháp dạy học phân hoá nội tại

a) Đối xử cá biệt ngay trong những pha dạy học đồng loạt.

Trang 15

Theo tư tưởng chủ đạo, dạy học cần lấy trình độ chung trong lớp làm nền tảng,

do đó những pha cơ bản là những pha dạy học đồng loạt Nhưng trên thực tế nhậnthức của HS trong cùng một lớp là khác nhau; người GV cần có những biện phápphát hiện, phân loại được nhóm đối tượng HS về khả năng lĩnh hội tri thức, kỹ năng,

kỹ xảo, trình độ phát triển thông qua quan sát, kiểm tra, từ đó có những biện phápphân hoá nhẹ Do vậy khi thiết kế giáo án giảng dạy người GV cần phải gia công vềnội dung và nhiệm vụ cho từng đối tượng HS để làm sao thu hút được tất cả HS cùngtham gia tìm hiểu nội dung bài học bằng cách giao nhiệm vụ phù hợp với khả năngcủa từng em Khuyến khích HS yếu kém khi các em tỏ thái độ muốn trả lời câu hỏi,tận dụng những tri thức kỹ năng riêng biệt của từng HS

Trong cùng một lớp học thường tồn tại các nhóm học sinh yếu kém,nhóm học sinh trung bình và nhóm học sinh khá giỏi

Phân hoá việc giúp đỡ, kiểm tra, đánh giá học sinh: Đối tượng HS yếukém cần được quan tâm giúp đỡ nhiều hơn đối tượng HS khá giỏi, những câuhỏi vấn đáp đưa ra cần có sự gợi mở, chẻ nhỏ Nhưng không có nghĩa là đốitượng HS khá giỏi không được quan tâm mà việc quan tâm đến đối tượng HSkhá giỏi chỉ hạn chế tạo điều kiện cho nhóm này phát huy tối đa tính tự giác,độc lập, sáng tạo của các em

b) Tổ chức các pha phân hoá trên lớp

Trong quá tŕnh dạy học tuỳ vào nội dung bài học, vào những thời điểmthích hợp có thể thực hiện những pha phân hoá tạm thời, tổ chức cho HS hoạtđộng một cách phân hoá Biện pháp này được áp dụng khi tŕnh độ HS có sự saikhác lớn, có nguy cơ yêu cầu quá cao hoặc quá thấp nếu cứ dạy học đồng loạt

Trong những pha này, GV giao cho HS những nhiệm vụ phân hoá

thường thể hiện bởi bài tập phân hoá, điều khiển quá trình giải những bài tập này một cách phân hóa và tạo điều kiện giao lưu gây tác động qua lại cho ngườihọc Được thể hiện ở sơ đồ sau:

Trang 16

- Ra bài tập phân hoá là để tất cả các đối tượng HS có trình độ nhận thức

khác nhau có thể tiến hành những hoạt động khác nhau phù hợp với trình độ khác

nhau của họ Có thể phân hoá về yêu cầu bằng cách sử dụng những bài tập phân bậc hoặc ngay trong một bài tập, ta có thể tiến hành dạy học phân hoá nếu bài tập

đó đảm bảo yêu cầu hoạt động cho cả ba nhóm đối tượng HS: Bồi dưỡng lấp lỗhổng cho HS yếu kém, trang bị kiến thức chuẩn cho HS trung bình và nâng cao kiến

thức cho HS khá giỏi Cũng có thể phân hoá về mặt số lượng để hình thành một

kiến thức, rèn luyện một kỹ năng nào đó, số HS yếu kém cần nhiều bài tập cùng loạihơn số các HS khác Những HS giỏi, thừa thời gian sẽ nhận thêm những bài tậpkhác để đào sâu và nâng cao Vì vậy GV nên ra đủ liều lượng bài tập cho từng loạiđối tượng HS

- Điều khiển phân hóa GV có thể đưa ra những yêu cầu khác nhau về

mức độ hoạt động độc lập của HS, hướng dẫn nhiều hơn cho HS này, ít hoặc

không gợi ý cho HS khác tùy theo khả năng và trình độ của họ Đồng thời thầy

cần quan tâm cá biệt đến những HS có phần thiếu tự tin để động viên họ, lưu ý

những HS này hay tính toán nhầm, nhắc nhở HS kia đừng hấp tấp vội vàng, chủquan, thiếu chín chắn

- Tác động qua lại giữa những người học: Để dạy học phân hoá được hiệu

quả GV có thể áp dụng dạy học theo cặp hoặc theo nhóm Với những hình thức

Hoạt động của học sinh

Tác động qua lại giữa các học trò:

- thảo luận trong lớp

- quan tâm cá biệt.

Trang 17

này, có thể tận dụng chỗ mạnh của một số HS này để điều chỉnh nhận thức chonhững HS khác Thông qua hình thức này có sự tác động qua lại giữa các HStrong quá tŕnh dạy học HS được rèn luyện cách thức làm việc để cùng hoạt độngchung nhằm thực hiện một nhiệm vụ chung Có sự giao lưu trong tập thể và pháttriển những mối quan hệ xã hội.

c) Phân hoá bài tập về nhà

Cũng như ở trên lớp, những bài tập về nhà cũng sử dụng những pha phânhoá Trong việc làm này người GV cần lưu ý :

- Phân hoá về số lượng bài tập cùng loại: Tuỳ từng loại đối tượng mà GV ra

những bài tập thích hợp cho đối tượng đó Ví dụ học sinh yếu kém có thể ra nhiềubài tập cùng loại để các em thực hành, HS khá giỏi thêm những bài nâng cao

- Phân hoá về nội dung bài tập: Để tránh đòi hỏi quá cao đối với HS yếu

kém hoặc quá thấp đối với HS khá giỏi Cần ra riêng những bài tập nhằm đảm bảotrình độ xuất phát cho những HS yếu kém để chuẩn bị cho bài học sau và ra riêngnhững bài tập nâng cao cho học sinh giỏi

- Phân hoá yêu cầu về mặt tính độc lập: Bài tập cho HS khá giỏi đòi hỏi tư

duy nhiều, tư duy sáng tạo Bài tập cho HS yếu kém chứa nhiều yếu tố dẫn dắt hơn,chủ yếu bài tập mang tính rèn luyện kỹ năng

1.2.3 Bồi dưỡng học sinh giỏi

Việc bồi dưỡng học sinh giỏi cần được thực hiện ngay cả trong những tiếthọc đồng loạt, bằng những biện pháp phân hoá nội tại thích hợp

Trong mục này chỉ trình bày việc bồi dưỡng học sinh giỏi tin bằng nhữngbiện pháp tách riêng diện này Hai hình thức tổ chức thường dùng là: nhóm học sinhgiỏi tin và lớp phổ thông chuyên tin

1.2.3.1 Nhóm học sinh giỏi tin

Nhóm học sinh giỏi tin gồm những học sinh cùng một lớp hoặc cùng mộtkhối lớp, có khả năng về tin, yêu thích môn Tin và tự nguyện xin bồi dưỡng nângcao về môn này Để đảm bảo học sinh không học lệch, nhóm không nên nhậnnhững học sinh kém môn khác, dù rằng thành tích về môn Tin có thể cao

Trang 18

Về mặt ngoại khoá Tin học, những nhóm học sinh giỏi tin có thể coi như lựclượng nòng cốt của trường.

Mục đích bồi dưỡng nhóm học sinh giỏi tin là:

- Nâng cao hứng thú học tập môn Tin;

- Đào sâu và mở rộng tri thức trong giáo trình;

- Làm cho học sinh thấy rõ hơn vai trò của Tin học trong đời sống;

- Bồi dưỡng cho học sinh tác phong, phương pháp nghiên cứu và thói quen tựđọc sách (xem Phạm Văn Hoàn…1981, tr 262)

Nội dung bồi dưỡng nhóm học sinh giỏi tin bao gồm:

a) Nghe thuyết trình những tri thức tin học bổ sung cho nội khoá

Những tri thức bổ sung thường là một số thuật giải, một số cách tổ chức dưliệu Người thuyết trình có thể là thầy giáo, bản thân học sinh hoặc những ngườilàm công tác khoa học công nghệ

b) Giải những bài tập đề cao

Những bài tập đề cao nhằm đào sâu và mở rộng tri thức nội khoá Chúngthường mang những đặc điểm sau:

- Bài tập tổng hợp đòi hỏi vận dụng phối hợp nhiều tri thức;

- Bài tập nghiên cứu yêu cầu học sinh độc lập cao độ trong các khâu pháthiện, giải quyết vấn đề, trình bày và bảo vệ kết quả;

- Bài tập nghiên cứu yêu cầu học sinh vận dụng tri thức tin học để giải quyếtmột vấn đề trong thực tiễn, có thể mang tính chất địa phương và thời sự;

- Bài tập vui

Những bài tập như trên có thể tìm thấy nhiều trong báo “Tin học và nhà trường”

Có thể để học sinh trình bày về những bài tập như thế như là những kếtquả tìm tòi, nghiên cứu của bản thân mình, trao đổi và bảo vệ những kết quả đótrong tập thể

c) Học chuyên đề

Nội dung chuyên đề là những vấn đề tương đối lớn, bổ sung nội khoá vànâng cao tầm hiểu biết cho học sinh, chẳng hạn những phương pháp khử đệ qui,

Trang 19

d) Tham quan, thực hành và ứng dụng tin học

Điều này không những chỉ để nâng cao kiến thức của học sinh mà còn nhằmthực hiện nguyên lí giáo dục học đi đôi với hành, lí thuyết gắn liền với thực tiễn,nhà trường gắn liền với xã hội

e) Làm nòng cốt cho những sinh hoạt ngoại khoá về tin

Những hoạt động loại này là: viết báo tin, tổ chức câu lạc bộ tin, viết phầnmềm đơn giản v.v…

Hoạt động của thành viên nhóm học sinh giỏi mang tính độc lập cao và tínhnghiên cứu thể hiện ở những khả năng phát hiện vấn đề, tìm phương hướng giảiquyết, tự bồi dưỡng kiến thức, kĩ năng như phương tiện giải quyết vấn đề, biết trìnhbày, lí giải và bảo vệ kết quả nghiên cứu

1.2.3.2 Lớp phổ thông chuyên tin

Hiện nay ở nước ta, những học sinh giỏi tin ở trường trung học phổ thôngthường được tập hợp thành những lớp đặc biệt, giao cho một số trường đại học hoặctuyển chọn những giáo viên giỏi tin ở trường phổ thông phụ trách Đó là những lớpphổ thông chuyên Tin (PTCT)

Mục tiêu của những lớp này là phát hiện những học sinh có năng lực tin học,bồi dưỡng các em phát triển tốt về mặt này trên cơ sở giáo dục toàn diện, góp phầnđào tạo đội ngũ cán bộ khoa học kĩ thuật giỏi, trong số đó một số có thể trở thànhnhân tài của đất nước

1.3 Thực trạng và công tác giảng dạy, bồi dưỡng học sinh giỏi tin học hiện nay ở Đà Lạt

Công tác tuyển sinh đầu vào môn chuyên Tin học của trường THPT ChuyênThăng Long – Đà Lạt hằng năm không tổ chức được vì số lượng học sinh đăng kýmôn Tin chỉ thường từ 1 đến 3 học sinh Vì vậy, nhà trường thường xét tuyển họcsinh không đủ điểm đầu vào của các môn chuyên tự nhiên khác nhưng có nguyệnvọng 2 là môn Tin Do đó, lực học của học sinh lớp 10 chuyên tin rất yếu so với họcsinh các lớp chuyên tự nhiên khác Mặc dù số học sinh này có đăng ký nguyện vọngvào lớp chuyên tin nhưng các em cũng không thật sự yêu thích môn chuyên và cũng

Trang 20

không hình dung được chương trình học của môn chuyên tin sẽ như thế nào, nênphần đông các em gặp khó khăn trong học tập

Về phần GV, đa số vẫn sử dụng các phương pháp dạy học truyền thống đểtruyền thụ kiến thức cho HS Do đó với khối lượng kiến thức khổng lồ và thời lượngkhông đủ để chuyển tải kiến thức làm cho cả GV và HS đều cảm thấy quá nặng nề

Trang 21

Kết luận chương I.

Dạy học phân hóa là phương pháp dạy học dựa trên sự phân hóa về trình độ,năng lực nhận thức của học sinh mà có những ứng xử, hoạt động của thầy một cáchthích hợp nhằm nâng cao hiệu quả dạy học

Đặc điểm của lớp chuyên Tin ở trường THPT Chuyên Thăng Long - Đà Lạt

là chưa tổ chức thi tuyển đầu vào vì một phần là số học sinh đăng kí thi vào mônTin thường chỉ tầm từ 1 đến 3 học sinh nên không thể tổ chức được môn thi Bêncạnh đó việc phát hiện các nhân tố nổi bậc để tham gia các kì thi học sinh giỏi cáccấp và đào tạo nguồn nhân lực có tri thức đáp ứng yêu cầu của thực tế là nhiệm vụquang trọng của các trường THPT Chuyên Do đó, phương pháp dạy học phân hóa

sẽ thích hợp cho giáo viên trong việc đảm bảo chất lượng dạy “đại trà” và đào tạo

“mũi nhọn”

Trang 22

Chương 2: DẠY HỌC CÁC CHIẾN LƯỢC THIẾT KẾ

THUẬT TOÁN CHO HỌC SINH GIỎI BẰNG PHƯƠNG PHÁP DẠY HỌC PHÂN HÓA

2.1 Nội dung dạy học các chiến lược thiết kế thuật toán

2.1.1 Một số khái niệm cơ sở

2.1.1.1 Thứ tự từ điển

Quan hệ thứ tự toàn phần “nhỏ hơn hoặc bằng” ký hiệu “≤” trên một tập hợp

S, là quan hệ hai ngôi thỏa mãn bốn tính chất:

Với  a, b , c S

- Tính phổ biến: hoặc là a ≤ b, hoặc b ≤ a

- Tính phản xạ: a ≤ a

- Tính phản đối xứng: nếu a ≤ b và b ≤ a thì bắt buộc a = b

- Tính bắt cầu: nếu có a ≤ b và b ≤ c thì bắt buộc a ≤ c

Các quan hệ ≥, >, < có thể suy ra từ quan hệ ≤ này

Trên các dãy hữu hạn, người ta cũng xác định một quan hệ thứ tự:

Xét a1, a2, …, an và b1, b2, …, bn là hai dãy độ dài n, trên các phần tử của a và

b đã có quan hệ thứ tự toàn phần “≤” Khi đó a1, a2, …, an ≤ b1, b2, …, bn nếu như:

- Hoặc hai dãy giống nhau: ai = bi, i:1 ≤ i ≤ n

- Hoặc tồn tại một số nguyên dương k ≤ n để ak < bk và ai = bi, i: 1 ≤ i ≤ kThứ tự đó gọi là thứ tự từ điển trên các dãy độ dài n

Khi hai dãy a và b có số phần tử khác nhau, người ta cũng xác định được thứ

tự từ điển Bằng cách thêm vào cuối dãy a hoặc dãy b những phần tử đặc biệt gọi là

 để độ dài của a và b bằng nhau, và coi những phần tử  này nhỏ hơn tất cả nhữngphần tử khác, ta lại đưa về xác định thứ tự từ điển của hai dãy cùng độ dài

2.1.1.2 Chỉnh hợp, tổ hợp, hoán vị

Cho S là một tập hữu hạn gồm n phần tử và k là một số tự nhiên Gọi X làtập các số nguyên dương từ 1 đến k: X = {1, 2, …, k}

Chỉnh hợp lặp

Một ánh xạ f: X S cho tương ứng mỗi phần tử i  X một và chỉ một phần

tử f(i)  S, được gọi là một chỉnh hợp lặp chập k của S Do X là tập hữu hạn (k

Trang 23

phần tử) nên ánh xạ f có thể xác định qua bảng các giá trị (f(1), f(2), …, f(k)), vìvậy ta có thể đồng nhất f với dãy giá trị (f(1), f(2), …, f(k)) và coi dãy giá trị cũng làmột chỉnh hợp lặp chập k của S.

Ví dụ: S = {A, B, C, D, E, F}; k = 3 Một ánh xạ f cho bởi:

Ví dụ: (A, C, E) là một chỉnh hợp không lặp chập 3 của tập S= {A, B, C, D, E, F}

Số chỉnh hợp không lặp chập k của tập n phần tử là (n k-n! )!

Hoán vị

Khi k = n mỗi song ánh f: X S được gọi là một hoán vị của S Nói cách

khác một hoán vị của S là một chỉnh hợp không lặp chập n của tập S

Ví dụ: (A, D, C, E, B, F) là một hoán vị của tập S = { A, B, C, D, E, F}.

Số hoán vị của tập n phần tử là: n!

Tổ hợp

Mỗi tập con gồm k phần tử của S được gọi là một tổ hợp chập k của S

Ví dụ: (A, C, D) là một tập con 3 phần tử của tập S = { A, B, C, D, E, F}.

Lấy một tập con k phần tử của S, xét tất cả k! hoán vị của tập con này Dễ thấyrằng các hoán vị đó là chỉnh hợp không lặp chập k của S Điều đó tức là khi liệt kê tất

cả các chỉnh hợp không lặp chập k thì mỗi tổ hợp chập k sẽ được tính k! lần

Số tổ hợp chập k của tập n phần tử là: !

!( )!

n

k n k-

Trang 24

2.1.2 Các chiến lược thiết kế thuật toán

2.1.2.1 Quay lui -vét cạn

Kĩ thuật quay lui (backtracking) như tên gọi của nó, là một quá trình phântích đi xuống và quay lui trở lại theo con đường đã đi qua Tại mỗi bước phân tíchchúng ta chưa giải quyết được vấn đề do còn thiếu cứ liệu nên cứ phải phân tích chotới các điểm dừng, nơi chúng ta xác định được lời giải của chúng hoặc là xác địnhđược là không thể (hoặc không nên) tiếp tục theo hướng này Từ các điểm dừng nàychúng ta quay ngược trở lại theo con đường mà chúng ta đã đi qua để giải quyết cácvấn đề còn tồn đọng và cuối cùng ta sẽ giải quyết được vấn đề ban đầu

Ở đây chúng ta sẽ xét 3 kĩ thuật quay lui: “vét cạn” là kĩ thuật phải đi tới tất

cả các điểm dừng rồi mới quay lui “Cắt tỉa Alpha-Beta” và “Nhánh Cận” là hai

kĩ thuật cho phép chúng ta không cần thiết phải đi tới tất cả các điểm dừng, mà chỉcần đi đến một số điểm nào đó và dựa vào một số suy luận để có thể quay lui sớm.Các kĩ thuật này sẽ được trình bày thông qua một số bài toán cụ thể sau

Ví dụ: Sử dụng chiến lược quay lui dùng để giải bài toán liệt kê các cấu hình.

Mỗi cấu hình được xây dựng bằng cách xây dựng từng phần tử, mỗi phần tử được chọn bằng cách thử tất cả các khả năng

Phương pháp quay lui:

Giả thiết cấu hình cần liệt kê có dạng (x1,x2, ,xn), khi đó thuật toán quay lui được thực hiện qua các bước sau:

1) Xét tất cả các giá trị x1 có thể nhận, thử cho x1 nhận lần lượt các giá trị đó.Với mỗi giá trị thử cho x1 ta sẽ:

2) Xét tất cả các giá trị x2 có thể nhận, lại thử cho x2 nhận lần lượt các giá trị

đó Với mỗi giá trị thử gán cho x2 lại xét tiếp các khả năng chọn x3 cứ tiếp tục như vậy đến bước:

n) Xét tất cả các giá trị xn có thể nhận, thử cho xn nhận lần lượt các giá trị

đó, thông báo cấu hình tìm được (x1, x2, , xn)

Mô hình của thuật toán quay lui:

Thuật toán quay lui có thể được mô tả bằng đoạn mã giả (pseudocode) sau:

{Thủ tục này thử cho xi nhận lần lượt các giá trị mà nó có thể nhận}

Trang 25

Procedure Try(i: Integer);

Bài toán: Có một tập C các ứng viên và một hàm f để đánh giá cho điểm các

ứng viên Hãy tìm ứng viên được đánh giá có điểm cao nhất

Phương pháp giải: Duyệt tất cả các ứng viên, tính điểm cho từng ứng viên,

sau đó lấy ứng viên có điểm cao nhất

Chúng ta xét một ví dụ đơn giản

Bài toán: Cho tập C gồm n số nguyên dương Hãy tìm số chính phương lớn nhất

trong C biết rằng số chính phương là số bằng bình phương của một số nguyên khác.

Trang 26

Lời giải của bài toán bằng phương pháp vét cạn:

Vấn đề của vét cạn: Liệt kê các ứng viên

Phương pháp vét cạn tưởng rằng tầm thường nhưng thực sự không tầmthường chút nào bởi vì không phải trong trường hợp nào các ứng viên cũng dễ nhậnthấy và đã “sếp hàng” sẵn để được duyệt như trong ví dụ đơn giản nêu trên Nghĩa

là, vấn đề trong phương pháp vét cạn là làm sao để liệt kê được tất cả các ứng viên.Một khi đã liệt kê được các ứng viên, việc chấm điểm cho từng ứng viên và chọn raứng viên có điểm cao nhất chỉ còn là việc làm đơn giản

Một phương pháp hay được dùng để liệt kê các ứng viên là tổ chức khônggian ứng viên theo một cấu trúc cây, mỗi ứng viên trên một nút (thường là lá) củacây Đặc điểm của cây biểu diễn không gian ứng viên là các ứng viên trên các nút

có quan hệ cha-con hoặc anh-em giống nhau ở một bộ phận nào đó Một khi cấutrúc cây biểu diễn không gian ứng viên được thiết lập, chúng ta có thể áp dụng thủtục duyệt cây (theo chiều rộng hoặc theo chiều sâu) để liệt kê các ứng viên Câybiểu diễn không gian ứng viên có thể rất lớn và sẽ mất nhiều thời gian để tạo cũngnhư yêu cầu nhiều không gian để lưu trữ Tuy nhiên, cây này chỉ mang tính trừutượng, làm cơ sở cho việc duyệt (chọn nút tiếp theo được thăm), mà không phải

Trang 27

Các bước thiết lập cây biểu diễn không gian ứng viên được mô tả chung như sau:

- Xác định các tính chất của ứng viên dùng để phân loại ứng viên

- Với tính chất thứ nhất, phân hoạch các ứng viên theo tính chất này, nghĩa làchia tập ứng viên thành các tập con theo đó các phần tử thuộc cùng một tập congiống nhau ở tính chất thứ nhất, hai phần tử thuộc hai tập con khác nhau sẽ khácnhau ở tính chất thứ nhất Tạo các cây con từ gốc, mỗi cây con tương ứng với mộttập con vừa nhận được

- Với mỗi tập con, sử dụng tính chất thứ hai để phân hoạch tập con này Kếtquả thu được là các tập con nhỏ hơn Từ gốc của cây con tương ứng với tập conđang xét, tạo các nhánh tương ứng với các tập con nhỏ hơn

- Quá trình cứ tiếp tục như vậy cho đến khi chúng ta xét hết các tính chất củaứng viên và thu được một cây biểu diễn không gian ứng viên

Chúng ta xét một số ví dụ sau đây

Một số ví dụ

Ví dụ 1: Cái giá (còn có tên là Knapsack 0/1)

Bài toán: Cho n đồ vật có khối lượng lần lượt là w 1 , w 2 , …, w n và một cái giá

chịu được khối lượng tối đa là W Hãy để các đồ vật lên giá sao cho tổng khối lượng

các đồ vật được để trên giá là lớn nhất có thể

Ví dụ với 3 vật có khối lượng lần lượt là 6, 4, 3 và một cái giá có thể chịukhối lượng tối đa là 8, phương án tốt nhất là để hai vật có khối lượng 4 và 3 lên giá

Để giải bài toán này bằng phương pháp vét cạn, trước hết chúng ta phải xácđịnh dạng của ứng viên và hàm đánh giá ứng viên Mỗi một tập con (bao gồm cácvật được chọn để đặt lên giá) của tập tất cả các vật là một ứng viên Ta có thể biểu

diễn mỗi ứng viên bằng một xâu nhị phân c = x 1 x 2 …x n với ý nghĩa vật thứ i được để trên giá nếu x i = 1 và không được để trên giá nếu x i = 0 Hàm đánh giá ứng viênđược xác định như sau:

Trang 28

Trong ví dụ trên, tập các ứng viên là C= {000, 001, 010, 011, 100, 101,110, 111}; điểm đánh giá các ứng viên lần lượt là 0, 3, 4, 7, 6, 0, 0, và 0; ứng viên được chọn là 011.

Tiếp theo, chúng ta cần thiết lập cây biểu diễn không gian ứng viên Chúng

ta sử dụng n tính chất để phân hoạch các ứng viên đó là: vật thứ nhất được đưa lên giá (x 1 =1), vật thứ hai được đưa lên giá (x 2 =1), …, vật thứ n được đưa lên giá (x n =1) Với n tính chất này, thực hiện thủ tục thiết lập cây biểu diễn không gian ứng viên được mô tả ở trên, chúng ta thu được một cây nhị phân đầy đủ có chiều cao n,

bao gồm 2n lá, mỗi lá biểu diễn một ứng viên Trong ví dụ trên, cây biểu diễn khônggian ứng viên có dạng như sau:

Hình 2.1: Cây biểu diễn không gian ứng viên của bài toán Cái giá với n =3.

Cuối cùng, chúng ta áp dụng thủ tục duyệt cây theo chiều sâu (không nên sửdụng duyệt theo chiều rộng trong trường hợp này vì phải lưu trữ nhiều thông tinđồng thời) để tìm ứng viên tốt nhất (phương án đặt vật lên giá tốt nhất) Thủ tụcduyệt được mô tả đệ quy như sau:

ungvienDuocChon := ‘0….0’;

diemCaonhat := 0

duyet(1, ‘’);

Trang 29

duyet(i+1, c & ‘1’);

duyet(i+1, c & ‘0’);

end;

Ví dụ 2: Tìm đường đi dài nhất

Bài toán: Cho một lưới các ô vuông, mỗi ô được tô một màu: tím hoặc vàng.

Hai ô được gọi là liền kề nếu chúng có chung cạnh Một đường đi trong lưới là mộtdãy liên tiếp các ô vàng trong đó hai ô liên tiếp bất kỳ liền kề với nhau và không có

ô nào xuất hiện trong dãy quá một lần Hãy tìm đường đi dài nhất (có nhiều ô nhất)xuất phát từ ô ở góc trên trái và kết thúc tại ô ở góc dưới phải

Hình 2 cho chúng ta một ví dụ về lưới và đường đi dài nhất xuất phát từ ô ởgóc trên trái và kết thúc tại ô ở góc dưới phải

Hình 2.2: Một đường đi dài nhất trên lưới.

Cũng như trên, để giải bài toán này bằng phương pháp vét cạn, trước hếtchúng ta phải xác định dạng của ứng viên và hàm đánh giá ứng viên Mỗi ứng viên

là một đường đi xuất phát từ ô ở góc trên trái và kết thúc tại ô ở góc dưới phải

Chúng ta sẽ biểu diễn mỗi ứng viên c bằng một lưới kích thước m×n như lưới ban

đầu trong đó các ô trên đường đi được đánh số thứ tự liên tiếp bắt đầu từ ô xuất

phát Hàm đánh giá ứng viên được xác định là f(c) = c(m, n) (giá trị ô (m, n)).

Trang 30

Hình 2.3: Biểu diễn m ột ứng viên có điểm đánh giá f(c) = 9.

Để phân loại ứng viên, chúng ta sử dụng hướng đi tại mỗi ô được định nghĩanhư sau:

Với (i, j) là một ô thuộc đường đi, đường đi được gọi là hướng xuống tại (i, j) nếu ô kế tiếp trên đường đi là (i+1, j), là hướng lên tại (i, j) nếu ô kế tiếp trên đường

đi là (i-1, j), là hướng trái tại (i, j) nếu ô kế tiếp trên đường đi là (i, j-1), là hướng phải tại (i, j) nếu ô kế tiếp trên đường đi là (i, j+1) Với các hướng đi được

định nghĩa như vậy, thực hiện thủ tục thiết lập cây biểu diễn không gian ứng viên,chúng ta thu được một cây tứ phân Hình 4 cho chúng ta một ví dụ về cây biểu diễnkhông gian ứng viên với lưới được vẽ trong Hình 2

Hình 2.4: Một cây biểu diễn không gian ứng viên của bài toán Tìm đường đi dài nhất.

Ký hi.ệu (i) m×n là lưới kích thước m×n với các ô vàng có giá trị bằng i, các ô

màu tím có giá trị bằng -1

Kết luận

Vấn đề chính trong sử dụng phương pháp vét cạn để giải toán là liệt kê cácứng viên Một phương pháp hay được sử dụng là thiết lập cây biểu diễn không gianứng viên rồi áp dụng một thủ tục duyệt cây để liệt kê các ứng viên Bài viết đã đưa

ra một phương pháp chung để thiết lập cây biểu diễn không gian ứng viên Phương

Trang 31

pháp này gợi ý cho chúng ta sử dụng một số tính chất để phân loại ứng viên và thủtục thiết lập cây biểu diễn không gian ứng viên.

Vét cạn là cơ sở cho hai phương pháp khác là quay lui và nhánh cận Cả vétcạn, quay lui và nhánh cận đều thực hiện duyệt cấu trúc cây biểu diễn không gianứng viên Điểm phân biệt giữa vét cạn, quay lui và nhánh cận là trong quá trình

duyệt (theo chiều sâu) cây, phương pháp quay lui sử dụng một hàm điều kiện, tại

mỗi nút nếu hàm điều kiện không thỏa mãn, toàn bộ cây con có gốc tại nút hiện tại

được bỏ qua; phương pháp nhánh cận sử dụng một hàm tính cận để tính trước điểm

tối đa (cận) có thể đạt được đối với các ứng viên thuộc cây con có gốc tại nút hiệntại, nếu cận này không cao hơn điểm của ứng viên đã biết thì toàn bộ cây con có gốctại nút hiện tại được bỏ qua

2.1.2.2 Tham lam

Bài toán tối ưu tổ hợp là một dạng của bài toán tối ưu, nó có dạng tổng quátnhư sau:

- Cho hàm f(X) = xác định trên một tập hữu hạn các phần tử D Hàm f(X)

được gọi là hàm mục tiêu

- Mỗi phần tử X  D có dạng X = (x1, x2, xn) được gọi là một phương án

- Cần tìm phương án X  D sao cho hàm f(X) đạt min (max) phương án Xnhư thế được gọi là phương án tối ưu

Ta có thể tìm thấy phương án tối ưu bằng phương pháp “vét cạn” nghĩa là xéttất cả các phương án trong tập D (hữu hạn) để xác đinh phương án tốt nhất Mặc dùtập hợp D là hữu hạn nhưng để tìm phương án tối ưu cho một bài toán kích thước nbằng phương pháp “vét cạn” ta có thể cần một thời gian mũ

Các phần tiếp theo của chương này sẽ trình bày một số kĩ thuật giải bài toántối ưu tổ hợp mà thời gian có thể chấp nhận được

Nội dung kĩ thuật tham ăn

Tham ăn hiểu một cách dân gian là: trong một mâm có nhiều món ăn, mónnào ngon nhất ta sẽ ăn trước và ăn cho hết món đó thì chuyển sang món ngon thứhai, lại ăn hết món ngon thứ hai này và chuyển sang món ngon thứ ba… Kĩ thuật

Trang 32

tham ăn thường được vận dụng để giải bài toán tối ưu tổ hợp bằng cách xây dựngmột phương án X Phương án X được xây dựng bằng cách lựa chọn từng thànhphần Xi của X cho đến khi hoàn chỉnh (đủ n thành phần) Với mỗi Xi, ta sẽ chọn Xitối ưu Với cách này thì có thể ở bước cuối cùng ta không còn gì để chọn mà phảichấp nhận một giá trị cuối cùng còn lại

Áp dụng kĩ thuật tham ăn sẽ cho một giải thuật thời gian đa thức, tuy nhiênnói chung chúng ta chỉ đạt được một phương án tốt chứ chưa hẳn là tối ưu

2.1.2.3 Chia để trị

Có thể nói rằng kĩ thuật quan trọng nhất, được áp dụng rộng rãi nhất để thiết

kế các giải thuật có hiệu quả là kĩ thuật "chia để trị" (divide and conquer) Chia đểtrị là một phương pháp thiết kế giải thuật cho các bài toán mang bản chất đệ qui:

Ðể giải một bài toán kích thước n, ta chia bài toán đã cho thành một số bài toán conđồng dạng có kích thước nhỏ hơn Giải các bài toán con này rồi tổng hợp kết quả lại

để được lời giải của bài toán ban đầu Ðối với các bài toán con, chúng ta lại sử dụng

kĩ thuật chia để trị để có được các bài toán kích thước nhỏ hơn nữa Quá trình trên

sẽ dẫn đến những bài toán mà lời giải chúng là hiển nhiên hoặc dễ dàng thực hiện,

ta gọi các bài toán này là bài toán cơ sở

Tóm lại kĩ thuật chia để trị bao gồm hai quá trình: Phân tích bài toán đã chothành các bài toán cơ sở và tổng hợp kết quả từ bài toán cơ sở để có lời giải của bàitoán ban đầu Tuy nhiên đối với một số bài toán, thì quá trình phân tích đã chứađựng việc tổng hợp kết quả do đó nếu chúng ta đã giải xong các bài toán cơ sở thìbài toán ban đầu cũng đã được giải quyết Ngược lại có những bài toán mà quá trìnhphân tích thì đơn giản nhưng việc tổng hợp kết quả lại rất khó khăn

2.1.2.4 Qui hoạch động

a Khái niệm:

Phương pháp quy hoạch động (Dynamic Programming) do nhà toán học

người Mỹ Richard Bellman (1920-1984) phát minh năm 1953 Phương pháp nàydùng để giải các bài toán tối ưu có 3 tính chất sau:

Trang 33

- Bài toán có thể phân rã thành những bài toán con đồng dạng, những bàitoán con đó có thể phân rã thành những bài toán con nhỏ hơn.

- Lời giải tối ưu của các bài toán con có thể sử dụng để tìm ra lời giải tối ưucủa bài toán lớn

- Hai bài toán con trong quá trình phân rã có thể có chung một số bài toán con khác.Điểm khác nhau cơ bản giữa quy hoạch động và phương pháp đệ quy là: Cùngvới tính chất thứ 3 và cơ chế lưu trữ nghiệm hay một phần nghiệm của mỗi bài toán khigiải xong nhằm mục đích sử dụng lại mà phương pháp quy hoạch động hạn chế thaotác thừa trong quá trình tính toán Do đó tiết kiệm bộ nhớ và cải thiện được tốc độ

b Đặc điểm chung của quy hoạch động:

Quy hoạch động bắt đầu từ việc giải tất cả các bài toán nhỏ nhất (bài toán cơsở) để từ đó từng bước giải quyết những bài toán lớn hơn cho tới khi giải được bàitoán lớn nhất (bài toán ban đầu)

Ý tưởng cơ bản của phương pháp quy hoạch động là tránh tính toán lại cácbài toán con đã xét, nói cách khác phương pháp quy hoạch động đã thể hiện sứcmạnh của nguyên lý chia để trị đến cao độ

Các cách thực hiện phương pháp quy hoạch động: Quy hoạch động

thường dùng một trong 2 cách tiếp cận sau:

- Tiếp cận từ dưới lên (bottom up)

- Tiếp cận từ trên xuống (top down)

Cách tiếp cận từ dưới lên hiệu quả hơn nên cách tiếp cận từ dưới lên (bottomup) thường được sử dụng nhiều hơn

Các nguyên tắc cơ bản của quy hoạch động

- Nguyên tắc đánh số các giai đoạn từ dưới lên

- Nguyên tắc thông số hóa bài toán

- Nguyên tắc lồng

- Nguyên lý tối ưu Bellman

Ta biết rằng quy hoạch động thường dùng để giải bài toán tối ưu Bài toányêu cầu tìm một giải pháp tốt nhất trong các giải pháp có thể tìm được Cơ sở củaquy hoạch động trong bài toán tối ưu là nguyên lý tối ưu Bellman

Trang 34

Nguyên lý tối ưu Bellman được phát biểu như sau: “Dãy tối ưu các quyếtđịnh trong một quá trình quyết định nhiều giai đoạn có thuộc tính là dù trạng thái vàcác quyết định ban đầu bất kể như thế nào, những quyết định còn lại phải tạo thànhmột cách giải quyết tối ưu không phụ thuộc vào trạng thái được sinh ra từ nhữngquyết định ban đầu”

Hay nói cách khác: “Giải pháp tối ưu cho bài toán P cần chứa giải pháp tối

ưu cho các bài toán con của P” Do vậy khi giải bài toán theo quy hoạch động nếudùng một phương pháp gồm nhiều bước tiến hành thì điều kiện cần để giải pháp nàytối ưu là nó được xây dựng từ nghiệm tối ưu của những bước trước

Các bước giải bài toán tối ưu bằng quy hoạch động

Bước 1: Thông số hóa bài toán và lập công thức truy hồi

Bước 2: Tổ chức dữ liệu và chương trình

Bước 3: Truy vết, tìm nghiệm của bài toán dựa vào bảng phương án

Ưu điểm và hạn chế của phương pháp quy hoạch động

Ưu điểm: Tiết kiệm được thời gian thực hiện vì không cần phải tính đi tínhlại nhiều lần một số bài toán con giống nhau

Hạn chế: Việc tìm công thức truy hồi hoặc tìm cách phân rã bài toán nhiềukhi đòi hỏi sự phân tích tổng hợp rất công phu, dễ sai sót, khó nhận ra như thếnào là thích hợp, đòi hỏi nhiều thời gian suy nghĩ Đồng thời không phải lúc nàokết hợp lời giải của các bài toán con cũng cho kết quả của bài toán lớn hơn Khibảng lưu trữ đòi hỏi mảng hai, ba chiều … thì khó có thể xử lý dữ liệu với kích

cỡ mỗi chiều lớn đến hàng trăm Có những bài toán tối ưu không thể giải đượcbằng quy hoạch động

Tóm lại:

Không phải lúc nào việc kết hợp các bài toán con cũng cho ta kết quả của bàitoán lớn hơn Hay nói cách khác là việc tìm kiếm "công thức truy hồi" rất khó khăn.Ngoài ra, số lượng các bài toán con cần lưu trữ có thể rất lớn, không chấp nhậnđược vì dữ liệu và bộ nhớ máy tính không cho phép

Trang 35

Quy hoạch động là một phương pháp hay và hiệu quả, nó có thể giải đượchầu hết các bài toán tối ưu Tuy nhiên, khi giải bài toán theo hướng quy hoạch động,

ta cần phải tìm công thức truy hồi thật chính xác và chứng minh độ chính xác tincậy của nó

Cho đến nay, vẫn chưa có một định lý nào cho biết chính xác một bài toántối ưu nào có thể giải quyết hiệu quả bằng quy hoạch động Tuy nhiên, để biết đượcbài toán có thể giải bằng phương pháp quy hoạch động hay không, ta có thể tự đặtcâu hỏi: “ Một nghiệm tối ưu của bài toán lớn có phải là phối hợp các nghiệm tối ưucủa các bài toán con hay không?” và “Liệu có thể nào lưu trữ được nghiệm các bàitoán con dưới một hình thức nào đó để phối hợp tìm nghiệm của bài toán lớn?”

2.2 Áp dụng phương pháp dạy học phân hóa vào dạy các chiến lược quay lui vét cạn và qui hoạch động.

2.2.1 Tổ chức những pha phân hóa trên lớp

2.2.1.1 Điều khiển phân hóa của giáo viên trong quá trình dạy học

Căn cứ vào việc tổ chức những pha phân hóa trên lớp mà GV có nhữnghoạt động điều khiển phân hóa trong quá trình dạy học, GV có thể định ra cácyêu cầu khác nhau về mức độ độc lập, độ thành thạo của HS, hướng dẫn nhiềuhơn cho nhóm HS này, ít hay không gợi ý cho nhóm HS khác, tùy theo khả năng

và trình độ của HS

2.2.1.1.1 Đưa ra các yêu cầu khác nhau đối với từng đối tượng học sinh

Trong cùng một bài toán hay giữa các bài toán khác nhau, GV có thể phânbậc hoạt động từ mức độ dễ đến khó dần và từ đó đưa ra các yêu cầu về mức độ cầnđạt được đối với từng đối tượng học sinh

Ví dụ 1: (dạng toán quay lui)

Bài 1: Liệt kê các dãy nhị phân có độ dài n.

Yêu cầu:

a, Liệt kê các dãy nhị phân có độ dài bằng 3 và vẽ cây tìm kiếm quay lui liệt

kê các dãy nhị phân trên

b, Mô tả thuật toán theo mô hình quay lui

Trang 36

c, Lập trình giải bài toán trên.

Bài 2: Liệt kê các chỉnh hợp không lặp chập k của n phần tử {1, 2, …, n} Yêu cầu:

a, Liệt kê các cấu hình trên với k = 3, n = 4 và k=4, n= 4 vẽ cây tìm kiếmquay lui liệt kê các chỉnh hợp không lặp trên

b, Mô tả thuật toán theo mô hình quay lui

c, Lập trình giải bài toán trên

Ở hai ví dụ này, sự phân bậc hoạt động thể hiện qua 3 mức độ từ thấp đếncao, đó là: liệt kê các cấu hình; dùng hình vẽ và ngôn ngữ tự nhiên để mô tả thuậttoán; cuối cùng là dùng ngôn ngữ lập trình để cài đặt chương trình Việc phân bậchoạt động như trên được căn cứ vào hai phương diện: Một là, sự trừu tượng và kháiquát của đối tượng được thể hiện qua việc yêu cầu HS liệt kê với số phần tử từ cụ

thể từ ít đến nhiều Hai là, chất lượng của hoạt động thể hiện qua mức độ thành thạo

đối với từng đối tượng HS

Đối với HSTB, GV yêu cầu làm được câu a, câu b, còn câu c chỉ yêu cầu họcsinh hiểu và trình bày lại được việc xây dựng chương trình; còn HSK, HSG phảiđộc lập cài đặt được chương trình

Hướng dẫn:

Đối với bài 1, để tránh liệt kê trùng hoặc xót dãy nhị phân ở câu a, học sinhcần biết liệt kê các dãy nhị phân theo thứ tự Với mỗi phần tử ta cần vét hết các khảnăng có thể gán cho nó (0,1), lần lược từ phần tử thứ 1 đến phần tử thứ n Học sinh

có thể dễ dàng liệt kê được Dựa vào cách liệt kê các cấu hình, học sinh vẽ minh họacây tìm kiếm quay lui; căn cứ vào cách liệt kê và vẽ hình ở câu a HS có thể mô tảlại thuật toán câu b; câu c đòi hỏi học sinh cài đặt bằng ngôn ngữ lập trình

Qua câu a của bài 2, ta có nhận xét, khi k = n thì bài toán trên trở thành bàitoán liệt kê các hoán vị Khi cài đặt chương trình câu c, HS sẽ gặp khó khăn là làmthế nào để biết được một giá trị nào đó từ 1 đến n đã được các phần tử đứng trướcchọn hay chưa chọn?

Chính điều này thể hiện sự phức tạp của đối tượng làm cho bài 2 có độ khó

Trang 37

Bài 3: Bài toán xếp hậu.

Cho bàn cờ tổng quát kích thước n × n Một quân hậu trên bàn cờ có thể ănđược các quân hậu khác nằm tại các ô cùng hàng, cùng cột hoặc cùng đường chéo.Hãy tìm cách xếp n quân hậu trên bàn cờ sao cho không quân nào ăn quân nào

Yêu cầu:

a, Mô tả thuật toán theo mô hình quay lui

b, Lập trình giải bài toán trên

Đối với bài này, cách làm tương tự như bài liệt kê các chỉnh hợp không lặpchập k của n phần tử ở bài 2 Tuy nhiên ở kỹ thuật đánh dấu chỉ khác là ta cần dùngtới 3 mảng một chiều kiểu logic (cột, chéo ĐB-TN, chéo ĐN-TB) để đánh dấu ô(i,j) đã bị khống chế bởi quân hậu i hay chưa

Cái khó ở bài này so với bài 2 là HS thường cảm thấy khó để có thể hiểu vàbiểu diễn được 2 loại đường đường chéo ĐB-TN và ĐN-TB Giáo viên cần giảithích về cách lưu trữ hai loại đường chéo này, như sau:

Hướng dẫn:

Hình 2.5: mô phỏng bàn cờ và các đường chéo.

- Một đường chéo ĐB-TN bất kỳ sẽ đi qua một số ô, các ô đó có tính chất:

hàng + cột = b (hằng số) Với mỗi đường chéo ĐB-TN, ta có một hằng số b và với

một hằng số b (2 ≤ b ≤ 2n) xác định duy nhất một đường chéo ĐB-TN vì vậy ta cóthể đánh chỉ số cho các đường chéo ĐB-TN từ 2 đến 2n

Đ T

Trang 38

- Một đường chéo ĐN-TB bất kỳ sẽ đi qua một số ô, các ô đó có tính chất:

hàng - cột = c (hằng số) Với mỗi đường chéo ĐN-TB, ta có một hằng số c và với

một hằng số c (1 - n ≤ c ≤ n - 1) xác định duy nhất một đường chéo ĐN-TB vì vậy

ta có thể đánh chỉ số cho các đường chéo ĐN-TB từ 1 - n đến n - 1

Căn cứ vào chất lượng của hoạt động mà GV yêu cầu HSTB hiểu cách dùng

3 mảng logic để đánh dấu, độc lập mô tả được thuật toán theo mô hình quay lui ởcâu a, còn câu b thì trình bày lại được việc xây dựng chương trình; đối với HS khágiỏi phải trình bày được thuật toán và độc lập cài đặt chương trình

Ví dụ 2: (dạng toán quy hoạch động).

Bài 1: Dãy con đơn điệu tăng dài nhất.

Cho dãy số nguyên a = a1, a2, …, an (n ≤ 10000, -10000 ≤ ai ≤ 10000) Một dãycon của a là một cách chọn ra trong a một số phần tử giữ nguyên thứ tự Như vậy dãy a

có 2n dãy con Yêu cầu: Tìm dãy con đơn điệu tăng của a có độ dài lớn nhất

Input: INCSEQ.INP

- Dòng 1: Chứa số n

- Dòng 2: Chứa n số nguyên a1, a2, …, an cách nhau ít nhất một dấu cách

Output: INCSEQ.OUT

- Dòng 1: Ghi độ dài dãy con tìm được

- Dòng 2: Ghi các số trong dãy con tìm được.

a, Tìm công thức quy hoạch động

b, Mô tả thuật toán

c, Lập trình giải bài toán trên

Việc phân bậc hoạt động của bài này thể hiện qua ba mức độ từ thấp lên caodần, đó là: bằng cách mô phỏng với dãy có 1 phần tử, 2 phần tử, …, n phần tử để từ

đó HS có thể tìm ra cơ sở quy hoạch động và công thức quy hoạch động; mô tảthuật toán bằng mã giả và cuối cùng dùng ngôn ngữ lập trình giải bài toán trên

Trang 39

Dựa vào sự phân bậc hoạt động trên, GV có thể yêu cầu HSTB làm đượccâu a, hiểu được thuật toán và cài đặt lại chương trình tìm độ dài dãy con tăngdài nhất Đối với HSK, GV yêu cầu mô tả được thuật toán, cài đặt được chươngtrình câu c Đối với HSG, GV yêu cầu HS độc lập cài đặt chương trình, sau đóphải giảm độ phức tạp của thuật toán bằng cách có thể kết hợp quy hoạch độngvới tìm kiếm nhị phân

Trong trường hợp này, HS thường gặp khó khăn trong việc truy vết khôngcho thứ tự các chỉ số được chọn tăng dần như đề yêu cầu Do đó, GV có thể gợi ýcho HS làm ngược lại bắt đầu từ phần tử cuối

+ Nếu dãy có nhiều hơn 1 phần tử thì với mỗi phần tử ai, ta xét tất cả các chỉ

số j từ i+1 đến hết dãy để tìm chỉ số jmax=j mà thõa aj > ai mà f[j] là lớn nhất và đặtf[i]=f[jmax]+1

- Để tìm dãy con tăng dài nhất thì ta thực hiện lưu vết song song quá trìnhtìm độ dài dãy con tăng dài nhất bắt đầu tại ai, ta đặt t[i] := jmax để ghi nhận dãycon tăng dài nhất bắt đầu tại ai sẽ có phần tử kế tiếp là ajmax

- Công thức quy hoạch động là:

Một chiếc ba lô có thể chứa được một khối lượng m (m ≤ 100) Có n (n ≤ 100)

đồ vật được đánh số từ 1, 2, …, n Đồ vật i có khối lượng ai ≤ 100 và có giá trị bi ≤ 100.Cần chọn các đồ vật nào cho vào ba lô để tổng giá trị các đồ vật là lớn nhất

Trang 40

Input: BAG.INP

- Dòng 1: chứa 2 số n, m cách nhau ít nhất một khoảng trắng

- n dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương ai và bi

Output: BAG.OUT

- Dòng 1: Ghi giá trị lớn nhất có thể lấy

- Dòng 2: Ghi chỉ số những gói bị lấy.

a, Tìm công thức quy hoạch động

b, Mô tả thuật toán

c, Lập trình giải bài toán trên

Ta thấy, mỗi đồ vật (phần tử) có 2 đại lượng (giá trị, trọng lượng) và giá trịcủa ba lô cũng phụ thuộc vào 2 yếu tố: có bao nhiêu vật đang được xét và trọnglượng của các vật Do đó, bài toán này có mức độ khó khó hơn bài 1

Đối với HSTB, GV yêu cầu hiểu được công thức quy hoạch động và mô tảđược thuật toán còn chương trình thì chỉ yêu cầu cài đặt lại; đối với HSK, yêu cầuhiểu thuật toán và độc lập cài đặt chương trình tìm giá trị lớn nhất của ba lô; HSGđộc lập cài đặt chương trình tìm giá trị lớn nhất của ba lô và truy vết tìm các vậtđược chọn đưa vào ba lô

Hướng dẫn:

- Gọi l[i, j] là tổng giá trị lớn nhất của ba lô khi xét từ vật 1 đến vật i và

trọng lượng của ba lô còn có thể chứa tối đa là j Vậy với vật thứ i đang xét, có 2khả năng xảy ra:

+ Nếu chọn vật thứ i để đưa vào ba lô thì trọng lượng của ba lô lúc này cònlại là j – a và giá trị của ba lô lúc này là b + l[i-1, j-a]

Ngày đăng: 12/04/2016, 20:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w