Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
2,39 MB
Nội dung
Ví dụ 1: Quản lí điểm kì thi máy tính SBD Họ tên Văn Toán Lí Anh Tổng 105 Lê Thị Thu 8.5 10.0 7.0 9.0 102 Vũ Ngọc Sơn 6.0 8.5 8.5 5.0 215 Trần Thuỷ 7.0 7.0 6.5 6.5 211 Nguyễn Anh 4.5 5.0 7.0 7.5 245 Phan Vân 5.0 2.0 3.5 4.5 Kết 53 Đỗ 42.5 Đỗ 41 Đỗ 33.5 Đỗ 22 Input: Yêu cầu :SBD, Họ tên, Văn, Toán, Lí, Anh Hãy xác định thông đa thi vàocủa (Input) Output: Tổng điểm, Kếttin học sinh thông tin cần lấy (Output) Ví dụ 2: Giải phơng trình bậc ax + b = Yêu cầu : Input: Các hệ số a, b Hãy xác định thông tin đa vào (Input) Output: thông Nghiệm tin cần lấy phơng (Output) trình Với a = 1, b = -5 Phơng trình có nghiệm x = Bài Bài toán thuật Toán 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 đợc 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 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 ? 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 Thuật toán để giải toán dãy hữu hạn thao tác đợ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 đợc 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 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 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 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 Nhập N a1, a2, , aN M N M< 2? Đ Đa A xếp kết thúc S M M - 1; i ii+1 Đ i> M? Tráo đổi ai+1 Đ S > ai+1 ? S Cách Vẽ sơ đồ khối 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 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 Mô thuật toán tìm kiếm Với k = dãy A gồm 10 số hạng nh 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 nh sau: A 11 25 51 I 10 11 Với i từ 10 có giá trị ýư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 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 Nhập N, a1, a2, , aN k i1 Đ = k? Đa i kết thúc S i i + S i> N? Cách Vẽ sơ đồ khối Đ Thông báo dãy A số hạng có giá trị k, kết thúc 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 đợc số, kết thúc; - Nếu agiữa > k => dãy A đợc 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 đợc xếp tăng nên việc tìm kiếm thu hẹp xét từ agiữa + aN Quá trình đợc lặp lặp lại tìm đợc OUTPUT 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 nh 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 Vậy số cần tìm i = 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; Bớc 8: Quay lại bớc Bài toán thuật Toán Khái niệm toán Khái niệm thuật toán Thuật toán giải phơng trình bậc hai (a 0) Thuật toán tìm Max dãy số Thuật toán kiểm tra tính nguyên tố số nguyên dơng Thuật toán xếp tráo đổi Thuật toán tìm kiếm nhị phân [...]... x22= (-b )/2a x2 = 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 đã đợ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 Cùng tìm thuật toán Quả này lớn nhất MAX Quả này mới lớn nhất ồ!Tìm Quảra này quảlớn lớn nhất hơn rồi! 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,... 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 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 báo không có số hạng nào của A bằng k Mô phỏng thuật toán tìm kiếm... tự thấp trớc cao sau (hình b) 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 ý tởng: Với mỗi 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 Với = 6 v thuật dãy A toán gồm 6sắp số hạng nh sautráo... B3: Nếu M < 2 thì đa ra dãy A đã sắp xếp rồi kết thúc; B4: M M 1; i 0; 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 Nhập N và a1, a2, , aN M N M< 2? Đ Đa ra A đã sắp xếp rồi kết thúc S M M - 1; i 0 ii+1 Đ i> M? Tráo đổi ai và ai+1 Đ S ai > ai+1 ? S Cách 2 Vẽ sơ đồ khối Thuật toán tìm kiếm C1: Tìm kiếm tuần tự ( mở từng mũ) Bông trốn...Mô phỏng thuật toán giải phơng trình bậc hai Bộ TEST 2: BD a,b,c= 12 1 nhập vào a,b,c a b c 1 2 1 0 == b*b 22 4*a*c 411 = 0 < 0 S PT vô nghiệm Đ = 0 S Đ PTcó cónghiệm nghiệmx=-b/2a kép x=-1 PT PT có 2 nghiệm x1, x2 = (-b )/2a KT 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 == b*b 25 24 4*a*c... Số ra Max nhấtrồi của kếtdãy thúclà 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? 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 Max thì Max nhận giá trị mới là ai 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 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 Đa ra Max rồi kết thúc S ai > Max ? Đ... thì Max ai; 4.2: i i + 1 rồi quay lại B3 i i+1 4 Với i = 5 2 3 Nhập N=5 ;NAvà [ 5dãy 1 4 a1,,aN 76] Max 22 Max a1 5 ;;ii I >> N 5 2 3 4 6 5? Đ A i 5 Max 5 1 2 5 4 3 5 Đa lớn Số ra Max nhấtrồi của kếtdãy thúclà 7 S S 1>>Max ai7> 4> 55 7 ??? Đ Max a 7i ii 5+1 3+1 2+1 i+1 4+1 7 4 7 Mô phỏng thuật toán 6 5 7 Nhập N=5 ;NAvà [ 5dãy 1 4 a1,,aN 76] Max 22 Max a1 5 ;;ii I >> N 5 2 3 4 6 5? S S 1>>Max... nguyên tố rồi kết thúc; B4: i 2; B5: Nếu i > [ N ] thì thông báo N là nguyên tố, kết thúc; B6: Nếu N chia hết cho i thì thông báo N không nguyên tố rồi kết thúc; B7: i i +1 rồi quay lại B5 Nhập N Đ Cách 2 Vẽ sơ đồ khối N =1 ? S N< 4? Đ S i2 Đ i>[N ] ? S i i +1 Thông báo N không là số nguyên tố rồi kết thúc S N có chia hết cho i? Đ Thông báo N là số nguyên tố rồi kết thúc Thuật toán sắp xếp Hình a Hình... trờng hợp - Nếu N = 1 thì N không là số nguyên tố - Nếu 1< N ... bớc Bài toán thuật Toán Khái niệm toán Khái niệm thuật toán Thuật toán giải phơng trình bậc hai (a 0) Thuật toán tìm Max dãy số Thuật toán kiểm tra tính nguyên tố số nguyên dơng Thuật toán xếp... 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 Sơ đồ thuật toán giải... xác định thông tin đa vào (Input) Output: thông Nghiệm tin cần lấy phơng (Output) trình Với a = 1, b = -5 Phơng trình có nghiệm x = Bài Bài toán thuật Toán Khái niệm toán Là việc ta muốn máy