Tải bản đầy đủ (.ppt) (18 trang)

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 ?

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (345.66 KB, 18 trang )

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ủ


tục được gọi là các tham trị.

Không có từ khóa var đứng trước.
Tham biến

Các tham số thực sự tương
ứng là tên các biến chứa dữ
liệu ra thay thế các tham số
hình thức trong lời gọi thủ tục
đươc gọi là các tham biến.

Có từ khóa var đứng trước.
Tham trị trong thủ tục: s1.
Tham biến trong thủ tục: s2.
procedure CatDan(s1: str79; var s2: str79);
Ví dụ về tham biến, tham trị
procedure
Hoan_doi(var x, 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.
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

Sở Giáo Dục Và Đào Tạo Kiên Giang
Trường THPT Thạnh Đông, H.Tân Hiệp
Nội Dung
Cấu trúc của hàm
1
So sánh thủ tục và hàm
2
Ví dụ về hàm
3
Sử dụng hàm
4
Ví dụ về sử dụng hàm
5
a) Cấu trúc 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;
2. Cách viết và sử dụng hàm
-
Phần đầu của hàm: Tên dành riêng function, tên hàm, kiểu dữ
liệu trả về của hàm
-
Phần khai báo: Xác định các hằng, kiểu, biến.
-
Dãy câu lệnh: được viết trong cặp tên dành riêng begin và end
tạo thành thân của hàm, khác với thủ tục trong thân hàm cần có
lệnh gán giá trị cho tên hàm.

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

uses crt;
var TuSo, MauSo, a: integer;
function UCLN(x, y: integer): integer;
var sodu:integer;
begin
while y<>0 do
begin
sodu := x mod y;
x := y;
y := sodu;
end;
UCLN :=x;
end;
begin
clrscr;
write(‘Nhap tu so:);readln(TuSo);
write(‘Nhap mau so:’); readln(MauSo);
a := UCLN(TuSo, MauSo);
if a>1 then
begin
TuSo := TuSo div a;
MauSo := MauSo div a;
end;
writeln(TuSo,’/’, MauSo);
end.
Sử dụng hàm với từ
khoá function
Trả về giá trị kiểu
integer
Gán giá trị thông

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)

Min( a , c)
real
Củng cố
1. Giá trị trả về của hàm chỉ có thể là các
kiểu dữ liệu:
a) Integer, string, char, real.
b) Integer, boolean, char.
c) Integer, real, char, boolean, string.
d) Integer, real, char, boolean, byte.
Integer, real, char, boolean, string.
Củng cố
2. Trong thân hàm cần có lệnh gán giá trị cho tên hàm <tên hàm> :=
<biểu thức>. Vì:
a) Hàm trả về một giá trị thông qua tên hàm.
b) Hàm có cấu trúc giống thủ tục.
c) Giá trị của các biến thay đổi nên phải lưu vào tên
hàm.
d) a, b, c đều đúng.
Hàm trả về một giá trị thông qua tên hàm.
Củng cố
3. Các tham số trong hàm bắt buộc
phải là các tham số giá trị.
a) Đúng.
b) Sai.
Sai.
Dặn dò

Thực hành lại các chương trình trong
sách giáo khoa.


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

×