Bài 17. Chương trình con và phân loại
Chia sẻ bởi Phan Văn Thế |
Ngày 10/05/2019 |
124
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:
Chương trình con
và lập trình có cấu trúc
Chương trình con và phân loại
1. Khái niệm chương trình con
- Các CT giải Các bài toán phức tạp thường rất dài
=> Khó đọc, khó hiểu, khó hiệu chỉnh
=> Đặt ra vấn đề làm sao dễ đọc, dễ hiểu, dễ hiệu chỉnh
- Một bài toán thường có thể phân tích thành nhiều bài toán con nhỏ
Vd: TínhLT=an+bm+cp+dq
Gồm 4 bài toán con là tính an, tính bm, tính cp, tính dq
Giao cho 4 người, công việc sẽ nhẹ nhàng hơn
- Mỗi bài toán con lại chia thành các 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.
1. Khái niệm chương trình con
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ hơn, gọi là modul hay chương trình con. Chương trình chính sẽ được xây dựng từ các CTC này.
Nhóm trưởng
Việc A
Vi?c B
1. Khái niệm chương trình con
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ hơn, gọi là modul hay chương trình con. Chương trình chính sẽ được xây dựng từ các CTC này.
Cách lập trình như vậy dựa trên lập trình có cấu trúc và chương trình được xây dựng gọi là lập trình có cấu trúc
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
1. Khái niệm chương trình con
Vdụ: Viết chương trình tính tổng an+bm+cp+dq
Program Tong;
Var Tong,lta, ltb, ltc, ltd: Real;
a,b,c,d: Real;
i,n,m,p,q : Interger;
Begin
Write(`Nhập a,b,c,d,m,n,p,q);
Readln(a,b,c,d,n,m,p,q);
lta:=1;ltb:=1;ltc:=1;ltd:=1
For i:=1 to n do
lta:=lta*a;
For i:=1 to m do
ltb:=ltb*b;
For i:=1 to p do
ltc:=ltc*c;
For i:=1 to q do
ltd:=ltd*d;
Tong:=lta+ltb+ltc+ltd;
Write(`Tong LT =`,Tong:8:2);
Readln;
End.
1. Khái niệm chương trình con
Vdụ: Viết chương trình tính tổng an+bm+cp+dq
Var i: Integer
ltx:=1;
For i:=1 to k do
ltx:=ltx*x;
- Trong chương trình trên có 4 đoạn lệnhtương tự nhau, lặp đi lặp lại
=> Chương trình dài, khó theo dõi
- Để nâng cao hiệu quả lập trình, ngôn ngữ lập trình cho phép xây dựng các chương trình con đại diện cho nhiều đoạn lệng tươnu tự nhau.
- Vd: Tính luỹ thừa ltx = xk.
- Đặt tên cho nó là Luythua với các tham số là x và k.
- Khi cần tính luỹ thừa của giá trị cụ thể nào thì gọi nó với các tham số, ví dụ Luythua(a,n)
1. Khái niệm chương trình con
Lợi ích của việc sử dụng chương trình con
- Tránh được việc lặp đi lặp lại cùng một dãy lệnh nào đó
- Hỗ trợ việc thực hiện các chương trình lớn
- Phục vụ quá trình trừu tượng hoá
- Mở rộng khả năng ngôn ngữ
- Thuận tiện cho phát triển, nâng cấp chương trình
2. Phõn lo?i chuong trỡnh con
Chuong trỡnh con
Hm (Function)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v tr? v? m?t giỏ tr? qua tờn c?a nú.
Th? t?c (Procedure)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v khụng tr? v? giỏ tr? no qua tờn c?a nú.
Tính tổng luỹ thừa
S = an + bm + cp + dq
Vẽ và đưa ra màn hình 5 hình chữ nhật có kích thước khác nhau.
3. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
< Phần thân>
Function[()] :ki?u c?a hm;
[< Ph?n khai bỏo >]
Begin
[]
tờnhm := giỏtr?;
End;
Procedure [()];
[< Phan khai bao >]
Begin
[]
End;
Hm (Function)
Th? t?c (Procedure)
4. M?t s? vớ d?
Bài toán 1: Lập chương trình tối giản phân số
Vớ d?: nh?p 6/10 => ra 3/5
* INPUT : Nh?p phõn s? a/b;
* OUTPUT : Phõn s? c/d - Trong dú: c = a/UCLN (a,b);
d = b/UCLN(a,b);
? Vi?t chuong trỡnh con th?c hi?n tỡm UCLN(a,b) v g?i nú khi tớnh c,d trong chuong trỡnh chớnh.
Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin
While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write(` Nhap vao tu so và mau so:`); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln(` Phan so toi gian = `, c, ` / `, d);
Readln;
END.
Write(`Nhap vao tu so va mau so:`);
C := 6 div
d := 10 div
UCLN(6,10)
UCLN(6,10);
Writeln(` Phan so toi gian = `, 3, ` / `, 5);
Readln;
END.
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so:
6 10
Phan so toi gian= 3/5
Các CTC thường được đặt sau phần khai báo của chương trình chính.
CTC chỉ được thực hiện khi có lời gọi nó.
Lợi ích của việc sử dụng chương trình con:
Hỗ trợ việc thực hiện các chương trình lớn.
Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó.
Thuận tiện cho việc phát triển và nâng cấp chương trình.
Hóy nh?!
? Chuong trỡnh con l m?t dóy l?nh gi?i quy?t m?t bi toỏn con c? th?.
? C?u trỳc chuong trỡnh g?m:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
< Ph?n thõn>
và lập trình có cấu trúc
Chương trình con và phân loại
1. Khái niệm chương trình con
- Các CT giải Các bài toán phức tạp thường rất dài
=> Khó đọc, khó hiểu, khó hiệu chỉnh
=> Đặt ra vấn đề làm sao dễ đọc, dễ hiểu, dễ hiệu chỉnh
- Một bài toán thường có thể phân tích thành nhiều bài toán con nhỏ
Vd: TínhLT=an+bm+cp+dq
Gồm 4 bài toán con là tính an, tính bm, tính cp, tính dq
Giao cho 4 người, công việc sẽ nhẹ nhàng hơn
- Mỗi bài toán con lại chia thành các 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.
1. Khái niệm chương trình con
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ hơn, gọi là modul hay chương trình con. Chương trình chính sẽ được xây dựng từ các CTC này.
Nhóm trưởng
Việc A
Vi?c B
1. Khái niệm chương trình con
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ hơn, gọi là modul hay chương trình con. Chương trình chính sẽ được xây dựng từ các CTC này.
Cách lập trình như vậy dựa trên lập trình có cấu trúc và chương trình được xây dựng gọi là lập trình có cấu trúc
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
1. Khái niệm chương trình con
Vdụ: Viết chương trình tính tổng an+bm+cp+dq
Program Tong;
Var Tong,lta, ltb, ltc, ltd: Real;
a,b,c,d: Real;
i,n,m,p,q : Interger;
Begin
Write(`Nhập a,b,c,d,m,n,p,q);
Readln(a,b,c,d,n,m,p,q);
lta:=1;ltb:=1;ltc:=1;ltd:=1
For i:=1 to n do
lta:=lta*a;
For i:=1 to m do
ltb:=ltb*b;
For i:=1 to p do
ltc:=ltc*c;
For i:=1 to q do
ltd:=ltd*d;
Tong:=lta+ltb+ltc+ltd;
Write(`Tong LT =`,Tong:8:2);
Readln;
End.
1. Khái niệm chương trình con
Vdụ: Viết chương trình tính tổng an+bm+cp+dq
Var i: Integer
ltx:=1;
For i:=1 to k do
ltx:=ltx*x;
- Trong chương trình trên có 4 đoạn lệnhtương tự nhau, lặp đi lặp lại
=> Chương trình dài, khó theo dõi
- Để nâng cao hiệu quả lập trình, ngôn ngữ lập trình cho phép xây dựng các chương trình con đại diện cho nhiều đoạn lệng tươnu tự nhau.
- Vd: Tính luỹ thừa ltx = xk.
- Đặt tên cho nó là Luythua với các tham số là x và k.
- Khi cần tính luỹ thừa của giá trị cụ thể nào thì gọi nó với các tham số, ví dụ Luythua(a,n)
1. Khái niệm chương trình con
Lợi ích của việc sử dụng chương trình con
- Tránh được việc lặp đi lặp lại cùng một dãy lệnh nào đó
- Hỗ trợ việc thực hiện các chương trình lớn
- Phục vụ quá trình trừu tượng hoá
- Mở rộng khả năng ngôn ngữ
- Thuận tiện cho phát triển, nâng cấp chương trình
2. Phõn lo?i chuong trỡnh con
Chuong trỡnh con
Hm (Function)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v tr? v? m?t giỏ tr? qua tờn c?a nú.
Th? t?c (Procedure)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v khụng tr? v? giỏ tr? no qua tờn c?a nú.
Tính tổng luỹ thừa
S = an + bm + cp + dq
Vẽ và đưa ra màn hình 5 hình chữ nhật có kích thước khác nhau.
3. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
< Phần thân>
Function
[< Ph?n khai bỏo >]
Begin
[
tờnhm := giỏtr?;
End;
Procedure
[< Phan khai bao >]
Begin
[
End;
Hm (Function)
Th? t?c (Procedure)
4. M?t s? vớ d?
Bài toán 1: Lập chương trình tối giản phân số
Vớ d?: nh?p 6/10 => ra 3/5
* INPUT : Nh?p phõn s? a/b;
* OUTPUT : Phõn s? c/d - Trong dú: c = a/UCLN (a,b);
d = b/UCLN(a,b);
? Vi?t chuong trỡnh con th?c hi?n tỡm UCLN(a,b) v g?i nú khi tớnh c,d trong chuong trỡnh chớnh.
Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin
While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write(` Nhap vao tu so và mau so:`); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln(` Phan so toi gian = `, c, ` / `, d);
Readln;
END.
Write(`Nhap vao tu so va mau so:`);
C := 6 div
d := 10 div
UCLN(6,10)
UCLN(6,10);
Writeln(` Phan so toi gian = `, 3, ` / `, 5);
Readln;
END.
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so:
6 10
Phan so toi gian= 3/5
Các CTC thường được đặt sau phần khai báo của chương trình chính.
CTC chỉ được thực hiện khi có lời gọi nó.
Lợi ích của việc sử dụng chương trình con:
Hỗ trợ việc thực hiện các chương trình lớn.
Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó.
Thuận tiện cho việc phát triển và nâng cấp chương trình.
Hóy nh?!
? Chuong trỡnh con l m?t dóy l?nh gi?i quy?t m?t bi toỏn con c? th?.
? C?u trỳc chuong trỡnh g?m:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
< Ph?n thõn>
* 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ẻ: Phan Văn Thế
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)