Tải bản đầy đủ (.doc) (27 trang)

SKKN: Vận dụng phương pháp dạy học phát hiện và giải quyết vấn đề giải bài tập Tin học 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (239.13 KB, 27 trang )

MỤC LỤC
PHẦN I: MỞ ĐẦU..............................................................................................2
I.ĐẶT VẤN ĐỀ.........................................................................................................................................2
II. MỤC ĐÍCH, ĐỐI TƯỢNG NGHIÊN CỨU..............................................................................................3
1. Mục đích:....................................................................................................................................3
2. Đối tượng, phạm vi nghiên cứu:.................................................................................................3

PHẦN II: NỘI DUNG.........................................................................................4
I.TÌM HIỂU PHƯƠNG PHÁP DẠY HỌC PHÁT HIỆN VÀ GIẢI QUYẾT VẤN ĐỀ.............................................4
1.Tình huống gợi vấn đề.................................................................................................................4
2. Đặc điểm của dạy học phát hiện và giải quyết vấn đề................................................................5
3.Những hình thức và cấp độ dạy học phát hiện và giải quyết vấn đề............................................5
4.Thực hiện dạy học phát hiện và giải quyết vấn đề.......................................................................6
5.Những cách thông dụng để tạo tình huống gợi vấn đề.................................................................7
6.Ưu điểm và hạn chế.....................................................................................................................9
II. VẬN DỤNG QUI TRÌNH DẠY HỌC PHÁT HIỆN VÀ GIẢI QUYẾT VẤN ĐỀ ĐỂ GIẢI BÀI TẬP TIN HỌC 11 10
1.Quy trình dạy học phát hiện và giải quyết vấn đề giải bài tập tin học 11..................................10
2.Một vài ví dụ vận dụng quy trình dạy học phát hiện và giải quyết vấn đề.................................11
3.Những lưu ý khi dạy học theo hướng pháp hiện và giải quyết vấn đề.............................................22

PHÂN III: KẾT LUẬN.....................................................................................24
TÀI LIỆU THAM KHẢO..........................................................................................................................27

1


PHẦN I: MỞ ĐẦU
I. ĐẶT VẤN ĐỀ
Luật giáo dục nước cộng hòa xã hội chủ nghĩa Việt Nam đã quy định rõ:
“Phương pháp giáo dục phát huy tích cực, tự giác, chủ động, tư duy sáng tạo của
người học; bồi dưỡng cho học sinh năng lực tự học, khả năng thực hành, lòng say


mê học tập và ý thức vươn lên”.
Và “Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ
động sáng tạo của học sinh, phù hợp với đặc điểm của từng lớp học, môn học, bồi
dưỡng phương pháp tự học, rèn luyện kĩ năng vận dụng kiến thức vào thực tiễn,
tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh”.
Để đáp ứng được những yêu cầu trên chúng ta không chỉ dừng lại ở việc nêu
định hướng đổi mới phương pháp dạy học mà cần đi sâu vào những phương pháp
dạy học cụ thể như những phương pháp để thực hiện định hướng nói trên. Theo
xu hướng đó hiện nay có rất nhiều phương pháp, quan điểm dạy học mới đang
phát hiện và nghiên cứu để áp dụng vào thực tiễn giảng dạy, một trong các
phương pháp đó là: “Phát hiện và giải quyết vấn đề”.
Tin học 11 đối với học sinh ở trường THPT được coi là mới, chưa gây được
sự hứng thú trong học tập của học sinh và là một phần quan trọng vì nó tạo nền
tảng tư duy lập trình cho học sinh khi giải một bài toán trên máy tính. Để cải thiện
tình hình nói trên, giáo viên cần phải có những biện pháp tích cực trong đó việc
thay đổi phương pháp dạy học theo hướng tích cực là cấp thiết.
Để góp phần giải quyết phần nào những khó khăn nói trên, tôi xin trình bày
đề tài: “ Vận dụng phương pháp dạy học phát hiện và giải quyết vấn đề giải bài
tập Tin học 11 ”.

2


I I . M ỤC Đ Í C H , Đ Ố I T Ư Ợ N G N G H I Ê N C Ứ U
1. Mục đích:
Nâng cao chất lượng học tập môn Tin học, tạo phân hóa trong dạy học để tạo
điều kiện cho những học sinh có năng khiếu. Giúp học sinh hứng thú với môn học
hơn.
Nâng cao chất lượng giảng dạy môn Tin học 11. Với cách giảng dạy bằng
phương pháp dạy học phát hiện và giải quyết vấn đề giúp học sinh tích cực, chủ

động, sáng tạo hơn trong việc khám phá, phát hiện tri thức mới, góp phần đổi mới
phương pháp dạy học ở trường THPT.
2 . Đ ố i t ư ợ n g , ph ạ m v i n g h i ê n c ứ u :
Đối tượng nghiên cứu là học sinh lớp 11, sách giáo khoa và một số giáo viên
đang giảng dạy tại trường THPT YaLy.
Phạm vi nghiên cứu là phương pháp dạy học phát hiện và giải quyết vấn đề,
ứng dụng để dạy bài tập tin học 11.

3


