Sáng kiến kinh nghiệm: Giải quyết bài toán – thuật toán bài 10: bài toán và thuật toán - Tin học 10

Khái niệm thuật toán:

Cần đưa ra một bài toán cụ thể để đưa học sinh đến với khái niệm về thuật toán.

Giả sử như bài tính diện tích hình chữ nhật với chiều rộng là 4cm và chiều dài gấp đôi chiều rộng. Giáo viên gọi một học sinh lên bảng để giải:

Học sinh sẽ dễ dàng giải được:

Bài giải

Chiều dài hình chữ nhật là:

4 x 2 = 8 (cm)

Diện tích hình chữ nhật là:

4 x 8 = 32 (cm2)

 

doc15 trang | Chia sẻ: dung89st | Lượt xem: 3782 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Sáng kiến kinh nghiệm: Giải quyết bài toán – thuật toán bài 10: bài toán và thuật toán - Tin học 10, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
SỞ GIÁO DỤC VÀ ĐÀO TẠO BÌNH PHƯỚC
¶¶¶¶¶
ĐỀ TÀI SÁNG KIẾN KINH NGHIỆM
@@:::??
GIẢI QUYẾT
BÀI TOÁN – THUẬT TOÁN
 BÀI 10. BÀI TOÁN VÀ THUẬT TOÁN
TIN HỌC 10
NĂM HỌC 2013 – 2014SỞ GIÁO DỤC VÀ ĐÀO TẠO BÌNH PHƯỚC
¶¶¶¶¶
ĐỀ TÀI SÁNG KIẾN KINH NGHIỆM
@@:::??
GIẢI QUYẾT
BÀI TOÁN – THUẬT TOÁN
 BÀI 10. BÀI TOÁN VÀ THUẬT TOÁN
