BÀI TOÁN và THUẬT TOÁN

39 270 0
BÀI TOÁN và THUẬT TOÁN

Đ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

Trng THPT Quang Trung Nng Tun 5+6+7 Tit 10, 11, 12, 13, 14 Bài Bài toán thuật Toán 12/03/16 Ngun: Su tm 1 Khái niệm toán Là việc ta muốn máy thực để từ thông tin đưa vào (INPUT) tìm thông tin (OUTPUT) Ví dụ 3: Tìm ước số chung lớn hai số nguyên dương INPUT: Hai số nguyên dương M N OUTPUT: ước số chung lớn M N Ví dụ 4: Bài toán xếp loại học tập lớp INPUT: Bảng điểm học sinh lớp OUTPUT: Bảng xếp loại học lực học sinh 12/03/16 Ngun: Su tm 2 Khái niệm thuật toán Các em cần tìm cách giải toán Từ INPUT làm để tìm OUTPUT ? 12/03/16 Ngun: Su tm Xét ví dụ 2: Giải phương trình bậc nht ax + b = B1: Xác định hệ số a, b; B2: Nếu a=0 b=0 => Phương trình vô số nghiệm =>B5; B3: Nếu a=0 b0 => Phương trình vô nghiệm =>B5; B4: Nếu a0 => Phương trình có nghiệm x=-b/a =>B5; B5: Kết thúc 12/03/16 Ngun: Su tm Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận Output cần tìm Có hai cách thể thuật toán: Cách 1: Liệt kê bước Cách 2: Vẽ sơ đồ khối 12/03/16 Ngun: Su tm Một số ví dụ thuật toán Thuật toán giải phương trình bậc hai (a 0) Cách 1: Liệt kê bước B1: Bắt đầu; B2: Nhập a, b, c; B3: Tính = b2 4ac; B4: Nếu < => PT vô nghiệm => B7; B5: Nếu = => PT có nghiệm kép x = -b/2a => B7; B6: Nếu > => PT có hai nghiệm x1, x2 = (-b )/2a => B7; B7: Kết thúc 12/03/16 Ngun: Su tm Cách 2: Vẽ sơ đồ khối Quy ước khối sơ đồ thuật toán Bắt đầu thuật toán BĐ Dùng để nhập xuất liệu Dùng để gán giá trị tính toán đ Xét điều kiện rẽ nhánh theo hai điều kiện đúng, sai ĐK S Kết thúc thuật toán KT 12/03/16 Ngun: Su tm Sơ đồ thuật toán giải phương trình bậc hai BD B1 Nhập vào a, b, c B2 =b - B3 4ac đ ai+1 tráo đổi ai+1 cho nhau; B8: Quay lại B5 12/03/16 Ngun: Su tm 29 Nhập N a1, a2, , aN M N Đ Đưa A xếp kết thúc M< 2? S M M - 1; i ii+1 Đ Cách Vẽ sơ đồ khối i> M? Tráo đổi ai+1 12/03/16 Đ S > ai+1 ? S Ngun: Su tm 30 Thuật toán tìm kiếm C1: Tìm kiếm ( mở mũ) Bông trốn đâu ? C2: Do mũ xếp lớn dần, hai mũ đầu nhỏ người Bông nên tìm hai mũ sau thôi! Hai bạn chó (Bi Bông) chơi trốn tìm, Bông trốn vào mũ ông già Nôen Hãy cách tìm mũ mà Bông trốn? Cho biết có cách 12/03/16 Ngun: Su tm 31 nào? Thuật toán tìm kiếm Xác định toán: INPUT: Dãy A gồm N số nguyên a1, a2, , aN đôi khác số nguyên k OUTPUT: Chỉ số i mà = k thông báo số hạng A k 12/03/16 Ngun: Su tm 32 Mô thuật toán tìm kiếm Với k = dãy A gồm 10 số hạng sau: A I 11 25 51 Tại vị trí i = có a5 = = k Với k = dãy A gồm 10 số hạng sau: A 11 25 51 I 12/03/16 Với 10 11 Su tm có a có giá33 i từ 1Ngun: 10 không trị i ý tưởng: Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng xét với khoá (k) có trùng nhau, xét tới số hạng cuối mà trùng có nghĩa dãy A số hạng có giá trị k 12/03/16 Ngun: Su tm 34 Cách 1: Liệt kê bước Bước 1: Nhập N, số hạng a1, a2, , aN giá trị khoá k; Bước 2: i 1; Bước 3: Nếu = k thông báo số i, kết thúc; Bước 4: i i+1; Bước 5: Nếu i > N thông báo dãy A số hạng có giá trị k, kết thúc; Bước 6: Quay lại B3 12/03/16 Ngun: Su tm 35 Nhập N, a1, a2, , aN k i1 Đ = k? Đưa i kết thúc S i i + S 12/03/16 i> N? Cách Vẽ sơ đồ khối Đ Thông báo dãy A số hạng có giá trị Ngun: Su k, kết thúc tm 36 Thuật toán tìm kiếm nhị phân ý tưởng: Sử dụng tính chất dãy A xếp tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm cách so sánh k với số hạng dãy (agiữa), xảy ba trư ờng hợp: - Nếu agiữa= k => tìm số, kết thúc; - Nếu agiữa > k => dãy A xếp tăng nên việc tìm kiếm thu hẹp xét từ a1 agiữa - 1; - Nếu agiữa < k => dãy A xếp tăng nên việc tìm kiếm thu hẹp xét từ agiữa + aN Quá trình lặp lặp lại tìm OUTPUT 12/03/16 Ngun: Su tm 37 Mô thuật toán tìm kiếm nhị phân Với k = 21 dãy A gồm 10 số hạng sau: A 21 22 30 31 33 i 10 Lượt thứ nhất: agiữa a5 = 9; < 21 vùng tìm kiếm thu hẹp phạm vi từ a6 a10; Lượt thứ hai: agiữa a8 = 30; 30 > 21 vùng tìm kiếm thu hẹp phạm vi từ a6 a7; Lượt thứ ba: agiữa a6 = 21; 21= 21 12/03/16 Vậy số cần tìm i = Ngun: Su tm 38 Liệt kê bước Bước 1: Nhập N, số hạng a1, a2, , aN giá trị khoá 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ông báo số Giữa kết thúc; Bước 5: Nếu aGiữa > k đặt Cuối = Giữa - chuyển sang bước 7; Bước 6: Đầu Giữa + 1; Bước 7: Nếu Đầu Cuối thông báo dãy A số hạng có giá trị k, kết thúc; 12/03/16 Ngun: Su tm Bước 8: Quay lại bước 39 [...]... hình bên Chỉ dùng tay hãy tìm ra quả bóng cóNgun: kích Su thước 12/03/16 tm lớn nhất 12 Cùng tìm thuật toán Quả này lớn nhất MAX 12/03/16 Quả này mới lớn nhất Ngun: Su tm ồ!Tìm Quảra này quảlớn lớn nhất hơn rồi! 13 Thuật toán tìm số lớn nhất trong một dãy số nguyên Xác định bài toán: INPUT: Số nguyên dương N và dãy N số nguyên a1, a2, , aN (ai với i: 1N) OUTPUT: Số lớn nhất (Max) của dãy số 12/03/16... của Bông nên chỉ tìm hai mũ sau thôi! Hai bạn chó (Bi và Bông) chơi trốn tìm, Bông đã trốn vào một trong những chiếc mũ của ông già Nôen trên Hãy chỉ ra các cách tìm chiếc mũ mà Bông đang trốn? Cho biết có những cách 12/03/16 Ngun: Su tm 31 nào? Thuật toán tìm kiếm tuần tự Xác định bài toán: INPUT: Dãy A gồm N số nguyên a1, a2, , aN đôi một khác nhau và số nguyên k OUTPUT: Chỉ số i mà ai = k hoặc thông... rồi kết 12/03/16 thúc S Thông báo N là số nguyên tố rồi kết thúc N có chia hết cho i? Đ Ngun: Su tm 24 Thuật toán sắp xếp Hình b Hình a Hãy tìm cách sắp xếp học sinh đứng chào cờ (hình a) theo thứ tự thấp trước cao sau (hình b) 12/03/16 Ngun: Su tm 25 Thuật toán sắp xếp bằng tráo đổi Xác định bài toán: INPUT: Dãy A gồm N số nguyên a1, a2, , aN OUTPUT: Dãy A được sắp xếp thành dãy không giảm 12/03/16...Mô phỏng thuật toán giải phương trình bậc hai Bộ TEST 3: BD a,b,c= 1 -5 6 nhập vào a,b,c a b c 1 -5 6 1 == 25 b*b 244*a*c = 1 < 0 S 12/03/16 PT vô nghiệm Đ = 0 S Đ PT có nghiệm x=-b/2a 2 nghiệm PT có nghiệm x1 = 3 x1, x22 = (-b )/2a x2 = Ngun: Su tm 11 KT 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... B5: i i +1; B6: Nếu i > M thì quay lại B3; B7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau; B8: Quay lại B5 12/03/16 Ngun: Su tm 29 Nhập N và a1, a2, , aN M N Đ Đưa ra A đã sắp xếp rồi kết thúc M< 2? S M M - 1; i 0 ii+1 Đ Cách 2 Vẽ sơ đồ khối i> M? Tráo đổi ai và ai+1 12/03/16 Đ S ai > ai+1 ? S Ngun: Su tm 30 Thuật toán tìm kiếm C1: Tìm kiếm tuần tự ( mở từng mũ) Bông trốn đâu nhỉ ? C2: Do các... Su tm 4+1 4 3 5 19 7 4 7 6 5 7 Thuật toán kiểm tra tính nguyên tố của một số nguyên dương Xác định bài toán: INPUT: N là một số nguyên dương OUTPUT: Trả lời câu hỏi N có là số nguyên tố không? 12/03/16 Ngun: Su tm 20 Các em hãy nêu định nghĩa số nguyên tố ý tưởng: Xét các trường hợp - Nếu N = 1 thì N không là số nguyên tố - Nếu 1< N > N 5 2 3 4 6 5? Đ A i 5 Max 5 1 2 5 4 3 5 Đưalớn Số ra nhất Max rồi củakết dãythúc là 7 S S 1>>Max ai7> 4> 55 7 ??? Đ Max a 7i 12/03/16 ii 5+1 3+1 2+1 i+1 Ngun: Su tm 4+1 Mô phỏng thuật toán 18 7 4 7 6 5 7 Nhập ãy4a1,,aN N=5 ;NAvà [ 5d1 76] Max 22 Max a1 5 ;;ii I >> N 5 2 3 4 6 5? Đ A i 5 Max... nhau và số nguyên k OUTPUT: Chỉ số i mà ai = k hoặc thông báo không có số hạng nào của A bằng k 12/03/16 Ngun: Su tm 32 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: A 5 7 1 4 2 I 1 2 3 4 5 9 8 11 25 51 Tại vị trí i = 5 có a5 = 2 = k Với k = 6 và dãy A gồm 10 số hạng như sau: A 5 7 1 4 2 9 8 11 25 51 I 1 2 3 4 5 6 7 12/03/16 Với mọi 8 9 10 11 Su tm có a có giá33 i từ... cặp số hạng đứng liền kề trong dãy, nếu số trư ớc lớn hơn số sau ta đổi vị trí chúng cho nhau Việc đó được lặp lại cho đến khi không có sự đổi chỗ nào xảy ra nữa 12/03/16 Ngun: Su tm 27 Với = 6 v thuật dãy A toán gồm 6sắp số hạng như sau : đổi Mô Nphỏng xếp bằng tráo 3 5 9 8 1 7 Lượt thứ nhất: 3 5 9 8 3 5 8 9 3 3 5 5 8 8 1 1 Lượt thứ hai: 1 1 9 7 7 3 5 8 1 7 9 7 3 5 1 8 7 9 3 5 1 7 8 9 7 9 Lượt thứ... nhận giá trị mới là ai 12/03/16 Ngun: Su tm 15 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 12/03/16 Ngun: Su tm 16 Cách 2: Sơ đồ khối Nhập N và dãy a1,,aN B1: Nhập N và dãy a1, ,aN; B2: Max a1; i 2; Max a1 ; i 2 Đ i>N? S S ai > Max ? Đ Max ai Đưa ... ước khối sơ đồ thuật toán Bắt đầu thuật toán BĐ Dùng để nhập xuất liệu Dùng để gán giá trị tính toán đ Xét điều kiện rẽ nhánh theo hai điều kiện đúng, sai ĐK S Kết thúc thuật toán KT 12/03/16... 12/03/16 Ngun: Su tm Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận Output cần tìm Có hai cách thể thuật toán: Cách 1:... N Ví dụ 4: Bài toán xếp loại học tập lớp INPUT: Bảng điểm học sinh lớp OUTPUT: Bảng xếp loại học lực học sinh 12/03/16 Ngun: Su tm 2 Khái niệm thuật toán Các em cần tìm cách giải toán Từ INPUT

Ngày đăng: 03/12/2016, 19:37

Từ khóa liên quan

Mục lục

  • Trường THPT Quang Trung Đà Nẵng

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan