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

Chia sẻ bởi Nguyễn Thị Châu | Ngày 10/05/2019 | 125

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:

TIẾT 39+40
BÀI 17
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
1. Khái niệm chương trình con
Xét bài toán sau: Viết chương trình tính tổng sau:
TongLuyThua = an + bm + cp + dq
 Trong toán học ta chia bài toán toán phức tạp thành các bài toán con đơn giản hơn
 Tương tự, khi lập trình để giải bài toán trên máy tính có thể phân chia chương trình thành các khối (môđun), mỗi khối bao gồm các lệnh giải 1 bài toán con nào đó. Mỗi khối lệnh sẽ được xây dựng thành một 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.
program TinhTongLuyThua;
uses crt;
var TongLuyThua, LuyThua1, LuyThua2, LuyThua3, LuyThua4 : real;
a, b, c,d : real;
i, m, n, p, q : integer;
begin
clrscr;
write(`Nhap vao du lieu theo thu tu a, b, c, d, n, m, p, q`);
readln(a, b, c, d, n, m, p, q);
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;
TongLuyThua := LuyThua1 + LuyThua2 + LuyThua3 + LuyThua4;
writeln(`Tong luy thua = `,TongLuyThua:10:2);
readln
end.
* 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 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ụ quá trình trừu tượng hóa
- Mở rộng khả năng ngôn ngữ
- Thuận tiện cho việc phát triển, nâng cấp chương trình
program TinhTongLuyThua;
uses crt;
var TongLuyThua : real;
a, b, c, d : real;
m, n, p, q: integer;
function LuyThua(x : real, k: integer) : real;
var j : integer;
Tich : real;
begin
tich := 1.0;
for j:=1 to k do tich := tich*x;
LuyThua := tich;
end;
begin
clrscr;
write(`Nhap vao du lieu theo thu tu a, b, c, d, n, m, p, q`);
readln(a, b, c, d, n, m, p, q);
TongLuyThua := LuyThua(a, n) + LuyThua(b, m) + LuyThua(c, p) + LuyThua(d,q);
writeln(`Tong luy thua = `,TongLuyThua:10:2);
readln
end.
Chương trình con
2. Phân loại và cấu trúc của chương trình con
a. Phân 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ó
Ví dụ: sqrt(x)
abs(x)
length(s)
upcase(ch)
random(n)
2. Phân loại và cấu trúc của chương trình con
a. Phân loại
* Thủ tục (Procedure): là chương trình con thực hiện các thao tác nhất định nhưng không trả về giá trị nào qua tên của nó
Ví dụ: readln
writeln
delete
insert
randomize
b. Cấu trúc chương trình con
Cấu trúc chung:

[]

Phần khai báo: có thể 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: là dãy câu lệnh thực hiện để từ những dữ liệu vào ta nhận được dữ liệu ra hay kết quả mong muốn
* 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
Biến cục bộ: các biến được khai báo để dùng riêng trong chương trình con
Biến toàn cục: các biến được khai báo trong chương trình chính
* Lưu ý:
- Mọi chương trình con đều có thể sử dụng biến toàn cục
- Biến cục bộ của chương trình con nào thì chỉ có chương trình con đó mới có quyền sử dụng
- Một chương trình con có thể có hoặc không có tham số hình thức, có thể có hoặc không có biến cục bộ.
c. Thực hiện chương trình con
Tham số thực sự: là các hằng và biến chứa dữ liệu vào và ra tương ứng với các tham số hình thức khi gọi thực hiện 1 chương trình con.
- Khi thực hiện chương trình con, các tham số hình thức dùng để nhập dữ liệu vào sẽ nhận các giá trị của tham số thực sự tương ứng, còn các tham số hình thức dùng để lưu trữ dữ liệu ra sẽ trả giá trị đó cho tham số thực sự tương ứng.
- Sau khi chương trình con kết thúc, lệnh tiếp theo gọi chương trình con sẽ được thực hiện
program TinhTongLuyThua;
uses crt;
var TongLuyThua : real;
a, b, c, d : real;
m, n, p, q: integer;
function LuyThua(x : real, k: integer) : real;
var j : integer;
Tich : real;
begin
tich := 1.0;
for j:=1 to k do tich := tich*x;
LuyThua := tich;
end;
begin
clrscr;
write(`Nhap vao du lieu theo thu tu a, b, c, d, n, m, p, q`);
readln(a, b, c, d, n, m, p, q);
TongLuyThua := LuyThua(a, n) + LuyThua(b, m) + LuyThua(c, p) + LuyThua(d,q);
writeln(`Tong luy thua = `,TongLuyThua:10:2);
readln
end.
Chương trình con

BÀI 18
VÍ DỤ VỀ CÁCH VIẾT

SỬ DỤNG CHƯƠNG TRÌNH CON
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục
Procedure [()]
[phần khai báo]
begin
[dãy các lệnh]
end;
Chú ý:
- Sau tên dành riêng end kết thúc chương trình chính là dấu chấm (.) còn sau end kết thúc thủ tục là dấu chấm phẩy (;)
- Các thủ tục, nếu có, phải được khai báo và mô tả trong phần khai báo của chương trình chính, ngay sau phần khai báo các biến
- Khi cần thực hiện, ta phải viết lệnh gọi thủ tục tương tự như các thủ tục chuẩ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ẻ: Nguyễn Thị Châu
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)