CHƯƠNG TRÌNH CON

Chia sẻ bởi Hien Thanh | Ngày 10/05/2019 | 48

Chia sẻ tài liệu: CHƯƠNG TRÌNH CON thuộc Tin học 11

Nội dung tài liệu:

CHƯƠNG TRÌNH CON
Cho một ngũ giác (như hình vẽ) với các độ dài a, b, c, d, e, f, g. Hãy tính diện tính hình sau đây?
Để tính diện tích của hình trên thì ta cần phải tính diện tích của từng tam giác nhỏ. Sau đó cộng diện tích của 3 tam giác đó lại.
1
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
Code không sử dụng chương trình con
Code sử dụng chương trình con
CHƯƠNG TRÌNH CON
Việc giải quyết 1 bài toán phức tạp có thể phân thành các bài toán con.
Khi lập trình, để viết chương trình giải các bài toán lớn, phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ (còn gọi là khối), mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định (gọi là chương trình con). Sau đó ghép nối các chương trình con thành chương trình chính.
Nhóm trưởng
Công việc A
Công việc B
Kết quả A
Kết quả B
4
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
program Phep_tinh_so_hoc;
CHƯƠNG TRÌNH CON
Chương trình con là một khối lệnh nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn bằng một chương trình.
Khi phải viết những chương trình dài, phức tạp, việc sử dụng chương trình con là hết sức cần thiết.
6
LỢI ÍCH KHI SỬ DỤNG CHƯƠNG TRÌNH CON
Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh.

Hỗ trợ việc thực hiện các chương trình lớn.

Phục vụ cho quá trính trừu tượng hoá

Thuận tiện cho phát triển, nâng cấp chương trình.
7
THỦ TỤC(procedure)
HÀM(function)
Là chương trình con thực hiện các thao tác lệnh nhất định nào đó, nhưng không trả về giá trị nào qua tên của của thủ tục.
Là chương trình con thực hiện một số thao tác lệnh nào đó, và trả về một giá trị qua tên của hàm.
Writeln();

Readln();




- Sqr();
Sqrt();
Abs();
Exp();
……
PHÂN LOẠI CHƯƠNG TRÌNH CON
CHƯƠNG TRÌNH CON
8
CẤU TRÚC VÀ VỊ TRÍ CHƯƠNG TRÌNH CON
[ Phần khai báo chương trình chính ]

[]

Begin
{Loi goi chuong trinh con }
End.

Phần đầu: khai báo tên của chương trình con, nếu là hàm phải khai báo kiểu dữ liệu trả về của hàm.
Phần khai báo: khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong chương trình con.
Phần thân: dãy câu lệnh.
9
10
1. Cách viết và sử dụng thủ tục:
Xét ví dụ vẽ hình chữ nhật có dạng sau:
* * * * * * *
*
*
* * * * * * *
Ta có thể vẽ hình chữ nhật trên
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 trên ta phải viết những lệnh nào trong chương trình
11
1. Cách viết và sử dụng thủ tục:
Xét ví dụ vẽ 3 hình chữ nhật có dạng sau:
Ta có thể vẽ 3 hình chữ nhật trên với 9 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ẽ 3 hình chữ nhật trên ta phải viết bao nhiêu lệnh trong chương trình?
12
1. Cách viết và sử dụng thủ tục:
a. Cấu trúc của thủ tục:
Procedure [];
[]
begin
[]
end;
program VD_thutuc1;
{************************}
procedure Ve_Hcn;
begin
writeln(‘* * * * * * *’);
writeln(‘* * * * * * *’);
writeln(‘* *’);
end;
{************************}
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
End.
13
2. Cách viết và sử dụng hàm
function [()]:;
[]
begin
[]
end;
Trong đó:

Kiểu dữ liệu là kiểu dữ liệu của giá trị mà hàm trả về như các kiểu integer, real, char, boolean, string…
Trong thân hàm (dãy các lệnh) bắt buộc có lệnh gán giá trị cho tên hàm:
:= ;

14
Chương trình tính tổng 2 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 2 so ban dau la: ‘, Tong(a,b));
readln;
end.
15
L ưu ý về việc sử dụng chương trình con:
Sử dụng chương trình con là hàm (function) khi đáp ứng đồng thời các yêu cầu sau:

Nếu ta muốn nhận lại một và chỉ một kết quả mà thôi.
-Có cần dùng tên của chương trình con trong các biểu thức tính toán không?

Nếu không thoả mãn các tính chất trên thì chương trình con là thủ tục (procedure)


16
V Í D Ụ
Đối vói hàm (function) sqrt();
-Hàm sqrt(9) trả về một giá trị duy nhất là 3
-Có thể sử dụng trong các biểu thức tính toán
A:= sqrt(9) + sqrt(16);
Writeln(‘Giá trị căn bâc 2 của 9 là : ‘, 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’);
-Không thể sử dụng Writeln(Write(‘a’));





PHÂN LOẠI CHƯƠNG TRÌNH CON
Vẽ một dãy n kí tự bất kì
Tính tổng hai số
CHƯƠNG TRÌNH CON
17
SO SÁNH HÀM VÀ THỦ TỤC
THỦ TỤC VẼ KÝ TỰ
HÀM TÍNH TỔNG 2 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 quả trả về không phải là một giá trị qua tên hàm
- Có kết quả trả về là một số nguyên thông qua tên hàm
18
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ó hoặc không]
[]

bắt buộc phải có
[]

Chương trình con nhất thiết phải có tên và 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
HẾT TIẾT 1

20
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Hien Thanh
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)