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

SKKN tin 8: CÁC BƯỚC GIÚP HỌC SINH GIẢI BÀI TOÁN PASCAL HIỆU QUẢ TRONG MÔN TIN HỌC 8

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 (177.16 KB, 13 trang )

3

CÁC BƯỚC GIÚP HỌC SINH GIẢI BÀI TOÁN PASCAL HIỆU QUẢ
TRONG MÔN TIN HỌC 8 TRƯỜNG THCS HƯNG PHÚ
A. PHẦN MỞ ĐẦU
I. LÍ DO CHỌN ĐỀ TÀI
Hiện nay nước ta cũng như các nước trên thế giới đang cạnh tranh về
nghành công nghệ chế tạo máy cũng như các sản phẩm phần mềm giúp ích cho
con người trên mọi lĩnh vực. Vậy làm thế nào để làm được điều đó : nhờ vào
ngành công nghệ thông tin. Ngày xa xưa con người không biết đọc, không biết
viết đó là một nỗi khổ vô cùng, còn ngày nay con người không biết sử dụng máy
vi tính thì coi như là không biết đọc, không biết viết. Vậy khi biết sử dụng máy
vi tính rồi chúng ta sẽ làm gì hay chỉ ngồi chơi điện tử, các trò giải trí, soạn thảo
các bài văn bản mà thôi.
Là một giáo viên Tin học một trong các mục tiêu khi đưa tin học vào
trường học là nhằm giúp học sinh không chỉ biết soạn thảo mà còn phải có khả
năng phân tích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề và đặc biệt là
phát triển tư duy, sáng tạo. Những năm qua môn Tin học ở THCS chưa có sách
giáo khoa cụ thể hướng dẫn cho học sinh về cách phân tích lập trình. Vì vậy học
sinh chưa có tính độc lập sáng tạo mà phải nhờ vào giáo viên rất nhiều. Những
năm nay đã có sách giáo khoa hướng dẫn cho học sinh cụ thể qui trình lập trình
như thế nào.Vì thế mà tôi sẽ hướng cho học sinh lớp 8 cách để trở thành một nhà
lập trình thì cần phải nắm các bước cơ bản nào?
Trong thời đại thông tin bùng nổ ngày nay, việc lập được các chương
trình tự hoạt động cho máy tính, máy gia dụng là cần thiết. Và để làm được việc
đó cần có một quá trình nghiên cứu, học tập về ngôn ngữ lập trình lâu dài, qua
đó nhà lập trình có thể chọn một ngôn ngữ lập trình thích hợp. Tuy nhiên mọi
thứ đều có điểm khởi đầu của nó, với học sinh việc học Pascal là khởi đầu cho
việc tiếp cận ngôn ngữ lập trình bậc cao, qua đó giúp các em hình dung được sự
ra đời, cấu tạo, hoạt động cũng như ích lợi của các chương trình hoạt động trong
máy tính, các máy tự động...Qua đó giúp các em có thêm một định hướng, một




4

niềm đam mê về tin học, về nghề nghiệp mà các em chọn sau này. Đồng thời
Pascal là một ngôn ngữ có cấu trúc thể hiện trên 3 yếu tố: Cấu trúc về mặt dữ
liệu, cấu trúc về mặt câu lệnh, cấu trúc về mặt chương trình.
Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Các bước giúp học sinh giải
bài toán pascal hiệu quả trong môn Tin học 8 trường THCS Hưng Phú”, giúp
các em nắm được cấu trúc của chương trình và ngôn ngữ lập trình.
II. MỤC ĐÍCH, NHIỆM VỤ NGHIÊN CỨU
1. Mục đích:
Sử dụng các ví dụ cụ thể để học sinh nắm được các bước giải bài toán. Và
thông qua các ví dụ đó hướng dẫn học sinh chuyển đổi qua lại giữa cách giải bài
toán trên giấy và trên máy vi tính.
2. Nhiệm vụ:
Đưa ra vấn đề: Lập trình đơn giản của phần I. SGK tin học 8, để học sinh
thảo luận qua đó nắm vững cấu trúc chung của chương trình. Và hình thành ở
học sinh kỹ năng phân tích, xử lý các vấn đề liên quan đến các bài toán trong
quá trình lập trình các chương trình đơn giản sau này.
III. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
1. Đối tượng:
Học sinh khối 8 Trường THCS Hưng Phú năm học 2015 - 2016.
2. Phạm vi nghiên cứu:
Các bước giúp học sinh giải bài toán Pascal hiệu quả trong môn Tin học 8
trường THCS Hưng Phú.
IV. PHƯƠNG PHÁP NGHIÊN CỨU
Khi nghiên cứu đề tài này tôi sử dụng những phương pháp sau:
1. Phương pháp quan sát
Quan sát khả năng tiếp thu kiến thức của học sinh.