PHẦN II: NỘI DUNG
I. TÌM HIỂU PHƯƠNG PHÁP DẠY HỌC PHÁT HIỆN VÀ GIẢI
QUYẾT VẤN ĐỀ
1. Tình huống gợi vấn đề
Tình huống gợi vấn đề, còn gọi là tình huống vấn đề, là một tình huống gợi ra
cho học sinh những khó khăn về lí luận hay thực tiễn mà họ thấy cần thiết và có
khả năng vượt qua, nhưng không phải ngay tức thời nhờ một giải thuật hay dựa
theo một cách làm nào đó đã biết mà phải trải qua một quá trình tích cực suy
nghĩ, hoạt động để biến đổi đối tượng hoặc điều chỉnh kiến thức sẵn có. Một tình
huống được gọi là có vấn đề thì phải thoản mãn ba điều kiện sau:
- Tồn tại một vấn đề
Tình huống phải bộc lộ mâu thuẫn giữa thực tiễn với trình độ nhận thức, chủ
thể phải ý thức được một khó khăn trong tư duy hoặc hành động mà vốn hiểu biết
sẵn có chưa đủ để vượt qua. Nói cách khác, phải tồn tại một vấn đề theo nghĩa là
có ít nhất một phần tử của khách thể mà học sinh chưa biết và cũng chưa có trong
tay một thuật giải để tìm phần tử đó, hoặc chưa biết cách mã hóa thuật giải thành
chương trình cho máy tính tìm phần tử đó.
- Gợi nhu cầu nhận thức
Nếu tình huống có một vấn đề nhưng lí do nào đó học sinh không thấy có nhu

cầu tìm hiểu, giải quyết, chẳng hạn họ thấy vấn đề xa lạ, không liên quan gì tới
mình thì đó chưa phải một tình huống gợi vấn đề. Điều quan trọng là tình huống
phải gợi nhu cầu nhận thức, chẳng hạn phải làm bộc lộ sự khiếm khuyết về kiến
thức và kĩ năng của học sinh để họ cảm thấy cần thiết phải bổ sung, điều chỉnh,
hoàn thiện tri thức, kĩ năng bằng cách tham gia giải quyết vấn đề nãy sinh.
- Khơi dạy niềm tin ở khả năng bản thân
Nếu một tình huống tuy có vấn đề và học sinh tuy có nhu cầu giải quyết vấn
đề, nhưng nếu họ vảm thấy vấn đề vượt quá xa so với khả năng của mình thì họ
4


cũng không sẵn sàng tham gia giải quyết vấn đề. Tình huống cần khơi dậy ở học
sinh cảm nghĩ là họ chưa có lời ngay lời giải, nhưng đa số một số tri thức, kĩ năng
liên quan đến vấn đề đặt ra và nếu họ tích cực suy nghĩ thì có nhiều hi vọng giải
quyết được vấn đề đó. Như vậy là học sinh có được niềm tin ở khả năng huy động
tri thức và kĩ năng sẵn có để giải quyết hoặc tham gia vào quá trình giải quyết vấn
đề.
2. Đặc điểm của dạy học phát hiện và giải quyết vấn đề
Trong dạy học phát hiện và giải quyết vấn đề, thầy giáo tạo ra những tình
huống gợi vấn đề, điều khiển học sinh phát hiện vấn đề, hoạt động tự giác, tích
cực, chủ động, sáng tạo để giải quyết vấn đề, thông qua đó mà kiến tạo tri thức,
rèn luyện kĩ năng và đạt được những mục tiêu học tập khác.
Dạy học phát hiện và giải quyết vấn đề có những đặc điểm sau đây:
- Học sinh được đặt vào một tình huống gợi vấn đề chứ không phải là được
thông báo tri thức dưới dạng có sẵn;
- Học sinh hoạt động tự giác, tích cực, chủ động, sáng tạo, tận lực huy động
tri thức và khả năng của mình để phát hiện và giải quyết vấn đề chứ không phải
chỉ nghe thầy giảng một cách thụ động;
- Mục tiêu dạy học không phải chỉ làm cho học sinh lĩnh hội kết quả của quá
trình phát hiện và giải quyết vấn đề, mà còn ở chỗ làm cho họ phát triễn khả năng

tiến hành những quá trình như vậy. Nói cách khác, học sinh được học bản thân
việc học.
3. Những hình thức và cấp độ dạy học phát hiện và giải quyết vấn đề
- Giáo viên đặt vấn đề, nêu cách giải quyết vần đề. Học sinh thực hiện cách
giải quyết vấn đề theo hướng dẫn của giáo viên. Giáo viên đánh giá kết quả làm
việc của học sinh
- Giáo viên nêu vấn đề, gợi ý để học sinh tìm ra cách giải quyết vấn đề. Học
sinh thực hiện cách giải quyết vấn đề với sự giúp đỡ của giáo viên khi cần. Giáo
viên và học sinh cùng đánh giá.
5


- Giáo viên cung cấp thông tin tạo tình huống. Học sinh pháp hiện, nhận
dạng, phát biểu vấn đề nảy sinh cần giải quyết, tự lực đề xuất các giải thuyết và
lựa chọn các giải pháp. Học sinh thực hiện kế hoạch giải quyết vấn đề. Giáo viên
và học sinh cùng đánh giá.
- Học sinh tự lực phát hiện vấn đề nảy sinh trong hoàn cảnh của mình hoặc
của cộng đồng, lựa chọn vấn đề để giải quyết, tự đề xuất ra giả thuyết, xây dựng
kế hoạch giải, thực hiện kế hoạch giải, tự đánh giá chất lượng và hiệu quả việc
giải quyết vấn đề.
4. Thực hiện dạy học phát hiện và giải quyết vấn đề
Bước 1: Phát hiện hoặc thâm nhập vấn đề.
- Phát hiện vấn đề từ một tình huống gợi vấn đề.
- Giải thích và chính xác hóa tình huống (khi cần thiết) để hiểu đúng vấn đề
được đặt ra.
- Phát biểu vấn đề và đặt mục tiêu giải quyết vấn đề đó.
Bước 2: Tìm giải pháp
- Phân tích vấn đề: làm rõ mối liên hệ giữa cái đã biết và cái cần tìm (dựa
vào những tri thức đã học, liên tưởng tới kiến thức thích hợp).
- Hướng dẫn học sinh tìm chiến lược giải quyết vấn đề thông qua đề xuất về

