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,41 MB
Nội dung
! ! "! #! $ %&'( )! ! ! ! $ *+, "! "! )! )! $ & /! ! "! "! $/ 012 ! $! 3! /! Ví dụ 1: Quản lí điểm trong một kì thi bằng máy tính. Yêu cầu : Hãy xác định thông tin đ'a vào (Input) và thông tin cần lấy ra (Output) 53 Đỗ 42.5 Đỗ 41 Đỗ 33.5 Đỗ 22 Ví dụ 2: Giải ph'ơng trình bậc nhất ax + b = 0. Yêu cầu : Hãy xác định thông tin đ'a vào (Input) và thông tin cần lấy ra (Output) Input: Các hệ số a, b. Output: Nghiệm của ph'ơng trình. Với a = 1, b = -5 Ph'ơng trình có nghiệm x = 5 1. Khái niệm bài toán Là việc nào đó ta muốn máy thực hiện để từ thông tin đa vào (INPUT) tìm đợc thông tin ra (OUTPUT). Ví dụ 3: Tìm 'ớc số chung lớn nhất của hai số nguyên d'ơng. INPUT: Hai số nguyên d'ơng M và N. OUTPUT: ớc số chung lớn nhất của M và N. Ví dụ 4: Bài toán xếp loại học tập của một lớp. INPUT: Bảng điểm của học sinh trong lớp. OUTPUT: Bảng xếp loại học lực của học sinh. Bài 4. Bài toán và thuật Toán Bài 4. Bài toán và thuật Toán 2. Kh¸i niÖm thuËt to¸n Tõ INPUT lµm thÕ nµo ®Ó t×m ra OUTPUT ? Xét ví dụ 2: Giải ph'ơng trình bậc nh t ax + b = 0. B1: Xác định hệ số a, b; B1: Xác định hệ số a, b; B2: Nếu a=0 và b=0 => Ph'ơng trình vô số nghiệm =>B5; B2: Nếu a=0 và b=0 => Ph'ơng trình vô số nghiệm =>B5; B3: Nếu a B3: Nếu a = = 0 và b 0 và b 0 => Ph'ơng trình vô nghiệm =>B5; 0 => Ph'ơng trình vô nghiệm =>B5; B4: Nếu a B4: Nếu a 0 => Ph'ơng trình có nghiệm x=-b/a =>B5; 0 => Ph'ơng trình có nghiệm x=-b/a =>B5; B5: Kết thúc. B5: Kết thúc. Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác đợc sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta nhận đợc Output cần tìm. Có hai cách thể hiện một thuật toán: Cách 1: Liệt kê các b'ớc. Cách 2: Vẽ sơ đồ khối. B7: Kết thúc. B1: Bắt đầu; B1: Bắt đầu; B2: Nhập a, b, c; B2: Nhập a, b, c; B3: Tính B3: Tính = b = b 2 2 4ac; 4ac; B4: Nếu B4: Nếu < 0 => PT vô nghiệm => B7; < 0 => PT vô nghiệm => B7; B5: Nếu B5: Nếu = 0 = 0 => PT có nghiệm kép x = -b/2a => B7; => PT có nghiệm kép x = -b/2a => B7; B6: Nếu B6: Nếu > 0 > 0 => PT có hai nghiệm x1, x2 = (-b => PT có hai nghiệm x1, x2 = (-b )/2a )/2a => B7; => B7; 3. Một số ví dụ về 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ê các b'ớc Quy 'ớc các khối trong sơ đồ thuật toán Quy 'ớc các khối trong sơ đồ thuật toán Bắt đầu thuật toán. Dùng để nhập và xuất dữ liệu. Dùng để gán giá trị và tính toán. Xét điều kiện rẽ nhánh theo một trong hai điều kiện đúng, sai. Kết thúc thuật toán. BĐ ĐK đ S KT Cách 2: Vẽ sơ đồ khối Nhập vào a, b, c = b - 4ac < 0 = 0 KT BD ! " Sơ đồ thuật toán giải ph'ơng trình bậc hai Sơ đồ thuật toán giải ph'ơng trình bậc hai 2 #$ = % & B1 B2 B3 B4 B5 B6 " ! B7 a,b,c= 1 3 5 ∆ = 3∗3 − 4∗5 = − 11 −11 < 0 ∆ = 0 KT BD -11 ∆ 531 c b a S #$ %±√∆& § S ∆ = ' − ('' nh)*$$ ∆ < 0 M« pháng thuËt to¸n gi¶i ph'¬ng tr×nh bËc hai M« pháng thuËt to¸n gi¶i ph'¬ng tr×nh bËc hai Bé TEST 1: [...]...Mô phỏng thuật toán giải phương trình bậc hai Bộ TEST 2: BD a c 1 a,b,c= 1 a,b,c nhập vào 2 1 b 2 1 0 ==22 41 1 = 0 b*b 4* a*c < 0 S PT vô nghiệm Đ = 0 S Đ PT có nghiệm kép x =-1 PT có nghiệm x=-b/2a 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 c 1 a,b,c= 1 a,b,c nhập vào -5 6 b -5 6 1 = 25 4* a*c = b*b 24 = 1 < 0 S PT vô nghiệm... 5 4 3 5 Số lớn Max của dã thúc Đưa ra nhất rồi kết y là 7 S S 1> 5 ? ai7 > 5 ? ? > Max 4> 7 Đ Max ai 7 ii 2+1 5+1 i+1 3+1 4+ 1 Mô phỏng thuật toán 7 4 7 6 5 7 Max a1;;ii 2 2 Max 5 I 5>5 2> N ? 6 4 3 S S 1> 5 ? ai7 > 5 ? ? > Max 4> 7 Đ Max ai 7 ii 2+1 5+1 i+1 3+1 4+ 1 Đ A i 5 Max Nhập ;N và5 1 4 7 6 ] N=5 A [ dãy a1,,aN 5 1 2 5 4 3 5 Số lớn Max của dã thúc Đưa ra nhất rồi kết y là 7 7 4 7 6 5 7 Thuật. .. 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 S ai > Max ? Đ Max ai Đưa ra Max rồi kết thúc B3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc; B4 : 4. 1: Nếu ai > Max thì Max ai; 4. 2: i i + 1 rồi quay lại B3 i i+1 4 Với i = 2 5 3 Max a1;;ii 2 2 Max 5 I 5>5 2> N ? 4 3 6 Đ A i 5 Max Nhập ;N và5 1 4 7... x=-b/2a 2 nghiệm PT có nghiệm x1 = 3 x1, = 2 = (-b )/2a x2 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 ồ! Quả Tìm ra này lớn quả lớn nhất rồi! hơn 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: ... phỏng thuật toán kiểm tra tính nguyên tố Trường hợp 1: N = 45 ([ 45 ] = 6) i 2 N/i 45 /2 45 /3 Chia hết không? Không 45 không là số nguyên tố 3 Chia hết Trường hợp 2: N = 29 ([ 29 ] = 5) 29 là số nguyên tố i 2 3 4 5 N/i 29/2 29/3 29 /4 29/5 Chia hết không? Không Không Không Không Cách 1: Liệt kê các bước B1: Nhập số nguyên dương N; B2: Nếu N = 1 thông báo N không nguyên tố, kết thúc; B3: Nếu N < 4 thông... Đưa ra nhất rồi kết y là 7 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? 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 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... 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 N = 6 v thuật toán 6 số hạng bằng tráo đổi Mô... 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ố ý tưởng: - Đặt giá trị Max = a1 - Lần lượt cho i chạy từ 2 đến N, so sánh giá trị ai với giá trị Max, nếu ai > 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 . sinh trong lớp. OUTPUT: Bảng xếp loại học lực của học sinh. Bài 4. Bài toán và thuật Toán Bài 4. Bài toán và thuật Toán 2. Kh¸i niÖm thuËt to¸n Tõ INPUT lµm thÕ nµo ®Ó t×m ra OUTPUT ? . và N. OUTPUT: ớc số chung lớn nhất của M và N. Ví dụ 4: Bài toán xếp loại học tập của một lớp. INPUT: Bảng điểm của học sinh trong lớp. OUTPUT: Bảng xếp loại học lực của học sinh. Bài 4. Bài. =>B5; B4: Nếu a B4: Nếu a 0 => Ph'ơng trình có nghiệm x=-b/a =>B5; 0 => Ph'ơng trình có nghiệm x=-b/a =>B5; B5: Kết thúc. B5: Kết thúc. Thuật toán để giải một bài toán