2. Phương pháp nghiên cứu thực tiễn
Điều tra trực quan, thống kê, mô tả.
3. Phương pháp nghiên cứu tổng hợp tài liệu


5

Thu thập và tìm hiểu những tài liệu có liên quan và tổng hợp lại các bước
để giải quyết bài toán.
V. TÍNH MỚI CỦA ĐỀ TÀI
Đề tài tổng hợp lại các bước giải quyết một bài toán theo trình tự hoàn
chỉnh giúp học sinh dễ dàng xác định được bài toán và tìm ra giải pháp viết
chương trình phù hợp.


6

B. NỘI DUNG
I. CƠ SỞ LÍ LUẬN
Khi học sinh bước vào chương trình lớp 8 (Phần I lập trình đơn giản). Học
sinh đã gặp rất nhiều khó khăn và bở ngỡ trong việc hiểu và giải các bài toán
trên máy vi tính.
II. CƠ SỞ THỰC TIỄN
Trong quá trình dạy tôi nhận thấy ở các em học sinh. Mới đầu các em
cũng rất sợ khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ trong vòng vài
giây có thể nhẩm ra kết quả . Còn ở trong lập trình cũng bài toán đó mà phải làm
đến hàng chục phút mà lại có thể cho kết quả sai. Song bằng những tâm huyết
của mình và cũng như sự yêu thích của học sinh. Điều đó đã thúc đẩy tôi rất
nhiều trong việc dạy học là làm sao đưa ra được cho các em sự đam mê và phát
triển tài năng của học sinh trong việc đào tạo nhân tài cho đất nước .

Ngôn ngữ lập trình PASCAL là một phần mềm có cấu trúc và rất được
nhiều độc giả quan tâm và cũng chính đó đã có nhiều cuốn sách do nhiều tác giả
viết. Song với bản thân tôi khi lựa chọn viết đề tài này là muốn đưa ra “các bước
giúp học sinh giải bài toán pascal hiệu quả trong môn Tin học 8.
III. GIẢI PHÁP THỰC HIỆN
Phương pháp cơ bản giải các bài toán trong tin học không chỉ dùng để giải
một bài toán cụ thể mà còn giải nhiều các bài toán cụ thể thuộc cùng một loại.
Bài toán được cấu tạo từ hai yếu tố cơ bản: Thông tin vào (Input) và thông tin ra
(Output). Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên
ngôn ngữ pascal cần các bước :
- Xác định bài toán.
- Xây dựng sơ đồ khối
- Tìm thuật toán
- Viết chương trình
- Chạy chương trình và kiểm tra lỗi.
1. Xác định bài toán


7

Trong quá trình học đối với học sinh lớp 8 do chương trình học toán của
các lớp chỉ mới đến giải phương trình bậc nhất là cao nhất. Nên việc đưa các lớp
bài toán vào giải cho các em đang còn một phần nào bị hạn chế. Nhưng bất kỳ
một bài toán nào thì chúng ta cũng đọc để rồi xác định nó từ giã thiết đi đến kết
luận AB.
Trong đó:
- A là giả thiết : điều kiện ban đầu hoặc cái đã cho khi bắt đầu giải bài toán.
- B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra khi kết thúc
bài toán .
Bài toán Pascal cũng mang đầy đủ các tính chất của bài toán tổng quát trên,