TIN HỌC 10
NĂM HỌC 2013 – 2014
MỤC LỤC
Bìa :	1
Trang phụ bìa :	2
Mục lục : 	3
1. Đặt vấn đề:	4
2. Giải quyết vấn đề:	5
2.1 Cơ sở lí luận của vấn đề	5
2.2 Thực trạng của vấn đề:	5
2.3 Các biện pháp đã tiến hành để giải quyết vấn đề	5
2.4 Hiệu quả của SKKN	13
3. Kết luận	14
1. Đặt vấn đề:
Trong chương trình giáo dục của bộ môn tin học, môn tin học 10 học sinh được học với nội dung là các khái niệm cơ bản về tin học. Cho nên kiến thức mà các em được học chủ yếu là các khái niệm. Tin học là bộ môn sử dụng máy tính điện tử làm công cụ học chủ yếu, nhưng nội dung kiến thức các em được học chỉ dùng trên cơ sở là khái niệm và các em cần phải nhớ các khái niệm đó. Nhiều khái niệm rất mới, rất trừu tượng, rất khó có thể hình dung mà yêu cầu các em phải nhớ thật là khó cho cả thầy và trò. Một trong những khái niệm tôi muốn nói đến ở đây là kiến thức nằm trong bài 4 Bài toán và thuật toán sách giáo khoa tin học 10. Các ví dụ dùng thuật toán để diễn giải bài toán thật sự làm học sinh khó hình dung thuật toán là như thế nào mặc dù có học thuộc khái niệm, hay giáo viên có giảng giải và hướng dẫn học sinh cũng không thể tự viết được thuật toán cho những bài toán đơn giản sau khi học xong lượng kiến thức trong sách giáo khoa. Vậy vấn đề cần đặt ra ở đây là hãy làm cho học sinh hiểu được thuật toán là gì, học sinh có thể hiểu hết từng bước của các thuật toán nên trong sách giáo khoa, và học sinh có thể tự viết những bài toán đơn giản sau khi học xong bài.
Dựa vào thực tế qua các năm giảng dạy bộ môn tin học 10, trước những băn khoăn là làm sao cho học sinh mình dạy có thể biết thêm về thuật toán. Đã nhiều lần tôi thay đổi cách dạy để có thể phù hợp với mức độ hiểu của học sinh và cuối cùng tôi đã thành công. Đây là kinh nghiệm của riêng bản thân tôi, và tôi muốn chia sẻ kinh nghiệm mà mình đúc kết được với tất cả các bạn đồng nghiệp đang dạy bộ môn tin học giống như tôi và cũng có những băn khoăn, trăn trở là làm sao để học sinh có thể biết thêm về thuật toán để các em có một nền móng cở sở để tiếp tục học môn tin học 11.
Tôi hi vọng rằng kinh nghiệm của mình sẽ giúp các bạn đồng nghiệp trong công việc. Chắc hẳn là sẽ có những thiếu sót không thể tránh khỏi, rất mong nhận được sự đóng góp của các bạn đồng nghiệp để chúng ta ngày càng nâng cao chất lượng dạy và học.
2. Giải quyết vấn đề:
2.1 Cơ sở lí luận:
Chuyên đề sử dụng kiến thức trong sách giáo khoa, các bài toán thường gặp trong cuộc sống và những dạng bài toán các em đã được học từ các lớp dưới, ...
2.2 Thực trạng của vấn đề:
* Thuận lợi:
Giáo viên: do giảng dạy được một vài năm nên cũng có ít nhiều kinh nghiệm. Ngay từ đầu tôi đã để ý và phân loại học sinh để có thể có những cách giảng dạy khác nhau. Từ năm trước các bộ môn được áp dụng chuẩn Kiến thức – Kĩ năng trong giảng dạy giúp giáo viên định hướng rõ hơn về lượng kiến thức cần truyền đạt cho học sinh
Học sinh: chất lượng đầu vào được đảm bảo, đa số học sinh học được các môn tự nhiên nên khi học lượng kiến thức có liên quan đến tính toán các em có thể thực hiện nhanh chóng. 
* Khó khăn:
Giáo viên: do đặc thù của trường là học 2 buổi/ ngày nên các em ít có học sinh làm bài tập về nhà và chuẩn bị bài cho môn tin học (đa số các em học tập trung những môn chính). Một số em từ các lớp dưới chưa được làm quen với môn tin học nhiều nên khi bắt đầu học môn tin học 10 có nhiều bỡ ngỡ.
Học sinh: Một số học sinh không cẩn thận trong việc giải bài tập nên có những sai sót không đáng có. Số đông học sinh chưa biết phân tích bài toán. Chưa biết tư duy để tìm hướng giải quyết vấn đề.
2.3 Các biện pháp đã tiến hành để giải quyết vấn đề:
1. Làm quen với các khái niệm:
Để bắt đầu phân tích và viết thuật toán cho bất kì bài toán nào cần phải biết đến khái niệm về bài toán và thuật toán.
Khái niệm bài toán:
Giáo viên cần giới thiệu các bài toán từ cụ thể đến tổng quát từ đó phân tích bài toán để tìm thông tin có sẵn (Input), thông tin cần tìm (Output) và mối quan hệ giữa Input và Output.
Ví dụ:
Trước khi cho học sinh xác định Input, Output của các bài toán tổng quát cần đưa ra những bài toán cụ thể cho học sinh làm quen.
Đưa ra bài toán 2x2 + 3x - 5 = 0 
Giáo viên khi giải bài toán này sử dụng máy tính bỏ túi ta sẽ nhập vào máy những gì?
Học sinh sẽ trả lời là cần nhập 2, 3, 5 vào máy tính.
Giáo viên tiếp tục hỏi sau khi nhập ta nhận được kết quả gì?
Học sinh sẽ trả lời là nhận được nghiệm của phương trình.
Lúc này giáo viên mới đưa ra dạng tổng quát là ax2 + bx + c = 0 và hỏi học sinh nếu yêu cầu giải phương trình này thì theo các em chúng ta sẽ nhập những gì vào máy tính.
Học sinh sẽ trả lời là a, b, c
Giáo viên tiếp tục hỏi: chúng ta sẽ nhận được kết quả gì?
Học sinh sẽ trả lời là nhận được nghiệm của phương trình.
Từ đó giáo viên mới đưa ra kết luận là những gì đề bài cho mà chúng ta nhập vào máy tính thì ta gọi đó là thông tin vào (Input) kết quả mà chúng ta nhận được sau khi nhập những thông tin vào gọi là thông tin ra (Output). Từ những thông tin có sẵn đó để tìm thông tin ra ta cần dựa vào mối quan hệ giữa Input và Output.
Lúc này giáo viên mới đưa ra khái niệm về bài toán. Và đưa ra một số bài toán trong sách giáo khoa để học sinh xác định Input và Output của bài toán.
Khái niệm thuật toán:
Cần đưa ra một bài toán cụ thể để đưa học sinh đến với khái niệm về thuật toán.
Giả sử như bài tính diện tích hình chữ nhật với chiều rộng là 4cm và chiều dài gấp đôi chiều rộng. Giáo viên gọi một học sinh lên bảng để giải:
Học sinh sẽ dễ dàng giải được:
Bài giải
Chiều dài hình chữ nhật là:
4 x 2 = 8 (cm)
Diện tích hình chữ nhật là:
4 x 8 = 32 (cm2)
Dựa vào bài giải mà học sinh đã giải giáo viên yêu cầu học sinh giải lại với chiều rộng lúc này là a. Giáo viên gợi ý cho học sinh đưa ra bài giải:
Bài giải:
Chiều dài hình chữ nhật là:
a x 2 
diện tích hình chữ nhật là:
a x 2a 
Giáo viên đặt một số câu hỏi cho học sinh để học sinh có thể đưa ra khái niệm về thuật toán
Giáo viên hỏi: nếu cô gọi những dòng giải bài toán này là các thao tác vậy những thao tác này có đếm được không?
Học sinh trả lời: có đếm được.
Giáo viên: đếm được thì đây là dãy hữu hạn hay vô hạn.
Học sinh trả lời: là dãy hữu hạn.
Giáo viên: nếu đưa công thức tính diện tích lên trước công thức tính chiều dài hình chữ nhật có được không? Vì sao?
Học sinh trả lời: không được vì nếu chưa tính chiều dài hình chữ nhật thì không thể tính được diện tích.
Giáo viên kết luận: dãy các thao tác dùng để giải một bài toán là dãy được sắp xếp theo trình tự xác định và không thể thay đổi vị trí của các thao tác. 
Từ đó giáo viên đưa ra khái niệm về thuật toán.
2. Biểu diễn thuật toán.
Tương tự như phần khái niệm, giáo viên không đi ngay vào các ví dụ trong sách giáo khoa mà cần đưa ra một bài toán mà học sinh đã biết cách giải. Ví dụ như bài giải phương trình bậc 2: ax2 + bx + c = 0.
Việc đầu tiên cần làm là nghiên cứu đề bài tìm xem đã có những thông tin gì và yêu cầu gì tức là đi tìm Input và Output của bài toán.
Xác định bài toán
+ Input: a, b, c (a ¹ 0) (điều kiện để đây là phương trình bậc hai)
+ Output: tập hợp nghiệm của phương trình
Ý tưởng
Học sinh đã được giải bài toán dạng này nên dễ dàng đưa ra ý tưởng để giải quyết bài toán này:
+ Tính Detal và xét nghiệm của phương trình dựa vào kết quả của Detal
+ Nếu Detal < 0 kết luận phương trình vô nghiệm
+ Nếu Detal = phương trình có nghiệm kép x1 = x2 = 
+ Nếu Detal > 0 phương trình có 2 nghiệm phân biệt là
 x1 = ; x2 = 
