1. Trang chủ
  2. » Giáo án - Bài giảng

bai 4: Thuật toán tìm kiếm tuần tư

20 4,6K 18
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 349 KB

Nội dung

Kiểm tra bài cũ: Câu 1: Bài toán kiểm tra tính nguyên tố của một số nguyên dương N.. a/ Hãy xác định bài toán?. b/ Hãy viết thuật toán liệt kê?... Bài 4: Bài toàn và thuật toán tt... b/

Trang 1

CHÀO MỪNG QUÍ THẦY CÔ TRONG HỘI ĐỒNG SƯ PHẠM

NHÀ TRƯỜNG Đơn Dương, ngày 19 tháng 9 năm 2008

Trang 2

Kiểm tra bài cũ:

Câu 1: Bài toán kiểm tra tính nguyên tố của

một số nguyên dương N

a/ Hãy xác định bài toán?

b/ Hãy viết thuật toán liệt kê?

Trang 3

Bài 4: Bài toàn và thuật toán (tt)

Trang 4

Output: Chỉ số i mà a i = k hoặc thông báo

không có số hạng nào của A bằng k.

3 4 Thuật toán tìm kiếm tuần tự

(Sequential Search)

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

Input: D y A gồm N số nguyên aãy A gồm N số nguyên a 1 , a 2 ,…, a N và khoỏ k.

Trang 5

b/ í t ởng:

Tỡm kiếm tuần tự được thực hiện một cỏch tự nhiờn, lần l ợt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá (k) cho đến khi gặp một số hạng bằng k, nếu đã xét tới số hạng cuối cùng mà không có giỏ trị nào bằng k thì có nghĩa là dãy A không có số hạng nào có giá trị bằng k

Trang 6

c/ Thuật toán:

B íc 1: NhËp N, c¸c sè h¹ng a 1 , a 2 , …, a , a N

vµ gi¸ trÞ kho¸ k;

B íc 2: i  1

B íc 3: NÕu a i = k th× th«ng b¸o chØ sè i , End

B íc 4: i  i+1;

B íc 5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sè h¹ng nµo cã gi¸ trÞ b»ng k, End;

B íc 6: Quay l¹i B3.

* Thuật toán liệt kê:

Trang 7

NhËp N, các số hạng a 1 , a 2 , , a N

vµ khoá k cần tìm

i  1

k ?

§ a ra i và a i =k

råi End

§ S

§

i i + 1

i > N ?

Th«ng b¸o d·y A kh«ng cã sè h¹ng

cã gi¸ trÞ b»ng k,

End

S

Trang 8

5 4

3 2

1 i

51 25

11 8

9 2

4 1

7 5

A

M« pháng thuËt to¸n t×m kiÕm tuÇn tù

 Víi k = 2 vµ d·y A gåm 10 sè h¹ng nh sau:

T¹i vÞ trÝ i = 5 cã a 5 = 2 = k

 Víi k = 6 vµ d·y A gåm 10 sè h¹ng nh sau:

i

Víi mäi i tõ 1 10 kh«ng cã a i cã gi¸ trÞ b»ng 6

5

1 2 3 4 5 6 7 8 9 10 11

Trang 9

Bài 4: Bài toàn và thuật toán (tt)

3 5 ThuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

ax 2 + bx + c = 0 (a  0)

Trang 10

a/ Xác định bài toán

3 5 ThuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

ax 2 + bx + c = 0 (a  0)

- PT Vô nghiệm Output:

Input: các số thực a, b, c (a≠0)

- PT Có 1 nghiệm x=-b/2a

- PT Có 2 nghiệm phân biệt

x1, x2= (-b  )/2a

Trang 11

b/ Ý tưởng

3 5 ThuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

ax 2 + bx + c = 0 (a  0)

- Lập Δ = b2 – 4ac

- Nếu  < 0 => PT vô nghiệm, end;

- Nếu  = 0 => PT có nghiệm kép x= -b/2a, end;

- Nếu  > 0 =>PT có 2 nghiệm x1,x2= (-b  )/2a

end;

Trang 12

B6: Kết thúc

B1: Nhập các số thực a, b, c (a  0)

B2: Lập  = b2 – 4ac

B3: Nếu  < 0 => PT vô nghiệm => B6

B4: Nếu  = 0 => PT có nghiệm x = -b/2a => B6

B5: PT có hai nghiệm

x1, x2 = (-b  )/2a => B6

c\ Thuật toán:

* Thuật toán bằng liệt kê:

Trang 13

NhËp vµo a, b, c

< 0

Đ

s

* Thuật toán bằng sơ đồ khối:

PT cã 2 nghiÖm

x1, x2 =

B1

B2

B3

B4

B5

B6

 = b2 – 4ac

PT Vô nghiệm

Trang 14

a, b, c = 1, 3, 5

  



 PT v« nghiÖm

= 0 PT cã nghiÖm x =-b/2a KT

-11

5 3

1

c b

a

S

PT cã 2 nghiÖm x1, x2 = (-b  )/ 2a

§

S

nhËp vµo a,b,c

 

M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

Bộ TEST 1:

Trang 15

a, b, c= 1, 2, 1

  

PT v« nghiÖm

0

1 2

1

c b

a

S

PT cã 2 nghiÖm

§

S

nhËp vµo a,b,c

 

M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

Bộ TEST 2:

§

 PT cã nghiÖm kÐp x=-1

Trang 16

a, b, c= 1, - 5, 6

   

PT v« nghiÖm

PT cã nghiÖm x = -b/2a KT

1

6

- 5 1

c b

a

S

PT cã 2 nghiÖm x1, x2 = (-b  )/2a

§

S

nhËp vµo a, b, c



M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai

B ộ TEST 3:

§



PT cã nghiÖm x1 = 3 x2 = 2

Trang 17

Bài tập:

Bài 1: Cho dãy các thao tác sau:

Bước 1: Xoá bảng

Bước 2: Vẽ đường tròn

Bước 3: Quay lại bước 1

Có phải là thuật toán không? Vì sao?

- Không xác định rõ đâu là input đâu là output

- Các bước trên là một vòng lặp vô hạng,

không có tính dừng

Trang 18

Bài toán và thuật toán

a/ Xác định bài toán

b/ Ý tưởng

c/ Thuật toán Thuật toán liệt kê

Thuật toán bằng sơ đồ khối

Trang 19

Bài 2: Hãy chỉ ra tính dừng của thuật toán tìm kiếm tuần tự?

Thuật toán tìm kiếm tuần tự dừng khi

- Đã tìm thấy ai=k hoặc

- i >N đã kiểm tra hết các phần tử trong dãy

mà vẫn không có giá trị bằng k

Trang 20

Chào tạm biệt quí thầy

Hẹn gặp lại see you again!

Ngày đăng: 25/06/2013, 01:27

TỪ KHÓA LIÊN QUAN

w