1. Trang chủ
  2. » Luận Văn - Báo Cáo

SKKN Sử dụng đồ dùng dạy học diễn tả các thuật toán trong bài: bài toán và thuật toán - Tin học 10 b...

19 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 273,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

SKKN Sử dụng đồ dùng dạy học diễn tả các thuật toán trong bài bài toán và thuật toán Tin học 10 bằng sơ đồ khối MỤC LỤC A Mở đầu 1 I Lý do chọn đề tài 1 II Mục đích nghiên cứu 1 III Đối tượng nghiên cứu 1 VI Phương pháp nghiên cứu 1 B Nội dung sáng kiến kinh nghiệm 2 I Khái niệm bài toán 2 II Khái niệm thuật toán 4 III Một số ví dụ về thuật toán 8 IV Bài tập 16 C Phần kết luận 18 SangKienKinhNghiem net 1 A MỞ ĐẦU I LÝ DO CHỌN ĐỀ TÀI Cho bài toán (Input và Output) việc đưa ra ý tưởng để giải bài[.]

Trang 1

MỤC LỤC

A Mở đầu 1

I Lý do chọn đề tài 1

II Mục đích nghiên cứu 1

III Đối tượng nghiên cứu 1

VI Phương pháp nghiên cứu… .1

B Nội dung sáng kiến kinh nghiệm 2

I Khái niệm bài toán 2

II Khái niệm thuật toán 4

III Một số ví dụ về thuật toán 8

IV Bài tập……… 16

C Phần kết luận 18

Trang 2

A MỞ ĐẦU

I LÝ DO CHỌN ĐỀ TÀI

thuần thục trong việc diễn tả thuật toán khi đã có ý tưởng Nhưng do số tiết tin học lớp 10 là 2 tiết/ 1 tuần (90 phút), để học sinh thuần thục là điều không thể Các thuật toán đưa ra trong Bài 4: Bài toán và thuật toán học sinh đa số lĩnh hội bằng cách học thuộc lòng thuật toán, một vài học sinh khá giỏi có thể bắt chước các thuật

Trường THPT Thạch Thành 3 là trường miền núi, mặt bằng học sinh thấp, vì

CÁC THUẬT TOÁN TRONG BÀI: BÀI TOÁN VÀ THUẬT TOÁN-TIN HỌC 10 BẰNG SƠ ĐỒ

II MỤC ĐÍCH NGHIÊN CỨU

hiểu khi giải một bài toán trên máy tính thì phải làm như thế nào

Khi lên lớp 11, học lập trình giải bài toán việc mô tả thuật toán bằng ngôn ngữ lập trình pascal là việc dễ thực hiện khi đã có thuật toán bằng sơ đồ khối

III ĐỐI TƯỢNG NGHIÊN CỨU

Đa số học sinh chấp nhận hay thừa nhận các thuật toán sách giáo khoa đưa ra

thuật toán, cách học này là học thuộc lòng Khi áp dụng để xây dựng một thuật toán

Tôi đề xuất một cách diễn tả thuật toán bằng sơ đồ khối sử dụng đồ dùng dạy học tự làm Ban đầu chỉ cho học sinh chơi trò chơi lắp ghép sao cho đúng thuật

nhật , Hình Ô van ) đã có sẵn các biểu thức Sau đó độ khó tăng dần bằng

thuật toán với bài toán đã cho Tổ chức các tiết học bằng thảo luận nhóm

IV PHƯƠNG PHÁP NGHIÊN CỨU

Viết sáng kiến kinh nghiệm thường xuyên liên tục cũng là nhiệm vụ chính trị của mỗi giáo viên, nhưng cần phải lựa chọn phương pháp nghiên cứu đúng đắn và

của tôi dựa theo các luận cứ khoa học hướng đối tượng, cụ thể: thuyết trình,

Trang 3

quan sát, điều tra khảo sát thực tế, phân tích kết quả thực nghiệm sư phạm, v.v… phù hợp với bài học và môn học thuộc lĩnh vực Tin học

Nêu vấn đề và giải quyết vấn đề đi từ thực tế hiện thực khánh quan → cụ thể

B NỘI DUNG SÁNG KIẾN KINH NGHIỆM

I KHÁI NIỆM BÀI TOÁN.

Phần 1 Khái niệm bài toán trang 32-33 sách giáo khoa - tin học 10

a Khái niệm bài toán(SGK-Tin10): “ Trong phạm vi tin học, ta có thể quan niệm

