Cả thủ tục và hàm đề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 qui định về khai báo và sử dụng các lọai tham số này... Đầu Hàm bắt đầu với từ khóa FU
Trang 1NhiÖt liÖt Chµo mõng
c¸c thÇy c« gi¸o
Trang 2GV: Nguyễn Phi Thăng
Trườngưthptưvânưnham
Trang 31 Kiểm tra bài cũ
2 Bài mới
3 Củng cố
4 H ớng dẫn về nhà
Trườngưthptưvânưnham
Trang 4C©u 1) Tr×nh bµy cÊu tróc chung cña thñ tôc? H·y chØ
ra c¸c thµnh phÇn cña chóng trong thñ tôc sau:
KiÓm tra bµi cò
Procedure Hoan_doi(var x, y: integer);
Trang 5phần thân
Trang 6C©u 2) Ph©n biÖt tham sè gi¸ trÞ (tham trÞ) vµ tham sè
biÕn (tham biÕn) trong CTC? Cho biÕt kÕt qu¶ cña ch ¬ng tr×nh sau:
* Phân biệt tham trị và tham biến:
Tham trị Tham biến
- Khi ra khỏi thủ tục thì giá trị không thay đổi
- Khi khai báo không có từ
Trang 7vµ sö dông ch ¬ng tr×nh
con (TiÕt 2)
Trang 8TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
H y cho biÕt ·y c¸c lÖnh :
a Sù gièng nhau gi÷a thñ tôc vµ hµm?
b Sù kh¸c nhau gi÷a thñ tôc vµ hµm?
Trang 9TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
FUNCTION <Tên hàm>([<Danh sách
tham số>]):<kiểu của hàm>;
Sự giống nhau giữa Thủ Tục và Hàm:
1.Cả thủ tục và hàm đều là chương trình con , có cấu tạo giống như một chương trình trừ dòng đầu tiên và kết thúc bằng END;
2 Cả thủ tục và hàm đề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 qui định về khai báo và
sử dụng các lọai tham số này.
Trang 10TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
FUNCTION <Tên hàm>([<Danh sách
tham số>]):<kiểu của hàm>;
1 Đầu Hàm bắt đầu với từ khóa FUNCTION , sau tên hàm và phần khai báo
danh sách tham 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 <kiểu dữ liệu>
Kiểu của hàm là kiểu kết quả của Hàm và chỉ có thể là một trong các kiểu :
Integer, Real, Char, Boolean, String.
2 Trong thân của hàm thường có câu lệnh gán giá trị cho tên hàm.
<Tên hàm>: =<Biểu thức>;
Trang 11 Phân tích:
Muốn rút gọn phân số a/b, thực hiện:
- Tử số a chia nguyên cho USCLN ( a, b )
- Mẫu số b chia nguyên cho USCLN ( a, b )
- In Phân số ra màn hình
Ví dụ 1: Xét ch ơng trình thực hiện việc rút gọn một
phân số, trong đó có sử dụng hàm tính ớc số chung
lớn nhất (UCLN) của hai số nguyên.
Giải thuật tìm USCLN của hai số nguyên a và b:
Function UCLN(a, b: integer) : integer;
Tiết 44 Đ18 - ví dụ về cách viết và sử dụng ch ơng trình con (Tiết 2)
Trang 13TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
Thực hiện chương trình VD1
Program Rutgon_phan so;
Uses crt;
Var tuso, mauso, a : integer;
Function UCLN(x,y : Integer): Integer;
Var sodu : integer;
Tuso: = Tuso div a;
Mauso:= Mauso div a;
Tuso: = Tuso div a;
Mauso:= Mauso div a;
End;
Writeln(’P.s toi gian: ’,3,’/’,5);
Readln End.
P.S toi gian: 3/5
Trang 14 Sö dông hµm:
-T ¬ng tù nh viÖc sö dông thñ tôc (Procedure), tøc lµ
bao gåm: tªn hµm vµ c¸c tham sè thùc sù t ¬ng øng víi c¸c tham sè h×nh thøc.
- LÖnh gäi hµm cã thÓ tham gia vµo biÓu thøc nh to¸n
h¹ng vµ thËm chÝ lµ tham sè cña lêi gäi hµm, thñ tôc kh¸c …
VD: Trong ví dụ trên, ta có thể gọi
hàm như sau :
S := 6 + UCLN (tu, mau) * 5;
TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
Trang 15 Giải thuật tìm số nhỏ nhất trong hai số a và b:
- Nếu a > b thì số nhỏ nhất là b
- Ng ợc lại (a<=b) thì số nhỏ nhất là a
Ví dụ 2: Tìm số nhỏ nhất trong ba số nguyên nhập từ bàn phím, trong đó có sử dụng hàm tìm số nhỏ nhất trong hai số.
Tiết 44 Đ18 - ví dụ về cách viết và sử dụng ch ơng trình con (Tiết 2)
Trang 16TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
Nhap vao 3 so:
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
Trang 17TiÕt 44 §18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch ¬ng tr×nh con (TiÕt 2)
Trang 18Hãy chọn ph ơng án trả lời đúng nhất
Biến toàn cục là:
Trang 19Hãy chọn ph ơng án trả lời đúng nhất
Biến cục bộ (biến địa ph ơng) là:
B. Biến đ ợc khai báo sau từ khóa Var của ch ơng trình chính.
Trang 20Hãy chọn ph ơng án trả lời đúng nhất
Ngôn ngữ lập trình Pascal cho phép xây dựng mấy loại ch ơng trình con?
Trang 21Hãy chọn ph ơng án trả lời đúng nhất
Từ khóa để khai báo thủ tục là:
B. Program
Trang 22Hãy chọn ph ơng án trả lời đúng nhất
Từ khóa để khai báo hàm là:
B. Funtion
Trang 23Hãy chọn ph ơng án trả lời đúng nhất
Trong phần thân của ch ơng trình con hàm, khi thực hiện lệnh <Tên hàm> := <Biểu thức>; thì:
B. Kiểu của biểu thức phải trùng với kiểu giá trị trả về của hàm
Trang 24H·y Nhí
Chương trình con là một dãy lệnh giải
quyết một bài toán con cụ thể.
Cấu trúc chương trình con gồm:
Phân loại chương trình con:
BiÕn toµn côc lµ biÕn ® îc khai b¸o sau
tõ khãa V¶ cña ch ¬ng tr×nh con.