1. Trang chủ
  2. » Tất cả

SKKN Cách viết thuật toán của một số bài toán cụ thể bằng phương pháp liệt kê hay sơ đồ khối

17 3 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 17
Dung lượng 324,34 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 Cách viết thuật toán của một số bài toán cụ thể bằng phương pháp liệt kê hay sơ đồ khối 1 I MỞ ĐẦU SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ PHÒNG GD&ĐT HẬU LỘC TRƯỜNG THPT ĐINH CHƯƠNG DƯƠNG SÁNG KIẾN KIN[.]

Trang 1

I.MỞ ĐẦU

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ

PHÒNG GD&ĐT HẬU LỘC TRƯỜNG THPT ĐINH CHƯƠNG DƯƠNG

SÁNG KIẾN KINH NGHIỆM

CÁCH VIẾT THUẬT TOÁN CỦA MỘT SỐ BÀI TOÁN CỤ THỂ

BẰNG PHƯƠNG PHÁP LIỆT KÊ HAY SƠ ĐỒ KHỐI

Người thực hiện: Đỗ Thị Hiền Chức vụ: Giáo viên

Đơn vị công tác:Trường THPT Đinh chương Dương SKKN thuộc lĩnh vực (môn): Tin học

Trang 2

2

-MỤC LỤC

I Mở đầu

1.Lí do chọn đề tài 3

2.Mục đích nghiên cứu 4

3.Đối tượng nghiên cứu 4

4.Phương pháp nghiên cứu 4

II Nội dung sáng kiến kinh nghiệm 4

1 Cơ sở lí luận của sáng kiến kinh nghiệm 4

2.Thực trạng của vấn đề trước khi áp dụng sáng kiến kinh nghiệm 4

3 Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết vấn đề 5

4 Hiệu quả của sáng kiến kinh nghiệm 15

III Kết luận, kiến nghị 16

- Kết luận, kiến nghị 16

- Tài liệu tham khảo 17

Trang 3

I MỞ ĐẦU

1 Lí do chọn đề tài

Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vực hoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn

Sự phát triển mạnh mẽ như “vũ bão” của tin học đã làm cho xã hội có nhiều nhận thức mới về cách tổ chức các hoạt động Nhiều quốc gia trên thế giới ý thức được rất rõ tầm quan trọng của tin học và có những đầu tư lớn cho lĩnh vực này, đặc biệt trong giáo dục nâng cao dân trí về tin học và đào tạo nguồn nhân lực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này, vì thế chúng ta hi vọng có thể sớm hoà nhập với khu vực và trên thế giới

Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đã đưa môn học này vào nhà trường phổ thông như những môn khoa học khác bắt đầu từ năm học 2006-2007

Trong quá trình giảng dạy môn Tin học 10, khi dạy Bài 4 “BÀI TOÁN

VÀ THUẬT TOÁN ”, nội dung của bài này là giới thiệu cho học sinh cách

viết thuật toán bằng cách liệt kê hay sơ đồ khối và nội dung của bài này nó cũng là cơ sở để giúp cho chúng ta viết chương trình trên máy tính một cách dễ dàng bằng cách dựa vào thuật toán của bài toán, nội dung này rất khó và mới đối với các em

Từ lí do trên, tôi xin trình bày sáng kiến kinh nghiệm “CÁCH VIẾT THUẬT TOÁN CỦA MỘT SỐ BÀI TOÁN CỤ THỂ BẰNG PHƯƠNG PHÁP LIỆT KÊ HAY SƠ ĐỒ KHỐI “ Với các ví dụ được trình bày trong

sáng kiến kinh nghiệm của mình sẽ giúp cho học sinh nắm bắt hơn về cách viết thuật toán của một bài toán khi học bài 4 tin học 10

Do lần đầu tiên thực hiện làm sáng kiến kinh nghiệm, nên không tránh khỏi những thiếu sót Mong quý thầy cô góp ý để lần sau làm tốt hơn

Trang 4

4

-2 Mục đớch nghiờn cứu

Sử dụng tớnh chất lặp của cỏc thuật toỏn trước hết để học sinh nắm được cỏc

bước, ý nghĩa của thuật toỏn Và thụng qua cỏc vớ dụ hướng dẫn học sinh nắm vững, hiểu rừ thuật toỏn

3 Đối tượng nghiờn cứu.

Học sinh khối 10 tại trường THPT Đinh Chương Dương

Sử dụng cỏc vớ dụ để thực hiện thuật toỏn