dạy cho học sinh tôi thường tách khái niệm trên thành 2 mức: mức 1: “bài toán là một việc nào đó”, mức 2: “bài toán là một việc nào đó ta muốn máy tính thực hiện”.

Mức 1: bài toán là một việc nào đó”: Để giải thích cho vế 1 tôi đã thực hiện

như sau:

tạo bởi các thành phần nào ?

Học sinh (HS): Gồm giả thiết và kết luận

Ví dụ 1: Nêu các thao tác để thực hiện việc “nấu cơm” bằng bếp củi ?

Bước 2: Cho gạo, nước vào nồi, bắc lên bếp nấu cho đến khi cạn

Bước 3: Dập lửa, để than giữ nhiệt cho nồi cơm

Bước 4: Cơm chín

HS: Là bài toán vì giả thiết: Bước 1: Chuẩn bị: Nồi, gạo, củi, lửa, nước, bếp;

và kết luận: Bước 4: Cơm chín

Trang 4

Mức 2: “bài toán là một việc nào đó ta muốn máy tính thực hiện”.

? Khái niệm bài toán và bài toán trong tin học có gì khác nhau ? Khái niệm bài toán trong tin học ?

hiện”.

b Input, Output:

(output) ”

Ví dụ 2: Tìm nghiệm phương trình bậc 2: x2-3x - 10 = 0 (1)

? Giả thiết, kết luận, hãy thực hiện công việc trên bằng máy tính cầm tay ?

HS: Giả thiết: a=1,b= -3,c= -10; Kết luận: x=5, x= -2;

kết luận ~ lấy ra (output), từ ví dụ 2 học sinh có thể hiểu input: Các thông tin đưa

đơn giản nhưng giải quyết 1 vấn đề lớn: khi giải bài toán trên máy tính thì làm gì ?

Ví dụ 3: Tìm nghiệm phương trình bậc 2: ax 2 +bx + c = 0 ( a<>0)

phương trình vô nghiệm ra màn hình )

thuật toán sách giáo khoa có các thao tác input: “nhập ”, output: “đưa ra ” hay

màn hình máy tính

Trang 5

II KHÁI NIỆM BÀI TOÁN.

a Khái niệm:

Xét ví dụ 1: Thao tác để thực hiện bài toán “nấu cơm” bằng bếp củi:

Bước 1: Chuẩn bị: Nồi, gạo, củi, lửa, nước, bếp;

Bước 2: Cho gạo, nước vào nồi, bắc lên bếp nấu cho đến khi cạn

Bước 3: Dập lửa, để than giữ nhiệt cho nồi cơm

Bước 4: Cơm chín

hạn (số bước(thao tác) xác định) ?

HS: Số bước(thao tác) hữu hạn (cụ thể : 4 bước )

bị cháy đen thì các theo tác trên có được coi là đúng đắn không ?

Từ bước 1 đến bước 4 là “cách” (phương pháp) để nấu cơm, trong tin học người ta gọi là “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

b Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên.

phải cho cụ thể thì các em mới đưa ra được thuật toán, hay nói cách khác đa số học

thường đưa ra bài toán thực tế:

Trang 6

Ví dụ 1: Hãy tìm ra người nặng nhất của N=38 học sinh lớp 10C5, biết rằng

có một cái bục max để cho 1 người nặng nhất trong những người đã được cân đứng

cuối tìm được người nặng nhất Nêu cách thực hiện ( ý tưởng )

HS:

Ví dụ 2: Tìm giá trị lớn nhất của một dãy số nguyên.

? Thuật toán ?

Mô tả đồ dùng dạy học dùng để diễn tả thuật toán bằng sơ đồ khối: Tạo ra các hình

Trang 7

Phân lớp thành 4 nhóm(1,2,3,4) thảo luận nhóm, phát cho mỗi nhóm các hình

và mũi tên, trên đó đã có sẵn các thao tác và phép tính toán ( biểu thức ) Yêu cầu

học sinh không sử dụng sách giáo khoa hãy sắp xếp các hình để được thuật toán:

nhóm mình

thuật toán, nhóm nào nhanh và đúng sẽ được điểm

nhận xét sản phẩm của 2 nhóm đã ghép trên bảng

Nhập N và dãy a 1 , , a N

Max  a 1 , i  2

Đưa ra Max rồi kết thúc

i  i + 1

