Upload
hieu-ho-minh
View
84
Download
0
Embed Size (px)
Citation preview
I.Cách viết và sử dụng thủ tục:
a.Cấu trúc của thủ tụcb.Ví dụ về thủ tụcc.Tham biến và tham trị
II.Cách viết và sử dụng hàm:
Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
2Phương pháp dạy học 3 - Hồ Minh Hiếu
Cách viết và sử dụng hàm :
• 1. Khái niệm:
• Hàm là mộtCTC thực hiện một sốthao tác nào đó và trả vềmột giá trị qua tên củanó.
Phương pháp dạy học 3 - Hồ Minh Hiếu 3
Cách viết và sử dụng hàm :
Một số hàm mà ta đã được học :
Abs(x) Sqrt(x)
Sin(x)
Phương pháp dạy học 3 - Hồ Minh Hiếu 4
Cách viết và sử dụng hàm :
• FUNCTION <Tên hàm> ([<Danh sách tham số>]) :<Kiểu của hàm>;
Kiểu của hàm làkiểu kết quả củahàm và chỉ có thểlà một trong cáckiểu: Integer, Real, Char, Boolean, String.
Nếu hàm không có tham sốhình thức thì không cần viết
Danh sách tham số.
Chú ý: Hàm cần được khaibáo và định nghĩa trướckhi sử dụng.
Phương pháp dạy học 3 - Hồ Minh Hiếu 5
Cách viết và sử dụng hàm :
Tiêu đềFUNCTION <Tên hàm> ([<Danh sách tham số>])
:<Kiểu của hàm>;Các khai báo;Thân chương trình:
BEGINCác lệnh;
End;
Phương pháp dạy học 3 - Hồ Minh Hiếu 6
Cách viết và sử dụng hàm :• Hàm trả về một giá trị nên trong phần thân hàm ta
có thêm dòng lệnh:
•< Tên hàm >:= < Biểu thức>;
Vậy khi hàm trả về một
giá trị thì ta sử dụng cái
gì để nhận giá trị đó?
Sử sụng 1 biến để nhận giá
trị
Phương pháp dạy học 3 - Hồ Minh Hiếu 7
Cách viết và sử dụng hàm :
FUNCTION ucln ( x , y : integer) : integer ;VAR du: integer;BEGIN
WHILE y<>0 DOBEGIN
du:= x mod y;x:=y;
y:=du;END;
ucln := x;END;
Kiểu giá trị trảvề của hàm ucln
là integer
Dòng lệnh gángiá trị cho tên
hàm
Tênhàm
Phương pháp dạy học 3 - Hồ Minh Hiếu 8
Cách viết và sử dụng hàm :
Đều là CTC, có cấu trúc giống mộtchươ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ề khaibáo và sử dụng các loại tham số này.
Giốngnhau
So sánh Hàm và Thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu 9
Cách viết và sử dụng hàm :
• Đầu hàm bắt đầu với từ khoá FUNCTION,sau tên hàm và phần khai báo danh sáchtham số (nếu có) phải chỉ ra giá trị kết quảcủa hàm thuộc kiểu dữ liệu nào.
So sánh Hàm và Thủ tục
Hàm luôn cho một giá trị kết quả thuộc kiểu xác định và giá trịđó được gán cho tên hàm, kiểu của hàm phải được khai báo
trong phần đầu của hàm
KHÁC NHAU :
Trong chương trình hàm bắt buộc phải có một lệnh gán
giá trị kết quả cho tên hàm
Phương pháp dạy học 3 - Hồ Minh Hiếu 10
Cách viết và sử dụng hàm :
• 2. Ví dụ :
• CT giản ước phânsố có sử dụng hàm tínhước chung lớn nhất (ucln) của hai số nguyên.
Phương pháp dạy học 3 - Hồ Minh Hiếu 11
PROGRAM gian_uoc_phan_so;USES CRT;VAR tuso, mauso, a: integer;FUNCTION ucln( x , y : integer): integer;VAR du: integer;BEGIN
WHILE y<>0 DOBEGIN
du:= x mod y;x:=y;y:=du;
END;ucln := x;END;BEGINClrscr;
Writeln(‘nhap tu so, mau so vao ’);Readln(tuso,mauso);A:=ucln(tuso,mauso);
IF A> 1 THENBEGIN
tuso:=tuso div A;mauso:=mauso div A;
END;Writeln(tuso: 5, mauso: 5);
END.
Hàm
Biến toàncục
Biếncục bộ
Tham sốgiá trị
Tham sốthực sự
Phương pháp dạy học 3 - Hồ Minh Hiếu 12
Cách viết và sử dụng hàm :
• 2. Sử dụng:
• - Tương tự việc sử dụng các hàm chuẩn: viết tênhàm cần gọi, thay thế các tham số hình thức bằng các tham sốthực sự tương ứng.
• -Lời gọi hàm có thể tham gia vào biểu thức nhưmột toán hạng hoặc là tham số của lời gọi hàm, thủ tục khác.
Ví dụ:
tg:=ucln(tuso,mauso)*2+1;
Phương pháp dạy học 3 - Hồ Minh Hiếu 13