1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG TRÌNH CON-LI THUYẾT

10 91 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 31,8 KB

Nội dung

CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM A LÝ THUYẾT I KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON Chương trình (CTC) đoạn chương trình thực trọn vẹn hay chức đó.Trong Turbo Pascal, có dạng CTC: · 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) Hàm sử dụng biểu thức Ngồi ra, Pascal cho phép CTC lồng vào II CẤU TRÚC CHUNG CỦA MỘT CHƯƠNG TRÌNH CĨ SỬ DỤNG CTC PROGRAM Tên_chương_trình; USES CRT; CONST ; VAR ; PROCEDURE THUTUC[(Các tham số)]; [Khai báo Const, Var] BEGIN END; FUNCTION HAM[(Các tham số)]:; [Khai báo Const, Var] BEGIN HAM:=; END; BEGIN {Chương trình chính} THUTUC[( )]; A:= HAM[( )]; END Chú ý: Trong trình xây dựng CTC, nên dùng thủ tục/hàm? Dùng hàm Dùng thủ tục - Kết toán trả giá trị - Kết toán không trả (kiểu vô hướng, kiểu giá trị trả nhiều giá string) trị trả kiểu liệu có cấu trúc (Array, Record, File) - Lời gọi CTC cần nằm biểu thức tính tốn - Lời gọi CTC khơng nằm biểu thức tính tốn -So sánh cấu trúc kiểu chương trình tương tự với nhau, cách truy xuất chúng có khác cách trao đổi thông tin kiểu có điểm khác Hàm (function) trả lại giá trị kết vô hướng thông qua tên hàm hàm sử dụng biểu thức - Liên hệ số hàm thủ tục chuẩn học: + Hàm chuẩn, hàm sin(x) mà biết chương trước xem chương trình kiểu function với tên sin tham số x + Thủ tục (procedure) không trả lại kết thơng qua tên nó, vậy, ta viết thủ tục biểu thức Các lệnh Writeln, Readln chương trước xem thủ tục chuẩn -Một chương trình có chứa chương trình có khối (block) : - Khối khai báo - Khối chương trình - Khối chương trình Để thực mục tiêu trên, yêu cầu học sinh cần nắm vững số kiến thức sau: Một số khái niệm biến: -Biến toàn cục Biến cục - Tham số thực - Tham số hình thức Lời gọi chương trình Về kỹ năng: -Vận dụng để viết số chương trình đơn giản để minh họa -Trong chương trình rõ đâu biến toàn cục, biến cục bộ, tham số thực, tham số hình thức … Cách gọi hàm phép toán biểu thức ***** MỘT SỐ KHÁI NIỆM VỀ BIẾN Biến toà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 bên chương trình Biến tồn cục tồn suốt trình thực chương trình · Biến cục (local variable): Còn gọi biến riêng, biến 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à 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 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 tốn học ****LỜI GỌI CHƯƠNG TRÌNH CON Để chương rrình thi hành, ta phải có lời gọi đến chương trình con, lời gọi chương trình thơng qua tên chương trình danh sách tham số tương ứng (nếu có) Các qui tắc lời gọi chương trình con: · Trong thân chương trình thân chương trình con, ta gọi tới chương trình trực thuộc · Trong chương trình con, ta gọi chương trình ngang cấp thiết lập trước 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 đặt dấu ngoặc đơn ( ) Ta truy xuất thủ tục cách gọi tên thủ tục Chương trình tự động truy xuất thủ tục tên gọi thực lệnh chứa thủ tục Sau thực thủ tục xong, chương trình trở lại sau vị trí câu lệnh gọi thủ tục Có loại thủ tục: + Thủ tục không tham số + Thủ tục có tham số a Cấu trúc thủ tục không tham số PROCEDURE < Tên thủ tục > ; { Các khai báo hằng, biến, kiểu cục } BEGIN { lệnh nội thủ tục } END ; Ví dụ : Tìm số lớn trị số nguyên Program So_ln ; Var a, b, c : integer ; yn : char ; Procedure maximum ; Var max : integer ; Begib if a > b then max := a else max := b ; if c > max then max := c ; Writeln ( ‘ So lon nhat la ‘, max ) ; end ; BEGIN yn := ‘Y‘ ; While (upcase(yn) = ‘Y ‘) Begin Writeln ( ‘Nhap so nguyen : ‘ ) ; Readln (a, b, c ) ; maximum ; Write ( ‘ Tiep tuc nhap so moi khong (y/n) ? ‘ ) ; Readln (yn) ; End ; END Trong chương trình trên, thủ tục maximum khai báo trước truy xuất, biến a, b, c gọi nhập vào chương trình biến max định nghĩa bên thủ tục Điều cho ta thấy, lúc cần thiết khai báo biến đầu chương trình PROCEDURE < Tên thủ tục > (); { Các khai báo hằng, biến, kiểu cục } BEGIN { lệnh nội thủ tục } END ; b Cấu trúc thủ tục có tham số Khi viết thủ tục, có tham số cần thiết, ta phải khai báo (kiểu, số lượng, tính chất, ) Các tham số gọi tham số hình thức (formal parameters) Một thủ tục có nhiều tham số hình thức Khi tham số hình thức có kiểu ta viết chúng cách dấu phẩy (,) Trường hợp kiểu chúng khác khai báo tham số truyền tham biến truyền tham trị (sẽ học phần sau ) ta phải viết cách dấu chấm phẩy (;) Ví dụ : Tính giai thừa số Program Tinh_Giai_thua ; Var n : integer ; gt : real ; Procedure giaithua (m : integer ); Var i : integer ; Begin gt := ; For i := to m gt := gt * i ; end; BEGIN Write(‘Nhap so nguyen n (0 =0 then Begin giaithua (n); Writeln (‘Giai thua cua ‘, n, ‘ la : ‘, gt: 10 : 0) ; End Else Writeln( ‘ khong tinh duoc giai thua!‘ ) ; Readln; END Trong chương trình m tham số hình thức thủ tục giaithua Khi gọi thủ tục giaithua(n) tham số thực n truyền tương ứng cho tham số hình thức m Hàm (Function) : Hàm chương trình cho ta giá trị kiểu vô hướng Hàm tương tự thủ tục trả giá trị thông qua tên hàm lời gọi hàm tham gia biểu thức Cấu trúc hàm tự đặt gồm: FUNCTION () : ; { 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 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 Ví dụ : FUNCTION TINH (x, y : integer ; z : real ) : real ; Đây hàm số có tên TINH với tham số hình thức x, y, z Kiểu x y kiểu số nguyên integer kiểu z kiểu số thực real Hàm TINH cho kết kiểu số thực real Ví dụ : Bài tốn tính giai thừa Program giaithua; Var x : integer ; Function gt(n : integer):integer ; Var heso, tichso : integer ; Begin tichso:= ; If n

Ngày đăng: 17/01/2020, 05:43

TỪ KHÓA LIÊN QUAN

w