Bài 17. Chương trình con và phân loại
Chia sẻ bởi Nguyễn Đức Cảnh |
Ngày 10/05/2019 |
75
Chia sẻ tài liệu: Bài 17. Chương trình con và phân loại thuộc Tin học 11
Nội dung tài liệu:
Nguyễn Đức Cảnh
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
Chương 6:
Nguyễn Đức Cảnh
Nhắc lại kiến thức :
Cách viết một chương trình cơ bản gồm các bước nào?
Tên chương trình:
ProGram chuong_trinh;
Khai báo biến:
Var x,y:Integer;
a,b:Real;
f1,f2:Text;
Thân chương trình:
Begin
{Các lệnh của chương trình}
End.
BÀI 17:
Nguyễn Đức Cảnh
Là lá la! Hôm nay là ngày trực vệ sinh…
Ta sẽ làm vệ sinh ở lớp nào đây nhỉ?
11A1
11A2
11A3
11A4
Hơ… Hơ. Sao nhiều thế!
Continue…
BÀI 17:
Nguyễn Đức Cảnh
30 phút sau…
Ôi… Mệt… quá!
Phải làm sao bây giờ…!
Àh. Mình có ý này. He he!
BÀI 17:
Nguyễn Đức Cảnh
Cậu dọn lớp này…!
Mình biết rồi!
Còn cậu dọn lớp kia…!
Dạ!
BÀI 17:
Nguyễn Đức Cảnh
BÀI 17:
Câu hỏi: Để làm tốt công việc như tình huống ở trên chúng ta cần phải làm gì?
Trả lời:
Cần phải phân chia công việc cho nhiều người.
BÀI 17:
Nguyễn Đức Cảnh
CHƯƠNG TRÌNH CON VÀ PHÂN LỌAI
Nguyễn Đức Cảnh
BÀI 17:
- Các chương trình giải các bài toán phức tạp thường rất dài.
+ Khó đọc, khó hiểu và khó hiệu chỉnh.
+ Đặt ra vấn đề làm sao dễ đọc, dễ hiểu và dễ hiệu chỉnh hơn.
- Một bài toán thường có thể phân tích thành nhiều bài toán con nhỏ hơn
M
A
B
C
D
Nguyễn Đức Cảnh
BÀI 17:
Vd: Tính lũy thừa = an+bm+cp+dq .
- Bài toán trên có thể phân tích thành những bài toán nhỏ hơn là:
Bài toán tính an , tính bm, tính cp, tính dq.
- Với 4 bài toán nhỏ ở trên ta có thể giao cho 4 người giải, như thế công việc sẽ nhẹ nhàng hơn.
- Mỗi bài toán con lại chia thành những bài toán con nhỏ hơn.
- Quá trình làm “Mịn” như thế được gọi là cách thiết kế từ trên xuống.
Vd: Tính = (Sin (a))n + (Cos(b))n .
Nguyễn Đức Cảnh
BÀI 17:
1. Khái niệm chương trình con.
- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình.
Trưởng nhóm
Việc A
Việc B
Nguyễn Đức Cảnh
BÀI 17:
1. Khái niệm chương trình con.
Viết chương trình tính tổng: an+bm+cp+dq
Program
Var
Tluythua,luythua1, luythua2,l uythua3, luythua 4:Real;
a,b,c,d:Real;
i,n,m,p,q:integer;
Tinh_tong;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,m,n,p,q’);
Readln(a,b,c,d,m,n,p,q);
Var j:integer
Tich:=1.0;
For j:=1 to n do
Tich:=Tich*a;
Nguyễn Đức Cảnh
BÀI 17:
luythua1:=1.0;
For i:=1 to n do
luythua1:=luythua1*a;
luythua2:=1.0;
For i:=1 to m do
luythua2:=luythua2*b;
luythua3:=1.0;
For i:=1 to p do
luythua3:=luythua3*c;
luythua4:=1.0;
For i:=1 to q do
luythua4:=luythua4*d;
Write(‘Tong luy thua = ’,Tluythua: 8:4);
Tluythua:=luythua1+luythua2+luythua3+luythua4;
Readln;
End.
Nguyễn Đức Cảnh
BÀI 17:
Lợi ích của việc sử dụng chương trình con:
- Tránh được sự lập lại cùng một dãy lệnh. Khi cần dùng có thể gọi lại chương trình con đó.
- Hỗ trợ việc thực hiện các chương trình lớn và phức tạp
- Phục vụ quá trình trừu tượng hoá. Người lập trình có thể sử dụng kết quả của chương trình con mà ko cần quan tâm đến chương trình đó đã được cài đặt như thế nào.
- Mở rộng khả năng ngôn ngữ lập trình thành thư viện cho nhiều ngừơi dùng.
- Thuận tiện cho phát triển và nâng cấp chương trình.
Nguyễn Đức Cảnh
BÀI 17:
Phương pháp dùng chương trình con
Program
Tinh_tong;
Var
Tluythua:real;
a,b,c,d:real;
n,m,p,q:integer;
Function
luythua(x:real;k:integer):real;
Var
Tich:real;
j:integer;
Begin
End;
Tich:=1.0;
For j:=1 to k do
Tich:=Tich*x;
luythua:=Tich;
Nguyễn Đức Cảnh
BÀI 17:
Phần thân của chương trình chính:
Begin
write(`hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q`);
readln(a,b,c,d,n,m,p,q);
Tluythua:=luythua(a,n)+luythua(b,m)+luythua(c,p)+luythua(d,q);
writeln(`Tong luy thua:=`,Tluythua);
readln;
end.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
Phân loại
Chương trình con thường gồm hai loại
Hàm (Function): Là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó
Thủ tục (Procedure): Là chương trình con thực hiện một số thao tác nhất định nhưng không trả về giá trị qua tên của nó
VD: Sin(x), Cos(x), Sqrt(x) … Length(x)
VD: Writeln, Readln, Delete, …
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
[]
Cấu trúc chương trình con tương tự chương trình chính, nhưng nhất thiết phải có phần đầu để khai báo tên, nếu là Hàm thì phải có khai báo kiểu dữ liệu trả về
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
Phần khai báo: có thể khai báo cho dữ liệu vào và ra, các hằng được sử dụng trong chương trình con.
Phần thân: Là các dãy lệnh được thưc hiện trong chương trình con từ dữ liệu vào và được kết quả như mong muốn.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
Tham số hình thức:
Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số hình thức của chương trình con.
Các biến được khai báo dùng riêng cho chương trình con được gọi là biến cục bộ. Chương trình chính và các chương trình con khác không thể sử dụng được các biến này.
Các biến được khai báo ở chương trình chính là biến toàn cục và các chương trình con đều sử dụng được các biến này.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
c. Thực hiện chương trình con
Tham số thực:
Để thực hiện gọi một chương trình con, ta cần phải có lệnh gọi, bao gồm tên chương trình con với các tham số(nếu có) là các hằng số hoặc biến chứa dữ liệu tương ứng với các tham số hình thức đặt trong cặp ngoặc ( ). Các hằng và biến này được gọi là các tham số thực.
VD: Sqr(225);
Luythua(a,n);
HCN(Chieudai,Chieurong);HCN(5,4)
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
Chương 6:
Nguyễn Đức Cảnh
Nhắc lại kiến thức :
Cách viết một chương trình cơ bản gồm các bước nào?
Tên chương trình:
ProGram chuong_trinh;
Khai báo biến:
Var x,y:Integer;
a,b:Real;
f1,f2:Text;
Thân chương trình:
Begin
{Các lệnh của chương trình}
End.
BÀI 17:
Nguyễn Đức Cảnh
Là lá la! Hôm nay là ngày trực vệ sinh…
Ta sẽ làm vệ sinh ở lớp nào đây nhỉ?
11A1
11A2
11A3
11A4
Hơ… Hơ. Sao nhiều thế!
Continue…
BÀI 17:
Nguyễn Đức Cảnh
30 phút sau…
Ôi… Mệt… quá!
Phải làm sao bây giờ…!
Àh. Mình có ý này. He he!
BÀI 17:
Nguyễn Đức Cảnh
Cậu dọn lớp này…!
Mình biết rồi!
Còn cậu dọn lớp kia…!
Dạ!
BÀI 17:
Nguyễn Đức Cảnh
BÀI 17:
Câu hỏi: Để làm tốt công việc như tình huống ở trên chúng ta cần phải làm gì?
Trả lời:
Cần phải phân chia công việc cho nhiều người.
BÀI 17:
Nguyễn Đức Cảnh
CHƯƠNG TRÌNH CON VÀ PHÂN LỌAI
Nguyễn Đức Cảnh
BÀI 17:
- Các chương trình giải các bài toán phức tạp thường rất dài.
+ Khó đọc, khó hiểu và khó hiệu chỉnh.
+ Đặt ra vấn đề làm sao dễ đọc, dễ hiểu và dễ hiệu chỉnh hơn.
- Một bài toán thường có thể phân tích thành nhiều bài toán con nhỏ hơn
M
A
B
C
D
Nguyễn Đức Cảnh
BÀI 17:
Vd: Tính lũy thừa = an+bm+cp+dq .
- Bài toán trên có thể phân tích thành những bài toán nhỏ hơn là:
Bài toán tính an , tính bm, tính cp, tính dq.
- Với 4 bài toán nhỏ ở trên ta có thể giao cho 4 người giải, như thế công việc sẽ nhẹ nhàng hơn.
- Mỗi bài toán con lại chia thành những bài toán con nhỏ hơn.
- Quá trình làm “Mịn” như thế được gọi là cách thiết kế từ trên xuống.
Vd: Tính = (Sin (a))n + (Cos(b))n .
Nguyễn Đức Cảnh
BÀI 17:
1. Khái niệm chương trình con.
- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình.
Trưởng nhóm
Việc A
Việc B
Nguyễn Đức Cảnh
BÀI 17:
1. Khái niệm chương trình con.
Viết chương trình tính tổng: an+bm+cp+dq
Program
Var
Tluythua,luythua1, luythua2,l uythua3, luythua 4:Real;
a,b,c,d:Real;
i,n,m,p,q:integer;
Tinh_tong;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,m,n,p,q’);
Readln(a,b,c,d,m,n,p,q);
Var j:integer
Tich:=1.0;
For j:=1 to n do
Tich:=Tich*a;
Nguyễn Đức Cảnh
BÀI 17:
luythua1:=1.0;
For i:=1 to n do
luythua1:=luythua1*a;
luythua2:=1.0;
For i:=1 to m do
luythua2:=luythua2*b;
luythua3:=1.0;
For i:=1 to p do
luythua3:=luythua3*c;
luythua4:=1.0;
For i:=1 to q do
luythua4:=luythua4*d;
Write(‘Tong luy thua = ’,Tluythua: 8:4);
Tluythua:=luythua1+luythua2+luythua3+luythua4;
Readln;
End.
Nguyễn Đức Cảnh
BÀI 17:
Lợi ích của việc sử dụng chương trình con:
- Tránh được sự lập lại cùng một dãy lệnh. Khi cần dùng có thể gọi lại chương trình con đó.
- Hỗ trợ việc thực hiện các chương trình lớn và phức tạp
- Phục vụ quá trình trừu tượng hoá. Người lập trình có thể sử dụng kết quả của chương trình con mà ko cần quan tâm đến chương trình đó đã được cài đặt như thế nào.
- Mở rộng khả năng ngôn ngữ lập trình thành thư viện cho nhiều ngừơi dùng.
- Thuận tiện cho phát triển và nâng cấp chương trình.
Nguyễn Đức Cảnh
BÀI 17:
Phương pháp dùng chương trình con
Program
Tinh_tong;
Var
Tluythua:real;
a,b,c,d:real;
n,m,p,q:integer;
Function
luythua(x:real;k:integer):real;
Var
Tich:real;
j:integer;
Begin
End;
Tich:=1.0;
For j:=1 to k do
Tich:=Tich*x;
luythua:=Tich;
Nguyễn Đức Cảnh
BÀI 17:
Phần thân của chương trình chính:
Begin
write(`hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q`);
readln(a,b,c,d,n,m,p,q);
Tluythua:=luythua(a,n)+luythua(b,m)+luythua(c,p)+luythua(d,q);
writeln(`Tong luy thua:=`,Tluythua);
readln;
end.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
Phân loại
Chương trình con thường gồm hai loại
Hàm (Function): Là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó
Thủ tục (Procedure): Là chương trình con thực hiện một số thao tác nhất định nhưng không trả về giá trị qua tên của nó
VD: Sin(x), Cos(x), Sqrt(x) … Length(x)
VD: Writeln, Readln, Delete, …
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
[
Cấu trúc chương trình con tương tự chương trình chính, nhưng nhất thiết phải có phần đầu để khai báo tên, nếu là Hàm thì phải có khai báo kiểu dữ liệu trả về
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
Phần khai báo: có thể khai báo cho dữ liệu vào và ra, các hằng được sử dụng trong chương trình con.
Phần thân: Là các dãy lệnh được thưc hiện trong chương trình con từ dữ liệu vào và được kết quả như mong muốn.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
b. Cấu trúc chương trình con
Tham số hình thức:
Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số hình thức của chương trình con.
Các biến được khai báo dùng riêng cho chương trình con được gọi là biến cục bộ. Chương trình chính và các chương trình con khác không thể sử dụng được các biến này.
Các biến được khai báo ở chương trình chính là biến toàn cục và các chương trình con đều sử dụng được các biến này.
Nguyễn Đức Cảnh
BÀI 17:
2. Phân loại và cấu trúc của chương trình con.
c. Thực hiện chương trình con
Tham số thực:
Để thực hiện gọi một chương trình con, ta cần phải có lệnh gọi, bao gồm tên chương trình con với các tham số(nếu có) là các hằng số hoặc biến chứa dữ liệu tương ứng với các tham số hình thức đặt trong cặp ngoặc ( ). Các hằng và biến này được gọi là các tham số thực.
VD: Sqr(225);
Luythua(a,n);
HCN(Chieudai,Chieurong);HCN(5,4)
* 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ẻ: Nguyễn Đức Cảnh
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)