1. Trang chủ
  2. » Mẫu Slide

Tin học 10 bài toán và thuật toán

74 946 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 74
Dung lượng 1,05 MB

Nội dung

Bài toán Input Thuật toán Output thao tác 1 → thao tác 2 → … → thao tác n Đinh nghĩa: • Một dãy hữu hạn các thao tác; • Các thao tác được sắp xếp theo một trình tự xác định; • Sau khi th

Trang 1

Câu Hỏi 1: Máy vi tính có mấy phần chính?

Câu Hỏi 2: Cho ví dụ về thiết bị đầu vào, thiết bị đầu ra.

- Máy vi tính có ba phần chính: Thiết bị đầu vào, Bộ xử lí

và Thiết bị đầu ra.

- Thiết bị đầu vào: Bàn phím (Keyboard), chuột (Mouse), máy quét, …

- Thiết bị đầu ra: Màn hình, loa, máy in, máy chiếu

(projector),…

Kiểm tra bài cũ

Trang 2

Bài 4: Bài toán và Thuật toán

(Tiết 1)

GVHD: Thầy Nguyễn Khắc Văn SVTH: Võ Thị Vân

Trang 3

- Xét các yêu cầu trong sau:

Bài toán trong toán học.

Trang 4

Các yếu tố cần quan tâm khi giải một bài toán:

 Toán học: Giả thiết và kết luận (ví dụ lên bảng)

 Tin học:

Đưa vào máy tính thông tin gì? Cần lấy ra thông tin gì?

Input Output

Bài toán

Khái niệm về bài toán trong Tin học: là một

việc nào đó ta muốn máy tính thực hiện.

Trang 5

Ví dụ: Tìm UCLN của a, b.

Input: Hai số a, b.

Output: UCLN(a,b)

Một bài toán được cấu thành bởi hai thành phần

cơ bản là Input và Output

Bài toán

Xác định Input, Output của bài toán

Trang 6

Bài toán

Input Bằng cách nào Output

Giải bài toán

Hướng dẫn các thao tác cho máy thực hiên để tìm ra lời giải

Bài toán

Thuật toán

Trang 7

Bài toán

Input Thuật toán Output

(thao tác 1 → thao tác 2 → … → thao tác n)

Đinh nghĩa:

• Một dãy hữu hạn các thao tác;

• Các thao tác được sắp xếp theo một trình tự xác định;

• Sau khi thực hiện dãy các thao tác đó từ Input ta tìm được Output của bài toán.

Thuật toán

Trang 8

1 Học bài và làm bài 1, bài 2 trong SGK và bài 1.28/17 SBT

2 Đọc sách và chuẩn bị bài cho tiết tiếp

theo

Dặn dò

Trang 9

Bài 4: Bài toán và Thuật toán

(Tiết 2)

Trang 10

 Làm thế nào để trình bày thuật toán giải quyết một bài toán cho hợp lý, dễ hiểu và thông qua thuật toán có thể thu được Output từ Input đã cho?

 Tìm hiểu về cách mô tả thuật toán và tính chất của thuật toán)

Thuật toán

Trang 11

1 Mô tả bằng cách liệt kê.

Ví dụ: Tính diện tích hình chữ nhật

 Xác định công thức tính S=chiều dài * chiều rộng

 Xác định chiều dài chiều rộng  tính diện tích (học sinh phải làm theo thứ tự và không được đảo thứ tự giải bài toán)

Cách mô tả thuật toán

Một cách mô tả thuật toán phổ biến nhất là liệt kê :

trình bày theo từng bước có thứ tự nhất định.

Trang 12

Ví du: Tìm số lớn nhất trong hai số a, b

Bước 3.1: Nếu b > Max thì Max  b;

Bước 3.2: Ngược lại thì Max  a;

Trang 13

2 Mô tả bài toán bằng sơ đồ khối

Các khối, đường được sử dụng: Hình thoi thể hiện thao tác

so sánh.

Hình chữ nhật thể hiện các phép tính toán.

Hình ô van thể hiện thao tác nhập, xuất dữ liệu.

Mũi tên quy định trình tự các thao tác.

Cách mô tả thuật toán

Trang 14

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.

Tính xác định: Sau khi thực hiện một thao tác thì hoặc là có đúng một thao tác xác định để thực hiện tiếp theo

Tính đúng đắn: Sau khi thuật toán kết thúc, ta

phải nhận được Output cần tìm

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

Trang 15

Bài 4: Bài toán và Thuật toán

(Tiết 3)

Trang 16

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

- Input: N là một số nguyên dương.

- Output: N là số nguyên tố hoặc N không là số nguyên tố.