Sai Sai

ai >max?

Đúng

Đúng Sai Nhập N và dãy a 1 , , a N

a i >Max?

i > N ?

Max  a 1 , i  2

Đưa ra Max rồi kết thúc

i  i + 1 Sai

Trang 8

HS: Thảo luận nhóm, nhóm nào song trước sẽ được lên trình bày lấy điểm.

GV: Gọi một nhóm gồm 3 học sinh lên bảng lắp ghép sơ đồ khối thuật toán, trình bày việc thực hiện thuật toán theo Test 01

Hình 2: Sản phẩm của học sinh

GV: Hãy viết các thao tác và phép tính toán (biểu

thức) vào các hình, lắp ghép thành sơ đồ khối thuật toán

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

1 > 5 ?

2 > 8 ?

Max  5 (a 1 ), i  2

i  2 + 1=3

Sai

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

4 > 5 ?

3 > 8 ? Max  5 (a 1 ), i  2

i  3 + 1=4 Sai

Đúng

9 > 8 ?

Max (a 1 ), i  2

Đưa ra Max=15

rồi kết thúc

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

7 > 5 ?

4 > 8 ? Max  5 (a 1 ), i  2

i  4 + 1= 5

Đúng Max  7 (a 4 )

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

6 > 7 ?

5 > 8 ? Max  5 (a 1 ), i  2

i  5 + 1=6 Sai

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

12 > 7 ?

6 > 8 ?

Max  5 (a 1 ), i  2

i  6 + 1= 7

Đúng

Max  12 (a 6 )

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

15 > 12

7 > 8 ? Max  5 (a 1 ), i  2

i  7 + 1= 8

Đúng Max  15 (a 7 )

Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

10 > 15

8 > 8 ? Max  5 (a 1 ), i  2

i  8 + 1=9 Sai

N=8 và dãy a 1 =5,a 2 =1, a 3 =4 ,

a 4 =7, a 5 =6, a 6 =12,a 7 =15, a 8 =10

Đúng

Đúng Sai Nhập N và dãy a 1 , , a N

Min  a i

a i <Min?

i > N ?

Min  a 1 , i  2

Đưa ra Min rồi kết thúc

i  i + 1 Sai

Trang 9

GV: Về nhà học sinh chạy thử thuật toán tìm số nhỏ nhất Min với Test 01:

đồ dùng học tập) và thực hiện Test trên sơ đồ khối ?

III MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN

Ví dụ 1: Bài toán sắp xếp.

Thuật toán sắp xếp bằng tráo đổi ( Exchange Sort).

Xác định bài toán:

Ý tưởng: Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước lớn hơn

số sau ta đổi chỗ chúng cho nhau Việc đó được lặp lại, cho đến khi không có sự đổi chỗ nào nữa

Học sinh và kể cả giáo viên có thể hiểu ý tưởng, nhưng khi dạy thì thừa nhận

Ý tưởng: (xây dựng lại )

+ Với N=1 dãy A chỉ có 1 số

a1= 8 a2= 6 vì a1>a2→ tráo đổi a1 và a2 cho nhau: a1= 6 a2= 8

VD: a1= 16 a2= 5 a3= 8

a1= 5 a2= 16 a3= 8

+ Với N>3:

Ta so sánh từng cặp (a1,a2), (a2,a3), (a3,a4), , (ai,ai+1),…, (aN-1,aN), nếu

ai>ai+1 thì tráo đổi giá trị ai và ai+1 cho nhau

Trang 10

Đưa ra dãyA rồi kết thúc

Nhập N, dãy a 1 , a 2 ,…, a N

M  N

M < 2

Tráo đổi a i và a i+1

i  i +1

i > M ?

a i >a i+1 ?

Đúng Sai

M  M - 1 ; i  0

Sai

Sai

Đúng

Đúng

Việc đó được lặp lại, cho đến khi không có sự tráo đổi nào xảy ra nữa, sau lần duyệt số lớn nhất đưa về cuối dãy, sau lần duyệt 2 giá trị lớn thứ 2 được xếp ở

vị trí sát cuối, vv…Thực hiện sắp xếp với dãy bỏ số hạng cuối hay các số hạng cần sắp xếp giảm đi 1đơn vị Khi dãy còn 1 số hạng cần sắp thì dãy đã được sắp xếp

Thuật toán:

học sinh không sử dụng sách giáo khoa hãy sắp xếp các hình để được thuật toán:

