Hiểu được tác dụng và việc cần thiết tổ chức chương trình thành các chương trình con.. Ví dụ: Để tham gia thiết kế một chiếc ôtô thì chúng ta sẽ cần thiết kế các bộ phận cấu thành lên
Trang 1Giáo án lý thuyết số
Tổng số tiết
Ngày giảng tháng năm 2008
BÀI 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
A Mục tiêu:
1 Kiến thức:
Học sinh cần nắm vững khái niệm chương trình con, cách phân loại chương trình con dựa vào chức năng
Hiểu được tác dụng và việc cần thiết tổ chức chương trình thành các chương trình con
Nắm được cấu trúc cơ bản của chương trình con
2 Kĩ năng:
Học sinh cần rèn luyện kĩ năng phân tích chia nhỏ một bài toán lớn thành các bài toán nhỏ
3 Tư tưởng:
Phát triển khả năng phân tích và giải quyết các vấn đề lớn bằng cách chia nhỏ công việc thành từng phần
Tạo niềm say mê tin học và việc lập trình trên máy tính
B Phương pháp, phương tiện:
1 Phương pháp:
Thuyết trình
Vấn đáp
Liên hệ thực tế
2 Phương tiện:
a) Giáo viên: giáo án, giáo trình, tài liệu tham khảo và các phương tiện giảng dạy khác
b) Học sinh: sách vở và các đồ dùng học tập khác
C Tiến trình lên lớp và tổ chức dạy học
1 Ổn định lớp(1’): yêu cầu lớp trưởng ổn định lớp và báo cáo sĩ số
2 Kiểm tra bài cũ và gợi động cơ(4’):
Trang 2chương trình ứng dụng kết thúc Từ trước tới nay, tất
cả mọi thao tác tính toán của chúng ta đều chỉ thực hiện trên bộ nhớ chính( RAM), tất cả dữ liệu sẽ mất khi chương trình kết thúc Trong thực tế rất nhiều bài toán yêu cầu việc lưu trữ lâu dài dữ liệu, đặc biệt các bài toán quản lý, như vậy kiểu dữ liệu tệp là cần thiết
Câu lệnh đóng tệp sẽ nhắc hệ thống lưu lại những thay đổi do quá trình ghi dữ liệu lên tệp, trước đó có thể hệ thống chưa lưu lại Hơn nữa câu lệnh này bảo
vệ cho tệp không bị thay đổi sau đó
b)Gợi động cơ:
Trong thực tế chúng ta gặp rất nhiều công việc lớn mà việc chia nhỏ công việc này thành từng phần và giao cho từng nhóm người giải quyết mang lại hiệu quả cao
Ví dụ: Để tham gia thiết kế một chiếc ôtô thì chúng ta
sẽ cần thiết kế các bộ phận cấu thành lên nó, việc thiết kế từng bộ phận cụ thể sẽ được giao cho một người hoặc một nhóm người thực hiện Điều này mang lại hiệu quả cho việc thiết kế một chiếc ôtô cụ thể
Tương tự như vậy, trong tin học chúng ta rất hay gặp các bài toán lớn, phức tạp Việc chia nhỏ nó thành các bài toán lớn là rất cần thiết và mang lại nhiều lợi ích to lớn trong việc lập trình
Bài học hôm nay, thầy cùng các em sẽ đi tìm hiểu về chương trình con, một khái niệm đặc biệt trong lập trình( cấu trúc)
Trang 3
3 Bài mới: BÀI 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
THẦY VÀ TRÒ
TG
1 Khái niệm chương trình con
Chương trình con là một dãy lệnh
mô tả một số thao tác nhất định và
có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình
Xét ví dụ: Bài toán tính tổng bốn luỹ
thừa: TLuythua = am + bn + cp + dq Bài toán này bao gồm 4 bài toán con
tính an, bn, cn, dn, có thể giao cho bốn người thực hiện Giá trị TLuythua là tổng của bốn kết quả trên Chương trình thực hiện bài toán trên có mã như sau:
program luy_thua;
var TLuythua, lt1, lt2, lt3, lt4 : real;
a, b, c, d : real;
i, m, n, p, q : integer;
begin
write(‘ Nhap a,b,c,d,m,n,p,q:’);
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*a;
{ }
lt3 := 1;
GV: Thuyết trình Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình
Một công việc nhỏ có thể còn phân tách thành các công việc con nhỏ hơn, và một chương trình con tương ứng có thể bao hàm trong nó nhiều chương trình con thực thi các nhiệm vụ nhỏ hơn Đây chính là việc xây dựng chương trình con từ các chương trình con
Việc phân rã làm mịn dần bài toán được gọi là thiết kế từ trên xuống HS: Nghe hiểu và ghi
Trang 4readln
end
chương trình trên có 4 đoạn mã
tương tự nhau, lặp lại Điều này làm chương trình dài hơn Ta có thể xây dựng một chương trình con tính luỹ thừa với hai tham số là cơ số và số
mũ
luythua(coso, somu)
Ưu điểm của việc sử dụng chương
trình con:
Tránh việc viết lặp lại đoạn mã, làm
chương trình dài khó kiểm soát
NNLT cho phép tổ chức đoạn mã này thành chương trình con Mỗi khi chương trình cần thực thi đoạn mã này thì chỉ cần gọi chương trình con tương ứng
Hỗ trợ việc xây dựng chương trình
lớn: Phân tách bài toán thành nhiều phần, giao cho nhiều người viết các chương trình con khác nhau
Phục vụ quá trình trừu tượng hoá:
người sử dụng có thể sử dụng chương trình con đã xây dựng sẵn ( trong thư viện lập trình) mà không cần quan tâm cụ thể mã của nó
Mở rộng khả năng của ngôn ngữ lập
trình: việc xây dựng đóng gói các chương trình con, chúng được sử dụng như các lệnh mới của ngôn ngữ
Thuận tiện cho việc nâng cấp và sửa
chữa chương trình Việc tổ chức chương trình thành các chương trình con sẽ cho một cái nhìn sáng sủa mạch lạc, dễ dàng nâng cấp phát triển chương trình
GV: Theo các em ngoài việc làm giảm công sức viết mã thì việc sử dụng chương trình con còn mang lại lợi ích gì?
HS: Trả lời câu hỏi
GV: Chuẩn hoá lại câu trả lời và phân tích các tác dụng của việc sử dụng chương trình còn
HS: Đưa ra thắc mắc
GV: Giải đáp các thắc mắc
HS: Ghi bài
Trang 52 Phân loại và cấu trúc của chương trình con
a) Phân loại:
Trong Pascal có hai loại chương trình
con:
Hàm: Là chương trình con có nhiệm vụ thực thi các thao tác nào đó( thông thường là thao tác tính toán) và trả về một giá trị qua tên hàm đó Ví dụ sin(x), sqrt(x)
Thủ tục: thực hiện một số thao tác nhất định nhưng không cần trả về giá trị Ví dụ: write, read,
b) Cấu trúc chương trình con:
Chương trình con có cấu trúc tương tự
chương trình nhưng nhất thiết phải có
tên và phần dùng để khai báo tên, nếu là
hàm thì phải khai báo kiểu dữ liệu cho
giá trị trả về của hàm:
<phần đầu>
[<phần khai báo>]
<phần thân>
Phần khai báo:
Phần này khai báo biến cho dữ liệu vào
GV: Thuyết trình đưa ra hai loại chương trình con:
+Trong ngôn ngữ Pascal người ta cho phép xây dựng hai loại chương trình con: hàm và thủ tục Hàm trong Pascal có thể là hàm nhiều biến tức giá trị của hàm phụ thuộc vào nhiều tham số Các hàm chuẩn như sin(x), sqrt(x) là những hàm chỉ có một tham số,
đã được xây dựng sẵn
Chúng ta có thể đi xây dựng các hàm nhiều tham số như hàm luỹ thừa ở trên Một điều quan trọng cần lưu ý là khi gọi hàm, hàm được thực thi và trả về giá trị cho tên hàm Với thủ tục thì không trả về giá trị cho tên thủ tục, chúng ta
đã biết về một số thủ tục chuẩn được xây dựng sẵn như write; writeln;
read; readln; readkey;
+Việc xây dựng, lời gọi thủ tục và hàm có đôi
Trang 6gọi là biến cục bộ
c) Việc thực hiện chương trình con: sẽ
được thông qua lời gọi tên của nó
Đối với chương trình con hàm trong Pascal thì hàm phải được gọi từ nột biểu thức chứ không được gọi độc lập như một hàm Ví dụ không được phép viết sin(x);
Mà có thể viết x := sin(x) Tham số thực sự: đó là những giá trị cho
các tham số , đó là những tham số thực
sự
GV: Nêu ra cấu trúc của chương trình con
Giáo viên phân tích những thành phần cấu trúc của chương trình con, chức năng của từng thành phần Phân tích khái niệm tham số hình thức
HS: ghi bài
GV: Phân tích cách thức gọi một chương trình con
đồng thời đưa ra khái niệm tham số hình thức HS: đưa ra thắc mắc GV: giải đáp
D Củng cố bài học
Bài học hôm nay các em cần nắm vững các vấn đề cơ bản về chương trình con: khái niệm, lợi ích, phân loại, cấu trúc của chương trình con Đồng thời hiểu tham số, tham số hình thức, tham số thực sự, biến cục bộ Trong tiết tiếp theo chúng ta sẽ đi tìm hiểu sâu hơn về chương trình con
E Bài tập về nhà
Đọc trước bài mới
F.Tự rút kinh nghiệm qua giờ dạy