Từ ý tưởng giải bài toán chúng ta sẽ đi vào viết thuật toán cho bài toán này.
Thuật toán
(Giáo viên nêu lí do tại sao b1 là nhập: vì muốn giải được bài toán bất kì nào đó ta cần biết lượng thông tin đủ để có thể giải được và máy tính cũng vậy muốn giải một bài toán ta cần phải cung cấp lượng thông tin vào (Input). Để đưa Input vào máy tính ta cần nhập nó vào máy tính cho nên trong một thuật toán bất kì bước 1 luôn luôn là nhập)
B1: Nhập a, b, c
(Sau khi nhập tức là chúng ta thực hiện một phần trong xác định bài toán việc tiếp theo trong thuật toán là chúng ta đi thực hiện phần ý tưởng)
B2: tính Detal = b2 – 4ac
B3: Nếu Detal < 0 thì kết luận phương trình vô nghiệm và kết thúc.
(Giáo viên hỏi học sinh nếu ta tính được Detal là một số nhỏ hơn 0 thì phương trình có nghiệm không? Học sinh sẽ trả lời là không. Giáo viên tiếp tục hỏi vậy sau khi kết luận phương trình vô nghiệm ta là gì tiếp? Học sinh sẽ trả lời là không làm gì nữa? Giáo viên kết luận không làm gì nữa tức là lúc này thuật toán đã xong tức là ta kết thúc thuật toán).
B4: Nếu Detal = 0 thì kết luận phương trình có nghiệm kép 
x1 = x2 = và kết thúc.
(Giáo viên giải thích tương tự như trên)
B5: Phương trình có có 2 nghiệm phân biệt là 
x1 = ; x2 = và kết thúc.
Qua ví dụ này sẽ có một số học sinh có ấn tượng với cách viết thuật toán được viết theo cách liệt kê. Theo chuẩn kiến thức giáo viên sẽ hướng dẫn thêm cách viết thuật toán theo sơ đồ khối nhưng phần này không bắt buộc nên giáo viên chỉ cần hướng dẫn cho học sinh biết là có thêm một cách nữa để biểu diễn thuật toán và chỉ chú trọng một cách để học sinh không bị phân chia sự chú ý. Còn một nội dung là các tính chất của thuật toán, Giáo viên cần phân tích để học sinh có thể phân biệt đâu là thuật toán và đâu không phải là thuật toán, nhưng phần này không liên quan nhiều đến chuyên đề mà tôi muốn nói đến nên tôi sẽ không viết rõ trong đây.
Đến đây học sinh có thể hiểu một cách chung chung về thuật toán. Giáo viên cần đưa thêm một số ví dụ là các bài toán gần với cuộc sống để học sinh hiểu thêm về thuật toán.
Ví dụ: Dựa vào số lượng sản phẩm (SLSP) mà một công nhân sản xuất được và phần định mức (DM) quy định công nhân phải sản xuất trong một tháng để tính tiền thưởng (TT) cho công nhân theo công thức sau:
	TT= 0	Nếu SLSP <= DM
	TT = (SLSP – DM)*5000	Nếu SLSP > DM