thực hiện hướng giải quyết vấn đề. Cần thu thập, tổ chức dữ liệu, huy động tri
thức, sử dụng những phương pháp, kĩ thuật nhận thức, tìm đoán suy luận như
hướng đích, quy lạ về quen, đặc biệt hóa, chuyển qua những trường hợp suy biến,
tương tự hóa, khái quát hóa, xem xét những mối liên hệ và phụ thuộc, suy xuôi,
suy ngược tiến, xuy ngược lùi….Phương hướng đề xuất có thể được điều chỉnh
khi cần thiết. Kết quả của việc đề xuất và thực hiện hướng giải quyết vấn dề là
hình thành được một giải pháp.
- Kiểm tra tính đúng đắn của giải pháp: Nêu giải pháp đúng thì kết thúc
ngay, nếu không đúng thì lặp lại từ khâu phân tích vấn đề cho đến khi tìm được

6


giải pháp đúng. Sau khi đã tìm ra một giải pháp, có thể tiếp tục tìm thêm những
giải pháp khác, so sánh chúng với nhau để tìm ra giải pháp hợp lí nhất.
Bước 3: Trình bày giải pháp
Học sinh trình bày lại toàn bộ từ việc phát biểu vấn đề cho tới giải pháp. Nếu
vấn đề là một đề bài cho sẵn thì có thể không cần phát biểu lại vấn đề.
Bước 4: Nghiên cứu sâu giải pháp
- Tìm hiểu những khả năng ứng dụng kết quả.
- Đề xuất những vấn đề mới có liên quan nhờ xét tương tự, khái quát hóa, lật
ngược vấn đề,… và giải quyết nếu có thể.
5. Những cách thông dụng để tạo tình huống gợi vấn đề
- Dự đoán nhờ nhận xét trực quan, thực hành hoặc hoạt động thực tiễn
Ví dụ: ta dạy cho học sinh viết chương trình cho máy tính tìm dãy con dài
nhất liên tục tăng nghiêm ngặt trong một dãy đã cho. Yêu cầu chỉ ra dãy có bao
nhiêu phần tử từ vị trí nào đến vị trí nào. Ta có thể bắt đầu từ hình ảnh cụ thể
của mảng A có các phần tử là những số nguyên như sau:
25


56

1

2

64
3

70

82

4

5

45

36

6

27

7

8

Học sinh dễ dàng đưa ra cách làm như sau:

Dùng biến T (trái), biến P (phải) để ghi nhận vị trí, biến D (đếm) để đếm số
phần tử của dãy sau đó dung lệnh lặp:
While A[p +1] > A[p] do begin P:=P+ 1; D:= D + 1 end;
Ta tiếp tục đưa ra hình ảnh cụ thể của mảng A có các phần tử là những số
nguyên như sau:
91

45

57

24

36

1

2

3

4

5

47
6

75
7


12
8

Hình ảnh cụ thể này giúp học sinh thấy cần phải điều chỉnh cách làm ở trên,
dãy đầu tiên có hai phần tử liên tiếp tăng là hai phần tử ở vị trí thứ hai và thứ ba,
7


