Tham số hình thức (formal parameter) là các biến được khai báo ngay sau Tên chương trình con, nó dùng để nhận giá trị của các tham số thực truyền.. đến.[r]
(1)Họ tên: ……… Lớp: ………
TIN HỌC LỚP 11
CHƯƠNG VI: CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM (Tiết 1)
1 Khái niệm chương trình con
Chương trình đoạn chương trình thực trọn vẹn hay chức Trong Pascal, có dạng chương trình con:
Thủ tục (PROCEDURE): Dùng để thực hay nhiều nhiệm vụ
Hàm (FUNCTION): Trả giá trị (có kiểu vơ hướng, kiểu string kiểu trỏ) Hàm sử dụng biểu thức Ngoài ra, Pascal cho phép CTC lồng vào
2 Cấu trúc chung
PROGRAM Tên_chương_trình; USES CRT;
CONST …………; TYPE …………; VAR …………;
PROCEDURE THUTUC[(Các tham số)]; [Khai báo Const, Type, Var] BEGIN
………… END;
FUNCTION HAM[(Các tham số)]:<Kiểu liệu>; [Khai báo Const, Type, Var]
BEGIN
………… HAM:=<Giá trị>; END;
BEGIN {Chương trình chính} ………
(2) Các khái niệm:
Biến tồn cục (global variable): Cịn gọi biến chung, biến khai báo đầu chương trình, sử dụng bên chương trình
và bên chương trình Biến tồn cục tồn suốt q trình
thực chương trình
Biến cục (local variable): Còn gọi biến riêng, biến được khai báo đầu chương trình con, sử dụng bên thân chương
trình bên thân chương trình khác nằm bên (các chương trình lồng nhau) Biến cục tồn chương trình
hoạt động, nghĩa biến cục cấp phát nhớ chương trình gọi để thi hành, giải phóng sau chương trình kết
thúc
Tham số thực (actual parameter) tham số mà một biến toàn cục, biểu thức giá trị số (cũng biến cục sử
dụng chương trình lồng nhau) mà ta dùng chúng truyền giá trị cho
tham số hình thức tương ứng chương trình
Tham số hình thức (formal parameter) biến khai báo ngay sau Tên chương trình con, dùng để nhận giá trị tham số thực truyền
đến Tham số hình thức biến cục bộ, ta xem đối
số hàm toán học 3 Thủ tục (Procedure):
Thủ tục đoạn cấu trúc chương trình chứa bên chương trình Pascal chương trình Thủ tục đặt tên chứa danh sách tham số hình thức (formal parameters) Các tham số phải
được đặt
trong dấu ngoặc đơn ( ) Ta truy xuất thủ tục cách gọi tên của thủ
(3)các
lệnh chứa thủ tục Có loại thủ tục:
Thủ tục khơng tham số Thủ tục có tham số 2 Hàm (Function) :
Hàm chương trình cho ta giá trị kiểu vô hướng Hàm tương tự
như thủ tục trả giá trị thông qua tên hàm lời gọi hàm tham gia
trong biểu thức
Cấu trúc hàm tự đặt gồm:
FUNCTION <Tên hàm> (<Tham số hình thức : kiểu biến>) : <Kiểu kết quả> ;
{ khai báo hằng, biến, kiểu cụcbbộ } BEGIN
{ khai báo nội hàm } END;
Trong đó:
- Tên hàm tên tự đặt cần tuân thủ theo nguyên tắc đặt tên Pascal. - Kiểu kết kiểu vô hướng, biểu diễn kết giá trị hàm. - Một hàm có hay nhiều tham số hình thức, có nhiều tham số hình thức kiểu giá trị ta viết chúng cách dấu phẩy (,)
Trường hợp tham số hình thức khác kiểu ta viết chúng cách dấu
chấm phẩy (;)
- Trong hàm sử dụng hằng, kiểu, biến khai báo chương
trình ta khai báo thêm hằng, kiểu, biến dùng riêng
nội hàm Chú ý phải có biến trung gian có kiểu kết của hàm
để lưu kết hàm q trình tính tốn để cuối ta có lệnh
gán giá
trị biến trung gian cho tên hàm
Dùng hàm Dùng thủ tục
(4)(kiểu vô hướng, kiểu string kiểu trỏ) – Lời gọi CTC cần nằm biểu thức tính tốn
(5)Họ tên: ……… Lớp: ………
TIN HỌC LỚP 11
CHƯƠNG VI: CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM (Tiết 2)
Ví dụ chương trình con:
Bài tập 1: Viết CTC để tính n! = 1.2…n. Ý tưởng:
- Nếu người dùng nhập số n < yêu cầu nhập lại - Sử dụng chương trình để tính giai thừa số n! = nếu n = 0;
n! = 1.2.3.4.5 n (Tích n thừa số) Program CTC_2;
uses crt;
var n:integer;x:longint;
Procedure Giai_Thua(var GT:longint; n:byte); begin
GT:=1; while n>0 begin
GT:=GT*n; n:=n-1; end; end; begin repeat clrscr;
write('Nhap so n: ');readln(n);
if n < then begin write('Nhap so n>=0');readln; end;
until n>=0; Giai_Thua(x,n);
writeln('Giai thua cua ',n,'la:',x); readln
(6)Bài tập 2: Viết chương trình cho phép thực rút gọn phân số. Ý tưởng:
- Tìm UCLN tử số mẫu số
- Chia tử mẫu phân số cho UCLN vừa tìm
Program Rut_gon_phan_so; uses crt;
var tu,mau:integer;
Function UCLN(a,b:integer):integer; var r: integer;
begin
r:= a mod b; while r <> begin
a:= b; b:= r; r:=a mod b; end;
UCLN:=b; end;
begin clrscr;
write('Nhap tu: '); readln(tu); write('Nhap mau: '); readln(mau);
write('Ket qua rut gon: ',tu,'/',mau,'=',tu div UCLN(tu,mau),'/',mau div UCLN(tu,mau)); readln