1 of 8

BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN (tiết 3)

Ví dụ về thuật toán

2 of 8

THUẬT TOÁN TÌM MAX

3

Người ta đặt 5 quả bóng có kích thước khác nhau trong hộp đã được đậy nắp như hình bên. Chỉ dùng tay hãy tìm ra quả bóng có kích thước lớn nhất .

3 of 8

Qu¶ nµy lín nhÊt

Qu¶ nµy míi lín nhÊt

å! Qu¶ nµy lín h¬n

T×m ra qu¶ lín nhÊt råi!

Cïng t×m thuËt to¸n

MAX

4 of 8

Ví dụ 1: Cho số nguyên dương N và dãy số nguyên a1, a2, …, aN. Tìm giá trị lớn nhất của dãy số đó

Xác định bài toán:

Input: Số nguyên dương N và dãy N số nguyên a1, a2, …, aN. Output: Số lớn nhất (Max) của dãy số.

5 of 8

Ý tưởng:� - Đặt giá trị Max = a1.- Lần lượt cho i chạy từ 2 đến N, so sánh� giá trị ai với giá trị Max, nếu ai > Max thì� Max nhận giá trị mới là ai.

6 of 8

Cách 1: Liệt kê các bước

B1: Nhập N và dãy a1,…, aN;

B2: Max ← a1; i ← 2;

B3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc;

B4:� Bước 4.1: Nếu ai > Max thì Max ← ai;� Bước 4.2: i ← i+1 rồi quay lại B3.

7 of 8

Đ

S

Đ

S

Nhập N và dãy a1,…,aN

Max ← a1 ; i ← 2

i > N ?

ai > Max ?

Max ← ai

i ← i + 1

Đưa ra Max rồi kết thúc

B1: Nhập N và dãy a1,…,aN;

B2: Max ← a1; i ← 2;

B3: Nếu i > N thì đưa ra giá trị � Max rồi kết thúc;

B4 :� 4.1: Nếu ai > Max thì Max ← ai;

4.2: i ← i + 1 rồi quay lại B3.

Cách 2: Sơ đồ khối

8 of 8

Tính chất của thuật toán:

-Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác;.

-Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo;

-Tính đúng đắn: Sau khi thuật toán kết thúc, ta nhận được Output cần tìm.