Tải bản đầy đủ (.pdf) (47 trang)

Bài giảng Toán rời rạc: Chương 1 - Nguyễn Lê Minh (2020)

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 (662.67 KB, 47 trang )

Tốn rời rạc
Chương 1: THUẬT TỐN
GV: Nguyễn Lê Minh
Bộ mơn: Công nghệ thông tin
4/19/20

1


Nội dung
1.
2.
3.
4.
5.
6.

Khái niệm thuật tốn
Tính chất của thuật tốn
Các cách biểu diễn thuật toán
Cấu trúc cơ bản của thuật toán
Một số thuật toán cơ bản
Bài tập

4/19/20

2


Nội dung
1.


2.
3.
4.
5.
6.

Khái niệm thuật tốn
Tính chất của thuật tốn
Các cách biểu diễn thuật toán
Cấu trúc cơ bản của thuật toán
Một số thuật toán cơ bản
Bài tập

4/19/20

3


1. Khái niệm thuật toán
Thuật toán là một tập hữu hạn các bước, các phép toán cơ bản
được sắp xếp theo một trình tự nhất định để từ thơng tin đầu vào của
bài toán sau một tập hữu hạn các bước đó sẽ đạt được kết quả ở
đầu ra như mong muốn.

Input

4/19/20

Algorithm


Output

4


1. Khái niệm thuật tốn
Thơng thường, thuật tốn dùng để giải một lớp các bài toán cụ thế.
Gồm 2 thành phần chính:
• Input : Thơng tin bài tốn đã cho
• Output : Thơng tin cần tìm hoặc trả lời câu hỏi cần thiết
Ví dụ:

S = a *b
4/19/20

5


1. Khái niệm thuật tốn
Ví dụ : Giải phương trình bậc nhất P(x): ax + b = 0, (a, b là các số
thực)
• Input : a, b
• Output : Kết quả P(x)
o

Mơ tả thuật tốn:
v

Nếu a = 0




v

Nếu a <> 0


4/19/20

Nếu b = 0 thì P(x) có nghiệm bất kì
Nếu b <> 0 thì P(x) vơ nghiệm
P(x) có duy nhất một nghiệm x = -b/a
6


1. Khái niệm thuật tốn
Ví dụ 2 : Kiểm tra một số ngun X có chia hết cho 5 khơng ?
• Input : X
• Output : Kết quả kiểm tra Result
o

Mơ tả thuật tốn:
o Bước 1: Tìm số dư r của phép chia x cho 5
o Bước 2: Kiểm tra



4/19/20

Nếu r = 0 thì result = True

Nếu r <> 0 thì result = False

7


Nội dung
1.
2.
3.
4.
5.
6.

Khái niệm thuật tốn
Tính chất của thuật tốn
Các cách biểu diễn thuật toán
Cấu trúc cơ bản của thuật toán
Một số thuật toán cơ bản
Bài tập

4/19/20

8


2. Tính chất của thuật tốn








Tính dừng
Tính xác định
Tính đúng
Ðầu vào và đầu ra (input/output)
Tính hiệu quả
Tính tổng quát

4/19/20

9


2. Tính chất của thuật tốn



Tính dừng : Thuật tốn phải bao đảm được kết thúc sau một số
hữu hạn bước.
Tính dừng là tính dễ bị vi phạm, thường là do sai sót khi trình bày
thuật tốn dẫn đến “Lặp vô tận”.

4/19/20

10


2. Tính chất của thuật tốn

Thuật tốn phải có tính xác định: các bước trong thuật toán phải
được xác định rõ ràng, có thể thực thi được, khơng gây mập mờ,
nhập nhằng, tùy chọn.

4/19/20

11


2. Tính chất của thuật tốn
q

q

q

Thuật tốn phải có Tính đúng đắn: để đảm bảo kết quả tính tốn
hay các thao tác mà máy tính thực hiện được là chính xác.
Trong một kỳ thi kiểm tra không phải tất cả các học sinh điều đưa
ra được lời giải “đúng”.
Khi thiết kế thuật toán cần kiểm nghiệm và chỉnh sửa nhiều lần để
có được một thuật tốn đúng.

4/19/20

12


2. Tính chất của thuật tốn
o

o

o

