CHUONG TRINH CON

20 4 0
CHUONG TRINH CON

Đ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

phần đầu để khai báo tên, nếu là hàm thì phải khai báo kiểu dữ liệu cho giá trị trả về của hàm. 19.[r]

(1)

CHƯƠNG TRÌNH CON

Cho ngũ giác (như hình vẽ) với độ dài a, b, c, d, e, f, g Hãy tính diện tính hình sau đây?

b c

a

B

C A

g

e d

E

f

D

Để tính diện tích hình ta cần phải tính diện tích tam giác nhỏ Sau cộng diện tích tam giác lại

(2)

b c a B C A g e d E f D writeln('Moi nhap a, b, c: ');

readln(a,b,c); p1:=(a+b+c)/2;

s1:= sqrt(p1*(p1-a)*(p1-b)*(p1-c));

writeln('Moi nhap g,e, f: '); readln(g,e, f);

p3:=(e+f+g)/2;

s3:= sqrt(p3*(p3-e)*(p3-g)*(p3-f));

writeln('Moi nhap d, c,e: '); readln(d, c,e);

p2:=(c+d+e)/2;

s2:= sqrt(p2*(p2-c)*(p2-d)*(p2-e));

s:=s1+s2+s3;

writeln('Dien tich cua ngu giac la: ', s);

2

(3)

3

Code khơng sử dụng chương trình con

(4)

CHƯƠNG TRÌNH CON

 Việc giải tốn phức tạp phân thành

các toán

 Khi lập trình, để viết chương trình giải tốn

lớn, phức tạp người lập trình chia thành nhiều tốn nhỏ (cịn gọi khối), tốn dãy lệnh mơ tả số thao tác định (gọi chương

trình con) Sau ghép nối chương trình thành chương trình Nhóm trưởng

Cơng việc A

Cơn

g việc B

Kết A

(5)

FUNCTION Tru(a, b: integer): integer;

begin

tru:=a - b; end;

FUNCTION Cong(a, b: integer): integer;

begin

cong:=a + b; end;

FUNCTION Chia(a, b: integer): integer;

begin

chia:=a DIV b; end;

FUNCTION Nhan(a, b: integer): integer;

begin

nhan:=a * b; end;

CHƯƠNG TRÌNH CON (HAY KHỐI LỆNH)

5

(6)

CHƯƠNG TRÌNH CON

Chương trình khối lệnh nhằm

giải toán để góp phần giải tốn lớn chương trình.

Khi phải viết chương trình dài,

phức tạp, việc sử dụng chương trình hết sức cần thiết

(7)

LỢI ÍCH KHI SỬ DỤNG CHƯƠNG TRÌNH CON

o Tránh việc phải viết lặp lặp lại

một dãy lệnh

o Hỗ trợ việc thực chương trình lớn. o Phục vụ cho q trính trừu tượng hoá

o Thuận tiện cho phát triển, nâng cấp chương

(8)

THỦ TỤC(procedure) HÀM(function)

Là chương trình thực thao tác lệnh định đó, khơng trả giá trị qua tên của thủ tục

Là chương trình thực số thao tác lệnh đó, trả giá trị qua tên hàm

Writeln(); Readln(); - Sqr();

- Sqrt(); - Abs(); - Exp(); - ……

PHÂN LOẠI CHƯƠNG TRÌNH CON

CHƯƠNG TRÌNH CON

(9)

CẤU TRÚC VÀ VỊ TRÍ CHƯƠNG TRÌNH CON

[ Phần khai báo chương trình ]

<phần đầu chuong trinh con> [<phần khai báo chương trình con>] <phần thân chương trình con>

Begin

{Loi goi chuong trinh }

End.

Phần đầu: khai báo tên chương trình con, hàm phải

khai báo kiểu liệu trả hàm

Phần khai báo: khai báo biến cho liệu vào ra,

biến dùng chương trình

Phần thân: dãy câu lệnh

(10)

10

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

Xét ví dụ vẽ hình chữ nhật có dạng sau: * * * * * * *

* *

* * * * * * *

