Tải bản đầy đủ (.pptx) (23 trang)

bài giảng chương trình con bản cực chuẩn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (932.46 KB, 23 trang )

Chào mừng thầy cô và các bạn

Tham dự tiết học hôm nay

Giáo viên: Nguyễn Thị Trang
1


Trường THPT chuyên Biên Hòa

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

Khái niệm chương trình con

Lợi ích của chương trình con

Phân loại chương trình con

Giáo sinh: Nguyễn Thị Trang

2


Giới thiệu

11A1

11A2

Là lá la! Hôm nay là ngày trực vệ
Continue…


11A3
11A4
sinh…
Ta sẽ làm vệ sinh ở lớp
nào đây nhỉ?
Hơ… Hơ. Sao
nhiều thế!

3


Giới thiệu

phút
sau…
Phải làm sao30bây
giờ…!

Ôi… Mệt… quá!
Àh. Mình có ý này.
He he!

4


Giới thiệu

Cậu dọn lớp này…!

Còn cậu dọn lớp kia…!Mình biết rồi!


Dạ!

5


Giới thiệu

Bạnbiết
ấy đã
chiatình
công
việc cho
người.
Đố các bạn
trong
huống
trênnhiều
bạn Khỉ
đã làm thế nào đã thực hiện công
việc của mình một cách hiệu quả?

6
Giáo sinh: Nguyễn Thị Trang


Giới thiệu

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.

7


Giới thiệu

Bài toán: tính tổng các lũy thừa sau:
n m p q
Tluythua = a + b + c + d
Nhận xét:
n m p
q
Bài toán có thể chia thành 4 bài toán con. Đó là 4 bài toán để tính a , b , c , d có thể
giao cho 4 người thực hiện. Giá trị Tluythua là tổng kết quả của 4 bài toán đó.

8


Giới thiệu
BÀI TOÁN

Bài toán nhỏ
Bài toán nhỏ


Bài toán nhỏ
Bài toán nhỏ

Bài toán nhỏ

Bài toán nhỏ

Nhóm trưởng
Việc
A

Vi ệc B

9


Giới thiệu

 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

CT chính

chính thành các khối (môđun), mỗi khối bao gồm các lệnh giải một bài toán
CTC 1

con nào đó.
CTC 2

 Mỗi khối lệnh sẽ được xây dựng thành một chương trình con.
CTC 3


 Chương trình con cũng có thể được xây dựng từ các chương trình con khác
CTC 4

CTC 4.1

CTC 4.2


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.

Việc A
Trưởng nhóm

Việc B

11


Vậy sử dụng chương trình con có lợi
ích gì?


Lợi ích chương trình con
Program
Var


tinh_tong;

TLuythua, Luythua1,
Luythua2, Luythua3,
real;
a,b,c,d:real;

Luythua4:

i,n,m,p,q:integer;

Begin
Write('Nhap theo thu tu
a,b,c,d,m,n,p,q‘);
Readln(a,b,c,d,m,n,p,q);

Luythua1 : =
For i:= 1 to

Quan sát chương trình

1.0;
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;
TLuythua:=Luythua1+
Luythua2+Luythua3+Luythua4;

Writeln(‘Tong luy thua =',
TLuythua:8:4);
Readln;
End.

13


Lợi ích chương trình con
Bốn đoạn lệnh tương tự nhau trong chương trình là

Nếu muốn tính tổng của 50 lũy

Luythua1:= 1.0;

1

For i:=1 to n do
Luythua1:= Luythua1 * a;

thừa thì sao? Đây là chương trình con đại diện đặt tên là

trình dài và khó theo dõi

Luythua2:= 1.0;

2

For i:=1 to m do
Luythua2:= Luythua2 * b;
Luythua3:= 1.0;

3

For i:=1 to p do

Var j : integer;
Tich:= 1.0;
For j:=1 to k do
Tich := Tich* x;

Luythua3:= Luythua3 * c;
Luythua4:= 1.0;

4

For i:=1 to q do
Luythua4:= Luythua1 * d;

k

