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

Ip 02 algorithm

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 (575.36 KB, 24 trang )

Thuật tốn
GV. Nguyễn Minh Huy

Nhập mơn lập trình - Nguyễn Minh Huy

1


Nội dung




Khái niệm thuật toán
toán..
Biểu diễn thuật toán
toán..
Đánh giá thuật tốn
tốn..

Nhập mơn lập trình - Nguyễn Minh Huy

2


Nội dung




Khái niệm thuật toán.


toán.
Biểu diễn thuật toán
toán..
Đánh giá thuật tốn
tốn..

Nhập mơn lập trình - Nguyễn Minh Huy

3


Khái niệm thuật tốn


Thuật tốn là gì
gì?
?


Bài tốn 1:




Nhận xét
xét::






Tính tổng số lớn nhất và số nhỏ nhất giữa 7, 1, 9?
Có nhiều cách giải bài tốn khác nhau
nhau..
Các cách giải khác nhau có hiệu quả khác nhau
nhau..

Thuật tốn
tốn::



Cách giải cụ thể một bài toán
toán..
Các bước để đi đến kết quả sau cùng
cùng..

Nhập mơn lập trình - Nguyễn Minh Huy

4


Khái niệm thuật tốn


Đặc trưng của thuật tốn
tốn::
Có nhiều thuật toán cho một bài toán
toán..
 Thuật toán quyết định hiệu quả lời giải

giải..
 Thuật tốn ~ thuật giải
giải..
 Các tính chất của thuật tốn
tốn::







Tính chính xác (correctness).
Tính tổng qt (abstraction).
Tính dừng (halting).

Nhập mơn lập trình - Nguyễn Minh Huy

5


Khái niệm thuật tốn


Những lệnh cơ bản
bản::


Máy tính hiểu những lệnh cơ bản
bản::








Lệnh nhập
nhập,, xuất.
xuất.
Lệnh tính tốn số học
học:: +, -, *, /, %, =.
Lệnh kiểm tra điều kiện
kiện:: >, <, >=, <=, ==, !=.
Lệnh nhảy bước
bước..

Khái niệm lập trình
trình::




Sử dụng những lệnh cơ bản
bản..
Lắp ghép theo một thuật toán
toán..
Giải quyết được bài tốn
tốn..


Nhập mơn lập trình - Nguyễn Minh Huy

6


Nội dung




Khái niệm thuật toán
toán..
Biểu diễn thuật toán.
toán.
Đánh giá thuật tốn
tốn..

Nhập mơn lập trình - Nguyễn Minh Huy

7


Biểu diễn thuật toán


Biểu diễn bằng mã giả (pseudo code):
Dùng ngôn ngữ tự nhiên
nhiên..
 Đơn giản hơn ngôn ngữ lập trình
trình..

 Các ký hiệu cho lệnh cơ bản
bản::


Lệnh

Ký hiệu

Nhập/Xuất

Nhập/Xuất

Tính tốn số học

+, -, *, /, %, =

Ví dụ
-B1: Nhập a, b, c.
-B2: Xuất b.
-B1: b = 5.
-B2: a = a + b.

Kiểm tra điều kiện

Nếu <điều kiện> g
Ngược lại g

-B1: a = a + b.
-B2: Nếu a > 5 Xuất “lớn hơn”
Ngược lại Xuất “nhỏ hơn”.


Nhảy bước

Chuyển đến<bước>

-B1: a = a + b.
-B2: Nếu a < 100 Chuyến đến B1.

Nhập mơn lập trình - Nguyễn Minh Huy

8


Biểu diễn thuật toán


Biểu diễn thuật toán bằng mã giả:
giả:

* Thuật tốn tìm số lớn nhất
nhất::
-B1: Nhập a, b, c.
-B2: max = a.
-B3: Nếu b > max
max = b.
-B4: Nếu c > max
max = c.
-B5: Xuất max.

Nhập mơn lập trình - Nguyễn Minh Huy


* Thuật tốn tính giai thừa N:
-B1: Nhập N.
-B2: S = 1.
-B3: Nếu N > 1
S = S * N.
N = N – 1.
Chuyển đến B3.
Ngược lại chuyển đến B4.
-B4: Xuất S.

9


Biểu diễn thuật toán


Biểu diễn bằng lưu đồ (flow chart):
Dùng hình vẽ biểu diễn thuật tốn
tốn..
 Trực quan
quan,, dễ nắm bắt
bắt..
 Các ký hiệu cho các lệnh cơ bản
bản::



Thao tác
Nhập/Xuất

Tính tốn số học

Kiểm tra điều kiện

Ký hiệu

Ví dụ
Nhập a, b, c

Xuất x, y

a=a+b

a>5

Nhảy bước

Nhập mơn lập trình - Nguyễn Minh Huy

10


Biểu diễn thuật toán


Biểu diễn thuật toán bằng lưu đồ:
đồ:
Nhập a, b, c

Nhập N


max = a

S=1

b > max

đúng

max = b

sai
c > max

đúng

sai

max = c

N>1
đúng

sai

S=S*N
N=N-1

Xuất max
Xuất S


Nhập mơn lập trình - Nguyễn Minh Huy

11


Biểu diễn thuật tốn


Chạy từng bước thuật tốn
tốn::
Kiểm tra tính chính xác
xác..
 Lặp bảng theo dõi các giá trị.
trị.



Dịng lệnh
Nhập N

N

S

3

S=1

1


N=3>1
S=S*N
N=N-1

3

N=2>1
S=S*N
N=N-1

2
6
1

N=1=1
Xuất S
Nhập mơn lập trình - Nguyễn Minh Huy

6
12


Nội dung




Khái niệm thuật toán
toán..

Biểu diễn thuật toán
toán..
Đánh giá thuật tốn.
tốn.

Nhập mơn lập trình - Nguyễn Minh Huy

13


Đánh giá thuật tốn


Các tiêu chí đánh giá:
giá:


Thời gian thực hiện
hiện::




Tùy thuộc số bước thuật toán
toán..
Số bước tùy thuộc độ lớn dữ liệu
liệu..
Đại lương “O lớn”:
lớn”:






Dung lượng bộ nhớ
nhớ::





Ký hiệu O().
Tương quan giữa độ lớn dữ liệu và số bước thực hiện
hiện..

Tùy thuộc số lượng ký hiệu sử dụng
dụng..
Dung lượng ~ thời gian.
gian.

Mức độ dễ hiểu
hiểu..

Nhập mơn lập trình - Nguyễn Minh Huy

14


Đánh giá thuật toán



Độ phức tạp của các thuật toán
toán::
Thuật tốn

Độ phức tạp

Dạng

Tìm số lớn nhất (3 số)

O(K)

Hằng số

Tính giai thừa N

O(n)

Tuyến tính

Sắp xếp dãy số
(N phần tử)

Bubblesort: O(n2)
Quicksort: O(n*log(n))

Đa thức

Người đưa thư

(N thành phố)

O(Kn)
O(n!)

Phi tuyến

Nhập mơn lập trình - Nguyễn Minh Huy

15


Tóm tắt


Thuật tốn
tốn::
Các bước đưa đến kết quả bài tốn
tốn..
 Bài tốn có nhiều thuật tốn với hiệu quả khác nhau
nhau..
 Tính chất:
chất: chính xác
xác,, phổ quát
quát,, dừng.
dừng.






Biểu diễn thuật tốn
tốn::
Mã giả:
giả: dùng ngơn ngữ tự nhiên
nhiên..
 Lưu đồ:
đồ: dùng hình vẽ.
vẽ.




Đánh giá thuật tốn
tốn::


Thời gian thực hiện
 Độ phức tạp thuật tốn
tốn..

Nhập mơn lập trình - Nguyễn Minh Huy

16


Bài tập


Bài tập 2.1:

Xây dựng thuật tốn tính tuổi của một người như sau
sau::
- Nhập vào năm sinh
sinh..
- Tính tuổi hiện tại và xuất kết quả.
quả.

Nhập mơn lập trình - Nguyễn Minh Huy

17


Bài tập


Bài tập 2.2:
Xây dựng thuật tốn tính nút bảng số xe như sau
sau::
- Nhập vào số của bảng số xe (một số có 4 chữ số).
số).
- Tính và xuất số nút
nút..

Nhập mơn lập trình - Nguyễn Minh Huy

18


Bài tập



Bài tập 2.3:
Xây dựng thuật tốn mơ phỏng máy tính tay như sau
sau::
- Nhập vào 2 số nguyên
nguyên..
- Nhập vào phép tính (+, -, *, /).
- Thực hiện phép tính vừa nhập trên 2 số nguyên và xuất kết quả.
quả.

Nhập mơn lập trình - Nguyễn Minh Huy

19


Bài tập


Bài tập 2.4:
Xây dựng thuật toán xếp loại cho học sinh như sau
sau::
- Nhập vào điểm văn
văn,, toán,
toán, ngoại ngữ
ngữ..
- Tính điểm trung bình (văn
văn,, tốn hệ số 2).
- Xếp loại cho học sinh như sau
sau::
+ Giỏi

Giỏi:: ĐTB >= 8.0.
+ Khá:
Khá: ĐTB >= 6.5.
+ Trung bình
bình:: ĐTB >= 5.0.
+ Yếu:
Yếu: ĐTB < 5.0.
- Xuất điểm trung bình và kết quả xếp loại
loại..

Nhập mơn lập trình - Nguyễn Minh Huy

20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×