Kiến thức: - Biết phân biệt được hai loại chương trình con: Hàm và thủ tục.. - Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục.. Trên cơ sở phân
Trang 1Ngày soạn: 20/03/20111
Ngày giảng: 29/03/201
Tiết theo PPCT: 39
§17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I - Mục tiêu bài học
1 Kiến thức:
- Biết phân biệt được hai loại chương trình con: Hàm và thủ tục
- Biết được cấu trúc của một chương trình con
- Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục
2 Kỹ năng:
- Nhận biết được hai loại tham số hình thức và tham số thật sự
- Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ
- Cách thực hiện một chương trinh con
II – Phương pháp, phương tiện dạy học
- Phương pháp: Đàm thoại, giảng giải…
- Phương tiện: sgk, giáo án…
III - Tiến trình bài học
1 Ổn định tổ chức lớp
- Lớp:
- Sĩ số:
- Lí do vắng
2 Kiểm tra bàì cũ
Câu 1: Trình bày khái niệm chương trình con là gì?.
Câu 2: Mục đích sử dụng chương trình con là gì?
3 Nội dung bài mới
Hoạt động của giáo viên và học
sinh
Nội dung
Chúng ta đã biết chương trình con là
gì? Lợi ích của việc sử dụng chương trình
con trong lập trình Nhưng ta chưa biết
chương trình chương trình con có cấu trúc
như thế nào? Và được phân loại như thế
nào?
? Trong nhiều ngôn ngữ lập trình chương
2 Phân loại và cấu trúc chương trình con
a, Phân loại
Trang 2trình con được phân làm mấy loại?
- Được phân thành 2 loại: Hàm và thủ
tục
? Trong ngôn ngữ pascal ch úng ta đ ã l
àm quen với hàm và thủ tục chưa, các em
cho biết một số hàm và thủ tục chuẩn mà
em biết?
+ Hàm: Sin(x), sqrt(x),length(x)
+ Writeln, readln,
VD: -Xét hàm sin(x)
Với x=3 giá trị của hàm sqrt(x) cho kết
quả là bao nhiêu ?
- Sau khi thực hiện tính toán hàm
sqrt(x) cho giá trị là 9
? Vậy các em cho biết hàm có đặc điểm
gì ?
VD: -Xét thủ tục Writeln,
Writeln(‘xin chao’)
? Thủ tục Writeln(‘xin chao’) làm gì ? cho
kết quả là gì ? có trả về giá trị nào
không ?.
- Dùng để đưa kết quả ra màn hình
- Cho kết quả xuất hiện trên màn hình
dòng chữ: xin chao
- Không trả về giá trị nào
? Cho biết thủ tục có đặc điểm gì ?
Trên cơ sở phân loại hàm và thủ tục bây
giờ ta tìm hiểu cấu trúc của hàm và thủ tục
(Chương trình con) được tổ chức như thế
nào ?
? Em hãy cho biết chương trình chính
*Hàm:
- Là chương trình con
- Thực hiện một số thao tác nào đó
- Trả lại giá trị qua tên của hàm
* Thủ tục:
- Là chương trình con
- Thực hiện một số thao tác nào đó
- Không trả lại giá trị qua tên của thủ tục
b, Cấu trúc chương trình con
Trang 3[<Phần khai báo>]
<Phần thân>
? Trong chương trình con cấu trúc của nó
gồm mấy phần ?
? Về cơ bản chương trình con và chuơng
trình chính có tương tự nhau không ?
- Chương trình con có cấu trúc tương tự
1 chương trình chính, nhưng nhất thiết
phải có phần tên và phần đầu dùng để khai
báo tên Nếu là hàm phải khai báo kiểu dữ
liệu cho giá trị trả về của hàm
? Phần đầu dùng để làm gì ?
? Phần Khai báo dùng để làm gì ?
? Phần thân dùng để làm gì ?
Bây giờ ta tiếp tục sẽ tìm hiểu các biến
được khai báo và phạm vi hoạt động của
nó trong chương trình con và trong chương
trình chính
- Xét ví dụ : Tính luỹ thừa : luythua =
xk khi đó tên chương trình con có thể đặt
là luythua, tên các biết chưa dữ liệu vào là
x, k Vậy khi tính xk ta viết luythua(x,k)
Khi đó x, k là tham số hình thức
Chương trình con có cấu trúc tương tự
như chương trình chính gồm 3 phần:
<Phần đầu>
[<Phần khai báo>]
<Phần thân>
- Phần đầu:
+ Để khai báo tên của hàm hoặc thủ tục
+ Nếu là hàm phải khai báo kiểu dữ liệu chi giá trị trả về của hàm
+ Nhất thiết phải có
- Phần khai báo:
+ Khai báo các biến cho dữ liệu vào/ra, các hằng và biến dùng trong chương trình con
- Phần thân:
Gồm dãy các lệnh thực hiện để từ những dữ liệu vào/ra ta nhận dữ liệu ra hay kết quả mong muốn
Trang 4? Vậy tham số hình thức là gì ?
? Thế nào là biến cục bộ?
? Thế nào là biến toàn cục?
? C ác biến này hoạt động như thế nào?
Một chương trình con có thể có hoặc
không có tham số hình thức, biến cục bộ
Sau khi có một chương trình con, muốn
thực hiện chuơng trình con đó thì ta làm
thế nào ?
? Hãy cho ví dụ về lệnh gọi CTC ?
Xét ví dụ: CTC luythua(x,k) với x,k
- Tham số hình thức: gồm các biến được
khai báo cho dữ liệu vào/ra
- Biến cục bộ: Gồm các biến khái được
khai báo trong chương trình con
- Biến toàn cục: Gồm các biến khái
được khai báo trong chương trình chính
* Phạm vi hoạt động của các biến:
- Biến cục bộ:
+ Chỉ sử dụng trong một chương trình con của nó mà thôi
+ Không thể sử dụng biến cục bộ của một chương trình con cho chương trình chính và các chương trình con khác
- Biến toàn cục:
+ Được sử dụng trong chương trình chính cũng có thể sử dụng trong chương trình con
c, Thực hiện chương trình con:
Để thực hiện gọi chương trình con ta thực hiện lệnh theo cú pháp sau
Cú pháp:
<tên chương trình con>(<tham số thực sự>)
Trong đó: tham số thực sự là các hằng,
biến chứa dữ liệu vào/ ra
Khi thực hiện chương trình con các tham số hình thức dùng để nhập dữ liệu vào và tham số hình thức sẽ nhận giá trị của tham số thực sự tương ứng, còn các tham số hình thức dùng để lưu trữ dữ liệu
ra sẽ trả giá trị đó cho tham số thực sự tương ứng
Trang 5Với biến : a =2, b=3
Lệnh gọi CTC là Luythua(a,b) khi đó
tham số hình thức x, k nhận giá trị tương
ứng của tham số thực sự a, b
IV - Củng cố
- CTC gồm: Hàm và thủ tục
- Cấu trúc chương trinh con
- Biến cục bộ, biến toàn cục
- Tham sô hình thức, tham số thật sự
- Cách gọi chương trinh con