biến x, k( tương ứng là x

Nhiều đoạnluythua(x,k),
lệnh lặp với
lại hai
nhau
làm cho chương

14


Lợi ích chương trình con
Luythua1:= 1.0;

1

For i:=1 to n do

n
Tính a : Luythua(a,n)

Luythua1:= Luythua1 * a;
Luythua2:= 1.0;

2

For i:=1 to m do
Luythua2:= Luythua2 * b;
Luythua3:= 1.0;

3


m
Tính b : Luythua(b,m)

For i:=1 to p do

p
Tính c : Luythua(c,p)

Luythua3:= Luythua3 * c;
Luythua4:= 1.0;

4

For i:=1 to q do

q
Tính d :Luythua(d,q)

Luythua4:= Luythua1 * d;

TLuythua:=Luythua(a,n)+Luythua(b,m)+Luythua(c,p)+Luythua(d,q)
15


Lợi ích chương trình con
Chương trình sử dụng chương trình con
Program tinh_ tong;
Var

Đây là chương trình con


Tluythua : real;

Chương trình con được gọi

Begin

thực hiện

Writeln(‘ Hay nhap du lieu theo thu tu a, b, c, d, n, m, p,

a, b,c ,d : real;

q’);

n, m ,p, q: integer;

Readln(a, b, c, d, m, n, p , q);
Function luythua(x: real; k: integer): real;
Tluythua:= luythua(a,n) + luythua(b,m)+ luythua(c,

var Tich: real; J: integer;

p) + luythua(d, q);

begin
Tich:=1.0;
For j:=1 to k do

Writeln(‘Tong luy thua la: ’, Tluythua:8:4);


Tich:= Tich*x;

Readln;

Luythua: = Tich;

End.

end;

Giáo sinh: Nguyễn Thị Trang

16


Lợi ích 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 nào đó
tương tự.
Hỗ trợ thực hiện các chương trình lớn lên đến hàng nghìn, hàng vạn
lệnh.
Phục vụ cho quá trình trừu tượng hóa

17


Chương trình con có mấy loại

18



Đưa ra câu trả lời của các lệnh sau:

1.
2.
3.
4.
5.

1.
2.
3.
4.

Sqr(3)  .....

9

Abs(-5)  ......

?

4

Sqrt(16) …..

Trả về 1 giá trị

5


Length(‘abc’)  .....

3

Eof(f)  ……………………True/False

Clrscr;  ………………. Lau màn hình
Nhập a,b

Readln(a,b); ……………
Writeln(‘Hello’); ………….....
Close(f);  ……………...

In chữ Hello

?

Không trả về
1 giá trị

Đóng tệp f
Giáo sinh: Nguyễn Thị Trang

19


Phân loại chương trình con

Hàm (Function)


Thủ tục (Procedure)

Hàm là chương trình con thực hiện một số

Thủ tục là chương trình con thực hiện các

thao tác nào đó và trả về một giá trị qua tên

thao tác nhất định nhưng không trả về giá trị

của nó.

nào qua tên của nó.

Ví dụ :

Ví dụ:

Sin(x): nhận giá trị thực x và trả về giá trị sinx.

Writeln, readln, delete,…

Sqrt(x): nhận giá trị x và trả về giá trị căn bậc
hai của x

20


Phân loại chương trình con


VÍ DỤ
- Nhập vào hai số tự nhiên a.

- Kiểm tra xem hai số vừa nhập có phải số nguyên
dương không?

- Tính ước chung lớn nhất của hai số đó.


Củng 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.

Khi dùng chương trình con sẽ giúp giải quyết những bài toán lớn và phức tạp, chương trình chính sẽ được
cấu trúc bởi các chương trình con nên trở nên dễ nhìn và dễ hiệu chỉnh hơn.

Có hai loại chương trình con là hàm và thủ tục:
Khi giải quyết một vấn đề mà có giá trị trả về thì dùng hàm
Khi nhập, xuất dữ liệu hoặc kiểm tra một vấn đề nào đó không trả về giá trị thì dùng thủ tục.

22


THE END!!!


23




×