Các hình phát cho một nhóm học sinh: Để làm nhiễu, tăng độ khó quá trình lắp ghép các hình được phát không phải của 1 thuật toán mà nhiều thuật toán

thảo luận nhóm, hình thức thảo luận lắp

của nhóm mình

học sinh lên bảng lắp ghép sơ đồ khối

thuật toán, trình bày thuật toán, nhóm nào

HS: Lắp ghép sơ đồ khối

GV: Yêu cầu các học sinh nhóm 1,

Nhập N và dãy a 1 , , a N

i > N ?

Max  a 1 , i  2

Đưa ra Max rồi kết thúc

i  i + 1

Sai Sai

ai >max?

Nhập N, dãy a 1 , a 2 ,…, a N

Đưa ra A rồi kết thúc

M  N

i  i +1

M < 2

M  M - 1 ; i  0

i > M ?

a i >a i+1 ? Tráo đối a i , a i+1

Trang 11

Nếu theo ý tưởng thuật toán trong sách giáo khoa thì có những vấn đề học

sinh phải không thấy rõ một số lập luận, biểu thức và phép toán trong thuật toán:

- Không có tính tuần tự: "Với mỗi cặp số hạng đứng liền kề trong dãy" đã

được thay "Ta so sánh từng cặp (a 1 ,a 2 ), (a 2 ,a 3 ), (a 3 ,a 4 ), , (a i ,a i+1 ),…, (a N-1 ,a N )".

duyệt, với ví dụ trên ta thấy sau lần duyệt 1 số lớn nhất 16 được đưa về cuối dãy

HS: Thảo luận nhóm, nhóm nào song trước sẽ được lên trình bày lấy điểm

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=4 < 2

Tráo đổi a 1 và a 2

i  0+1=1

1 > 3 ?

a 1 =5 >a 2 =1

Sai

M  4 - 1=3 ; i  0

Sai Đúng

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=4 < 2

i  1 +1=2

2 > 3 ?

a 2 =5>a 3 =6

Sai

M  4 - 1=3 ; i  0

Sai

Sai

Trang 12

M  4

M=4 < 2

Tráo đổi a 3 và a 4

i  2+1=3

3 > 3 ?

a 3 =6 >a 4 =4

Sai

M  4 - 1=3 ; i  0

Sai Đúng

Dãy sau tráo đổi a 1 =1,a 2 =5, a 3 =4 , a 4 =6

M  4

M=4 < 2

i 3 +1=4

4 > 3 ?

Sai

M  4 - 1=3 ; i  0

Đúng

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=3 < 2

i  0 +1=1

1 > 2 ?

a 1 =1>a 2 =5

Sai

M  3 - 1=2 ; i  0

Sai

Sai

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=3 < 2

Tráo đổi a 2 và a 3

i  1+1=2

2 > 2 ?

a 2 =5 >a 3 =4

Sai

M  3 - 1=2 ; i  0

Sai Đúng

Dãy sau tráo đổi a 1 =1,a 2 =4, a 3 =5 , a 4 =6 Dãy sau lần duyệt 1: a 1 =1,a 2 =5, a 3 =4 , a 4 =6

Trang 13

GV: Hãy viết các thao tác và phép tính toán (biểu thức) vào các hình, lắp

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=3 < 2

i 2 +1=3

3 > 2 ?

Sai

M  3 - 1=2 ; i  0

Đúng

M  4

M=2 < 2

i  0 +1=1

1 > 1 ?

a 1 =1>a 2 =4

Sai

M  2 - 1=1 ; i  0

Sai

Sai

N=4 và dãy a 1 =5,a 2 =1, a 3 =6 , a 4 =4

M  4

M=2 < 2

i 1 +1=2

2 > 1 ?

Sai

M  2 - 1=1 ; i  0

Đúng

Nhập N, dãy a 1 , a 2 ,…, a N

M  4

M=1< 2 Đúng

Dãy : a 1 =1,a 2 =4, a 3 =5 , a 4 =6

Dãy sau lần duyệt 3: a 1 =1,a 2 =4, a 3 =5 , a 4 =6

Dãy sau lần duyệt 2: a 1 =1,a 2 =4, a 3 =5 , a 4 =6

Trang 14

HS: Viết vào hình, lắp ghép.

lắp ghép thành sơ đồ khối thuật toán sắp xếp lại thành dãy "không tăng", học sinh

