BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI

Một phần của tài liệu Sáng kiến kinh nghiệm đề tài một số kinh nghiệm dạy tốt môn tin học lớp 11 (Trang 26)

Đây là bài cuối trong sáng kiến kinh nghiệm của Tôi, vì bài 18 ví dụ

về cách viết và sử dụng chương trình con thì Tôi thực hiện như sách giáo

khoa. Bài 19 thư viện chương trình con chuẩn (giảm tải).

A.Mục đích, yêu cầu

Học sinh cần biết:

- Chương trình con thực chất là một khối lệnh (tập các lệnh) nhằm giải

quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn

bằng một chương trình.

- Khi phải viết những chương trình dài, phức tạp, việc sử dụng chương trình con là hết sức cần thiết.

- Sự khác nhau cơ bản giữa hai loại chương trình con thường gặp. - Sự giống và khác nhau về cấu trúc giữa chương trình và chương trình

con.

- Mối quan hệ giữa tham số hình thức và tham số thực sự với chương

trình con và lời gọi chương trình con.

27

B. Nội dung lên lớp

1.Thực trạng của vấn đề

Bài này thực sự khó đối với học sinh và gần 10 năm giảng dạy kết

quả kiểm tra kiến thức bài này rất thấp.

2.Các biện pháp đã tiến hành để giải quyết vấn đề

Bài này Tôi yêu cầu các em nghiên cứu trước khi học, cho nên khi lên lớp Tôi chú ý đến bài tập nhiều hơn để làm sáng tổ ý nghĩa của “chương trình con”.

Tôi lấy ví dụ trong sách giáo khoa:

Tính tổng bốn lũy thừa

Trước khi giải bài toán này, Tôi đưa ra ví dụ:

Tính tổng bốn lũy thừa Tluythua = 225 + 334 + 443 + 552

Rồi giả sử chia cho 4 tổ trong lớp thi đua xem tổ nào tính chính xác và nhanh nhất. Lấy tinh thần xung phong của học sinh để tìm giải pháp

tối ưu. Đa số các lớp các em tìm ra giải pháp là chia việc cho 4 nhóm

bạn trong tổ tính 4 lũy thừa, sau đó một người tổng hợp lại thì sẽ nhanh

nhất.

Từ đó Tôi dẫn dắt các em trong thực tế sử dụng chương trình con là cần thiết, vì một chương trình tin học lớn, phức tạp thì một người không

thể đảm nhiệm hết được, do đó cần thiết phải chia việc cho người khác

cùng cộng tác. Hình thức chia việc chính là chia ra các chương trình con trong lập trình Tin học.

Để giải quyết bài toán trên Tôi đưa ra 2 cách lập trình để học sinh so sánh: Cách 1: Cách 2: Program Tinhtong; uses crt; var Tlt, lt1, lt2, lt3, lt4 : real; a,b,c,d : real; i,n,m,p,q : integer; Program Tinhtong; uses crt; var Tlt : real; a,b,c,d : real; n,m,p,q : integer; Tluythua = am + bn + cp + dq

28 begin

clrscr;

write('Hay nhap du lieu theo thu tu: ');

readln(a,b,c,d,m,n,p,q); lt1:=1;

for i:=1 to m do lt1:=lt1*a; lt2:=1; for i:=1 to n do lt2:=lt2*b; lt3:=1; for i:=1 to p do lt3:=lt3*c; lt4:=1; for i:=1 to q do lt4:=lt4*d; tlt:=lt1+lt2+lt3+lt4;

writeln('Tong luy thua = ',tlt:8:1); readln

end.

function lt(x: real; y:integer): real; var t: real; i: integer;

begin t:=1; for i:=1 to y do t:=t*x; lt:=t; end; begin clrscr;

write('Hay nhap du lieu theo thu tu: ');

readln(a,b,c,d,m,n,p,q);

Tlt:=lt(a,m)+lt(b,n)+lt(c,p)+lt(d,q); writeln('Tong luy thua = ',tlt:8:1); readln

end.

Nhận xét:

- Cách 1: Câu lệnh for – do phải được viết 4 lần để tính 4 lũy thừa

- Cách 2: Câu lệnh for – do chỉ được viết 1 lần để tính 4 lũy thừa, nhưng được gọi thực hiện 4 lần.

- Giả sử bài toán được nâng lên thành tính tổng của 100 lũy thừa thì: + Cách 1: Câu lệnh for – do phải được viết 100 lần để tính 100 lũy

thừa

+ Cách 2: Câu lệnh for – do cũng chỉ được viết 1 lần để tính 100

lũy thừa, nhưng được gọi thực hiện 100 lần.

- Như vậy Chương trình con sẽ có giá trị hơn nhiều nếu chương trình thật sự lớn và phức tạp.

3.Kết quả đạt được

Sau §17, §18 có bài kiểm tra 1 tiết (tiết 45).  Đề kiểm tra (điển hình) như sau:

Viết chương trình tính: Tinhtong = Tong+Hieu+Tich+Thuong. Yêu cầu viết các chương trình con để thực hiện các công việc sau:

- Nhập 2 số nguyên x, y - Tong x + y

29 - Hieu x + y

- Tich x * y

- Thuong x/y (nếu đểý được trường hợp y=0 thì đạt điểm tối đa)

 Kết quả những năm gần đây: Số học sinh đạt Trung bình trở lên là trên 65%

KẾT QUẢ KHI THỰC HIỆN SÁNG KIẾN KINH NGHIỆM BỘ MÔN TIN HỌC LỚP 11 Năm học 2009-2010 Năm học 2010-2011 Năm học 2011-2012 Năm học 2012-2013 Năm học 2013-2014 Tỷ lệ đạt 85.5% 98.5% 91.6% 93.7% 94.0%

30

PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ I. KẾT LUẬN

Sau 10 năm kinh nghiệm giảng dạy lập trình Pascal đối với học sinh

lớp 11, Tôi đã từng bước xây dựng được giáo án riêng cho phương pháp dạy

lập trình Pascal để đáp ứng được nhiệm vụ đổi mới phương pháp giảng dạy,

giúp học sinh tiếp cận với những bài toán thực tế với những minh họa trực

quan mang tính giáo dục. Đối với học sinh mới tiếp cận ngôn ngữ Pascal thì việc khó nhất là nắm bắt được các thuật toán, do đó các ví dụ Tôi giảng dạy thường là đơn giản không yêu cầu kiến thức Toán học nhiều.

Những hướng phát triển của đề tài:

Tiếp tục hoàn thiện đề tài bằng cách đưa ra nhiều ví dụ đa dạng, đáp ứng được việc dạy cho nhiều đối tượng học sinh.

II. KIẾN NGHỊ

-Với sáng kiến kinh nghiệm này Tôi hy vọng sẽ giúp cho các đồng

nghiệp cải thiện được rất nhiều chất lượng giảng dạy bộ môn tin học lớp 11. - Sáng kiến kinh nghiệm này là tài liệu nghiên cứu hữu ích cho học sinh

và cũng có thể cho sinh viên ngành sư phạm.

Với tinh thần làm việc nghiêm túc Tôi đã hoàn thành đề tài này. Tuy nhiên không thể tránh khỏi những hạn chế, thiếu sót. Tôi rất mong nhận được

sự đóng góp ý kiến chân thành, quý báu của quý Thầy Cô và các Bạn.

31

TÀI LIỆU THAM KHẢO

1. Hồ Sĩ Đàm (Chủ biên) (1997), Tin học 11 (thí điểm), Nhà xuất bản Giáo

dục.

2. Hồ Sĩ Đàm (Chủ biên) (2007), Tin học 11, Nhà xuất bản Giáo dục.

3. Phạm Quang Huân (2005), “Giải pháp nhằm nâng cao chất lượng giáo

dục”, đăng trên Tạp chí Phát triển Giáo dục – Viện Chiến lược và Chương

trình giáo dục. Số 76, tháng 4/ 2005.

4. Lê Anh Nhật, Một vài phương pháp giảng dạy tích cực,

http://www.tuyenquangonline.net

5. Đỗ Tiến Sỹ, Đổi mới phương pháp dạy học trong tư duy quản lý trường

học, http://www.daihoctructuyen.edu.vn

6. PGS.TS Vũ Hồng Tiến, Một số phương pháp dạy học tích cực,

http://www.dayhocintel.net

Một phần của tài liệu Sáng kiến kinh nghiệm đề tài một số kinh nghiệm dạy tốt môn tin học lớp 11 (Trang 26)

Tải bản đầy đủ (PDF)

(31 trang)