nhưng dãy gồm các phần tử ở vị trị thứ tư đến vị trí thứ bảy có bốn phần tử mới là
dãy con dài nhất liên tục tăng. Như vậy họ phải dùng thêm ba biến TL (trái lưu),
PL (phải lưu), DL (đếm lưu) để lưu giữ dãy con liên tục tăng đã xét và dùng T, P,
D để xét tiếp, sau đó so sánh DL với D nếu DLvà DL. Sau một vài lần chỉnh sửa, học sinh có thể đưa ra được chương trình như
sau:
Progam daycondainhatlientuctang;
Uses crt; const n=10;
Var A: aray[1..n] of byte;
D, TL, PL, DL, T, P :byte;
Begin
Clrscr; writeln( ‘cho tung phan tu cua mang:’);
For D:= 1 to n do readln( A[D]);
DL:= 0; P:= 1;
Repeat
D:=1; T:=P; P:=P+ 1;
While (A[p-1] < A[p] and ( P<= n) do
Begin
P:= p + 1; D:= D + 1;
End;
If DL < D then begin

TL:= T; PL := P – 1; DL:= D;
End;
Until P > n;
Writeln (‘day con lien tuc tang dai nhat tu phan tu thu:’, TL, ‘den phan tu thu’,
PL, ‘co’, DL, ‘phan tu’);
Readln;
END.
8


- Lật ngược vấn đề
Ví dụ: Sau khi học sinh đã học hàm Upcase (x) cho kí tự viết hoa tương ứng
của x, vấn đề ngược lại là làm thế nào để có kí tự viết thường tương ứng của kí tự
viết hoa?
- Xem xét tương tự
Ví dụ: Từ điều đã biết là viết chương trình tính độ dài của một đoạn thẳng khi
biết tọa độ của hai điểm đầu, ta có thể cho học sinh viết chương trình nhận vào
tọa độ của n điểm, tính độ dài của đường gấp khúc được tạo ra từ n điểm đã cho.
- Khái quát hóa
Ví dụ: Ta lấy bài toán tính giá trị biểu thức S:
S= 1 + 2x+ 3x2+…+100x99.
Tính giá trị biểu thức S có số n số hạng
S = 1 + 2x + 3x3 +….+ nxn-1 + (n+1)xn
- Giải bài tập mà chưa biết thuật giải trực tiếp
Người học có thể đứng trước một tình huống gợi vấn đề nêu được yêu cầu
giải một bài bài mà người đó chưa biết thuật giải để giải trực tiếp.
- Tìm sai lầm trong lời giải
Giáo viên đưa ra một lời giải để học sinh phát hiện lỗi sai lầm cũng tạo ra một
tình huống vấn đề.
- Phát hiện nguyên nhân sai lầm và sửa chữa sai lầm

Sau khi thấy được một sai lầm trong bài làm, học sinh cũng được đặt vào một
tình huống gợi vấn đề với nhiệm vụ mới là phát hiện nguyên nhân và sửa chữa sai
lầm.
Trong dạy học, các cơ hội như vậy rất nhiều, do đó phương pháp dạy học phát
hiện và giải quyết vấn đề có khả năng được áp dụng rộng rãi trong dạy học nhằm
phát huy tính chủ động, sáng tạo của học sinh.
6. Ưu điểm và hạn chế
• Ưu điểm
9


- Phương pháp này góp phần tích cực vào việc rèn luyện tư duy phê phán,
tư duy sáng tạo cho học sinh. Trên cơ sở sử dụng vốn kiến thức và kinh nghiệm
đã có học sinh sẽ xem xét, đánh giá, thấy được vấn đề cần giải quyết.
- Đây là phương pháp phát triển được khả năng tìm tòi, xem xét dưới nhiều
góc độ khác nhau. Trong khi phát hiện và giải quyết vấn đề học sinh sẽ huy động
được tri thức và khả năng cá nhân, khả năng hợp tác, trao đổi, thảo luận với bạn
bè để tìm ra cách giải quyết vấn đề tốt nhất.
- Phương pháp dạy học phát hiện và giải quyết vấn đề có thể kết hợp với
nhiều hình thức tổ chức lớp học một cách đa dạng và phong phú lôi cuốn học sinh
tham gia cùng tập thể, động não, tranh luận, dưới sự dẫn dắt gợi mở của giáo viên
như: thảo luận nhóm, báo cáo và trình bày,…
• Hạn chế
- Phương pháp này đòi hỏi người giáo viên phải đầu tư nhiều thời gian và
công sức, phải có năng lực sư phạm tốt mới suy nghĩ để tạ ra được nhiều tình
huống gợi vấn đề và hướng dẫn học sinh tìm tòi để phát hiện và giải quyết vấn đề.
- Việc tổ chức tiết học hoặc một phần của tiết học theo phương pháp phát hiện
và giải quyết vấn đề đòi hỏi phải có nhiều thời gian so với các phương pháp thông
thường.
II. VẬN DỤNG QUI TRÌNH DẠY HỌC PHÁT HIỆN VÀ GIẢI QUYẾT

VẤN ĐỀ ĐỂ GIẢI BÀI TẬP TIN HỌC 11
1. Quy trình dạy học phát hiện và giải quyết vấn đề giải bài tập tin học 11
Bước 1: Phát hiện, thâm nhập vấn đề
- Phát biểu đề bài dưới những dạng khác nhau để hiểu rõ nội dung đề bài.
- Xác định Input, Output.
- Có thể dùng kí hiệu, hình vẽ để hỗ trợ cho việc diễn ta đề bài.
Bước 2: Tìm giải pháp
- Tìm tòi, phát hiện cách giải nhờ những suy nghĩ có tính toán: biến đổi cái
đã cho, liên hệ bài toán cần giải với một bài toán cũ tương tự, một trường hợp
riêng, một thuật toán tổng quát hơn hay một bài toán nào đó có liên quan.
10


- Kiểm tra lời giải bằng cách xem lại kĩ từng bước hoặc bằng mô phỏng.
- Tìm tòi những thuật toán khác, so sánh chúng để chọn thuật toán hợp lí
nhất.
Bước 3: Trình bày giải pháp
Từ thuật toán đã được phát hiện, sắp xếp các việc phải làm thành một
chương trình và cho chạy thử trên máy tính.
Bước 4: Nghiên cứu sâu giải pháp
- Nghiên cứu khả năng ứng dụng kết quả của lời giải.
- Nghiên cứu giải những bài toán tương tự, mở rộng hay lật ngược vấn đề.
2. Một vài ví dụ vận dụng quy trình dạy học phát hiện và giải quyết vấn đề
Ví dụ 1: Khi học về mảng một chiều, ta có bài toán như sau:
Tìm xem phần tử nhỏ nhất của mảng ở vị trí nào? Và giá trị của nó bằng bao
nhiêu? Được học sinh giải quyết rất thành thạo. Bài toán tráo đổi giá trị của hai
biến học sinh đã quá quen thuộc. Ta dạy cho học sinh thuật giải sắp xếp mảng
theo thứ tự tăng dần bằng phương pháp chọn trực tiếp.
Bước 1: Phát hiện hoặc thâm nhập vấn đề
- Giáo viên đưa ra tình huống chúng ta có mảng A có n phần tử là các số

thực (Giáo viên vẽ lên bảng hình ảnh sau với n= 8 )
A
12

45.5
1

2

57
3

32

3.5

4

49

5

98.5
6

7

5.5
8(n)


- Giáo viên đặt vấn đề các em đã biết cách tìm phần tử nhỏ nhất của mảng ở
vị trí nào và giá trị của nó là bao nhiêu. Bây giờ các em hãy tráo đổi giá trị của
phần tử nhỏ nhất với giá trị phần tử đầu tiên của mảng để đưa phần tử nhỏ nhất về
đầu mảng. Học sinh dễ dàng hoàn thành nhiệm vụ này với những kiến thức đã
biết như nói ở trên. Lúc này ta có hình ảnh về mảng A như sau
3.5

5.5
1

12
2

3

32

45.5

4

5
11

49

57
6

7


98.5
8(n)


- Giáo viên nêu mục tiêu là sắp xếp mảng A theo thứ tự tăng dần của các phần
tử đã được nhận vào.
Bước 2: Tìm giải pháp
- Giáo viên gợi ý cho học sinh “quy lạ về quen” các em đã thực hiện công
việc tìm phần tử nhỏ nhất trong các phần tử từ phần tử thứ nhất đến phần tử thứ n
rồi đưa nó về vị trí thứ nhất.
- Tương tự như vậy, bước 2 chúng ta tìm phần tử nhỏ nhất trong các phần tử
từ phần tử thứ hai đến phần tử thứ n rồi đưa nó về vị trí thứ hai.
- Tương tự cho các bước tiếp theo từ bước 3 đến bước n chúng ta sẽ sắp xếp
được mảng A theo thứ tự tăng dần. Vấn đề đặt ra là làm thế nào để xắp xếp mảng
theo thứ tự tăng dần theo cách mà chúng ta vừa nói trên.
- Giáo viên viết lại kiến thức mà học sinh đã dùng trong trường hợp đưa
phần tử nhỏ nhất về đầu mảng.
k:= 1;
For j:=1 to n do if A[k] > A[j] then k:=j;
Tg:= A[1]; A[1] :=A[k]; A[k] := tg;
- Giáo viên gợi ý cho học sinh dung biến i để điều khiển câu lệnh For ở vòng
ngoài, tức là dùng i để chỉ ra các bước như đã nói trên. Từ đó dẫn đến việc sử
dụng hai vòng For lồng nhau.
Bước 3: Trình bày giải pháp
- Giáo viên yêu cầu học sinh ứng với mỗi giá trị của i ở vòng ngoài, dùng
câu lệnh ghép để đưa đoạn chương trình trên vào trong đó với hoạt động khái
quát hóa thay 1 bằng i.
- Giáo viên yêu cầu học sinh viết đoạn hoàn chỉnh sau:
For I := 1 to n do

Begin
k:= i;
For j:=1 to n do if A[k] > A[j] then k:=j;
12


Tg:= A[i]; A[i] :=A[k]; A[k] := tg;
End;
- Kiểm tra tính đúng đắn của giải pháp được thể hiện qua việc mô phỏng quá
trình thực hiện.
Bước 4: Nghiên cứu sâu lời giải
- Xét tính hợp lí, tối ưu của thuật giải.
Theo dõi mô phỏng quá trình hoạt động của thuật giải, chúng ta thấy gán K:=i
và cho j chạy bắt đầu từ i là không hợp lí vì A[i] không lớn hơn chính nó. Do đó
cho j chạy từ i+1 trở đi là hợp lí. Bước n – 1 ta tìm được phần tử nhỏ nhất trong
hai phần tử thứ n-1 và thứ n sau đó ta đưa nó về vị trí n-1 vậy còn lại phần tử thứ
n đương nhiên là lớn nhất. Vậy i chaỵ từ 1 đến đâu là hợp lí? Điều chưa tối ưu
nếu ở bước thứ i chính A[i] là phần tử nhỏ nhất trong các phần tử từ phần tử thứ i
đến phần tử thứ n mà ta cứ dùng ba lệnh gán Tg:= A[i]; A[i] :=A[k]; A[k] := tg;
sau khi vòng lặp kết thúc vòng lặp theo j.
- Khả năng ứng dụng kết quả là rất nhiều trong thực tế, chẳng hạn việc tìm
kiếm các phần tử của dãy sẽ nhanh chóng rất nhiều nếu chúng được sắp xếp theo
chiều tăng hay giảm của một thuộc tính nào đó mà ta gọi là khóa, chẳng hạn in
danh sách vào phòng thi, xếp hạng thứ tự thấp đứng trên cao đứng dưới…
- Đề xuất vấn đề mới có liên quan:
Bước thứ nhất ta tìm phần tử nhỏ nhất và phần tử lớn nhất trong các phần tử
từ phần tử thứ nhất đến phần tử thứ n rồi đưa phần tử nhỏ nhất về vị trí thứ 1 và
phần tử lớn nhất về vị trí thứ n. Bước thứ hai ta tìm phần tử nhỏ nhất và phần tử
lớn nhất trong các phần tử từ phần tử thứ hai đến phần tử thứ n- 1 rồi đưa phần tử
nhỏ nhất về vị trị thứ 2 và phần tử lớn nhất về vị trị thứ n – 1. Tương tự như vậy

cho các bước tiếp theo. Đây lại là một vấn đề được đặt ra và giải quyết nó sẽ là
một vấn đề rất thú vị cho các em học sinh khá, giỏi.
Ví dụ 2: Khi dạy chương trình con

13


Ta cần tạo ra tình huống công việc mà ở đó có một số công việc được thực
hiện hơn một lần ở những nơi, những lúc khác nhau của chương trình.
a. Thủ tục không có tham chiếu
Để dạy thủ tục không có tham chiếu, chúng ta cần tạo ra tình huống công việc
mà trong đó có một số thao tác lặp đi lặp lại hơn một lần. Những thao tác này
chứng ta sẽ hướng cho học sinh khai báo chúng trong một chương trình con, vì
vậy chúng phải là một đoạn chương trình con liên tục. Để loại bỏ khả năng dung
vòng lặp đưa đoạn chương trình đó vào thân vòng lặp, ta phải đưa thêm những
việc làm khác nhau xen vào giữa những đoạn trình trên.
Ví dụ, ta chọn tình huống công việc như sau:
Tính chu vi, diện tích và đường chéo của ba hình chữ nhật khi nạp vào cho
máy hai kích thước của mỗi hình. Hình thứ nhất tính thêm chu vi đường tròn nội
tiếp. Hình thứ hai tính thêm số tối đa hình vuông lát trong hình chữ nhật này (độ
dài cạnh hình vuông là k đơn vị, cạnh hình vuông song song với cạnh hình chữ
nhật).
Bước 1: Phát hiện hoặc thâm nhập vấn đề
- Giáo viên đưa ra tình huống chúng ta có chiều dài và chiều rộng của hình
chữ nhật: a và b.
- Giáo viên đặt vấn đề: các em đã biết cách tính chu vi, diện tích, tính đường
chéo, chu vi đường tròn nội tiếp hình chữ nhật, số tối đa hình vuông lát trong hình
chữ nhật. Học sinh dễ dàng viết được chương trình bình thường với những kiến
thức đã học.
- Nhiệm vụ học sinh phải làm là từ chương trình bình thường chuyển sang

chương trình con.
Bước 2: Tìm giải pháp
- Gợi ý cho học sinh: ta thấy bốn thao tác nhận vào hai kích thước của một
hình chữ nhật, tính chu vi, tính diện tích, tính đường chéo của nó theo hai kích
thước được dùng ba lần cho ba hình chữ nhật, nhưng giữa bốn thao tác này lại có
14


những việc khác xen vào như tính chu vi đường tròn cho hình thứ nhất, tính số
hình vuông cho hình thứ hai. Vì vậy không nên dùng vòng lặp, ta sẽ cho bốn thao
tác trên vào một chương trình con với một cái tên Nhat (Nhật) để rồi khi nào
chương trình chính cần thì chỉ gọi Nhat là nó thực hiện bốn thao tác đã giao cho
nó. Việc nào không giao cho chương trình con thì chương trình chính phải làm.
- Việc có trong chương trình con:
Procedure Nhat;
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’);
Repeat
Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)
Until (a>0) and (b>0);
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);
Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2);
- Việc chương trình chính phải làm:
+ Khai báo
+ Tính chu vi đường tròn của hình chữ nhật thứ nhất.
If a>b then a:=b; writeln( ‘chu vi duong tron la:’, pi*a:6:2);
+ Tính số hình vuông lát trong hình chữ nhật thứ hai.
Writeln( ‘so hinh vuong la:’, trunk(a/k)*trunk(b/k):6);