Nhập N, dãy a 1 , a 2 ,…, a N

M  N

M < 2

Tráo đổi ai và a i+1

i  i +1

i > M ?

a i < a i+1 ?

Đúng Sai

Đưa ra dãy A rồi kết thúc

M  M - 1 ; i  0

Sai

Sai Đúng

Đúng

Trang 15

Ví dụ 2: Bài toán tìm kiếm

Số nguyên k được gọi là khóa tìm kiếm ( gọi tắt là khóa )

Thuật toán tìm kiếm tuần tự (Sequential Search)

.Xác định bài toán

.Ý tưởng: Tìm kiếm tuần tự được thực hiện một cách tự nhiên Lần lượt từ số

hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khóa cho đến khi hoặc gặp một số hạng bằng khóa hoặc dãy đã được xét hết hoặc không có giá trị nào bằng khóa

Thuật toán

phải tự xây dựng sơ đồ khối từ những hình trắng ( chưa có biểu thức, phép toán)

thành sơ đồ khối thuật toán tìm kiếm tuần tự Phát đồ dùng học tập cho học sinh

Trang 16

HS: Nhóm 2 trình bày, nhóm 1,3,4 nhận xét

Nhóm 1 trình bày, nhóm 2,3,4 nhận xét

Sai

i  1 NhËp N vµ a 1 , a 2 , , a N ; k

i  i + 1

a i = k

i > N ?

§­a ra i råi kÕt thóc

Th«ng b¸o d·y A kh«ng cã sè h¹ng cã gi¸ trÞ b»ng k råi kÕt thóc

§óng

§óng

Sai

Sai

i  1 NhËp N vµ a 1 , a 2 , , a N ; k

i  i + 1

a i = k

i > N ?

§­a ra i råi kÕt thóc

Th«ng b¸o d·y A kh«ng cã sè h¹ng

cã gi¸ trÞ b»ng k råi kÕt thóc

§óng

§óng

Sai

Trang 17

Rõ ràng học sinh đã biết cánh để xây dựng sơ đồ khối thuật toán ở nhóm 2,3,4 các em đã xây dựng khác sách giáo khoa đó là điều đáng khính lệ, tuy là một chút thay đổi nhỏ trong sơ đồ khối nhưng phần nào đó cũng đạt được hiệu quả nhất định sau những tiết học trước Sau khi luyện tập trong phần bài tập học sinh sẽ

Test 02: Cho một dãy gồm các số: 5, 7, 1, 4, 2, 9, 8, 11, 25, 51

Với khóa k=6

HS: Lắp ghép, trình bày Các nhóm còn lại nhận xét

IV BÀI TẬP

Bài 1:

Kiểm tra tính nguyên tố của một số nguyên dương N

d Chạy thử trên sơ đồ khối Test1: N= 29, Test2: N=45

Trang 18

Bài 2:

Thuật toán tìm kiếm nhị phân ( Binary Search )

a Xác định bài toán ( Input, Output )

Bài 3:

ax2 + bx +c = 0 ( a<>0).

d Chạy thử trên sơ đồ khối

Test1: a=2, b=5, c=-2

Test2: a=2, b=4, c=2

Test3: a=5, b=5, c=9

Bài 4:

b Ý tưởng

Test1: M=25; N=10 Test2: M=13, N=13 Test3: M=16, N=17

Trang 19

C PHẦN KẾT LUẬN

Sau khi tôi thực hiện như trên phần lớn học sinh đã tự có thể xây được sơ đồ khối của thuật toán một số bài toán đơn giản và thực hiện được việc Test trên sơ đồ khối thuật toán Đồ dùng học tập đã tạo ra hiệu quả tốt trong xây dựng thuật toán

Học sinh được hoạt động nhóm ( dạy học theo hướng phát triển năng lực học

đồ dùng học tập) từ đó tạo hứng thú trong học tập ( học sinh cảm thấy mình đã thực hiện được) Giờ học sôi nổi, học sinh hoạt động tích cực

Ngoài ra còn có tác dụng khác khi học sinh học lớp 11: Học sinh giám sát tốt

dễ dàng, nhất là câu lệnh rẽ nhánh và lặp

Tài liệu tham khảo

Nguyễn Đức Nghĩa, Nguyễn Thanh Tùng, Ngô Ánh Tuyết (2006), Sách giáo

người khác

Lại Thanh Bình

Ngày đăng: 19/05/2022, 07:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w