1. Trang chủ
  2. » Giáo án - Bài giảng

Ví dụ về cách viết và sử dụng chương trinh con

15 3,8K 20
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 329 KB

Nội dung

- Phần khai báo dùng để xác định các hằng, các kiểu, các biến và cũng có thể khai báo hàm và thủ tục khác sử dụng trong thủ tục.. *Chú ý: -Hai tham số trong dấu ngoặc đơn sau tên thủ t

Trang 1

B ÀI 18:

CÁCH VIẾT

VÀ SỬ DỤNG CHƯƠNG

TRÌNH CON

Trang 2

VD: Vẽ hình ch nhật có dạng:

*******

* * *******

Để vẽ hình chữ nhật như trên ta cần các lệnh sau.

Writeln(‘*******’);

Writeln(‘* *’);

Writeln(‘*******’);

Ta có thể đưa các lệnh này vào thủ tục có tên VE_HCN, mỗi lần gọi thủ tục này thì một HCN được in ra:

1 Cách viết và sử dụng thủ tục:

Trang 3

Program CT1;

Procedure VE_ HCN ; Begin

Writeln(‘*******’); Writeln(‘* *’); Writeln(‘*******’); End;

Begin VE_ HCN;

Writeln; writeln;

VE_ HCN;

Writeln; writeln;

VE_ HCN;

Readln;

End

Bắt đầu thủ tục

Kết thúc thủ tục.

Gọi thủ tục vẽ HCN

Để cách hai dòng

CHƯƠNG TRÌNH:

Trang 4

a Cấu trúc của thủ tục:

Procedure < Tên thủ tục>[(<Danh sách tham số>)];

[<Phần khai báo>]

Begin

{… dãy các lệnh (thân của thủ tục) }

End;

Trong đó:

- Phần đầu thủ tục : trước hết là tên dành riêng Procedure, tiếp theo sau là Tên thủ tục Danh sách tham số có thể có hoặc

không.

- Phần khai báo dùng để xác định các hằng, các kiểu, các biến

và cũng có thể khai báo hàm và thủ tục khác sử dụng trong thủ tục.

- Dãy câu lệnh đặt giữa cặp Begin … End; tạo thành thân của thủ tục.

Trang 5

Procedure VE_HCN ( Dai, rong : integer);

-Dòng khai báo trên có nghĩa là: vẽ HCN có kích thước khác nhau tùy theo giá trị Dai , rong.

-Chương trình sau mô tả vẽ HCN với hai tham số Dai, rong

trên

b Ví dụ về thủ tục:

VD: Vẽ hình chnhật có dạng:

*******

* * *******

Sử dụng tham số dai va rong thể hiện cho chiều dài

và rộng của hình chữ nhật.

Trang 6

Program CT2;

Procedure VE_HCN( dai, rong: integer); Var i, j : integer;

Begin { ve canh tren cua hcn}

For i:=1 to dai do write (‘ * ’); Writeln;

{ ve 2 canh ben }

For j:=1 to rong - 2 do

Begin

Write(‘ * ’ );

For i:=1 to dai - 2 do write(‘ ’); Writeln( ‘ * ’ );

{ ve canh duoi }

For i:=1 to dai do write(‘ * ’);

Writeln;

End;

{ chuong trinh chinh}

Begin

VE_HCN (25,10);

Writeln; writeln;

VE_HCN (5,10);

End.

*Chú ý:

-Hai tham số trong dấu ngoặc

đơn sau tên thủ tục khi khai báo

là tham số hình thức, còn trong

lời gọi thủ tục chúng được gọi là

tham số thực tế.

-Hai tham số dai, rong là tham

số hình thức

-Tham số 25,10,5 trong lời gọi

thủ tục là những tham số thực

tế.

-Khi khai báo tham trị thì giá

trị các tham số không thay đổi

khi kết thúc thủ tục.

Trang 7

VD:

Chương trình có thủ tục Hoan_doi làm

nhiệm vụ hoán đổi giá trị hai biến.

Trong chương trình sử dụng từ khóa Var trong tham số của thủ tục vì cả 2 biến đều chứa dữ liệu

Procedure Hoan_Doi(var x,y :integer);

Trang 8

Program CT3 Var a,b :integer;

Procedure Hoan_Doi(var x,y :integer); Var TG: integer;

Begin

TG : = x ;

x : = y ;

y : = TG ;

End;

{chuong trinh chinh}

Begin

A:=5; B:=10;

Writeln( A : 6, B : 6);

Hoan_Doi(A,B);

Writeln(A: 6, B:6);

Readln;

End.

Trong dòng đầu thủ tục :

Procedure Hoan_doi

(var x,y :integer);

Các tham số x, y là các tham

số biến

- Khai báo: VAR x,y : integer;

Xác định x, y là hai tham số

biến kiểu nguyên

- Để thấy được sự khác nhau

giữa tham số biến và tham

số trị ta xét chưong trình

sau, một trong 2 tham số trở

thành tham số giá trị

Kết quả

5 10

10 5

Trang 9

Program CT4 Var a,b :integer;

Procedure Hoan_doi (x: integer, Var y: integer);

Var TG: integer;

Begin

TG : = x ;

x : = y ;

y : = TG ;

End;

{chuong trinh chinh}

Begin

A:=5; B:=10;

Writeln( A:6, B : 6);

Hoan_Doi(A,B);

Writeln(A: 6, B:6);

Readln;

Trong chương trình này x

khai báo tham trị, y khai báo

tham biến nên sau khi thực

hiện song thủ tục chỉ có y là

thay đổi giá trị còn biến x

không đổi

Kết quả khi chạy chương

trình:

5 10

5 5

Trang 10

Cấu trúc của hàm:

FUNCTION <Tên hàm>( [ Danh sách tham số >] ) :

<kiểu của hàm>;

[< Phần khai báo> ] BEGIN

(…Dãy các lệnh ( thân của hàm )…)

<Tên hàm>: =<Biểu thức>

END;

2 Cách viết và sử dụng hàm:

Trang 11

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à

PROCEDURE <Tên thủ tục>

[(< Danh sách tham số>)];

[<Phần khai báo>]

BEGIN

(…Dãy các lệnh ( thân của thủ

tục )…)

END;

FUNCTION <Tên hàm>( [ Danh sách

tham số >] ):<kiểu của hàm>;

[< Phần khai báo> ] BEGIN

(…Dãy các lệnh ( thân của hàm )…)

<Tên hàm>: =<Biểu thức>

END;

Trang 12

Ví dụ: Viết thủ tục tính bình phương của một số thực

Procedure BinhPhuong(X: real; var X2 : Real);

Begin

X2: = X*X ;

End;

BinhPhuong(a,Temp);

c:=Temp;(* c:=a2 *) BinhPhuong(b,Temp);

c: =c + Temp; (*c:=a2 + b2)

Cách tính c:=a 2 + b 2

trong chương trình chính

Trang 13

Ví dụ: Viết hàm tính bình phương của một

số thực

Function BinhPhuong( X: Real) : Real;

Begin

BinhPhuong:=X*X ; End;

• c: = Binhphuong(a) +BinhPhuong(b);

Cách tính c:=a2+b2 trong chương trình chính

Trang 14

* Sự khác giữa Thủ tục và Hàm:

Procedure BinhPhuong(X: real;

var X2 : Real);

Begin

X2: = X*X ;

End;

Function BinhPhuong( X: Real): Real; Begin

BinhPhuong:=X*X ; End;

 Đầ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 của hàm>

– 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

 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 15

Sự khác giữa việc sử dụng Thủ tục và

việc sử dụng hàm Hàm:

BinhPhuong(a,Temp);

c:=Temp;(* c:=a2 *)

BinhPhuong(b,Temp);

c: =c + Temp; (*c:=a2 + b2*)

c: = Binhphuong(a) +BinhPhuong(b);

Lời gọi thủ tục:

Tên_thủ_tục(Các tham số truyền

vào nếu có)

Tương tự như sử dụng các hàm chuẩn của Pascal như SIN(x), SQRT(x), … Viết tên của hàm cần gọi

và truyền các tham số thật

sự cho hàm

Ngày đăng: 22/06/2013, 01:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w