Bước 3: Trình bày giải pháp
- Giáo viên yêu cầu học sinh viết chương trình hoàn chỉnh như sau:
Program BaNhat;
Uses Crt;
Const k= 14;
Var a, b: real;
15


Procedure Nhat;
Begin
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’);
Repeat
Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)
Until (a>0) and (b>0);
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);
Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2);
End;
Begin
Clrscr; Nhat;
If a>b then a:=b; writeln( ‘chu vi duong tron la:’, pi*a:6:2);
Nhat;
Writeln( ‘so hinh vuong la:’, trunk(a/k)*trunk(b/k):6);
Nhat;
Readln
END.
- Kiểm tra tính đúng đắn của giải pháp được minh họa trên máy tính ngay tại

lớp.
Bước 4: Nghiên cứu sâu lời giải
- Xét tính hợp lí, tối ưu của thuật giải.
Theo dõi mô phỏng quá trình hoạt động của thuật giải, ta thấy cách gom lại
các công việc được lặp đi lặp lại nhiều lần vào một chương trình con đỡ tốn thời
gian, khi chương trình chính chạy chỉ cần gọi tên thủ tục ra.

16


Khả năng ứng dụng kết quả trong thực tế là rất nhiều, chẳng hạn việc tính chu
vi, diện tích của nhiều hình tam giác, hình vuông, hình thoi,..
b. Thủ tục có tham chiếu
Để dạy thủ tục có tham chiếu, chúng ta cần tạo ra tình huống công việc trong
đó có một số thao tác lặp đi lặp lại hơn một lần nhưng mỗi lần làm việc với một
bộ dữ liệu khác nhau. Những thao tác này chúng ta sẽ hướng cho học sinh khai
báo chung trong một chương trình con với những tham chiếu.
Ví dụ: Tính chu vi, diện tích và đường chéo của ba hình chữ nhật theo hai
kích thước của mỗi hình. Hình thứ nhất có hai kích thước là a1, a2. Hình thứ hai
có hai kích thước là b1, b2. Hình thứ ba có hai kích thước là a1+b1 và a2*b2.
Bước 1: Phát hiện hoặc thâm nhập vấn đề
- Giáo viên phân tích: Tình huống công việc trên, ta thấy có thể viết hai thủ
tục. Một thủ tục nhận vào hai kích thước của một hình chữ nhật được gọi hai lần,
lần thứ nhất nhận vào hai biến a1, a2, lần thứ hai nhận vào hai biến b1, b2. Thủ
tục tính chu vi, diện tích và đường chéo theo hai kích thước được gọ ba lần cho ba
hình chữ nhật. Riêng hình thứ ba, dung các biến a1, a2, và b1, b2 để tạo ra hai
kích thước cho nó.
- Ta đã biết cách viết thủ tục không tham chiếu, tính chi vi, diện tích và
đường chéo của hình chữ nhật theo hai kích thước ở bài trước.
Bước 2: Giải quyết vấn đề.