2 Ý tưởng:

- Nếu N=1  N không là số nguyên tố.

- Nếu 1<N<4  N là số nguyên tố.

- Nếu N>=4: Tìm ước i đầu tiên>1 của N.

+ Nếu i<N  N không là số nguyên tố (vì N có ít nhất 3 ước 1, i, N).

+ Nếu i=N  N là số nguyên tố.

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 17

3 Xây dựng thuật toán:

a Cách liệt kê:

• Bước 1: Nhập số nguyên dương N;

• Bước 2: Nếu N=1 thì thông báo N; không là số nguyên tố rồi

kết thúc;

• Bước 3: Nếu N<4 thì thông báo N là số nguyên tố rồi kết thúc;

• Bước 4: i← 2;

• Bước 5: Nếu i là ước của N thì đến bước 7;

• Bước 6: i← i+1 rồi quay lại bước 5; (tăng I lên 1 đơn vị)

• Bước 7: Nếu i=N thì thông báo N là số nguyên tố, ngược lại thì

thông báo N không là số nguyên tố rồi kết thúc;

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 18

b Sơ đồ khối

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 19

Cải tiến thuật toán

Ý tưởng:

Tìm i tăng dần trong phạm vi từ 2 đến phần nguyên thỏa điều kiện là ước của N:

- Nếu không tìm được  N là số nguyên tố

- Ngược lại  N không là số nguyên tố

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

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 20

Cách liệt kê:

Bước 1: Nhập số nguyên dương N;

Bước 2: Nếu N=1 thì thông báo N không là số nguyên tố,

kết thúc chương trình;

Bước 3: i← 2;

Bước 4: Nếu i<= và I không là ước của N thì i← i+1, rồi lặp lại bước này.

Bước 5: Nếu i> thì thông báo N là số nguyên tố, ngược lại

thì thông báo N không là số nguyên tố, rồi kết thúc.

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 21

Sơ đồ khối

Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương

Trang 24

Bài 4: Bài toán và Thuật toán

(Tiết 4)

Trang 25

Dãy A chưa được sắp xếp Dãy A được sắp xếp

Trang 27

2 Ý tưởng:

- Với mỗi cặp số hạng đứng liền kề trong dãy, nếu

số trước > số sau, ta đổi chỗ chúng cho nhau (Các

số lớn sẽ được đẩy dần về vị trí xác định cuối dãy)

- Việc này lặp lại nhiều lượt, mỗi lượt tiến hành

nhiều lần so sánh cho đến khi không có sự đổi chỗ nào xảy ra nữa

Ví dụ: Bài toán sắp xếp bằng cách tráo đổi

Trang 28

3 Xây dựng thuật toán:

• Nhập N, các số hạng a1, a2, , an.

• Đầu tiên gọi M là số hạng cần so sánh, vậy M sẽ chứa giá trị của N: M ← N

• Nếu số số hạng cần so sánh < 2 thì dãy đã được sắp xếp Kết thúc.

• M chứa giá trị mới là số phép so sánh cần thực hiện

trong lượt: M ← M-1

• Gọi i là số thứ tự của mỗi lần so sánh, đầu tiên i ← 0.

• Để thực hiện lần so sánh mới, I tăng lên lần 1 (lần so

sánh thứ i)

Ví dụ: Bài toán sắp xếp bằng cách tráo đổi

Trang 29

3 Xây dựng thuật toán:

• Nếu lần so sánh thứ i > số phép so sánh M: đã hoàn tất M số phép so sánh của lượt này

• Lặp lại bước 3, bắt đầu lượt kế tiếp (với số hạng cần so sánh mới chính là M đã giảm 1)

• So sánh 2 phần tử ở lần thứ I là ai

• và ai+1

• Nếu ai>ai+1 thì tráo đổi 2 phần tử này

• Quay lại bước 5

Ví dụ: Bài toán sắp xếp bằng cách tráo đổi

Trang 30

• Bước 6: Nếu i> M thì quay lại bước 3;

• Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;

• Bước 8: Quay lại bước 5;

Ví dụ: Bài toán sắp xếp bằng cách tráo đổi

Trang 31

b Sơ đồ khối

Ví dụ: Bài toán sắp xếp bằng cách tráo đổi

Trang 32

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 33

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 34

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 35

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 36

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 37

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 38

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 39

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 40

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Trang 41

Mô phỏng thực hiện thuật toán

Lần duyệt 1

Kết quả Lần duyệt 1

Trang 42

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 43

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 44

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 45

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 46

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 47

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 48

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Trang 49

Mô phỏng thực hiện thuật toán

