b) C¸c bíc thùc hiÖn bµi gi¶ng T×m hiÓu bµi to¸n vµ thuËt to¸n Ho¹t ®éng 1: Gióp häc sinh hiÓu râ kh¸i niÖm Bµi to¸n trong Tin häc: Gi¸o viªn ®Æt vÊn ®Ò b»ng c¸ch ®a ra c¸c vÝ dô ®Ó häc sinh quan s¸t: VÝ dô 1: Gi¶i ph¬ng tr×nh bËc 2 tæng qu¸t: ax2+ bx+ c= 0 (a 0). VÝ dô 2: Gi¶i bµi to¸n Võa giµ võa chã Bã l¹i cho trßn Ba m¬i s¸u con Mét tr¨m ch©n ch½n Hái cã bao nhiªu gµ vµ bao nhiªu chã?
Trang 1Kinh NghiÖm: KÕt hîp nhiÒu ph¬ng ph¸p trong bµi “Bµi to¸n vµ thuËt to¸n”
A PHÇN CHUNG
I LÍ DO CHỌN ĐỀ TÀI.
1 CƠ SỞ PHÁP CHẾ.
- Môn Tin học được đưa và giảng dạy ở bậc học phổ thông nhằm trang bị cho học sinh một cách tương đối có hệ thống các khái niệm cơ bản nhất ở mức phổ thông về tin học – một ngành khoa học với những đặc thù riêng – các kiến thức về hệ thống, thuật toán, cấu trúc dữ liệu, lập trình, cơ sở dữ liệu và hệ quản trị CSDL.
- Học sinh bước đầu biết sử dụng máy tính, biết soạn thảo văn bản, sử dụng internet, khai thác được các phần mềm thông dụng, giải được các bài toán đơn giản bằng máy tính, bước đầu sử dụng được một hệ quản trị CSDL quan hệ cụ thể.
- Rèn luyện cho học sinh có khả năng suy nghĩ và làm việc khoa học như sự ham hiểu biết, tìm tòi sáng tạo, chuẩn mực, chính xác trong suy nghĩ và hành động, say mê môn học, cẩn thận trong công việc, hợp tác tốt với bạn bè.
2 CƠ SỞ LÝ LUẬN.
Trong quá trình dạy học chương trình lớp 11 hầu hết các em học sinh có khả năng tư duy về thật toán thì việc thực hiện các bài toán đó trên các ngôn ngữ lập trình
là tương đối dễ dàng Từ đó tôi nhận thấy rằng việc giúp các em có khả năng tư duy
về thuật toán và xây dựng được thật toán tốt sẽ tạo cho học sinh có được khả năng thực hiên với các bài toán đơn giản được tốt hơn và có thể thực hiện đưa các bước trình bày của bài toán thành chương trình cụ thể.
3 CƠ SỞ THỰC TIỄN.
Trường Hoàng Văn Thụ là một trường miền núi, cơ sở hạ tầng kỹ thuật còn nghèo nàn lạc hậu, trang triết bị chưa thực sự đầy đủ Bản thân các em học sinh cũng chưa nhận thức sâu sắc nhiệm vụ học tập của mình, nhiều em nhận thức chưa nhanh, chất lượng đầu vào không đồng đều, nhiều em tư duy toán học còn kém.
Phần đông học sinh học tập tại trường là người dân tộc thiểu số, việc tiếp thu kiến thức về Tin học gặp nhiều khó khăn Tuy nhiên không vì thế mà các em không thể tiếp thu được các tri thức mới Để giúp các em thành thạo các kỹ năng và khả năng tư duy người giáo viên phải áp dụng nhiều biện pháp, phương pháp tích cực đa dạng nhằm thu hút phát triển khả năng tối đa của mọi đối tượng học sinh Nhất là gây được hứng thú cho học sinh trong các bài giảng với các ví dụ thực tiên Có như vậy chất lượng dạy và học ở nhà trường phổ thông mới được nâng lên Rèn luyện cho học sinh có khả năng tư duy thuật toán giúp các em có tư duy tốt hơn, lôgic hơn và không cảm thấy khó khăn cũng như nhàm chán đối với chương trình lớp 11.
II NHIỆM VỤ CỦA ĐỀ TÀI.
Giúp học sinh nâng cao khả năng tư duy toán học va có thể vận dụng một số bài toán tổng quát để thực hiện được trên máy tính bằng các chương trình cụ thể.
Làm tài liệu tham khảo giảng dạy, từ đó vận dụng vào các bài học khác và các
bộ môn mà có tính thực tiễn cao.
TrÇn V¨n Toµn 1
Trang 2III GIỚI HẠN ĐỀ TÀI.
Trong quá trình giảng dạy môn Tin học mỗi một tiết học có mục tiêu, nội dung cần truyền đạt khác nhau Hơn nữa, trong quá trình lên lớp chúng ta thực hiện nhiều bước lên lớp sử dụng và kết hợp các phương pháp linh hoạt để có bài giảng chất lượng tốt Song, ở đây tôi chỉ xin giới thiệu phương pháp sử dụng hiệu quả các ví dụ thực tiễn kết hợp với sử dụng các phương pháp khác nhau và phương tiện giảng dạy vào trong bài “Bài toán và thật toán” làm một ví dụ điển hình.
IV ĐỐI TƯỢNG NGHIÊN CỨU.
Học sinh khối 10 – THPT trường THPT Hoàng Văn Thụ.
V TÀI LIỆU THAM KHẢO:
- Sách Tin học 10.
- Sách giáo viên Tin học 10.
- Sách tham khảo - Giáo trình Tin học có liên quan.
- Tham khảo tài liệu có liên quan.
- Nghiên cứu tình hình thực tế học sinh qua khảo sát chất lượng đầu năm.
- Thảo luận rút kinh nghiệm qua các giờ dạy.
VI NỘI DUNG ĐỀ TÀI
KẾT HỢP PHƯƠNG PHÁP LẤY VÍ DỤ VÀ MÔ HÌNH THỰC TIỄN VỚI CÁC PHƯƠNG PHÁP KHÁC TRONG GIẢNG DẠY ÁP DỤNG VÀO BÀI
“BÀI TOÁN VÀ THUẬT TOÁN”
VII THỜI GIAN NGHIÊN CỨU:
Học kỳ I - Năm học 2007 – 2008
2
Trang 3b NỘI DUNG VÀ QUÁ TRèNH THỰC HIỆN ĐỀ TÀI
1 Tình trạng thực tế khi cha thực hiện đề tài
Trớc đây khi cha áp dụng phơng pháp giảng dạy bằng giáo án điện
tử, lấy ví dụ từ thực tế, học sinh luôn phản ánh với giáo viên rằng bộ môn này khó hiểu và trừu tợng Khi kiểm tra với mức độ đề tơng đơng với các ví dụ trong sách giáo khoa, các em vẫn mơ hồ và đạt kết quả cha cao
2 Khảo sát thực tế
Giáo viên đa ra đề kiểm tra 1 tiết đối với lớp 10A10 có 45 học sinh
nh sau:
Bài 1: Xác định Input và Output của bài toán sau:
“Tính tổng các bình phơng các chữ số của 1 số tự nhiên bất kỳ có 4 chữ số
”
Bài 2: Liệt kê các bớc của thuật toán để giải bài toán sau :
Rút gọn phân số a
bvới a, b bất kỳ, b≠ 0 Bài 3: Viết thuật toán để sắp xếp 1 dãy số nguyên bất kỳ nhập từ bàn
phím theo thứ tự giảm dần.
Kết quả kiểm tra nh sau:
Đối với Bài 1, hầu nh học sinh chỉ tìm đợc Input và Output của bài toán
mà cha viết đợc đầy đủ thuật toán để giải nó
Đối với Bài 2, học sinh cha mô phỏng đợc thuật toán bằng sơ đồ khối
3 Nội dung chính của đề tài
a) Chuẩn bị :
- Về phơng pháp:
+ Giáo viên soạn trớc bài giảng "Tìm hiểu bài toán và thuật toán" trên máy tính bằng phần mềm PowerPoint (Bài soạn này đợc dạy trong 4 tiết học) Sử dụng phơng pháp thuyết trình kết hợp vấn
đáp và gọi 5-6 học sinh lên bảng đứng làm mẫu khi cần biểu diễn thuật toán Tìm Max và thuật toán sắp xếp
+ Chuẩn bị một số bài tập áp dụng để rèn luỵên kỹ năng biểu diễn thuật toán
- Về phơng tiện:
+ Giáo viên chuẩn bị một dàn máy tính (để bàn hoặc xách tay), một máy chiếu, một màn chiếu, sử dụng chuột
+ Học sinh cần có đầy đủ sách bút, vở ghi
b) Các bớc thực hiện bài giảng "Tìm hiểu bài toán và thuật toán"
3
Trang 4* Hoạt động 1: Giúp học sinh hiểu rõ khái niệm "Bài toán" trong Tin học:
Giáo viên đặt vấn đề bằng cách đa ra các ví dụ để học sinh quan sát:
Ví dụ 1: Giải phơng trình bậc 2 tổng quát: ax2+ bx+ c= 0 (a ≠0).
Ví dụ 2: Giải bài toán "Vừa già vừa chó
Bó lại cho tròn
Ba mơi sáu con Một trăm chân chẵn"
Hỏi có bao nhiêu gà và bao nhiêu chó?
Phát vấn học sinh: Em hãy xác định dữ kiện ban đầu và kết quả
của mỗi bài toán sẽ có dạng gì ? (Dạng số, hình ảnh, hay văn bản ?)
Học sinh trả lời:
ở ví
dụ 1 Các hệ số a, b, c bất kỳ Nghiệm của phơng trình(nếu có) có dạng số nguyên
hoặc số thực
ở ví
dụ 2 Có 36 con gà và chóCó 100 cái chân tất cả Số lợng gà và chó (dạng sốnguyên)
Phát vấn học sinh: Em hãy nhận xét sự giống và khác nhau giữa bài
toán trong Tin học và bài toán trong Toán học?
Học sinh trả lời: Bài toán trong Toán học yêu cầu chúng ta giải cụ
thể để tìm ra kết quả, còn bài toán trong Tin học yêu cầu máy tính giải và đa ra kết quả cho chúng ta
Từ đây Giáo viên trình chiếu khái niệm Bài toán trong Tin học : Là
một việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đầu vào (dữ kiện) máy tính cho ta kết quả mong muốn
- Những dữ kiện của bài toán đợc gọi là Input
- Kết quả máy tính trả ra đợc gọi là Output của bài toán
Sau đó giáo viên yêu cầu học sinh tìm lại Input và Output của 2 ví dụ trên
Nh vậy, khái niệm bài toán không chỉ bó hẹp trong phạm vi môn toán,
mà phải đợc hiểu nh là một vấn đề cần giải quyết trong thực tế, để từ những dữ kiện đã cho máy tính tìm ra kết quả cho chúng ta
*Hoạt động 2: Giúp học sinh hiểu rõ khái niệm "Thuật toán" trong Tin học:
+B
ớc 1: Giáo viên nêu tình huống gợi mở:
Làm thế nào để từ Input của bài toán, máy tính tìm cho ta Output ?
Học sinh trả lời: Ta cần tìm cách giải bài toán và làm cho máy tính hiểu
đợc cách giải đó
Vấn đề đặt ra ở đây là chúng ta vẫn phải giải bài toán mà có khi còn cảm thấy phức tạp hơn nhiều?
Giáo viên giải thích: Nếu nh trong Toán học chúng ta phải giải trực
tiếp từng bài để lấy kết quả, thì ở đây, chúng ta chỉ cần tìm cách giải bài toán tổng quát và máy tính sẽ giải cho ta một lớp các bài toán
đồng dạng
4
Trang 5Ví dụ: Bài toán giải phơng trình bậc 2 với 3 hệ số a,b,c bất kỳ, bài toán tìm số lớn nhất trong một dãy hữu hạn với dãy đợc nhập bất kỳ, bài toán tìm UCLN của 2 số nguyên bất kỳ, bài toán quản lý học sinh ,v.v +B ớc 2: Giáo viên đa ra khái niệm thuật toán và các tính chất của một
thuật toán:
Khái niệm: “Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác đợc sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy các thao tác ấy, từ thông tin đầu vào (Input) của bài toán
ta nhận đợc kết quả (Output) cần tìm”
Các tính chất của một thuật toán:
- Tính dừng
- Tính xác định
- Tính đúng đắn + B ớc 3: Giới thiệu cho học sinh 2 cách biểu diễn một thuật toán
- Cách l: Liệt kê các bớc: Chính là dùng ngôn ngữ tự nhiên để diễn tả các bớc cần làm khi giải một bài toán bằng máy tính
5
Trang 6- Cách 2: Dùng sơ đồ khối.
Một số quy ớc khi biểu diễn thuật toán bằng sơ đồ khối:
Khối hình oval: mô tả thao tác nhập, xuất dữ liệu
Khối hình thoi: mô tả các thao tác so sánh
Khối hình chữ nhật tròn góc: mô tả thao tác bắt đầu, kết thúc
Giáo viên nhắc học sinh phải nhớ các quy ớc trên để biểu diễn thuật toán đợc chính xác
*Hoạt động 3: Giới thiệu và hớng dẫn học sinh mô tả, biểu diễn thuật toán của một số bài toán điển hình.(Trọng tâm)
Bài toán 1: Giải phơng trình bậc 2 tổng quát: ax2+bx+c = 0 ( a ≠ 0) Trớc tiên giáo viên yêu cầu học sinh xác định Input và Output của bài toán:
- Input: 3 hệ số a,b,c
- Output: Nghiệm của phơng trình
Sau đó gọi một học sinh đứng lên nhắc lại cách giải một phơng trình bậc 2 đầy đủ, rồi từng bớc hớng dẫn học sinh viết thuật toán theo 2 cách
Lu ý rằng giáo viên vừa trình chiếu từng bớc của thuật toán vừa vấn
đáp học sinh (dùng hiệu ứng xuất hiện phù hợp)
Cách 1: Liệt kê từng bớc
- Bớc 2: Tính biệt số ∆ = b2- 4ac
- Bớc 3: Nếu ∆ < 0 thông báo phơng trình vô nghiệm Bước 7
2a
−
=
Bước 7
2a
− ± ∆ , Bước 7
Cách 2: Biểu diễn thuật toán bằng sơ đồ khối
6
Nhập a,b,c
= 0
Tính = b2- 4ac
nghiệm
Ph ơng trình có nghiệm kép x= -b/2a
Ph ơng trình có 2 nghiệm x1,x2=(-b)/2a
Kết thúc
Đúng
Đúng
Trang 7 Sau khi đã hớng dẫn xong các cách biểu diễn thuật toán để giải bài toán trên, giáo viên nêu ra các ứng dụng của bài toán này trong thực tế: dùng để giải các phơng trình bậc 2 trên máy tính cá nhân, tích hợp vào máy tính bỏ túi nh: Casio FX 500A, Casio FX 500MS, mà học sinh chỉ cần nhập 3 hệ số a,b,c vào máy là ngay lập tức máy tính sẽ cho nghiệm chính xác
Bài toán 2: Kiểm tra tính nguyên tố của một số tự nhiên N
• Phát vấn học sinh: Một số đợc coi là nguyên tố khi nào? Số 223 có là
số nguyên tố không?
• Học sinh trả lời: Một số là số nguyên tố khi nó chỉ chia hết cho 1 và
chính nó.Ví dụ : 2,3,5,7,11,13,17
Số 223 là số nguyên tố vì nó thỏa mãn tính chất trên
Giáo viên lu ý phân tích cho học sinh hiểu: Muốn kiểm tra tính nguyên tố của một số nguyên dơng N, ta chỉ cần xét xem nó có các ớc trong khoảng từ 2 đến phần nguyên căn bậc 2 của nó là đủ( kí hiệu là
N
nguyên tố
Giáo viên bắt đầu trình chiếu 2 cách biểu diễn thuật toán và giải thích ý nghĩa từng biến dùng trong thuật toán:
Cách 1: Liệt kê các bớc
-Bớc 1: Nhập số tự nhiên N
-Bớc 2: Nếu N=1 thì N không là số nguyên tố
-Bớc 3: Nếu 1<N< 4 thông báo N là số nguyên tố
-Bớc 4: i2
-Bớc 5: Nếu i> N thì thông báo N là số nguyên tố rồi kết thúc -Bớc 6: Nếu N chia hết cho i thì thông báo N không là số nguyên tố rồi kết thúc
-Bớc 7: i i+1 rồi quay lại bớc 5
Cách 2: Biểu diễn bằng sơ đồ khối
7
Nhập N
N=1
?
N<4
?
i2
Thông báo N là số nguyên tố rồi kết thúc
Đ
S
Đ
S
N có chia hết cho i không?
Đ
Thông báo N không là
số nguyên tố rồi kết
thúc
ii+1
S
Đ
S
Trang 8
* Chú ý: Giáo viên nên chọn hiệu ứng xuất hiện từng bớc để học sinh tiện theo dõi
Bài toán 3: Tìm Max của một dãy số gồm N số nguyên a 1 , a 2 ,
a 3 , , a n
Trớc tiên giáo viên lấy ví dụ thực tế để minh hoạ: Giả sử có 5 quả bóng có kích thớc khác nhau đợc xếp thành một hàng, sau đó đa ra ý tởng để tìm quả bóng to nhất trong các quả bóng
ý tởng:
- Ban đầu chọn Max bằng quả thứ nhất
- Sau đó so sánh quả thứ nhất với quả thứ 2 thấy, quả thứ 2 lớn hơn quả thứ nhất Khi đó gán Max là quả thứ 2
- Tiếp tục so sánh quả thứ 2 với quả thứ 3, thấy quả thứ 3 không lớn hơn quả thứ 2 Lại so sánh quả thứ 2 với quả thứ 4, thấy quả thứ 4 lớn hơn quả thứ 2 khi đó gán Max là quả thứ 4
8
MAX
MAX
Trang 9- So sánh quả thứ 4 với quả thứ 5, thấy quả thứ 5 không lớn hơn quả thứ 4 Lúc này, đã so sánh đến quả cuối cùng vì vậy kết luận Max là quả thứ 4
Từ ý tởng đó thực hiện việc trình chiếu thuật toán:
Cách 1: Liệt kê các bớc
-Bớc 1: Nhập N và N số nguyên a1, a2, a3, , an
-Bớc 2: Max a1, i 2
-Bớc 3: Nếu i > N thì đa ra giá trị Max rồi kết thúc
-Bớc 4:
4.1: Nếu ai > Max thì Max ai 4.2: i i+1 rồi quay lại bớc 3
Cách 2: Biểu diễn bằng sơ đồ khối
9
Nhập n và dãy
a1,a2, ,an
Maxa1 , i 2
i >N?
ai >Max?
Đa ra Max và kết
thúc
Đ S
S
MAX
MAX
Trang 10Bài toán 4: Dùng thuật toán sắp xếp bằng tráo đổi để sắp xếp dãy số a 1 ,a 2 , ,a n theo thứ tự không giảm.
ý tởng: - Duyệt từ đầu dãy đến cuối dãy, nếu gặp một số ai >ai+1 thì
đổi chỗ 2 số cho nhau Tức là số đứng sau phải luôn lớn hơn hay bằng
số đứng trớc, giống nh học sinh xếp hàng phải tuân theo quy tắc bé
đứng trớc lớn đứng sau
Nh vậy ta phải duyệt dãy số nhiều lần, mỗi lần sẽ đa đợc ít nhất một số về đúng vị trí của nó
Giáo viên lại tiếp tục trình chiếu và hớng dẫn học sinh 2 cách biểu diễn thuật toán
Cách 1: Liệt kê các bớc
• Bớc 1: Nhập số lợng các số hạng trong dãy (N) và các số cụ thể
a1,a2, ,an
• Bớc 2: MN
• Bớc 3: Nếu M< 2 đa ra dãy số đã sắp xếp
• Bớc 5: ii+1
• Bớc 6: Nếu i>M quay lại bớc 2
• Bớc 7: Nếu ai >ai+1 thì đổi chỗ 2 số cho nhau rồi quay lại bớc 5 Cách 2: Biểu diễn bằng sơ đồ khối
10
Maxai
i i + 1
Đ
Nhập n và dãy
a1,a2, ,an
MN
M<2?
MM-1, i 0
ii+1
i >M ?
Đa ra dãy số đã
sắp xếp và kết
thúc
Đ S
Đ
Trang 11Sau khi trình chiếu 2 cách biểu diễn thuật toán sắp xếp, giáo viên gọi 6 em học sinh lên đứng trớc lớp theo thứ tự ngẫu nhiên để mô phỏng trực tiếp thuật toán sắp xếp Cần sắp xếp lại sao cho 6 em này đứng theo đúng thứ tự bé đứng trớc, lớn đứng sau đúng theo các bớc trong thuật toán
11
ai >ai+1 ?
S
Đ Tráo đổi ai
và ai+1
Trang 12Mô phỏng:
Lúc đầu 6 em đứng nh sau: ( Ta coi mỗi em là một số để tiện theo dõi)
2 6 1 4 5 3
Lần duyệt thứ nhất (tính từ trái sang phải ):
2 6 1 4 5 3
2 1 6 4 5 3
12
Bạn số 6 cao hơn bạn số 1 nên đổi chỗ
Bạn số 6 cao hơn bạn số 4 nên đổi chỗ
Trang 132 1 4 6 5 3
2 1 4 5 6 3
2 1 4 5 3 6
13
Bạn số 6 cao hơn bạn số 5 nên đổi chỗ
Bạn số 6 cao hơn bạn số 3 nên đổi chỗ
Sau lần duyệt thứ nhất bạn số 6 đã cuối hàng
Trang 14Lần duyệt 2:
2 1 4 5 3 6
1 2 4 5 3 6
1 2 4 3 5 6
14
Bạn số 2 cao hơn bạn số 1 nên đổi chỗ
Bạn số 5 cao hơn bạn số 3 nên đổi chỗ
Sau lần duyệt 2 bạn
số 5 đã đúng vị trí