- Giáo viên cho học sinh gọi từ đĩa vào bộ nhớ trong chương trình BaNhat
như trên. Ở bài trước, mỗi khi gọi Nhat thì nó dung hai biến a, b của chương trình
chính để nhận vào hai kích thước từ bàn phím. Ở bài này, mỗi khi gọi Nhat thì hai
kích thước của hình chữ nhật được chương trình chính truyền vào cho nó. Lần thứ
nhất nó được truyền vào hai biến a1, a2. Lần thứ hai nó được truyền vào hai biến
b1, b2. Lần thứ ba nó được truyền vào hai biểu thức a1+b1 và a2*b2.
- Ta sẽ sử dụng các thao tác chèn, tách tử tục Nhat đã viết ở bài trước ra
thành hai thủ tục VaoDL và thủ tục Nhat. Giáo viên cho học sinh tách ra như sau:
17


Procedure VaoDL;
Begin
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’);
Repeat
Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)
Until (a>0) and (b>0);
End;
Procedure Nhat;
Begin
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);
Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2); End;
- Ta đã biết cách viết đa thức trong toán học, chẵng hạn P(x)= x 2 – 4. Sau đó
ta có thể tính giá trị của P tại những giá trị cụ thể của tham số, chẵng hạn P(2)= 0,
P(3) = 5,..
- Ta đưa vào phần tiêu đề của thủ tục VaoDL hai tham số a,b có kiểu thực
đại diện cho a1, a2 và b1, b2. Tương tự ta đưa vào phần tiêu đề của thủ tục Nhat

