1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Bai 4 tin 10 Bai toan va thuat toan

20 6 0

Đ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 1,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật toán tìm kiếm nhị phân Ý tưởng: Sử dụng tính chất dãy A đã sắp xếp không giảm, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm bằng cách so sánh k với số hạng ở giữa dãy agiưa, khi đó c[r]

Trang 1

Bài cũ:

1.Nêu khái niệm bài toán, thuật toán?

2.Trình bày thuật toán bằng cách các bước liệt

kê bài toán giải phương trình bậc nhất :

ax + bx = 0 (a ≠ 0).

Trang 2

LIỆT KÊ :

 Bước 1 : Nhập a, b.

 Bước 2 : Nếu a = 0 thì quay lại bước 1,

ngược lại thì qua bước 3.

 Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4.

 Bước 4 : Đưa ra kết quả x và kết thúc

Trang 3

Tiết 11

THUẬT TOÁN (t2)

Trang 4

MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN

Có 2 cách mô tả Liệt kê

Dùng sơ đồ khối

Nêu ra tuần tự các thao

tác cần tiến hành

Dùng một số biểu tượng

thể hiện các thao tác

Trang 5

: Thể hiện các thao tác so sánh

DÙNG SƠ ĐỒ KHỐI

Quy ước: Trong sơ đồ khối, người ta dùng một số

biểu tượng thể hiện các thao tác như :

: Thể hiện các phép toán

: Quy định trình tự thực hiện các thao tác : Thể hiện các thao tác nhập, xuất

dữ liệu

Trang 6

VD 1: Từ thuật toán gpt : ax + b = 0 theo cách liệt kê hãy

biểu diễn thuật toán bằng sơ đồ khối

Nhập a, b

a = 0

x = -b/a

Sai

đúng

a ra x, k t thúc

quay lại bước 1, ngược

lại thì qua bước 3.

giá trị -b/a, rồi qua bước

4.

quả x và kết thúc.

SƠ ĐỒ KHỐI LIỆT KÊ

Trang 7

VD 2: Cho dãy số gồm N số sau (N = 6):

11 7 25 4 15 9 Tìm giá trị NHỎ NHẤT của dãy số trên ?

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

 Tìm ý tưởng?

 Xây dựng thuật toán?

Trang 8

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

Input : Số nguyên dương N và dãy N số

a1, ,aN.

Output : Giá trị lớn nhất (Max) của dãy số.

Trang 9

Tìm ý tưởng?

Gán Min bằng giá trị phần tử đầu tiên của dãy.

Lần lượt so sánh Min với các phần tử tiếp theo

trong dãy Tại mỗi vị trí so sánh :

+ Nếu Min bé thua giá trị phần tử cần so sánh

trong dãy thì lấy giá trị của phần tử đó gán lại cho

Min.

 - Khi so sánh đến phần tử cuối cùng trong dãy số thì

Min sẽ mang giá trị nhỏ nhất của dãy.

Trang 10

Thuật toán: Liệt kê

Bước 1 : Nhập N và dãy a1,…, aN.

Bước 2 : Đặt Min= a1, i=2;

Bước 3 : Nếu i<=N thì thực hiện bước 4, nếu

không thì chuyển đến bước 5.

Bước 4 :

4.1 Nếu Min < ai thì đặt Min =ai 4.2 Tăng i một đơn vị rồi quay về bước 3

Bước 5 : Đưa ra Min rồi kết thúc.

Trang 11

SƠ ĐỒ KHỐI : Nhập N và dãy a1,…, aN

Min = a1 , i = 2

i <=N

Min > a i

Min = a i

i = i+1

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

Sai đúng

úng

đ

Sai

Trang 12

BÀI TẬP VỀ NHÀ

1.Trình bày thuật toán bằng 1 trong 2 cách đã học: tìm Max, giá trị lớn nhất của dãy số gồm

N số a1,…, aN

2 Bài 3, 4, 5

trang 44 (SGK)

Trang 13

Bài cũ:

1.Trình bày thuật toán sắp xếp tráo đổi ?

2.Trình bày thuật toán tìm kiếm tuần tự?

Trang 14

Tiết 14

THUẬT TOÁN (t5)

Trang 15

Bài toán:

Cho dãy n số nguyên a1, ,an đã sắp

xếp không giảm, số nguyên k.

Hãy tìm và chỉ ra vị trí của k (nếu có) trong dãy.

Trang 16

Trò chơi

Tìm số nguyên trong đoạn từ 1 100 Hãy chuẩn bị số bất kỳ, sau 7 câu

hỏi sẽ tìm được?

Trang 17

Thuật toán tìm kiếm nhị phân

Ý tưởng:

Sử dụng tính chất dãy A đã sắp xếp không giảm, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm bằng cách so sánh

k với số hạng ở giữa dãy (agiưa), khi đó chỉ xảy ra một trong ba trường hợp:

- Nếu agiưa= k => tìm được chỉ số, kết thúc;

- Nếu agiưa > k => do dãy A đã được sắp xếp không

giảm nên việc tìm kiếm thu hẹp chỉ xét từ a1 agiưa -1;

- Nếu agiưa < k => do dãy A đã được sắp xếp không giảm

nên việc tìm kiếm thu hẹp chỉ xét từ agiưa + 1 aN.

Trang 18

Mô phỏng thuật toán tìm kiếm nhị phân

10 9

8 7

6 5

4 3

2 1

i

33 31

30 22

21 9

6 5

4 2

A

 Với k = 21 và dãy A gồm 10 số hạng như sau:

Lượt thứ nhất : agiưa là a5 = 9; 9 < 21

 vùng tìm kiếm thu hẹp trong phạm vi từ a6 a10;

33 31

30 22

21

Lượt thứ hai : agiưa là a8 = 30; 30 > 21

 vùng tìm kiếm thu hẹp trong phạm vi từ a6 a7;

Lượt thứ ba : agiưa là a6 = 21; 21= 21

 Vậy số cần tìm là i = 6.

22 21

6

21

Trang 19

Thuật toán tìm kiếm nhị phân:

các bước liệt kê

Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k;

Bước 4: Nếu aGiưa = k thì thông báo chỉ số Giưa rồi kết

thúc;

sang bước 7;

hạng có giá trị bằng k, rồi kết thúc;

Hãy trình bày thuật toán tìm kiếm nhị phân

bằng sơ đồ khối từ cách trình bày liệt kê?

Trang 20

BÀI TẬP VỀ NHÀ

trang 27 – 28 (SGK)

Ngày đăng: 14/06/2021, 15:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w