Ðầu vào và đầu ra (input/output): Mọi thuật tốn đều có đại
lượng vào và ra.
Tính hiệu quả: Một bài tốn có thể có nhiều thuật tốn khác nhau
để giải, một thuật tốn tốt thì nó phải hiệu quả, tính hiệu quả của
thuật tốn được đánh giá dựa trên một số tiêu chuẩn như khối
lượng tính tốn, khơng gian và thời gian khi thuật tốn được thi
hành.
Tính tổng qt: Thuật tốn có tính tổng qt là thuật toán phải áp
dụng được cho mọi trường hợp của bài tốn chứ khơng phải chỉ
áp dụng được cho một số trường hợp riêng lẻ nào đó.

4/19/20

13


Nội dung
1.
2.
3.
4.
5.
6.

Khái niệm thuật tốn
Tính chất của thuật tốn

Các cách biểu diễn thuật toán
Cấu trúc cơ bản của thuật toán
Một số thuật toán cơ bản
Bài tập

4/19/20

14


3. Các cách biểu diễn của thuật toán

Liệt kê

Sơ đồ khối

Mã giả
4/19/20

15


3. Các cách biểu diễn của thuật toán
Phương pháp liệt kê
o
o

o
o


Tại mỗi bước sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải
làm.
Các bước được đánh số thứ tự, bước có số thứ tự nhỏ hơn được
thực hiện trước.

Ưu điểm: Dễ hiểu, dễ thực hiện.
Khuyết điểm: Phụ thuộc cách trình bày của người thiết kế, khó áp dụng
cho những thuật tốn có tính phức tạp.

4/19/20

16


3. Các cách biểu diễn của thuật tốn
Ví dụ : Giải phương trình bậc nhất P(x): ax +b = 0:









4/19/20

Input: a,b
Output: Kết quả giải phương trình.
Bước 1: Nhập vào 2 số thực a, b

Bước 2: Kiểm tra nếu a = 0 thực hiện:

Bước 2.1: Nếu b = 0 thì phương trình vơ số nghiệm

Bước 2.2: Nếu b <> 0 thì phương trình vơ nghiệm
Bước 3: Khi a <> 0 phương trình có nghiệm x=-b/a
Bước 4: Kết thúc thuật tốn
17


3. Các cách biểu diễn của thuật toán
Phương pháp sơ đồ khối
o
o

o
o

Sử dụng các hình khối để biểu diễn các lệnh hay thao tác.
Sử dụng mũi tên để biểu diễn thứ tự thực hiện.

Ưu điểm: Diễn đạt khoa học, có tính nhất quán, dễ hiểu và dễ kiểm tra.
Khuyết điểm: Phải vẽ nhiều hình, cồng kềnh, khơng phù hợp với các
thuật toán phức tạp.

4/19/20

18



3. Các cách biểu diễn của thuật tốn
Hình

Ý nghĩa
Bắt đầu thuật toán

Begin
Kết thúc thuật toán

End
Nhập dữ liệu

Input
Xuất dữ liệu

Output
4/19/20

19


3. Các cách biểu diễn của thuật tốn
Hình
Biểu thức

Ý nghĩa

S

-


Câu lệnh rẽ nhánh
Nếu đúng thì thực hiện nhánh Đ
Nếu sai thì thực hiện nhánh S

Đ

End

Biểu diễn thực hiện cơng việc A

A
Biểu diễn việc gọi chương trình con A

A
Hướng của thuật toán

4/19/20

20


3. Các cách biểu diễn của thuật toán

4/19/20

21


3. Các cách biểu diễn của thuật toán


4/19/20

22


3. Các cách biểu diễn của thuật toán
Phương pháp mã giả
o
o

o
o

Dựa trên các ngôn ngữ bậc cao (Pascal, C...)
Sử dụng ngôn ngữ tự nhiên con người

Ưu điểm: Tương tự ngôn ngơn ngữ lập trình và ngơn ngữ tự nhiên,
chuyển từ thuật tốn sang chương trình dễ dàng.
Khuyết điểm: Viết như cách biểu diễn liệt kê, khó bao quát với những
bài tốn nhiều chương trình. Phải làm quen với những ngơn ngữ mới.

4/19/20

23


3. Các cách biểu diễn của thuật tốn
Ví dụ: Tính tổng n số tự nhiên đầu tiên
Nhập n









4/19/20

i:=0
s:=0
REPEAT
s=s+i;
i=i+1;
UNTIL (i>n)
Xuất s
24


Nội dung
1.
2.
3.
4.
5.
6.

Khái niệm thuật tốn
Tính chất của thuật tốn

Các cách biểu diễn thuật toán
Cấu trúc cơ bản của thuật toán
Một số thuật toán cơ bản
Bài tập

4/19/20

25


×