hai tham số a,b có kiểu thực đại diện cho a1, a2, cho b1, b2 và cho a1 + b1, a2 *
b2. Thủ tục Nhat có phần tiêu đề: Procedure Nhat (a, b: real);
Bước 3: Trình bày giải pháp
- Bây giờ dùng các thao tác chèn, xóa các em hãy khai báo a1, a2, b1, b2 là
bốn biến có kiểu thực ở chương trình chính và khai báo tham chiếu a, b có kiểu
thực cho thủ tục VaoDL và thủ tục Nhat rồi viết toàn bộ chương trình cho tình
huống trên (chú ý bỏ đi những chỗ không cần thiết ở chương trình BaNhat).
Trong thân chương trình chính, khi gọi thủ tục nào thì ta phải đặt vào tham chiếu

18


những đối tượng thích hợp. Cho học sinh tự sửa chữa, các em sẽ có chương trình
như sau:
Program BaNhat;
Uses Crt;
Var a1, a2, b1, b2: real;
Procedure VaoDL(a, b:real);
Begin
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’);
Repeat
Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)
Until (a>0) and (b>0);
End;
Procedure Nhat(a, b: real);
Begin
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);

Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2);
End;
BEGIN
Clrscr; VaoDL(a1, a2); VaoDL( b1, b2);
Nhat( a1, a2); Nhat (b1, b2);
Nhat (a1 + b1, a2*b2); readln;
END.
- Hãy chạy chương trình và nhập dữ liệu vào cho a1, a2 và b1, b2. Quan sát
kết quả trên màn hình và cho nhận xét.
Các em sẽ cho biết là kết quả đều bằng 0.
19


- Đến đây giáo viên giải thích tiếp thủ tục VaoDL nhập vào hai số thực
dương cần giữ lại giá trị các biến này mang ra ngoài nên tham chiếu ở đây phải
khai tham biến. Thủ tục Nhat chỉ cần truyền hai giá trị của hai kích thước vào cho
nó để nó tính chu vi, diện tích và đường chéo của hình chữ nhật theo hai kích
thước được truyền vào nên tham chiếu ở đây chỉ cần khai làm tham trị. Để khai
tham biến, ta viết từ khóa VAR trước tên tham chiếu. Giáo viên cho học sinh viết
thêm vào phần tiêu đề của thủ tục VaoDL để cho a, b làm tham biến. Học sinh chỉ
chèn thêm vào từ khóa VAR ở tiêu đề của VaoDL và được chương trình như sau:
Program BaNhat;
Uses Crt;
Var a1, a2, b1, b2: real;
Procedure VaoDL( var a, b:real);
Begin
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’);
Repeat
Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)

Until (a>0) and (b>0);
End;
Procedure Nhat(a, b: real);
Begin
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);
Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2);
End;
BEGIN
Clrscr; VaoDL(a1, a2); VaoDL( b1, b2);
20


Nhat( a1, a2); Nhat (b1, b2);
Nhat (a1 + b1, a2*b2); readln;
END.
- Hãy chạy chương trình đã sửa và nhập dữ liệu vào cho a1, a2 và b1, b2.
Quan sát kết quả trên màn hình và cho nhận xét.
- Ta thêm vào phần tiêu đề của mỗi thủ tục trên một tham trị để đại diện cho
thứ tự của hình chữ nhật mà máy đang làm việc. Ta hãy thêm vào chương trình
trên để được chương trình như sau. Giáo viên cho học sinh chèn thêm vào chương
trình đang có để được chương trình như sau:
Program BaNhat;
Uses Crt;
Var a1, a2, b1, b2: real;
Procedure VaoDL( var a, b: real; thu: byte);
Begin
Writeln(‘ cho hai kich thuoc cua hinh chu nhat’: 50 ,thu: 3);
Repeat

Readln(a, b);
If (a<=0) or (b<=0) then wrieln(‘ Nhap lai’)
Until (a>0) and (b>0);
End;
Procedure Nhat(N: byte; a, b: real);
Begin
Writeln(‘………………………………..’);
Writeln(‘chu vi la’, 2*(a+b): 6:2);
Writeln(‘dien tich la’, (a+b): 6:2);
Writeln(‘duong cheo la’, SQRT(a*a+b*b): 6:2);
End;
BEGIN
21


Clrscr; VaoDL(a1, a2,1); VaoDL( b1, b2,2);
Nhat( 1, a1, a2); Nhat (2, b1, b2);
Nhat (3, a1 + b1, a2*b2); readln;
END.
- Hãy chạy chương trình đã sửa và nhập dữ liệu vào cho a1, a2 và b1, b2.
Quan sát kết quả trên màn hình và cho nhận xét.
Bước 4: Nghiên cứu sâu lời giải.
- Lưu ý đến khai báo tham trị và tham biến ở phần tiêu đề của chương trình
con. Khi truyền đối tượng thực sự cho tham chiếu phải bảo đảm đủ về số lượng
và tương ứng về kiểu và vị trí trong tiêu đề.
- Có 3 cách truyền giá trị thực sự cho tham trị đó là dùng hằng (như 1, 2, 3)
dùng biến (như a1, a2, a3), dùng biểu thức (như a1+b1, a2*b2) tương thích về
kiểu với tham trị đặt vào vị trí của tham trị tương ứng. Chỉ có một cách duy nhất
truyền biến thực sự cho tham biến đó là dùng biến cùng kiểu.
- Cách cấp phát bộ nhớ cho tham biến mà dùng ngay biến thực sự đặt vào

đó. Do đó mọi thay đổi với tham biến trong chương trình con là tác động trực tiếp
đến biến được đặt vào đó. Mọi thay đổi với tham trị trong chương trình con
không tác động trực tiếp đến biến được đặt vào đó vì đấy là bản sao của nó.
3. Những lưu ý khi dạy học theo hướng pháp hiện và giải quyết vấn đề
- Dạy học phát hiện và giải quyết vấn đề là điều kiện và phương tiện tốt để
đạt được mục tiêu quan trọng của Nhà trường trong quá trình đào tạo lớp người
lao động trẻ nhưng không phải là phương pháp vạn năng, nó có những ưu nhược
điểm nhất định và không phải trong trường hợp nào cũng có thể sử dụng mang lại
hiệu quả cao.
- Ở các cấp độ khác nhau vận dụng linh hoạt tùy theo mức độ độc lập của
học sinh trong hoạt động học tập:
+ Tự nghiên cứu vấn đề;
+ Vấn đáp phát hiện và giải quyết vấn đề;
22


