Kiểm tra bài củ
Trình bày cấu trúc chung của thủ tục? Các thủ tục này, nếu có, thì
được khai báo ở đâu?
procedure <tên thủ tục> [(<danh sách tham số>)];
[< Phần khai báo >]
begin
[<Dãy các lệnh>]
end;
-
Phần đầu thủ tục: Tên dành riêng procedure, tên thủ tục và danh sách
tham số (có thể có hoặc không).
-
Phần khai báo: Dữ liệu vào ra của chương trình con (có thể có hoặc
không).
-
Phần thân thủ tục: Dãy câu lệnh đặt giữa cặp từ khóa begin và end.
-
Các thủ tục này, nếu có thì được khai báo và mô tả trong phần khai báo
của chương trình chính, ngay sau phần khai báo các biến.
Nêu sự khác nhau giữa tham số giá trị và tham
số biến? Hãy chỉ ra tham biến và tham trị trong ví
dụ sau?
procedure CatDan(s1: str79; var s2: str79);
begin
s2 := copy(s1,2, length(s1)-1) + s1[1];
end;
Tham trị
•
Các tham số thực sự tương ứng
là các giá trị cụ thể thay thế các
tham số hình thức trong lời gọi thủ
readln;
end.
procedure
Hoan_doi(var x:integer; y: integer);
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:= 15;
writeln(a: 6,b:6);
Hoan_doi(a, b);
writeln(a: 6,b:6);
readln;
end.
5 15
15 5
5 15
15 15
LOGO
Bài 18:
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON
(Tiết 2)
Ngày 28 tháng 02 năm 2011
GVHD: Nguyễn Duy Tất
SVTT: Lê Văn Bách
So sánh thủ tục và hàm
Đều là chương trình con, nói chung có cấu trúc giống một chương
trình.
Đều có thể chứa các tham số (tham trị và tham biến), cùng tuân
theo các qui định về khai báo và sử dụng các loại tham số này.
Giống nhau:
Khác nhau:
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;
procedure <tên thủ tục> [(<danh sách
tham số>)];
[< Phần khai báo >]
begin
[<Dãy các lệnh>]
end;
+
Phần đầu có thêm kiểu dữ liệu của giá trị mà hàm
trả về.
Từ khóa
+
Trong thân hàm thường có câu lệnh gán giá trị cho
tên hàm.
Ví dụ về hàm
qua tên hàm
Lưu ý:
Kết quả trả về qua tên hàm chỉ có thể thuộc các
kiểu dữ liệu chuẩn (integer, real, boolean, char,
string).
Vì kết quả trả về đã gán cho tên hàm nên thông
thường các tham số dùng trong hàm là tham số
giá trị.
b) Sử dụng hàm
Việc sử dụng hàm tương tự như sử dụng các hàm chuẩn.
Lệnh gọi hàm:
<tên hàm>[(<các tham số thực sự>)];
Lệnh gọi hàm có thể tham gia vào biểu thức như một toán hạng.
Ví dụ sử dụng hàm
var a, b, c: real;
function Min(a, b: real): real;
begin
if a<b then Min:=a
else Min:=b;
end;
begin
write(‘Nhap vao ba so: ’);
readln(a, b, c);
writeln(‘So nho nhat trong ba so la: ’,Min(Min(a, b), c) );
readln;
end.
Min(Min(a, b), c)
Chú ý các khái niệm:
•
Thủ tục, hàm.
•
Tham số hình thức, tham số thực sự.
•
Biến toàn cục, biến cục bộ.
•
Tham trị, tham biến.
LOGO