4 Phương phỏp nghiờn cứu

 Kết hợp thực tiễn giỏo dục ở trường THPT Đinh Chương Dương

 Cú tham khảo cỏc tài liệu tin học 10 và tài liệu về sỏng kiến kinh

nghiệm

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

“CÁCH VIẾT THUẬT TOÁN CỦA MỘT SỐ BÀI TOÁN CỤ THỂ BẰNG PHƯƠNG PHÁP LIỆT Kấ HAY SƠ ĐỒ KHỐI ’’

1 Cơ sở lớ luận của sỏng kiến kinh nghiệm.

Sự phỏt triển như vũ bảo của Cụng nghệ Thụng tin và Truyền thụng đúng vai trũ khụng nhỏ trong sự phỏt triển chung của nhõn loại chớnh vỡ thế

Bộ Giỏo dục và Đào Tạo đó đưa Tin học trở thành một mụn học chớnh trong cỏc trường THPT Cú thể thấy, đõy là một quyết định đỳng đắng trong xu thế hội nhập và phỏt triển của đất nước Bởi vỡ học sinh cú kiến thức về tin học sẽ giỳp cho học sinh hũa nhập với xó hội ngày nay một người phỏt triển toàn diện khụng thể thiếu hiểu biết về tin học

2 Thực trạng của vấn đề trước khi ỏp dụng

Trước đây khi chưa áp dụng phương pháp giảng dạy bằng cụng nghệ thụng tin, 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ả chưa cao

Trang 5

3 Cỏc sỏng kiến kinh nghiệm hoặc cỏc giải phỏp đó sử dụng để giải quyết vấn đề

Giáo viên đưa ra đề kiểm tra 1 tiết đối với lớp 10A1 có 35 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ố với a, b bất kỳ, ba ”

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à chưa viết được đầy đủ thuật toán để giải nó

Đối với Bài 2, Bài 3 học sinh chưa mô phỏng được thuật toán bằng sơ đồ khối

Vỡ vậy tụi đưa ra cỏc giaỉ phỏp như sau:

a) 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: Bài toỏn kiểm tra tớnh nguyờn tố của một số nguyờn dương N

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:

Trang 6

6

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 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 để giỳp học sinh tỡm Input và Output

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ụ 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

khụng phải là số nguyờn tố

Trang 7

Ví 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 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 …

 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

 Cỏc bước tiến hành khi viết thuật toỏn của một bài toỏn :

 Xỏc định bài toỏn: Là đi tỡm Input và Output của bài toỏn

 Tỡm ý tưởng để giải bài toỏn

Viết thuật toỏn bằng phương phỏp liệt kờ hay sơ đồ khối

 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.

Sử dụng sơ đồ khối : trong sơ đồ khối người ta dựng một số khối, đường mũi tờn với quy ước :

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

Cỏc mũi tờn trỡnh tự thực hiện cỏc 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 viết thuật toỏn của một số bài toỏn cụ thể:

Bài tập 1 Viết thuật toỏn cho bài toỏn tỡm nghiệm phương trỡnh bậc 2

ax 2 +bx+c=0

Lời giải :

Trang 8

8

- Xỏc định bài toỏn :

+Input : Cho ba số thực a, b, c

+ Output : Nghiệm của phương trỡnh ax 2 +bx+c=0

 í tưởng của bài toỏn: Để tỡm nghiệm phương trỡnh bậc 2 ta cần tớnh  và dựa vào kết quả của  mà suy ra nghiệm của phương trỡnh.

 Thuật toỏn của bài toỏn:

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.

- Bước 5: Nếu = 0 thông báo phương trình có nghiệm kép  x b rồi kết

2a

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

= 0

Đỳng Sai

Đỳng Phương trình vô 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

Bắt đầu

Nhập a,b,c

Tính = b 2- 4ac

< 0

Kết thỳc

Sai

Trang 9

Bài tập 2 Viết thuật toỏn cho bài toỏn tỡm nghiệm phương trỡnh bậc nhất

ax +b =0

Lời giải :

 Xỏc định bài toỏn :

+Input : Cho hai số thực a, b

+ Output : Nghiệm của phương trỡnh ax+ b=0

 í tưởng của bài toỏn: Để tỡm nghiệm phương trỡnh bậc nhất ta giải và biện

luận phương trỡnh dựa vào hệ số a, b và suy ra nghiệm của phương trỡnh

 Thuật toỏn của bài toỏn:

Cách 1: Liệt kê từng bước

- B1: Nhập a, b

- B2 : Nếu a <> 0 thỡ phương trỡnh cú nghiệm x=-b/2a =>B4

- B3 : Nếu a=0

- B3.1 Nếu b=0 thỡ kết luận phương trỡnh cú vụ số nghiệm => B4

- B3.2 Nếu b< > 0 thỡ kết luận phương trỡnh vụ nghiệm => B4

- B4: Kết thỳc

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Phương trỡnh

vụ nghiệm

Nhập a,b

a 0 

Phương trỡnh cú nghiệm x=-b/a

b 0 

Phương trỡnh cú

vụ số nghiệm

Kết thỳc

Đỳng

Sai

Đỳng

Sai

Trang 10

10

-Bài tập 3 Viết thuật toỏn tớnh tổng sau:

S=1/2+1/3+1/4+…+1/N

Lời giải :

 Xỏc định bài toỏn :

+ Input : Nhập N

+ Output : Tổng S

 í tưởng của bài toỏn:Ta thấy việc tớnh tổng của bài toỏn này được lặp đi

lặp lại nhiều lần với tổng sau bằng tổng trước cộng i với i chạy từ 1 cho đến N và khi i >N thỡ thuật toỏn dừng lại và xuất tổng S

 Thuật toỏn của bài toỏn:

Cách 1: Liệt kê từng bước

B1: Nhập số N

B2: S  0; I  0;

B3 : Nếu i >N thỡ đưa ra tổng S rồi kết thỳc

B4: S  S+ 1/I,I  i+1

B5 : Kết thỳc thuật toỏn

Yờu cầu học sinh chuyển từ cỏch viết thuật toỏn bằng phương phỏp liệt kờ sang

sơ đồ khối

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

i <=N

Đ

Nhập N

S 0; i0

KQ :S

S S+1/N ii+1

S

Trang 11

Bài 4 : Cho N và dóy a 1 ,…,a N , hóy tỡm giỏ trị nhỏ nhất (Min) của dóy đú Lời giải:

Yờu cầu học sinh tỡm Input và Output của bài toỏn

 Xỏc định bài toỏn :

+ Input : Nhập N và dóy a 1 ,…,a N

+ Output : Giỏ trị nhỏ nhất (Min) của dóy số

Gọi học sinh dựa vào bài toỏn tỡm Max của dóy hóy nờu ý tưởng giải bài toỏn

 í tưởng của bài toỏn: - Khởi tạo giỏ trị Min =a 1

- Lần lược với I chạy từ 2 đến N, so sỏnh giỏ trị số hạng a i với giỏ trị Min, nếu a i < Min thỡ Min sẽ nhận giỏ trị mới là a i.

 Thuật toỏn của bài toỏn:

Cách 1: Liệt kê từng bước

- Bước 1 Nhập N và dóy a 1 ,…,a N

- Bước 2 Min a1 , i 2

- Bước 3 Nếu i >N thỡ đưa ra giỏ trị Min rồi kết thỳc

- Bước 4

 Bước 4.1 Nếu ai <Min thỡ Min ai ;

Bước 4.2 i i+1 rồi quay lại Bước 3

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Đỳng Sai

Nhập N và dóy a 1 ,…,a N

Min a1 , i 2

i >N

a i <Min Min ai

i i+1

Đưa ra giỏ trị Min kết thỳc Đỳng

Sai

Trang 12

12

-Bài 5:Viết thuật toỏn hoỏn đổi giỏ trị của hai biến số thực A và C dựng biến trung gian B

Lời giải:

Yờu cầu học sinh tỡm Input và Output của bài toỏn

 Xỏc định bài toỏn :

Input: Hai số thực A và C

Output: Hai số thực C và A

Giỏo viờn nờu lờn vớ dụ :”cụ cú 1 cỏi xụ đựng gạo và 1 cỏi chậu đựng muối cụ muốn hoỏn đổi số lượng gạo trong xụ phải được đựng vào chậu và số lượng muối ở trong chậu phải được chuyển sang đựng trong xụ” để làm được điều đú em nào cú thể nờu cỏch làm ?

Học sinh trả lời

- B1: Em đổ gạo ở trong xụ sang một thựng khụng

- B2: Đổ lượng muối ở trong chậu sang xụ

- B3: Em lấy gạo ở trong thựng khụng đổ chậu