Giáo viên hỏi: đề bài đã cho biết những thông tin gì?
Học sinh trả lời: số lượng sản phẩm và định mức
Giáo viên hỏi: đề bài yêu cầu tìm gì?
Học sinh trả lời: tiền thưởng.
Từ đó giáo viên hướng dẫn cho học sinh cách xác định bài toán, và từ ví dụ này giáo viên hãy để cho học sinh phát huy hết khả năng tư duy bằng cách chỉ hướng học sinh giải bài toán này theo những câu hỏi gợi mở của giáo viên. Mọi bước sẽ do học sinh tự làm sau đó giáo viên sẽ sửa những lỗi sai.
Xác định bài toán:
Input: SLSP, DM
Output: TT
Giáo viên hỏi: đề bài yêu cầu tính tiền thưởng vậy chúng ta sẽ tính tiền thưởng như thế nào?
Học sinh trả lời: dựa vào công thức đề bài cho.
Giáo viên hỏi: vậy để một người công nhân nhận được tiền thưởng là gì?
Học sinh trả lời: khi SLSP của người công nhân đó sản xuất được lớn hơn DM.
Giáo viên hỏi: nếu người công nhân đó sản xuất được ít hơn hoặc bằng với định mức thì nhận được tiền thưởng là bao nhiêu.
Học sinh trả lời: tiền thưởng mà người công nhân đó nhận được là 0
Từ những câu hỏi gọi ý và công thức đề bài cho học sinh sẽ dễ dàng viết được ý tưởng để giải quyết bài toán này.
Ý tưởng:
Nếu SLSP <= DM thì TT = 0
Nếu SLSP > DM thì TT = (SLSP – DM)*5000
Từ ý tưởng giáo viên sẽ hướng dẫn học sinh viết thuật toán:
Thuật toán:
(Để máy tính có thể giải bài toán việc đầu tiên chúng ta cần làm là gì?
TL: Nhập dữ liệu cho máy tính.)
B1: nhập SLSP, DM
(sau khi nhập chúng ta làm gì ?
TL: dựa vào ý tưởng để viết thuật toán.
GV: tức là từ b2 chúng ta sẽ đi thực hiện ý tưởng.)
B2: Nếu SLSP <= DM thì TT = 0
(GV: chúng ta thấy răng TT có 2 trường hợp xảy ra, nếu SLSP <= DM thì chúng ta kết luận TT = 0, nếu như SLSP <= 0 là sai thì chúng ta còn một trường hợp là gì?
TL: còn trường hợp là SLSP > DM
Vậy chỉ còn một trường hợp chúng ta còn dùng “nếu” nữa không?
Tl: không
Vậy b3 chúng ta chỉ viết như thế nào?)
B3: TT = (SLSP – DM)*5000
(Vậy là chúng ta đã tính xong TT của một công nhân sẽ nhận được tùy thuộc vào SLSP mà người công nhân đó sản xuất được. Việc còn lại chúng ta phải làm nữa là gì?
TL: chúng ta cần đưa ra TT vừa tính được.
GV: rồi chúng ta làm gì nữa?
HS: không làm gì nữa.
GV: vậy thuật toán kết thúc được chưa?
HS: thuật toán kết thúc.)
B4: đưa ra TT và kết thúc.
Sau khi giảng kĩ và để cho học sinh tự làm ví dụ này thì có thể dạy các ví dụ trong sách giáo khoa vì học sinh đã có kiến thức cơ sở về thuật toán và cách viết thuật toán. Và sau khi học xong ví dụ này học sinh đã có thể viết thuật toán cho một số bài toán đơn giản.
Ví dụ đầu tiên trong sách giáo khoa là tìm số lớn nhất trong dãy số nguyên. Khi đưa ra một dãy số bất kì học sinh có thể thấy ngay đâu là số lớn nhất vậy tại sao lại phải gán số đầu tiên là lớn nhất rồi lại đi so sánh với các số còn lại trong dãy. Các em sẽ thấy như vậy là vô ích và tốn thời gian. Vậy tai sao ta không thử cho các em hoạt động giống như một cái máy tính để các em có thể hiểu hết vì sao lại có những bước như vậy.
Để làm được như vậy giáo viên cho các em chơi một trò chơi “vừa chơi vừa học” như sau: gọi 5 em học sinh (có thể nhiều hơn hoặc ít hơn tùy vào độ dài của dãy số) tượng trưng đây là một dãy số gồm có 5 số tức n = 5, và đưa cho mỗi em một tờ giấy được gấp kín trong đó có viết sẵn 1 con số bất kì. Lúc này mỗi vị trí của các em là vị trí trong dãy số. Cho học sinh đứng đầu tiên mở tờ giấy mà cô phát cho và yêu cầu học sinh tìm xem bạn nào giữ con số lớn nhất. Lúc này những học sinh ngồi dưới quan sát và chỉ biết được có một số mà bạn đầu tiên giữ còn lại 4 con số khác các em không hề biết, vậy không thể tìm được bạn nào giữ số lớn nhất. Giáo viên sẽ dựa vào thuật toán trong sách giáo khoa để hướng dẫn các em đi tìm số lớn nhất.
Hoặc cũng có thể cho một số quả bóng (hoặc mẫu giấy) có ghi số vào một cái thùng (hoặc gấp lại). Yêu cầu học sinh tìm cách lấy được quả bóng (hoặc mẫu giấy) có ghi số lớn nhất với nguyên tắc: mỗi lần mở chỉ được lấy một số; có thể giữ trên tay nếu không giữ trên tay thì phải cất sang chỗ khác – không được xem lại; Có thể đổi số đang giữ trên tay với số đang xem. Sau đó công khai các số để kiểm tra kết quả.
Tương tự như vậy giáo viên sẽ tìm một trò chơi để các em có thể hình dung ra ý tưởng giải bài toán từ đó đưa ra được thuật toán cho bài toán đó.
2.4 Hiệu quả của sáng kiến kinh nghiệm:
Sau khi nghiên cứu ra cách dạy như tôi đã trình bày như trên tôi đã áp dụng ở 3 lớp tôi dạy năm nay và 1 lớp dạy năm ngoái và nhận được kết quả đúng mừng:
Kết quả khảo sát sau khi dạy xong bài 4 bài toán và thuật toán kết quả thu được như sau:
Lớp
Sĩ số
Đánh giá
Hiểu ý nghĩa các thuật toán trong sách giáo khoa
Có thể viết thuật toán cho một bài toán đơn giản
Lớp 10a3
36
1 - 2.7% 
29 – 80.5%
Lớp 10a4
35
18 - 51.4%
25 – 71.4%
Lớp 10a5
34
15 - 44.1%
27 – 79.4
Lớp 11a5
37
19 - 51.4%
20 – 54.1%
Tổng
142
53 – 37.3%
101 - 71.1%
So với kết quả khảo sát khi không áp dụng cách dạy đổi mới như đã nêu trên:
Lớp
Sĩ số
Đánh giá
Hiểu ý nghĩa các thuật toán trong sách giáo khoa
Có thể viết thuật toán cho một bài toán đơn giản
Lớp 11a6
31
2 – 6.5%
23 – 74.2%
Lớp 11a7
27
4 – 14.8%
10 – 37%
Tổng
58
6 – 10.3%
33 – 56.9%
3. Kết luận:
Qua kết quả thu được khi thực hiện chuyên đề vào giảng dạy cho thấy chất lượng dạy học có nhiều tiến bộ. Kết quả trên đã chứng minh được phương pháp giảng dạy của tôi đã có hiệu quả đi đúng theo sự chỉ đạo của nhà trường và của ngành đề ra. Và tôi cũng sẽ áp dụng phương pháp giảng dạy này vào những lớp mà tôi được phân công giảng dạy những khóa sau này để phát huy những mặt đã đạt được và khắc phục những mặt còn tồn đọng để nâng cao chất lượng dạy học hơn nữa.
Kết quả dạy học sau khi đổi mới phương pháp giảng dạy cho thấy chất lượng dạy học có nhiều tiến bộ. Trong quá trình thực hiện phương pháp giảng dạy tôi đã rút ra một số kinh nghiệm sau:
1. Nắm vững nội dung chương trình. mức độ yêu cầu học và các đối tượng học sinh. 
2. Lập kế hoạch bài học: 
Giáo viên cần nắm vững nội dung cơ bản của từng phần học trong sách giáo khoa và những hướng dẫn cụ thể về mục tiêu cần đạt. Tuỳ theo đặc điểm của ví dụ mà xây dựng kế hoạch giảng cho phù hợp. Song dù thế nào cũng cần có đầy đủ các hoạt động lớp và tổ chức các hoạt động đó. 
3. Vận dụng linh hoạt các phương pháp dạy học: 
Giáo viên nắm vứng các phương pháp, các hình thức tổ chức dạy học, để lựa chọn phối hợp linh hoạt các phương pháp và hình thức cho phù hợp với nội dung của ví dụ và chủ điểm của bài học đó.
4. Tổ chức hoạt động lên lớp 
Giáo viên cần khéo léo sử dụng linh hoạt các phương pháp, các hình thức tổ chức dạy học. 
Các hoạt động của tiết dạy không tách rời nhau, mà phải có sự đan xen liên kết và hỗ trợ lẫn nhau. 
5. Đa dạng hoá các hình thức tổ chức dạy học:
Giáo viên có thể vận dụng linh hoạt các hình thức tổ chức dạy học theo nhóm, dạy học cá nhân,.....có thể tổ chức học sinh dưới hình thức trò chơi để kích thích sự hứng thú học tập của học sinh, nhằm đạt kết quả cao trong giờ học mà học sinh không nhàm chán. 
Trên đây là toàn bộ nội dung của chuyên đề tôi đã thực hiện và mong rằng chuyên đề này sẽ được nhiều bạn đồng nghiệp cùng tôi thực hiện, tuy nhiên để thực hiện được chuyên đề này vào trong giảng dạy tôi đã phải đấu tranh rất nhiều là có nên áp dụng để dạy học hay không vì một phần nội dung kiến thức tôi dạy cho học trò của mình không được trình bày trong sách giáo khoa. Nhưng tôi đã liều thử và tôi đã thành công. Cho nên tôi muốn nói với bộ giáo dục là hãy thay đổi nội dung kiến thức trong sách giáo khoa để các em có thể tiến đến kiến thức mới một cách từ từ nhưng chắc chắn.
Tôi xin trân trọng cảm ơn!

File đính kèm:

  • docGiai_quyet_bai_toan__thuat_toan_20150727_114201.doc