Bài 17. Chương trình con và phân loại

Chia sẻ bởi Quoc Huy | Ngày 10/05/2019 | 145

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:

Bài 17
Để 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ỏ.
Nhóm trưởng
Việc A
Việc B
1. Khái niệm Chương trình con (ctc)
luythua= an + bm + cp + dq
Ta chia công việc cho người A: luythua1= an
luythua1:=1;
For i:=1 to n do luythua1:=luythua1*a;

Ta chia công việc cho người B: luythua2= bm
luythua2:=1;
For i:=1 to m do luythua2:=luythua2*b;

Ta chia công việc cho người C: luythua3= cp
luythua3:=1;
For i:=1 to p do luythua3:=luythua3*c;

Ta chia công việc cho người D: luythua4= dq
luythua4:=1;
For i:=1 to q do luythua4:=luythua4*d;

Làm thế nào để tính giá trị cho từng lũy thừa và tổng lũy thừa?
Các chương trình trên có gì đặc biệt?
Ví dụ: Để làm bài toán quản lý học sinh gồm các công việc sau:
Nhập thông tin cho từng học sinh (1)
Xử lý số liệu về kết quả học tập: xếp loại, sắp xếp học sinh theo chiều giảm của điểm TB.(2)
In kết quả ra màn hình. (3)
Các công việc này sẽ được chia ra như sau:
Giao công việc (1) cho nhóm A
Giao công việc (2) cho nhóm B
Giao công việc (3) cho nhóm C
Nhóm trưởng thu lại các chương trình nhỏ từ các nhóm và tổng hợp lại thành chương trình quản lý học sinh hoàn chỉnh.
Các chương trình được viết bởi các nhóm nhỏ A, B, C được gọi là các chương trình con (CTC).
Chương trình mà nhóm trưởng viết để gọi ra các chương trình con của các nhóm A, B, C gọi là chương trình chình.
Vậy: 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.
Lợi ích của việc sử dụng chương trình con:
Tránh được việc phải viết lặp đi lặp lai 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ụ cho quy trình trừu tượng hóa.
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 và cấu trúc của chương trình con
Chương trình con
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 nào đó, và không trả về giá trị nào 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.
a) Phân loại
2. Phân loại và Cấu trúc của chương trình con

[]
< Phần thân>
Function [()] :kiểu của hàm;
[< Phần khai báo >]
Begin
Begin
[]
End;
tênhàm := giátrị;
End;
Procedure [()];
[< Phần khai báo >]
Begin
[]
End;
Hàm (Function)
Thủ tục (Procedure)
b) Cấu trúc của CTC
Trả về giá trị
qua tên hàm
VD1: Lập chương trình tính tổng luỹ thừa luythua = an +bm +cp +dq
Viết chương trình con dạng tổng quát Luythua = xk
Trong đó: Luythua, x kiểu thực, k kiểu nguyên.
Khi tính luỹ thừa của các số hạng trong tổng trên ta chỉ cần gọi tên chương trình con Luythua và thay thế (x,k) bằng các giá trị tương ứng. Ví dụ như: Luythua(a,n). luythua(b,m), luythua(c,p),luythua(d,q).
* INPUT : Các cơ số a,b,c,d và các số mũ lần lượt n,m,p,q
* OUTPUT : luythua
Function luythua(a:real;b:integer):real;
var
i:integer;
tich:real;
Begin
tich:=1.0;
For i:=1 to b do tich:=tich*a;
luythua:=tich;
End;
Tên hàm
Kiểu dữ liệu
Các biến được khai báo cho dữ liệu vào/ra
Các CTC khác không thể sử dụng các biến cục bộ của một CTC, nhưng mọi CTC đều sử dụng được các biến của chương trình chính
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 đó: c = a/ƯCLN(a,b);
d = b/ƯCLN(a,b);
? Viết chương trình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong chương 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.
Biến toàn cục
Tham số thức sự
Mọi CTC đều có thể sử dụng biến của
chương trình chính
Hãy nhớ!
? Chương trình con là một dãy lệnh giải quyết một bài toán con cụ thể.
? Cấu trúc chương 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ẻ: Quoc Huy
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)