nhưng nó lại được diễn đạt theo một cách khác.
A: là đưa thông tin vào (Input )
B: là đưa thông tin ra( Output)
Một số ví dụ
Ví dụ 1: Tính diện tích hình chữ nhật.
Ta cần xác định cho bài toán:
- Thông tin vào: Chiều dài là cạnh a, chiều rộng là cạnh b
- Thông tin ra: Kết quả diện tích khi đưa a,b vào
- Các thông tin cần chế biến như:
Lần lượt đưa a,b vào ( cho a=3,b=4)
Áp dụng công thức tính diện tích hình chữ nhật: a*b
Kết quả in ra là 12.
Ví dụ 2: Viết chương trình so sánh hai số nguyên a và b (a#b).
-Thông tin vào: hai số a, b.
- Thông tin ra: a lớn hơn b hay b lớn hơn a.
2. Xây dựng sơ đồ khối
Xây dựng sơ đồ khối là dùng các hình để thể hiện các thao tác, ghi thao
tác vào giữa hình và dùng các mũi tên để chỉ hướng thực hiện thao tác tiếp theo,
tạo thành sơ đồ biểu diễn thuật toán, thường dùng các hình sau:


8

Trong chương trình Pascal lớp 8, các em được học cấu trúc rẽ nhánh, các
vòng lặp For..do, While..do. Với mỗi cấu trúc như vậy ta có các sơ đồ khối
tương ứng như sau:
Câu lệnh điều kiện dạng thiếu (1) và dạng đủ (2):

Câu lệnh lặp với số lần biết trước For..To..Do (1) và lặp với số lần chưa biết
trước While..Do (2):



9

Ví dụ: Lập sơ đồ khối cho chương trình so sánh hai số nguyên a và b (a#b). Ta
có thể lập sơ đồ khối như sau:
Begin
Nhập a, b

Đúng

Sai

Nếu a>
b

Số a lớn hơn số b

Số b lớn hơn số a

End.

3. Tìm thuật toán
Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản
được sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ
tìm ra được Output bài toán .
Một bài toán ta có 2 cách thể hiện thuật toán: Các bước xác định bằng lời,
ngôn ngữ phỏng trình.
Ví dụ: Viết thuật toán cho chương trình so sánh hai số nguyên a và b (a#b).
Cách 1: xác định bài toán bằng lời:

- Bước 1: Nhập 2 số nguyên dương và a,b


10

- Bước 2: So sánh giá trị a và b. Nếu a lớn hơn b thì chuyển sang bước 3, ngược
lại chuyển sang bước 4
- Bước 3: in ra số a lớn hơn số b, chuyển đến bước 5
- Bước 4: In ra số b lớn hơn số a.
- Bước 5: kết thúc.
Cách 2: Dùng ngôn ngữ mô phỏng
Bắt đầu
Nhập a, b
if a > b then
in ra a lớn hơn b
else in ra b lớn hơn a;
Kết thúc.
4.Viết chương trình
Lập trình là dùng ngôn ngữ máy vi tính cụ thể (ngôn ngữ Pascal) để diễn
tả thuật toán, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện được
và giải quyết đúng bài toán mà người lập trình mong muốn.
4.1. Viết chương trình dựa vào sơ đồ khối
Giáo viên có thể hướng dẫn học sinh có thể dựa vào sơ đồ khối thì có thể
viết được chương trình bằng ngôn ngữ lập trình Pascal.
Ví dụ: Dựa vào sơ đồ khối so sánh hai số a và b để viết chương trình như sau:
Begin

Ngôn ngữ Pascal
Write(‘Nhap a =
readln(a);

Write(‘Nhap b = ‘);
Readln(b);

Nhập a, b

Đúng

Nếu a>
b

Số a lớn hơn số b

Sai

Số b lớn hơn số a

End.

‘);

If a>b then
Write(a,‘ lon hon ‘, b)
Else write(b,’ lon hon ‘,a);

End.


11

Sau khi đã viết từng câu lệnh cho từng phần trong sơ đồ, học sinh chỉ cần

bổ sung thêm các thành phần cơ bản khác là hoàn thiện được chương trình như
sau:
Begin
Write(‘Nhap a = ‘); readln(a);
Write(‘Nhap b = ‘); readln(b);
If a>b then Write(a,‘ lon hon ‘, b)
Else write(b,’ lon hon ‘,a);
Readln
End.
4.2. Viết chương trình dựa vào thuật toán
Thuật toán được viết sát với từng câu lệnh trong ngôn ngữ lập trình, giáo
viên chỉ cần hướng dẫn học sinh nắm rõ cấu trúc cũng như ý nghĩa của các câu
lệnh thì rất dễ dàng viết được chương trình.
Ví dụ dựa vào thuật toán so sánh hai số a và b như trên ta có cát câu lệnh tương
ứng như sau:
Thuật toán
Bắt đầu
Nhập a, b
if a > b then
in ra a lớn hơn b
else in ra b lớn hơn a;
Kết thúc.

Chương trình
Begin
Write(‘Nhap a = ‘); readln(a);
Wrtie(‘ Nhap b = ‘); readln(b);
If a> b then
Write(a,’ lon hon ‘,b)
Else write(b,’ lon hon ‘,a);

Readln
End.

5. Chạy chương trình và kiểm tra lỗi
Một chương trình đã viết xong chưa chắc đã chạy được trên máy vi tính
để cho kết quả mong muốn, giáo viên cần lưu ý một số lỗi và cách khắc phục
cho học sinh nắm như:
- Lỗi về thuật toán: Điều chỉnh lại thuật toán, thêm vị trí có thể, loại bỏ
thuật toán sai, tìm thuật toán khác nghĩa làm lại từ đầu.
- Lỗi về trình tự: Phải xem lại thuật toán, phân tích lại từ trên xuống dưới
để đặt lại cho đúng với thuật toán.
- Lỗi về kiểu dữ liệu


12

Ví dụ: viết chương trình tính diện tích hình tròn, nếu học sinh viết chương trình
khai báo biến DT thuộc kiểu dữ liệu nguyên thì chương trình sẽ không thực hiện
được phép toán DT:=3.14*bk*bk. Do vậy để thực hiện được phép gán thì khai
báo biến DT là thuộc kiểu dữ liệu thực.
- Lỗi về cú pháp: Viết lại cho đúng cú pháp của ngôn ngữ lập trình mà
mình đang sử dụng.
Ví dụ : Lỗi sau câu lệnh ta không sử dụng dấu chấm phẩy, hay kết thúc chương
trình không có dấu chấm.
Tóm lại: Quá trình xây dựng chương trình là một chuỗi các bước tính . Ở
mỗi bước được phân ra nhiều công việc con để từ đó đưa ra được phương pháp
tối ưu. Song người lập trình cần rèn luyện để có ý thức về các quyết định liên
quan và biết khảo sát nghiêm túc cũng như từ bỏ các lời giải ngay cả khi chúng
đúng. Mà cần phải cân nhắc mọi phương tiện của từng lời giải theo một tiêu
chuẩn.

IV. KẾT QUẢ ĐẠT ĐƯỢC
Với các bước giải một bài toán như trên, tôi nhận thấy nhiều đối tượng
học sinh có thể hiểu và vận dụng để nâng cao kĩ năng lập trình của mình.
Qua một năm thử nghiệm ở một lớp 8a2, dù chất lượng thật sự chưa cao
nhưng bước đầu đem lại kết quả khả quan, phần lớn học sinh có thể tự viết được
một số chương trình cơ bản trong sách giáo khoa và một số bài tập đơn giản
khác, kết quả cuối năm đạt được như sau:
TS
Lớp
Giỏi
HS
8a1

17

3

8a2

32

5

TL
17.6
%
15.6
%

Khá

6
6

TL
35.3
%
18.8
%

TB
5
18

TL
29.4
%
56.3
%

Yếu
3
3

TL
17.6
%
9.4
%

TB

trở
lên
14
29

TL

Ghi chú

82.4
%
90.6
%

Không Áp
dụng ĐT
Áp dụng
ĐT


13

C. KẾT LUẬN - ĐỀ XUẤT
I. KẾT LUẬN
Để đưa ra một phương pháp tối ưu cho một bài toán không đơn giản. Bởi
một bài toán chúng ta có thể đưa ra nhiều phương pháp giải khác nhau. Song
trong lập trình người giải không sử dụng đúng cách giải thì một bài toán lại đi
ngược lại là cho các kết quả khác nhau. Điều đó chứng tỏ cho thấy người lập
trình cần phải nắm được các bước giải bài toán trong lập trình.
Để giải quyết được bài toán trên máy tính điện tử sử dụng ngôn ngữ lập

trình pascal nói chung và của lớp 8 nói riêng. Để nâng cao chất lượng dạy học
tin ở các trường THCS thì là một giáo viên tin học tôi muốn nói rằng chúng ta
không chỉ dạy lý thuyết suông mà cần phải biết kết hợp thực hành. Để từ đó học
sinh mới nhận thấy được ưu điểm của việc học chương trình này có lợi hơn ở
điểm nào.
Tóm lại, trong chương trình Tin học 8, các bài toán đưa ra để xây dựng
một chương trình chưa có gì là phức tạp. Bởi có nhiều bài hay thì học sinh lớp 8
chưa học đến. Tuy nhiên đây là chương trình học khá mới, cho nên giáo viên
cần phải nắm chắc các phương pháp để truyền đạt. Đồng thời cũng phối hợp
chương trình toán đã học đến những phần nào để từ đó đưa ra các ví dụ, bài tập
để học sinh có thể nắm chắc lý thuyết cũng như thực hành trên máy tính dễ tiếp
thu để từ đó các em rút ra được ưu điểm của các chương trình này so với cách
tính tay ở chỗ nào.
II. ĐỀ XUẤT
Để việc giảng dạy có hiệu quả hơn trong môn tin học tôi xin có một số đề
xuất sau:
Phân chia lớp sao cho phù hợp để có thể tổ chức hoạt động nhóm cho học
sinh mang lại hiệu quả cao hơn trong môn lập trình Pascal.


14

Bổ sung kịp thời các loại phương tiện, thiết bị dạy học cho bộ môn như
máy vi tính để học sinh có thể vừa học lý thuyết vừa kết hợp thực hành, phục vụ
cho tiết dạy tốt hơn.
Bản thân tôi mong muốn góp một phần nhỏ bé của mình vào sự nghiệp
giáo dục. Bởi đây là môn học khá mới mẻ với học sinh trường THCS. Tóm lại
các bước giải một bài toán trên máy vi tính của tôi đưa ra đang còn nhiều thiếu
sót. Mong nhận được sự góp ý của các thầy cô giáo cùng như bạn bè để được
hoàn thiện hơn.


Hiệu trưởng

Người viết

Hội Đồng khoa học (Hội Đồng sáng kiến)


15

TÀI LIỆU THAM KHẢO
1. SGK Tin học 8
2. Một số tư liệu về sơ đồ khối và thuật toán trên Internet.



×