Tải bản đầy đủ (.doc) (11 trang)

CACH VIET THUAT TOAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (169 KB, 11 trang )

Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

SỞ GD – ĐT VĨNH LONG
TRƯỜNG THCS-THPT A ĐÔNG
SÁNG KIẾN KINH NGHIỆM
“CÁCH VIẾT THUẬT TOÁN CỦA BÀI TOÁN’’
I. LÍ DO CHỌN ĐỀ TÀI
Bộ môn Tin học là một trong các môn khoa học tự nhiên được ứng dụng
rất nhiều trong các lĩnh vực khoa học kĩ thuật, công nghệ, chế tạo, tự động... Chính
vì những lý do đó mà bản thân là giáo viên dạy môn tin học cần truyền đạt cho các
em cách học để đạt kết quả tốt.
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ũ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. Sau đây là thống kê
trong thực tế mà tôi đã thực hiện tại lớp giảng dạy của lớp 10/1 năm học 20142015.
Tôi đưa ra đề kiểm tra 1 tiết đối với lớp 10/1 có 32 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
với a, b bất kỳ, b �0 ”
b

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ểm
3
4
5
6
7

Số học sinh
5
4
8
5
10

Tỉ lệ
15.6 %
12.5 %
25.0 %
15.6 %
31.3 %

Đối với Bài 1, đa số học sinh tìm được Input và Output của bài toá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
Tỉ lệ học sinh từ trung bình trở lên đạt: 71.9%
Tỉ lệ học sinh yếu là: 12.5%
Tỉ lệ học sinh kém là: 15.6%
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 BÀI TOÁN”. Với các ví dụ được trình bày trong sáng kiến kinh

nghiệm của tôi sẽ giúp cho học sinh nắm bắt dễ 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.
II. CÁC GIẢI PHÁP THỰC HIỆN
GV: Mai Văn Ba

1


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

1. Giúp học sinh hiểu rõ khái niệm “Bài toán” trong tin học.
Đặt vấn đề bằng cách đưa ra 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à kiểm tra 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
Các hệ số a, b, c bất kỳ

Kết quả
Ví dụ 1
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
Số nguyên dương N
N là số nguyên tố hoặc N

không phải là số nguyên 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 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 đưa ra 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.
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 ?
Tôi 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 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: Đư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
GV: Mai Văn Ba

2


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

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.
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
2
ax +bx+c=0
Lời giải :
 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 ax2+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
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 � 
, rồi kết thúc.
2a


Bước 7: Kết thúc.

GV: Mai Văn Ba

3


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

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

Nhập a,b,c

Tính = b2- 4ac

<0

Đúng

Phương trình vô nghiệm

Đúng

Phương trình có nghiệm kép
x= -b/2a


Sai
=0
Sai

Kết thúc

Phương trình có 2 nghiệm
x1,x2=(-b)/2a

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


GV: Mai Văn Ba

4


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

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

Phương tŕnh có
nghiệm x=-b/a

a0
Sai

b0

Đúng

Phương tŕnh
vô nghiệm

Kết thúc

Sai


Phương tŕnh có
vô số nghiệm

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.

GV: Mai Văn Ba

5


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán


Cách 2: Biểu diễn thuật toán bằng sơ đồ khối
Nhập N
S 0; i0
S
KQ :S

i <=N
Đ
S S+1/N
ii+1

Bài 4 : Cho N và dãy a1,…,aN, 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 a1,…,aN
+ 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 =a1
- Lần lược với I chạy từ 2 đến N, so sánh giá trị số
hạng ai với giá trị Min, nếu ai< Min thì Min sẽ nhận giá trị mới là ai.
 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 a1,…,aN
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  Bước 4.2 i � i+1 rồi quay lại Bước 3


GV: Mai Văn Ba

6


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối
Nhập N và dãy a1,…,aN
Min a1, i2
Đúng

i >N

Đưa ra giá trị Minkết thúc

Sai

Sai

ai Đúng

Minai
i i+1

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
Tôi nêu lên ví dụ :”cô có 1 cái lu đựng gạo và 1 cái khạp đựng muối cô muốn
hoán đổi số lượng gạo trong lu phải được đựng vào khạp và số lượng muối ở
trong khạp phải được chuyển sang đựng trong lu” để 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 lu sang một thùng không
- B2: Đổ lượng muối ở trong khạp sang lu
- B3: Em lấy gạo ở trong thùng không đổ khạp
- B4: Kếp quả là em được lu thì đựng muối khạp 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:
(Giá trị A và C lúc nhập ban đầu)
B1
:
B2
:
B3
GV: Mai
: Văn Ba
B4
:

A


B

C

( B lấy giá trị của biến A)

( A lấy giá trị của C )
7

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


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán




 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
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
Nhập A và C
BA

AC
CB

Đưa ra giá trị mới của A
và C rồi kết thúc
III. KẾT QUẢ ĐẠT ĐƯỢC 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
sáng kiến kinh nghiệm 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
10A5 năm học 2015-2016 có 29 học sinh (với đề kiểm tra giống lớp 10A1 ở trên)
như sau:
Điểm
3
4
5
6
7
8
9
10

GV: Mai Văn Ba

Số học sinh
0
2
4
2
11
5

2
3

Tỉ lệ
0%
6.9%
13.8%
6.9%
37.9%
17.2%
6.9%
10.4%

8


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

Tỉ lệ học sinh trên trung bình đạt 93.1% tăng 21.2% so với năm 2014-2015
Tỉ lệ học sinh yếu là 6.9% giảm 5.6% so với năm 2014-2015
Tỉ lệ học sinh kém là 0% giảm 15.6% so với năm 2014-2015
IV. KHẢ NĂNG NHÂN RỘNG
Các giải pháp trong sáng kiến kinh nghiệm “Cách viết thuật toán của bài toán”
này thực hiện cho cả đối tượng học sinh khá và học sinh yếu kém tin học, giúp các
em không còn sợ viết thuật toán nữa, nhất là các em bắt đầu có ý thức trách nhiệm
trong học tập. Bản thân tôi đã áp dụng trong giờ dạy tin học lớp 10 và tin học 11.
Do đó, mọi giáo viên Tin học đều có thể áp dụng cho những đối tượng học sinh của
mình.


GV: Mai Văn Ba

9


Trường THCS_THPT A Đông

Cách viết thuật toán của bài toán

V. KẾT LUẬN VÀ ĐỀ XUẤT KIẾN NGHỊ
1. Kết luận
Tin học nói chung đóng vai trò hết sức quan trọng trong xã hội hiện đại,
tin học đã làm thay đổi nhận thức của con người, và tin học được ứng dụng trong
hầu hết các hoạt động của xã hội loài người.
Với việc xây dựng các thuật toán minh họa như trên, trong quá trình
giảng dạy Tin học 10, bản thân thấy rằng các tiết học về bài toán và thuật toán
không còn nhàm chán, khô cứng nữa mà trở nên sôi nổi hơn và học sinh cũng có
thể hiểu các thuật toán một cách dễ dàng hơn.
Hơn nữa, với mỗi thuật toán, tôi có thể minh họa bằng rất nhiều bộ Test
khác nhau mà không mất nhiều công sức, có thể nói đây là đặc điểm nổi bật mà
máy tính có thể trợ giúp cho con người.
2. Đề xuất kiến nghị
- Trang bị thêm sách tham khảo về cách viết thuật toán và lập trình để giải
bài toán.
- Cần sự hỗ trợ của tổ chuyên môn lý-công nghệ để sáng kiến này được áp
dụng đối với các khối lớp nhằm nâng cao chất lượng giáo dục của nhà trường.
Tôi xin chân thành cảm ơn!
Mỹ Phước, ngày 15 tháng 3 năm 2016
Người thực hiện


Mai Văn Ba

GV: Mai Văn Ba

10


Trường THCS_THPT A Đông

GV: Mai Văn Ba

Cách viết thuật toán của bài toán

11



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×