Tôi xin trình bày phương pháp giảng dạy của mình thông qua một ví dụ về một bài giảng cụ thể trong chương trình Tin học lớp 10, đó là bài "Bài toán và thuật toán".. Khái niệm thuật toán
Trang 1I MỞ ĐẦU
Công nghệ thông tin là một lĩnh vực luôn có sự bùng nỗ và đột phá, với sự phát triển vô cùng nhanh chóng Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đã lựa chọn môn học này vào nhà trường phổ thông như những môn hoc khác với mục tiêu cung cấp cho các em những kiến thức phổ thông về ngành Tin học, hình thành và phát triển khả năng tư duy thuật toán, năng lực sử dụng các thành tựu của ngành khoa học này trong học tập và trong các lĩnh vực của mình sau này Tin học lớp 10 các em được làm quen với khá nhiều nội dung kiến thức mới, khó tiếp thu và rất trừu tượng như hoạt động xây dựng thuật giải, mã hóa, kiểm thử…có tính tính tư duy logic, chặt chẽ đòi hỏi các em phải tập trung cao Nếu không tạo ra được niềm say mê và hứng thú ngay từ đầu trong quá trình học các em sẽ rất khó tiếp thu kiến thức với nhiều khái niệm mới và trừu tượng Chính vì vậy việc làm thế nào để các em có thể lĩnh hội đầy đủ những kiến thức qua mỗi bài học luôn là trách nhiệm, động lực trong mỗi người thầy
Nhận thức được vai trò của người thầy rất quan trọng như là người thiết kế, ủy thác, điều khiển và thể chế hóa trong quá trình giảng dạy Tôi luôn cố gắng sử dụng nhiều phương pháp trong giờ dạy- học để giúp học sinh có cái nhìn trực quan sinh động giúp các em nắm được bài tốt hơn, say mê với môn học Cụ thể tôi muốn nói
ở đây là dùng "Bài giảng điện tử" do giáo viên tự biên soạn để trình chiếu bài giảng, kết hợp thuyết trình, vấn đáp và mô phỏng bằng các ví dụ thực tế cho học sinh hoạt động Tôi xin trình bày phương pháp giảng dạy của mình thông qua một
ví dụ về một bài giảng cụ thể trong chương trình Tin học lớp 10, đó là bài "Bài toán
và thuật toán" Đây được coi là bài học khó trong chương trình giáo khoa lớp 10 và
có liên quan chặt chẽ đến kiến thức lớp 11 sau này
Với mong muốn góp phần nâng cao chất lượng dạy học môn Tin học ở trường
THPT Nông Cống 3 Tôi chọn đề tài: “Một số phương pháp dạy học tạo hứng thú
và nâng cao chất lượng cho học sinh trường THPT Nông Cống 3 thông qua bài
4 tin học 10: Bài toán và thuật toán”.
II NỘI DUNG SÁNG KIẾN KINH NGHIỆM.
1 Cơ sở lí luận.
a Khái niệm bài toán
Input: Thông tin đã có
Output: Thông tin cần tìm
b Khái niệm thuật toán
Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy,
từ Input của bài toán, ta nhận được Output cần tìm
- Trình bày thuật toán:
1
Trang 2* Liệt kê
* Sơ đồ khối
- Tính chất của thuật toán:
+ Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác
+ Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo
+ Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm
2 Thực trạng vấn đề.
Trong quá trình giảng dạy bộ môn Tin học lớp 10 Đặc biệt là bài 4: “Bài toán và thuật toán” đây là bài có nhiều nội dung kiến thức và nhiều khái niệm 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ơ màng, thậm chí không hiểu rõ bản chất vấn đề và đạt kết quả chưa cao Nguyên nhân là nếu chỉ áp dụng phương pháp giảng dạy truyền thống, không áp dụng công nghệ thông tin và phối hợp các phương pháp khác trong quá trình giảng dạy Học sinh sẽ rất thụ động không phát huy hết được tính tích cực và sáng tạo trong quá trình học tập, dẫn đến các em tiếp thu kiến thức một cách thụ động sơ sài không hứng thú say mê tìm tòi kiến thức mới trong mỗi bài học
Qua kết quả khảo sát ở lớp 10B3, trường THPT Nông Cống 3, tổng số 45 học sinh Năm học 2019 – 2020, kết quả thu được như sau
Điểm Giỏi Điểm Khá Điểm TB Điểm Yếu Điểm Kém
SL Tỉ lệ SL Tỉ lệ SL Tỉ lệ SL Tỉ lệ SL Tỉ lệ
Đứng trước thực trạng trên, trong quá trình giảng dạy tin học lớp 10 Trong mỗi tiết dạy trên lớp Với vai trò người thầy tôi luôn tìm tòi và nghiên cứu kết hợp nhiều phương pháp như vấn đáp, thuyết trình, chơi trò chơi cùng với sự hỗ trợ đắc lực của các công cụ công nghệ như máy chiếu, máy tính, mạng máy tính
và các phần mềm khác, từ đó tạo cho các em hứng thú mỗi khi tìm tòi lĩnh hội được một kiến thức mới, giúp các em khắc sâu kiến thức và vận dụng trong quá trình học tập
3 Giải quyết vấn đề.
a Chuẩn bị :
- Về phương pháp:
Trang 3+ 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 luyệ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
+ 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 "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 khác 0)
Ví dụ 2: Giải bài toán "Trăm trâu trăm cỏ
Trâu đứng ăn năm Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó"
Hỏi có bao nhiêu trâu mỗi loại ?
Ví dụ 3: Bài toán quản lý học sinh trong một kỳ thi tốt nghiệp bằng máy tính:
SBD Họ và tên Điểmtoán Điểmvăn
Điểm Ngoại ngữ
Điểm lý
Điểm sinh
Điểm sử
Tổng điểm
Xếp loại
410001 Phạm Ngọc
Toàn
410003 Hà Nguyên
Diệp
410004 Nguyễn Thị
Thanh Bình
41000
5
Thanh
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:
Dữ kiện (Cho biết) Kết quả (cần tìm)
ở 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ố
3
Trang 4ở ví dụ
2
Có 100 con trâu và 100 bó cỏ
Mỗi con trâu đứng ăn 5 bó
Mỗi con trâu nằm ăn 3 bó
3 con trâu già ăn chung một bó
Số lượng trâu đứng, trâu nằm và trâu già ( dạng số nguyên)
ở ví dụ
3
Số báo danh, họ tên, ngày sinh, điểm toán, điểm văn, điểm lý
Tổng điểm của mỗi học sinh, xếp loại tốt nghiệp nào, đỗ hay trượt
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 3 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 động cơ:
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 đó
Đến đây sẽ có em thắc mắc: Như vậy chúng ta vẫn phải giải bài toán mà có khi còn phức tạp hơn trong Toán học ?
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
Ví dụ: Bài toán giải phương trình bậc 2 với các hệ số a,b,c bất kỳ, bài toán tìm diện tích tam giác với độ dài 3 cạnh đượ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
Trang 5+ 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
- 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:
Hình ô van: mô tả thao tác nhập xuất dữ liệu
Hình chữ nhật: mô tả các thao tác tính toán
Hình thoi: mô tả các thao tác so sánh
Hình mũi tên : Quy trình trình tự thực hiện thao tá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
Lưu ý 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 1: Bắt đầu
Bước 2: Nhập 3 hệ số a,b,c
Bước 3: Tính biệt số = b2- 4ac
Bước 4: Nếu < 0 thông báo phương trình vô nghiệm rồi kết thúc
5
Trang 6Bước 5: Nếu = 0 thông báo phương trình có nghiệm kép x b
2a
rồi kết thúc
Bước 6: Nếu > 0 thông báo phương trình có 2 nghiệm x1,x2= b
2a
� , rồi kết thúc
Bước 7: Kết thúc
Cách 2: Biểu diễn thuật toán bằng sơ đồ khối
Đúng
Sai Đúng Sai
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?
= 0
Nhập a,b,c
Tính = b 2 - 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 Kết thúc
Trang 7 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 lưu ý 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 ) Nếu N không chia hết cho số nào trong khoảng này chứng tỏ N không 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
Đ Đ
S
Nhập N
N=1 ?
N<4 ?
i � �� �N
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
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 phát vấn học sinh nêu ý tưởng để giải bài toán này
Ý tưởng:
- Ban đầu coi max là a1
- Duyệt từ đầu dãy đến cuối dãy, nếu gặp một số ai >Max thì gán Max bằng
ai, cuối cùng sẽ tìm được Max
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
S
Nhập n và dãy a1,a2,
…,a
n
Maxa1 , i 2
i >N?
a
i >Max?
Maxa
i
i i + 1
Đưa ra Max và kết
thúc
Đ
Đ S
Trang 9Bà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 4: MM-1, i0
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
Cách 2: Biểu diễn bằng sơ đồ khối
Sau 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
9
Nhập n và dãy a1,a2,
…,an MN
M<2?
MM-1, i 0
ii+1
i >M ?
ai
>a
i+1 ?
Đưa ra dãy số đã sắp xếp và kết thúc
Đ S
S
Đ Đ Tráo đổi ai và ai+1
Trang 10toá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
Mô 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 5 4 1 6 3
Lần duyệt thứ nhất (tính từ phải sang trái):
2 5 4 1 6 3
Bạn số 6 cao hơn bạn số
1 nên đổi chỗ
Trang 11
2 5 4 6 1 3
2 5 6 4 1 3
2 6 5 4 1 3
11
Bạn số 6 cao hơn bạn số
4 nên đổi chỗ
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ố
2 nên đổi chỗ
Trang 12
6 2 5 4 1 3
Lần duyệt thứ 2:
6 2 5 4 1 3
6 2 5 4 3 1
Sau lần duyệt thứ nhất được bạn số 6 về đúng vị trí.
Bạn số 3 cao hơn bạn số
1 nên đổi chỗ
Trang 136 5 2 4 3 1
Lần duyệt 3:
6 5 2 4 3 1
Lần duyệt 4
6 5 4 2 3 1
13
Sau lần duyệt thứ 2 được bạn số 1 và số 5 về đúng vị trí.
Bạn số 4 cao hơn bạn số 2 nên đổi chỗ, sau lần này ta được 4 bạn đúng vị trí: số 1,4,5,6.
Bạn số 3 cao hơn bạn số 2 nên đổi chỗ,còn lại đã đúng vị trí.