Ví dụ, trong chương trình con Luythua(x,k) ở phần 1 thì x, k là các tham số hình thức và j là biến cục bộ. Chương trình chính và các chương trình con khác không thể sử dụng được các biế[r]
Trang 11
Họ và tên:
Lớp:
TUẦN 27:
Bài 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
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
Lợi ích của việc sử dụng chương trình con:
2 Phân loại và cấu trúc của chương trình con
a) Phân loại
Trong nhiều ngôn ngữ lập trình, chương trình con thường gồm hai loại”
+ Hàm (function) là chương trình con thực hiện một số thoa tác nào đó và trả về một giá trị qua tên của nó Ví dụ hàm toán học hay hàm xử lí xâu:
Sin(x): nhận giá trị thực x và trả về giá trị sin(x);
Sqrt(x): nhận giá trị x và trả về giá trị căn bậc hai của x;
Length(x): nhận xâu x và trả về độ dài của xâu x;
+ Thủ tuc (procedure) là chương trình con thực hiện thoa tác nhất định nhưng không trả về giá trị nào qua tên của nó Ví dụ các thủ tục vào /ra chuẩn hay thủ tục xử lý xâu: Write, writeln,
readln, read, delete, insert, …
b) Cấu trúc chương trình con
<ph ầ đầ u>
[ <ph ầ khai á >]
<ph ầ th â n>
Phần khai báo
Phần khai báo có thể có khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong
chương trình con
Phần thân
Phần thân của chương trình con là dãy câu lệnh thực hiện để từ những dữ liệu vào ta nhận được
dữ liệu ra hay kết quả mong muốn
Tham số hình thức:
Các biến được khai baó cho dữ liệu vào/ra được gọi là tham số hình thức của chương trình con Các biến được khai báo để dùng riêng trong chương trình con được gọi là biến cục bộ
Ví dụ, trong chương trình con Luythua(x,k) ở phần 1 thì x, k là các tham số hình thức và j là biến cục bộ
Chương trình chính và các chương trình con khác không thể sử dụng được các biến cục bộ của chương trình con, những mọi chương trình con đều sử dụng được các biến cảu chương trình
chính
c) Thực hiện chương trình con
Tham số thực sự
Để thực hiện một chương trình con, ta cần phải có lệnh gọi nó tương tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chương trình con với tham số là các hằng và biến chứa dữ liệu vào và ra tương ứng với các tham số hình thức đặt trong cặp ngoặc ( và ) Các hằng và biến này gọi là tham số thực sự
Ví dụ: Sqr (225) Trong đó: sqr là tên chương trình con
225 tham số thực sự
Trang 22
B Câu hỏi trắc nghiệm
Câu 1: Hãy chọn phương án ghép đúng Kiểu của một hàm được xác định bởi
A Kiểu của các tham số
B Kiểu giá trị trả về
C Tên hàm
D Địa chỉ mà hàm trả về
Câu 2: Mô tả nào dưới đây về hàm là sai?
A Phải trả lại kết quả
B Phải có tham số
C Trong hàm có thể gọi lại chính hàm đó
D Có thể có các biến cục bộ
Câu 3: Mô tả nào dưới đây về tham số là sai?
A Một hàm có thể có cả tham số giá trị và tham số biến;
B Có thể truyền biến số cho tham số giá trị;
C Có thể truyền giá trị cho tham số biến;
D Có thể dùng tham số biến để nhận kết quả;
Câu 4: Kiểu dữ liệu của hàm
A Chỉ có thể là kiểu integer
B Chỉ có thể là kiểu real
C Có thể là các kiểu integer, real, char, boolean, string
D Có thể là integer, real, char, boolean, string, record, kiểu mảng
Câu 5: Hàm chuẩn nào dưới đây biến giá trị thực 7.6 thành 8?
A Odd;
B Round;
C Trunc;
D Abs;
Câu 6: Trong các chương trình chuẩn sau đây, chương trình chuẩn nào là thủ tục chuẩn?
A Sin(x);
B Length(S);
C Sqrt(x);
D Delete(S,5,1);
Câu 7: Giả sử có hai biến xâu x và y ( y đã có giá trị ) câu lệnh nào sau đây là không hợp lệ?
A x := Copy(y,5,3);
B x := y;
C x := Delete(y,5,3);
D Delete(y,5,3);
Câu 8: Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
A Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không
B Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể
C Phần đầu có thể có hoặc không có cũng được
D Phần đầu nhất thiết phải có để khai báo tên chương trình con
Câu 9: Khẳng định nào sau đây là đúng?
A Một chương trình con nhất thiết phải có tham số hình thức
B Một chương trình con nhất thiết phải có biến cục bộ
C Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ
D Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục
bộ
Câu 10: Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất?
A Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng;
B Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất;
C Chỉ cần khai báo;
D Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng;
Trang 33
Bài 18: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
1) Cách viết và sử dụng thủ tục:
a/ Cấu trúc của thủ tục:
procedure <tên thủ tục> [<ds tham số>;
[<phần khai báo>];
begin
[<dãy các lệnh>];
end;
- Procedure: Từ khóa.
- Tên thủ tục : Bắt buộc phải có.
- Kết thúc thủ tục bằng từ khóa End;
b/ Ví dụ về thủ tục:
· Tham số hình thức: Là tham số được đưa vào khi định nghĩa chương trình con.
· Tham số thực sự: Là tham số được viết trong lời gọi chương trình con.
· Tham số biến: Khai báo phải có từ khoá Var Khi gọi chương trình con, các tham số hình thức là
biến chỉ được phép thay thế bằng các tham số thực sự là biến
· Tham số giá trị: Khi khai báo không có từ khoá Var ở trước, khi gọi chương trình con, các tham số
giá trị sẽ được thay thế bằng các tham số thực sự là giá trị hoặc biến
2) Cách viết và sử dụng hàm:
a) Cấu trúc của hàm:
function <tên hàm>
[<danh sách tham số>]: <kiểu dữ liệu>;
[<phần khai báo>];
begin
[<dãy các lệnh>];
< tên hàm> := <biểu thức>;
end;
b) Phân biệt thủ tục và hàm:
· Giống nhau:
- Đều là chương trình con, có cấu trúc giống một chương trình
- Đều có thể chứa các tham số (tham số giá trị và tham số biến), cùng tuân theo các quy định về khai báo và sử dụng các loại tham số này (có thể không có)
· Khác nhau:
- Hàm khác thủ tục ở điểm căn bản là hàm luôn trả về một giá trị thuộc kiểu xác định thông qua tên hàm (các kiểu dữ liệu đơn giản: integer, real, boolean, char, string)
- Đầu hàm bắt đầu bằng từ khóa Function còn thủ tục bắt đầu với từ khóa Procedure
- Phải chỉ ra kết quả của hàm thuộc kiểu dữ liệu nào
- Trong thân hàm thường có câu lệnh gán giá trị cho tên hàm
c) Cách sử dụng hàm:
Việc sử dụng hàm giống như việc sử dụng các hàm chuẩn
→ Khi viết lệnh gọi tên hàm gồm: Tên hàm và tham số thực sự tương ứng với các tham số hình thức
TUẦN 28: BÀI TẬP THỰC HÀNH 6
(Học sinh làm thực hành theo gợi ý SGK trang 103, 104 mục a,b)
TUẦN 29: BÀI TẬP THỰC HÀNH 7
(Học sinh làm thực hành theo gợi ý SGK trang 105 - 108)