+ Thuyết trình phát hiện và giải quyết vấn đề.
- Không yêu cầu học sinh khám phá tất cả tri thức quy định trong chương
trình (do điều kiện thời gian và phương tiện có hạn) mà nên thực hiện như sau:
+ Cho học sinh phát hiện và giải quyết vấn đề với một bộ phận nội dung
học tập, có thể có sự giúp của giáo viên với mức độ nhiều ít khác nhau.
+ Học sinh học không chỉ kết quả mà điều quan trọng hơn là cả quá trình
phát hiện và giải quyết vấn đề.
+ Học sinh chỉnh đốn lại, cấu trúc lại cách nhìn đối với bộ phận tri thức còn
lại mà họ đã lĩnh hội không phải bằng con đường phát hiện và giải quyết vấn đề.

23


PHÂN III: KẾT LUẬN

I.

HIỆU QỦA CỦA ĐỀ TÀI
Tuy có rất nhiều phương pháp, mỗi phương pháp có tính ưu việt nhất định

song phương pháp phát hiện và giải quyết vấn đề tôi thấy có nhiều hiệu quả trong
việc giảng dạy bộ môn tin học 11 vì nó đã phát huy tính tích cực, chủ động và
sáng tạo của từng học sinh trong tiết.
Phương pháp này này đã được tôi áp dụng đối với 2 lớp 11 của trường
THPT YaLy trong năm học 2013 – 2014 này.
Trước khi áp dụng, để có được số liệu so sánh kết quả học tập của học sinh 2
lớp năm học 2013 - 2014. Tôi căn cứ vào kết quả học tập trong năm học 2012 2013 của học sinh 2 lớp và một số tiết kiểm tra khảo sát để nắm được tình hình cụ
thể của học sinh 2 lớp, kết quả được tổng hợp như sau:
 Bảng thống kê kết quả bài kiểm tra định kì khi chưa áp dụng SKKN
cho 2 Lớp 11A1, 11A2 năm học 2012 – 2013:
0 – 2.0

2.5 – 3.0

3.5 – 4.5

5.0 – 6.5

7.0 - 8.0

8.5– 10.0

SL

SL


%

SL

%

SL

%

SL

4

11,1

14

38,9

10

27,8

7

19,4

5


14,3

11

31,4

9

25,7

8

22,9

35,2

19

26.7

13

18,3

Lớp

Sĩ số

11A1


36

0

0,0

1

2,8

11A2

35

0

0,0

2

5,7

Tổng

71

SL

0


%

0,0

3

%

4,2

9

12,7

25

%

 Bảng thống kê kết quả bài kiểm tra định kì sau khi áp dụng SKKN cho
2 Lớp 11A1, 11A2 năm học 2013 – 2014:

Lớp
11 A1

Sĩ số
36

0 – 2.0
SL

0

%
0,0

2.5 – 3.0

3.5 – 4.5

5.0 – 6.5

7.0 - 8.0

8.5– 10.0

SL

SL

SL

%

SL

%

SL

11


30,6

15

41,7

9

0

%
0,0

%

1

2,8
24

%
25,0


11 A2

35

Tổng


137

0
0

0,0
0,0

0
0

0,0

3

0,0

8,6

4

5,6

10
21

28,6

13


37,1

9

25,7

29,6

28

39,4

18

25,4

Từ kết quả thu được ở bảng trên ta nhận thấy có sự chuyển biến rõ rệt về
chất lượng học tập của học sinh. So sánh kết quả tương đối giữa 2 năm ta thấy:
− Khi chưa thực hiện SKKN thì:
+ Mức điểm yếu, kém là:
+ Mức điểm trung bình, khá là:
+ Mức điểm giỏi là:

16,9%.
61,9%.
18,3%

− Sau khi thực hiện SKKN thì:
+ Mức điểm yếu, kém giảm còn: 5,6%.

+ Mức điểm trung bình, khá tăng: 69%.
+ Mức điểm giỏi tăng:
25,4%
Điều này mang lại niềm khích lệ rất lớn với những giáo viên như tôi.
II.

KẾT LUẬN
Phương pháp dạy học phát hiện và giải quyết vấn đề là một trong những

phương pháp giảng dạy có hiệu quả nhằm khơi dậy sự nhiệt tình, tính năng động
và sáng tạo của học sinh, khuyến khích tự giác, độc lập suy nghĩ và học sinh theo
đó cũng có cơ hội trao đổi, học tập lẫn nhau. Đồng thời, học sinh cũng dần dần
làm quen với những tình huống phức tạp và có thật trong cuộc sống sau này.
Trên đây là đề tài “Vận dụng phương pháp dạy học phát hiện và giải
quyết vấn đề giải bài tập tin học 11” mà tôi đã nghiên cứu vận dụng trong quá
trình giảng dạy thực tế các lớp mình dạy. Với kết quả bước đầu có khả quan cùng
với sự nhiệt tình và nỗ lực theo khả năng, tôi cũng đã tích lũy được một số bài
học thực tiễn, nhưng chắc chắn trong quá trình thực hiện đề tài, tôi sẽ không tránh
khỏi những sơ sót. Để đề tài của tôi được tốt hơn và việc sử dụng đạt hiệu quả cao
hơn, tôi rất mong các cấp đóng góp ý kiến giúp đề tài của tôi đạt chất lượng, việc
giảng dạy trong nhà trường ngày càng nâng cao hơn, giúp học sinh học tốt hơn.
25


×