6

Lần duyệt 2

Kết quả Lần duyệt 2

Trang 50

Mô phỏng thực hiện thuật toán

6

Lần duyệt 3

Trang 51

Mô phỏng thực hiện thuật toán

6

Lần duyệt 3

Kết quả Lần duyệt 3

Trang 52

Mô phỏng thực hiện thuật toán

6

Lần duyệt 4

Trang 53

Mô phỏng thực hiện thuật toán

6

Lần duyệt 4

Kết quả Lần duyệt 4

Trang 54

Mô phỏng thực hiện thuật toán

6

Lần duyệt 5

Trang 55

Mô phỏng thực hiện thuật toán

6

Lần duyệt 5

Kết quả Lần duyệt 5

Trang 56

Mô phỏng thực hiện thuật toán

7

Lần duyệt 6

Trang 57

Mô phỏng thực hiện thuật toán

4

Lần duyệt 6

Kết quả Lần duyệt 6

Trang 58

Mô phỏng thực hiện thuật toán

7

Lần duyệt 7

Trang 59

Mô phỏng thực hiện thuật toán

5

Lần duyệt 7

Kết quả Lần duyệt 7

Trang 60

Mô phỏng thực hiện thuật toán

5

Lần duyệt 8

Kết quả Lần duyệt 8

Trang 61

Mô phỏng thực hiện thuật toán

4

Lần duyệt 9

Kết quả Lần duyệt 9

Trang 62

Mô phỏng thực hiện thuật toán

4

Lần duyệt 10

Kết quả Lần duyệt 10

Trang 63

Bài 4: Bài toán và Thuật toán

(Tiết 5)

Trang 64

• Output: Vị trí I mà ai = k hoặc thông báo không

tìm thấy k trong dãy

Vị trí của 2 trong dãy là 5 (không tìm thấy 6).

Ví dụ: Bài toán tìm kiếm

Trang 65

2 Ý 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 đi từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khóa cho đến khi gặp một số hạng bằng khóa hoặc dãy đã được xét hết

mà không tìm thấy giá trị của khóa trên dãy

Ví dụ: Bài toán tìm kiếm tuần tự

Trang 66

3 Xây dưng bài toán

• 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, rồi kết thúc;

• Bước 6: Quay lại bước 3;

Ví dụ: Bài toán tìm kiếm tuần tự

Trang 67

b Sơ đồ khối

Ví dụ: Bài toán tìm kiếm tuần tự

Trang 68

Mô phỏng: Bài toán tìm kiếm tuần tự

Trang 69

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

Input: Dãy A là dãy tăng gồm N số nguyên khác

nhau a1, a2, ,an, và một số nguyên k

VD:Dãy A gồm các số nguyên 2 4 5 6 9 21 22 30

31 33 Và k = 21 (k=25)

Output: Vị trí i mà ai = k hoặc thông báo không tìm

thấy k trong dãy

Vị trí của 21 trong dãy là 6 (không tìm thấy 25).

Ví dụ: Bài toán tìm kiếm nhị phân

Trang 70

2 Ý tưởng:

Sử dụng tính chất dãy A đã sắp xếp tăng, ta tìm cách thu hẹp nhanh vùng tìm kiếm bằng cách so sánh k

với số hạng ở giữa phạm vi tìm kiếm (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 =>việc tìm kiếm thu hẹp, chỉ xét từ

agiữa+1→acuối (phạm vi)

Quá trình trên được lặp lại cho đến khi tìm thấy khóa trên dãy A hoặc phạm vi tìm kiếm bằng rỗng

Ví dụ: Bài toán tìm kiếm nhị phân

Trang 71

3 Xây dựng thuật toán:

a Cách liệt kê:

Bước 1: Nhập N, các số hạng a1, a2, , an và giá trị khóa k;

Bước 2: Đầu ← 1; Cuối ← N;

Bước 3: Giữa ← [(Đầu + Cuối)]/2;

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

Bước 5: Nếu agiữa > k thì đặt Cuối = Giữa -1 rồi sang bước 7;

Bước 6: Đầu ← Giữa + 1;

Bước 7: Nếu Đầu > Cuối thì thông báo không tìm thấy khóa k trên

dãy rồi kết thúc;

Bước 8: Quay lại bước 3.

Ví dụ: Bài toán tìm kiếm nhị phân

Trang 72

b Sơ đồ khối

Ví dụ: Bài toán tìm kiếm nhị phân

Trang 73

Mô phỏng: Bài toán tìm kiếm nhị phân

Trang 74

Cảm ơn các em!

Ngày đăng: 02/12/2016, 22:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w