- B4: Kết quả là em được xụ thỡ đựng muối chậu thỡ đựng gạo Từ vớ dụ trờn giỏo viờn hỡnh thành ý tưởng giải bài toỏn  í tưởng của bài toỏn:Việc hoỏn giỏ trị của hai biến A và C được làm theo cỏc bước sau:

 Thuật toỏn của bài toỏn:

Cách 1: Liệt kê từng bước

- B1 : Nhập giỏ trị A, C

- B2 : B A

B1:

B3:

B4:

( A lấy giỏ trị của C ) (C lấy giỏ trị của B)

(Giỏ trị A và C lỳc nhập ban đầu )

Trang 13

- B3 : A C ;

- B4 : C B

- B5 : Đưa ra giỏ trị mới của A và C rồi kết thỳc

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Bài 6 : Viết thuật toỏn đếm cỏc số õm trong dóy số A={ a 1 ,a 2 ,…a N } cho trước.

Lời giải:

Yờu cầu học sinh tỡm Input và Output của bài toỏn

 Xỏc định bài toỏn :

+ Input : Nhập N và dóy a 1 ,…,a N

+ Output : Số lượng cỏc số õm trong dóy số

 í tưởng của bài toỏn:

- Khởi tạo giỏ trị Dem =0

- Lần lược với i chạy từ 1 đến N, nếu ai nhỏ hơn 0 thỡ tăng biến Dem lờn 1 đơn vị cho đến khi i >N thỡ dừng lại và xuất giỏ trị biến Dem.

 Thuật toỏn của bài toỏn:

Cách 1: Liệt kê từng bước

- B1: Nhập số nguyờn dương N và n số a 1 ,…,a N;

- B2: i 1; Dem 0; 

Nhập A và C

B A

AC

CB

Đưa ra giỏ trị mới của A

và C rồi kết thỳc

Trang 14

14

B3 Nếu i > N đưa ra giỏ

- trị Dem rồi kết thỳc ;

- B4 Nếu a i <0 thỡ Dem Dem +1;

- B5 i i+1, rồi quay lại B3

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Bài 7 : Viết thuật toỏn tớnh và hiển thị tổng cỏc số dương trong dóy số A={ a 1 ,a 2 ,…a N } cho trước.

Yờu cầu học sinh tỡm Input và Output của bài toỏn

 Xỏc định bài toỏn :

+ Input : Nhập N và dóy a 1 ,…,a N

+ Output : Tổng cỏc số lớn hơn 0 trong dóy

 í tưởng của bài toỏn: - Khởi tạo giỏ trị Sum =0

- Lần lược với i chạy từ 1 đến N, nếu a i lớn hơn 0 thỡ tăng biến Sum lờn 1 đơn vị cho đến khi i>N thỡ dừng lại và xuất giỏ trị biến Sum

 Thuật toỏn của bài toỏn:

S

S

a i <0

Nhập số nguyờn dương N

và n số a 1 ,…,a N;

i 1; Dem 0 

i > N

i i+1

Đưa ra giỏ trị Dem rồi kết thỳc Dem Dem +1

Đ

Đ

Trang 15

Cách 1: Liệt kê từng bước

- B1: Nhập số nguyờn dương N và n số a 1 ,…,a N;

- B2: i 1; Sum 0; 

- B3 Nếu i > N đưa ra giỏ trị Sum rồi kết thỳc ;

- B4 Nếu a i >0 thỡ Sum Sum +1;

- B5 i i+1, rồi quay lại B3

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

4 Hiệu quả của sỏng kiến kinh nghiệm

So sánh, đối chứng tỉ lệ % kết quả của học sinh trước và sau khi thực hiện

đề tài ta thấy rõ ràng kết quả của học sinh sau khi được học bằng giáo án điện tử trên máy chiếu kết hợp mô phỏng cụ thể, kết quả thực tế đối với lớp 10A4 có 35 học sinh (với đề kiểm tra giống lớp 10A1 ở trên) sau khi thực hiện đề tài như sau:

- Cỏc em trong lớp cú thỏi độ học tớch cực hơn rất nhiều Thể hiện

ở tinh thần tham gia trả lời cõu hỏi

S

S

a i >0

Nhập số nguyờn dương

N và n số a 1 ,…,a N;

i 1; Sum 0 

i > N

i i+1

Đưa ra giỏ trị Sum rồi kết thỳc

Sum Sum +1

Đ

Đ

Ngày đăng: 04/11/2022, 03:09

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