Ta vẽ hình chữ nhật với ba câu lệnh:

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

Program vd1;

Begin

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

End

Theo em để vẽ hình chữ nhật ta phải

(11)

11

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

Xét ví dụ vẽ hình chữ nhật có dạng sau:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Ta vẽ hình chữ nhật với câu lệnh

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

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

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

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

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

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

*’);

Writeln(‘* *’);

Writeln(‘* *’);

Program vd1;

Procedure Ve_HCN;

Begin

Writeln(‘* * * * * * *’); Writeln(‘* *’); Writeln(‘* * * * * * *’); Readln; End; BEGIN Ve_HCN; writeln; writeln; Ve_HCN; writeln; writeln; Ve_HCN; END

Theo em, để vẽ hình chữ nhật

ta phải viết bao nhiêu lệnh

(12)

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

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

Procedure <tên thủ tục>[<danh sách tham số>];

[<phần khai báo>]

begin

[<dãy lệnh>]

end;

program VD_thutuc1;

{************************}

procedure Ve_Hcn;

begin

writeln(‘* * * * * * *’); writeln(‘* * * * * * *’); writeln(‘* *’);

end;

{************************}

begin

Ve_Hcn;

writeln; writeln; Ve_Hcn;

writeln; writeln; Ve_Hcn;

(13)

13

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

function <tên hàm>[(<danh sách tham số>)]:<kiểu liệu>; [<phần khai báo>]

begin

[<dãy lệnh>] end;

Trong đó:

• Kiểu liệu kiểu liệu giá trị mà hàm trả kiểu integer, real, char, boolean, string…

• Trong thân hàm (dãy lệnh) bắt buộc có lệnh gán giá trị cho tên hàm:

(14)

14

Chương trình tính tổng số

Program TongHaiSo;

var a, b: real;

function Tong(a,b: real): real;

begin

Tong: =a+b;

end; begin

write(‘Nhap vao hai so:’); readln(a,b);

writeln(‘Tong so ban dau la: ‘, Tong(a,b)); readln;

(15)

15

L ưu ý việc sử dụng chương trình con:

Sử dụng chương trình hàm (function) đáp ứng đồng thời yêu cầu sau:

-Nếu ta muốn nhận lại kết mà

thôi.

-Có cần dùng tên chương trình biểu thức tính tốn khơng?

(16)

16

V Í D Ụ

Đối vói hàm (function) sqrt();

-Hàm sqrt(9) trả giá trị 3 -Có thể sử dụng biểu thức tính tốn A:= sqrt(9) + sqrt(16);

Writeln(‘Giá trị bâc : ‘, sqrt(9)); Đối với thủ tục (procedure) Writeln();

-Không thể gán cho biến A:= Writeln(); -Không thể sử dụng A:= Writeln(‘a’) + Writeln(‘b’);

(17)

PHÂN LOẠI CHƯƠNG TRÌNH CON

Vẽ dãy n kí tự bất kì Tính tổng hai số

CHƯƠNG TRÌNH CON

(18)

SO SÁNH HÀM VÀ THỦ TỤC

THỦ TỤC VẼ KÝ TỰ HÀM TÍNH TỔNG SỐ

PROCEDURE Ve(k: integer, ky_tu:char);

Var i: integer; Begin

For i:=1 to k do Write(ky_tu); End;

FUNCTION Cong(a, b: integer): integer;

begin

cong:=a + b; end;

- Kết trả giá trị qua tên hàm

- Có kết trả số

(19)

SO SÁNH CẤU TRÚC CHƯƠNG TRÌNH CHÍNH VÀ CHƯƠNG TRÌNH CON

CHƯƠNG TRÌNH CON CHƯƠNG TRÌNH CHÍNH

[phần đầu có khơng] [<phần khai báo>]

<phần thân>

<phần đầu>bắt buộc phải có [<phần khai báo>]

<phần thân>

Chương trình thiết phải có tên

phần đầu để khai báo tên, hàm phải khai báo kiểu liệu cho giá trị trả hàm

(20)

HẾT TIẾT 1

Ngày đăng: 23/05/2021, 00:51

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan