Do đó, để thực hiện tốt mục tiêu về đổi mới căn bản, toàn diện giáo dục và đào tạo giáo viên cần có nhận thức đúng về bản chất của đổi mới phương pháp dạy học theo định hướng phát triển
Trang 1NỘI DUNG TRANG
1 Mở đầu 2
1.1 Lí do chọn đề tài 2
1.2 Mục đích nghiên cứu 3
1.3 Đối tượng nghiên cứu 3
1.4 Phương pháp nghiên cứu 3
2 Nội dung sáng kiến kinh nghiệm 3
2.1 Cơ sở lý luận 3
a.Khái niệm về thuật toán 3 b Các cách diễn tả thuật toán 3 c Các tính chất của thuật toán 4 d Ví dụ minh họa 4 2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm 5
2.3 Các giải pháp giải quyết vấn đề 6
2.3.1 Mô phỏng thuật toán tìm giá trị lớn nhất của dãy số nguyên A gồm 11 phần tử là 5, 1, 4, 7, 6, 3, 15, 8, 4, 9, 12 6 2.3.2 Mô phỏng thuật toán kiểm tra tính nguyên tố của một số nguyên dương N với N=29 và N=45 10 2.3.3 Mô phỏng sắp xếp dãy số A gồm 10 phần tử là 6, 1, 5, 3, 7, 8, 10, 7, 12, 4 bằng thuật toán tráo đổi 2.4 Kết quả thu được 13
3.Kết luận, kiến nghị 13
3.1 Kết luận 13
3.2 Kiến nghị 14
Trang 21 MỞ ĐẦU
1.1 Lí do chọn đề tài.
Sự phát triển như vũ bão của khoa học công nghệ - kỹ thuật hiện đại đã đặt giáo dục vào thử thách mới, đó là nhằm đào tạo ra thế hệ tương lai vừa có phẩm chất, vừa phải có năng lực tiếp cận khoa học hiện đại để hội nhập với xu thế chung của
xã hội Hiện nay, Đảng và Nhà nước rất chú trọng vấn đề này, đặc biệt là trong các trường phổ thông Luật số: 43/2019/QH14 – Luật Giáo dục, điều 29.4: Mục tiêu
của giáo dục phổ thông: “Giáo dục trung học phổ thông nhằm trang bị kiến thức công dân; bảo đảm cho học sinh củng cố, phát triển kết quả của giáo dục trung học cơ sở, hoàn thiện học vấn phổ thông và có hiểu biết thông thường về kỹ thuật, hướng nghiệp; có điều kiện phát huy năng lực cá nhân để lựa chọn hướng phát triển, tiếp tục học chương trình giáo dục đại học, giáo dục nghề nghiệp hoặc tham gia lao động, xây dựng và bảo vệ Tổ quốc.” [1].
Điều 30.3: Yêu cầu về nội dung, phương pháp giáo dục phổ thông: “Phương pháp giáo dục phổ thông 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 trưng từng môn học, lớp học và đặc điểm đối tượng học sinh; bồi dưỡng phương pháp tự học, hứng thú học tập, kỹ năng hợp tác, khả năng tư duy độc lập; phát triển toàn diện phẩm chất và năng lực của người học; tăng cường ứng dụng công nghệ thông tin và truyền thông vào quá trình giáo dục.” [1].
Như vậy, giáo dục phổ thông không chỉ đào tạo thế hệ học sinh học được cái gì? biết được cái gì? mà còn phải vận dụng được những cái đã học, đã biết vào thực tế cuộc sống Do đó, để thực hiện tốt mục tiêu về đổi mới căn bản, toàn diện giáo dục
và đào tạo giáo viên cần có nhận thức đúng về bản chất của đổi mới phương pháp dạy học theo định hướng phát triển năng lực người học và một số biện pháp đổi mới phương pháp dạy học theo hướng này
Với sự phát triển mạnh mẽ của cuộc cách mạng công công nghệ 4.0 đã thúc đẩy và hỗ trợ việc học tập của học sinh trong nhà trường Môn tin học đóng góp rất nhiều về sự thay đổi cuộc cánh mạng công nghiệp này
Trong quá trình giảng dạy học, người thầy ngoài việc giúp học sinh nắm được những kiến thức cơ bản nhất thì còn phải kích thích được tính tích cực tự học, sáng tạo, chủ động của học sinh qua mỗi bài học sinh cảm thấy thích thú với kiến thức mới và những ứng dụng thực tế và cuộc sống Việc học ngôn ngữ lập trình giúp các em hiểu được cấu trúc hoạt động của máy tính điện tử từ đó định hướng đam
mê về tin học, nghề nghiệp của các em lựa chọn
Thuật toán là một trong những nội dung quan trọng nhất của chương trình tin học THPT Đây là tiền đề, cơ sở lý thuyết cho rất nhiều nội dung lập trình Thuật 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 khi thực hiện các thao tác ấy, từ Input của bài toán ta nhận được Output cần tìm Như vậy, thuật toán là diễn tả các bước, các thao tác để giải quyết một bài toán nào đó Thực hiện thuật toán là thực hiện tuần tự các bước
Trong sách giáo khoa tin học lớp 10, bài 4 là phần nội dung về thuật toán Các thuật toán được minh họa gồm những thuật toán cơ bản như sau : Tìm giá trị lớn nhất của dãy số nguyên, kiểm tra tính nguyên tố của số nguyên dương N, bài
[1]: Luật số: 43/2019/QH14 – Luật Giáo dục
Trang 3toán sắp xếp Các bài toán được giới thiệu theo cách sau : phát biểu bài toán, sau
đó tìm input và output của bài toán, tìm ý tưởng, xây dựng thuật toán, sau đó lấy các ví dụ mô phỏng các bước của thuật toán Rõ ràng đây là một việc làm rất cần thiết bởi thuật toán khá trừu tượng, học sinh nhìn vào rất khó hình dung
Với mong muốn học sinh được trực quan các bước của thuật toán và hiểu sâu
sắc các bước ,ý tưởng của một thuật toán tôi chọn sáng kiến : “SỬ DỤNG
PHƯƠNG PHÁP MÔ PHỎNG THUẬT TOÁN BẰNG CÁCH DIỄN ĐẠT CHI TIẾT CÁC BƯỚC ĐỂ CỦNG CỐ MỘT SỐ BÀI TOÁN TRONG SÁCH GIÁO KHOA TIN HỌC 10 ” để học sinh hiểu hơn về thuật toán tìm giá trị lớn
nhất, kiểm tra tính nguyên tố của số nguyên dương N và sắp xếp tráo đổi dãy số nguyên
1.2 Mục đích nghiên cứu.
Đưa khái niệm về thuật toán và ví dụ minh họa cho thuật toán
1.3 Đối tượng nghiên cứu.
- Nghiên cứu một số khái niệm cơ bản về thuật toán và ví dụ minh họa
- Thực trạng học và làm bài tập môn Tin học của học sinh khối 11 tại trường THPT Nga Sơn
1.4 Phương pháp nghiên cứu.
- Phương pháp nghiên cứu lý thuyết
- Phương pháp nghiên cứu thực tiễn
- Phương pháp thực nghiệm sư phạm
- Phương pháp thống kê toán học
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận
Trong sáng kiến kinh nghiệm này xin được trình bày các khái niệm cơ bản về thuật toán và một số ví dụ để mô phỏng thuật toán
a.Khái niệm về thuật toán [2] :
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 các thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm
- Các tính chất của thuật toán : Tính dừng, Tính xác định và tính đúng đắn
b Các cách diễn tả thuật toán [2] :
Để diễn tả thuật toán cho một bài toán chúng ta có thể sử dụng một trong hai
cachs sau :
+ Diễn tả thuật toán theo các bước liệt kê
+ Diễn tả thuật toán bằng sơ đồ khối: Sử dụng một số khối, đường có mũi tên như sau :
- Hình thoi thể hiện thao tác so sánh
- Hình chữ nhật thể hiện các phép tính toán
- Hình ô van thể hiện thao tác nhập, xuất dữ liệu
Trang 4
[2]: Hồ Sĩ Đàm – SGK Tin học 11
- Các mũi tên quy định trình tự thực hiện thuật toán
c Các tính chất của thuật toán [2]
- 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
d Ví dụ minh họa [2] :
- Minh họa thuật toán tìm giá trị lớn nhất của dãy số nguyên A (5, 1, 4, 7, 6, 3,
15, 8, 4, 9, 12) để tìm được giá trị lớn nhất của dãy số là 15
- Minh họa thuật toán kiểm tra tính nguyên tố của số nguyên dương N, xét với N=29 và N=45
- Minh họa thuật toán sắp xếp tráo đổi với dãy số 6, 1, 5, 3, 7, 8, 10, 7, 12, 4 để
được dãy số được sắp xếp 1, 3, 4, 5, 6, 7, 7, 8, 10, 12
Các bài toán minh họa có rất nhiều cách để thực hiện tối ưu nhưng trong khuôn khổ sáng kiến này tôi chỉ minh họa thuật toán đã trình này sách giáo khoa tin học lớp 10
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Trong quá trình dạy học tin học nội dung về thuật toán đã số các em đều chưa thực
sự hiểu thuật toán Phần mô phòng thuật toán được trình bày bằng cách ghi kết quả
ở mỗi bước, không ghi cụ thể cách thực hiện để từ input sau khi thực hiện hiện cá thao tác của thuật toán ta nhận được Output cần tìm Học sinh rất khó hiểu cách
thực hiện của thuật toán, ta cùng xét một số ví dụ như sau :
Ví dụ 1 [2] : Tìm giá trị lớn nhất của dãy số gồm N số nguyên a 1, a 2 ,a 3 ,….a n
Sách giáo khoa minh họa dãy số 5 , 1 , 4, 7, 6, 3, 15, , 4, 9, 12 với số phần tử
là 11.
Đây là cách mô phỏng tìm giá trị lớn nhất của dãy số nguyên gồm N=11 phần tử, với các số hạng dãy số có giá trị từ a1 đến an Nhìn vào bảng trên ta dễ dàng nhận thấy được input, output của bài toán nhưng thể hiện thuật toán đối với bài toán trên học sinh học sinh chưa thấy được các bước thực hiện của thuật toán
Ví dụ 2 [2]: Kiểm tra tính nguyên tố của một số nguyên dương N
Trang 5
[2]: Hồ Sĩ Đàm – SGK Tin học 11
Bài toán kiểm tra tính nguyên tố của số nguyên dương N được minh họa trong hai bảng, giá trị đầu vào và đầu ra được nhìn thấy trực quan nhưng thể hiện các bước của thuật toán chưa được rõ
Ví dụ 3 [2]: Cho dãy A gồm N số nguyên a1,a2,a3,…an Cần sắp xếp các số hạng của dãy A trở thành dãy không giảm( dãy số tăng dần)
Dãy số minh họa cho thuật toán tráo đổi là : 6,1,5,3,7,8,10,7,12,4
Với cách minh họa trên học sinh thấy được sự tráo đổi của hai phần tử trong dãy, không thấy được các bước của thuật toán thực hiện như thế nào
2.3 Các giải pháp để giải quyết vấn đề
Giải pháp để giúp học sinh hiểu hơn về thuật toán của tôi trong sáng kiến này
đó là mô phỏng thuật toán chi tiết theo các bước liệt kê với các số cụ thể để học sinh thấy được các bước thực hiện của thuật toán Để hiểu rõ hơn ta cùng tìm hiểu nội dung mô phòng như sau :
2.3.1 Mô phỏng thuật toán tìm giá trị lớn nhất của dãy số nguyên A gồm 11
phần tử là 5, 1, 4, 7, 6, 3, 15, 8, 4, 9, 12
Lần duyệt 1:
Bước 1: Nhập N và dãy số a 1 , a 2 ,a 3 , a n
Trang 6[2]: Hồ Sĩ Đàm – SGK Tin học 11
Bước 2 : Max a1 =5, i 2
Bước 3: i> N (2>11 là sai )
Bước 4.1: a2 > Max (1>5 là sai)
Bước 4.2: i i+1 (i i+1 = 2+ 1 =3) , Quay bước 3
Lần duyệt 2:
Bước 3: i> N (3>11 là sai )
Bước 4.1: a3 > Max (4>5 là sai)
Bước 4.2: i i+1 (i i+1 = 3+ 1 =4) , Quay bước 3
Lần duyệt 3:
Bước 3: i> N (4>11 là sai )
Bước 4.1: a4 > Max (7>5 là đúng do đó Max 7)
Bước 4.2: i i+1 (i i+1 = 4+ 1 =5) , Quay bước 3
Lần duyệt 4:
Bước 3: i> N (5>11 là sai )
Bước 4.1: a5 > Max (6>7 là sai)
Bước 4.2: i i+1 (i i+1 = 5+ 1 =6) , Quay bước 3
Lần duyệt 5:
Bước 3: i> N (6>11 là sai )
Bước 4.1: a6 > Max (3>7 là sai)
Bước 4.2: i i+1 (i i+1 = 6+ 1 =7) , Quay bước 3
Lần duyệt 6:
Bước 3: i> N (7>11 là sai )
Bước 4.1: a7 > Max (15>7 là đúng do đó Max 15)
Bước 4.2: i i+1 (i i+1 = 7+ 1 =8) , Quay bước 3
Lần duyệt 7:
Bước 3: i> N (8>11 là sai )
Bước 4.1: a8 > Max (8>15 là sai)
Bước 4.2: i i+1 (i i+1 = 8+ 1 =9) , Quay bước 3
Lần duyệt 8:
Bước 3: i> N (9>11 là sai )
Bước 4.1: a9 > Max (4>15 là sai)
Bước 4.2: i i+1 (i i+1 = 9+ 1 =10) , Quay bước 3
Lần duyệt 9:
Bước 3: i> N (10>11 là sai )
Bước 4.1: a10 > Max (9>15 là sai)
Bước 4.2: i i+1 (i i+1 = 10+ 1 =11) , Quay bước 3
Lần duyệt 10:
Bước 3: i> N (11>11 là sai )
Bước 4.1: a11 > Max (12>15 là sai)
Bước 4.2: i i+1 (i i+1 = 11+ 1 =12) , Quay bước 3
Lần duyệt 11:
Bước 3: i> N (12>11 là đúng, đưa ra giá trị Max 15 rồi kết thúc)
Trang 72.3.2 Mô phỏng thuật toán kiểm tra tính nguyên tố của một số nguyên dương N
Số nguyên dương được mô tả ở đây N=29 và N=45
Mô phỏng thuật toán với số N=29 Trong đó giá trị
Lần duyệt 1 :
Bước 1 : Nhập số nguyên dương N (N 29)
Bước 2 : N=1 (29 =1 là sai)
Bước 3 : N<4 (29 <4 là sai)
Bước 4 : i2
Bước 5: i> ( 2>5 là sai)
Bước 6: 29 không chia hết cho 2
Bước 7 : i i+1 =2+1=3 , Quay bước 5
Lần duyệt 2 :
Bước 5: i> ( 3>5 là sai)
Bước 6: 29 không chia hết cho 3
Bước 7 : i i+1 =3+1=4, Quay bước 5
Lần duyệt 3 :
Bước 5: i> ( 4>5 là sai)
Bước 6: 29 không chia hết cho 4
Bước 7 : i i+1 =4+1=5 , Quay bước 5
Lần duyệt 4 :
Bước 5: i> ( 5>5 là sai)
Bước 6: 29 không chia hết cho 5
Bước 7 : i i+1 =5+1=6, , Quay bước 5
Lần duyệt 5 :
Bước 5: i> ( 6>5 là đúng , 29 là số nguyên tố thuật toán kết thúc)
Mô phỏng thuật toán với số N=45 Trong đó giá trị
Lần duyệt 1 :
Bước 1 : Nhập số nguyên dương N (N 45)
Bước 2 : N=1 (45 =1 là sai)
Bước 3 : N<4 (45 <4 là sai)
Bước 4 : i2
Bước 5: i> ( 2>6 là sai)
Bước 6: 45 không chia hết cho 2
Bước 7 : i i+1 =2+1=3, Quay bước 5
Lần duyệt 2 :
Bước 5: i> ( 3>6 là sai)
Bước 6: 45 chia hết cho 3 là đúng
(Thông báo số 45 không phải số nguyên tố rồi kết thúc)
2.3.3: Mô phỏng sắp xếp dãy số A gồm 10 phần tử là 6, 1, 5, 3, 7, 8, 10, 7,
12, 4 bằng thuật toán tráo đổi
Lần duyệt 1 :
Bước 1 : Nhập N , dãy số a1, a2,a3,….an
Trang 8N a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10
Bước 2: M N ( M10)
Bước 3: M < 2 ( 10 < 2 là sai )
Bước 4: M M-1, i 0 ( M M-1 =10-1=9)
Bước 5 : ii+1 ( i i+1=0+1=1)
Bước 6: i>M (1>9 là sai)
Bước 7 : ai > ai+1 ( a1 =6 > a2 =1 là đúng , dãy số sau đổi chỗ a1 và a2
a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10
1 6 5 3 7 8 10 7 12 4
Bước 8 : Quay bước 5
Lần duyệt 2 :
Bước 5 : ii+1 ( i i+1=1+1=2)
Bước 6: i>M (2>9 là sai)
Bước 7 : ai > ai+1 ( a2 =6 > a3 =5 là đúng , dãy số sau đổi chỗ a2 và a3
Bước 8 : Quay bước 5
Lần duyệt 3 :
Bước 5 : i i+1 ( i i+1=2+1=3)
Bước 6: i> M (3>9 là sai)
Bước 7 : a i > a i+1 ( a 3 =6 > a 4 =3 là đúng , dãy số sau đổi chỗ a2 và a3
Bước 8 : Quay bước 5
Lần duyệt 4 :
Bước 5 : i i+1 ( i i+1=3+1=4)
Bước 6: i> M (4>9 là sai)
Bước 7 : a i > a i+1 ( a 4 =6 > a 5 =7 là sai, dãy số là
Bước 8 : Quay bước 5
Lần duyệt 5 :
Bước 5 : i i+1 ( i i+1=4+1=5)
Bước 6: i> M (5>9 là sai)
Bước 7 : a i > a i+1 ( a 5 =7 > a 6 =8 là sai, dãy số là
Bước 8 : Quay bước 5
Lần duyệt 6 :
Bước 5 : i i+1 ( i i+1=5+1=6)
Bước 6: i> M (6>9 là sai)
Bước 7 : a i > a i+1 ( a 6 =8 > a 7 =10 là sai, dãy số là
Trang 9a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10
Bước 8 : Quay bước 5
Lần duyệt 7 :
Bước 5 : i i+1 ( i i+1=6+1=7)
Bước 6: i> M (7>9 là sai)
Bước 7 : a i > a i+1 ( a 7 =10 > a 8 =7 là đúng, dãy số sau đổi chỗ a7 và a8
1 5 3 6 7 8 7 10 12 4
Bước 8 : Quay bước 5
Lần duyệt 8 :
Bước 5 : i i+1 ( i i+1=7+1=8)
Bước 6: i> M (8>9 là sai)
Bước 7 : a i > a i+1 ( a 8 =10 > a 9 =12 là sai ,dãy số là
1 5 3 6 7 8 7 10 12 4
Bước 8 : Quay bước 5
Lần duyệt 9 :
Bước 5 : i i+1 ( i i+1=8+1=9)
Bước 6: i> M (9>9 là sai)
Bước 7 : a i > a i+1 ( a 9 =12 > a 10 =4 là đúng ,dãy số sau đổi chỗ a9 và a10
Bước 8 : Quay bước 5
Lần duyệt 10 :
Bước 5 : i i+1 ( i i+1=9+1=10)
Bước 6: i> M (10> 9 là đúng , quay về bước 3, M 9)
Lần duyệt 11 :
Bước 3: M < 2 ( 9 < 2 là sai )
Bước 4: M M-1, i 0 ( M M-1 =9-1=8)
Bước 5 : ii+1 ( i i+1=0+1=1)
Bước 6: i>M (1>8 là sai)
Bước 7 : ai > ai+1 ( a1 =1 > a2 =5 là sai, dãy số là
a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10
1 5 3 6 7 8 7 10 4 12
Bước 8 : Quay bước 5
Lần duyệt 12 :
Bước 5 : ii+1 ( i i+1=1+1=2)
Bước 6: i>M (2>8 là sai)
Bước 7 : ai > ai+1 ( a2 =5 > a3 =3 là đúng, dãy số là sau đổi chỗ a2 và a3
Bước 8 : Quay bước 5
Trang 10Lần duyệt 13 :
Bước 5 : ii+1 ( i i+1=2+1=3)
Bước 6: i>M (3>8 là sai)
Bước 7 : ai > ai+1 ( a3 =5 > a4 =6 là sai dãy số là
Bước 8 : Quay bước 5
Lần duyệt 14 :
Bước 5 : ii+1 ( i i+1=3+1=4)
Bước 6: i>M (4>8 là sai)
Bước 7 : ai > ai+1 ( a4 =6 > a5 =7 là sai dãy số là
Bước 8 : Quay bước 5
Lần duyệt 15 :
Bước 5 : ii+1 ( i i+1=4+1=5)
Bước 6: i>M (5>8 là sai)
Bước 7 : ai > ai+1 ( a5 =7 > a6 =8 là sai dãy số là
Bước 8 : Quay bước 5
Lần duyệt 16 :
Bước 5 : ii+1 ( i i+1=5+1=6)
Bước 6: i>M (6>8 là sai)
Bước 7 : ai > ai+1 ( a6 =8 > a7 =7 là đúng, dãy số là sau đổi chỗ a6 và a7
Bước 8 : Quay bước 5
Lần duyệt 17 :
Bước 5 : ii+1 ( i i+1=6+1=7)
Bước 6: i>M (7>8 là sai)
Bước 7 : ai > ai+1 ( a7 =8 > a8 =10 là sai, dãy số là
Bước 8 : Quay bước 5
Lần duyệt 18 :
Bước 5 : ii+1 ( i i+1=7+1=8)
Bước 6: i>M (8>8 là sai)
Bước 7 : ai > ai+1 ( a8 =10 > a9 =4 là đúng, dãy số sau đổi chỗ a8 và a9
Bước 8 : Quay bước 5
Lần duyệt 19:
Bước 5 : ii+1 ( i i+1=8+1=9)