Khi thiết kế hoặc lựa chọn thuật toán, người ta quan tâm đến các tài nguyên như: thời gian thực hiện, số lượng các ô nhớ,.... thời gian thực hiện.[r]
(1)Bài toán: Bài toán:
Cho tam giác ABC vng A có AB= 4cm; BC=5cm; Cho tam giác ABC vng A có AB= 4cm; BC=5cm; Tính AC?
Tính AC?
Em tiến hành giải toán trên nào?
Đọc kĩ đề xem đề cho biết cái cần tìm gì? Tìm cách giải
Trình bày lời giải
Kiểm tra lại làm, chỉnh sửa (chính tả, cơng thức, )
Xác định toán
Lựa chọn thiết kế thuật toán
Viết chương trình Hiệu chỉnh
Viết tài liệu
Vì tam giác ABC vng A nên theo định lí Pitago ta có: AB2 + AC2 = BC2
AC2 = BC2 – AB2
AC2= 52 – 42 = 9
AC= 3
Vậy độ dài cạnh AC dm Sử dụng định lí Pitago:
AB2 + AC2 = BC2
AC2 = BC2 – AB2
Đề cho biết:
-Tam giác ABC vuông A -Độ dài cạnh AB
-Độ dài cạnh BC
Cần tìm:
- Độ dài cạnh AC
Vì tam giác ABC vng A nên theo định lí Pitago ta có: AB2 + AC2 = BC2
AC2 = BC2 – AB2
AC2= 52 – 42 = 9
AC= 3
Vậy độ dài cạnh AC cm
(2)Xác định toán
Lựa chọn thiết kế thuật tốn Viết chương trình
Hiệu chỉnh Viết tài liệu
(3)1 Xác định tốn:
BÀI TỐN
Xác định BT việc xác định rõ Input, Output mối quan hệ chúng
Input
Output
Mối quan hệ
Ví dụ: Cho tam giác ABC vng A có AB= 4cm; BC=5cm; Tính AC?Cho tam giác ABC vng A có AB= 4cm; BC=5cm; Tính AC? Input: số thực a, c để độ dài cạnh AB, BC
Output: số thực b để độ dài cạnh AC a
(4)2 Lựa chọn thiết kế thuật toán:
a Lựa chọn thuật tốn:
Giải hệ phương trình bậc hai ẩn:
Ví dụ:
Phương pháp
Từ (2) ta có y= x-6
Thay y = x-6 vào (1) ta có: 2x + 5(x-6)=-2 7x- 30=-2 x= y = -2
Vậy nghiệm hệ (4, -2)
Phương pháp cộng
Nhân vế (2) với ta có -2x+2y=-12(3)
Cộng (1) (3) vế với vế ta có: 7y=-14 y= -2
Thay vào (2) ta có x=4
Vậy nghiệm hệ (4, -2)
2(1)
6(2)
x y x y
(5)2 Lựa chọn thiết kế thuật tốn:
a Lựa chọn thuật tốn:
BÀI TỐN TÌM KIẾM B1: Nhập dãy, nhập khố k
B2: i 1;
B3: Nếu ai =k thơng báo số i kết thúc
B4: i i+1;
B5: Nếu i>N thơng báo dãy A khơng có số hạng có giá trị k kết thúc
B6: Quay lại B3
Ví dụ:
Thuật tốn tìm kiếm
Thuật tốn tìm kiếm nhị phân
(6)2 Lựa chọn thiết kế thuật toán:
Khi thiết kế lựa chọn thuật toán, người ta quan tâm đến tài nguyên như: thời gian thực hiện, số lượng ô nhớ, thời gian thực
Ngoài người ta quan tâm đến thiết kế lựa chọn thuật toán cho việc viết chương trình phức tạp
(7)2 Lựa chọn thiết kế thuật toán:
b Diễn tả thuật tốn
Ví dụ: Tìm ước chung lớn (ƯCLN) số nguyên dương M N
-Xác định toán: -Input: Cho M, N; -Output: ƯCLN(M,N) -Ý tưởng:
-Nếu M=N ƯCLN M N M -Nếu M > N
ƯCLN(M,N) = ƯCLN(M-N, N) -Nếu M<N
ƯCLN(M,N) = ƯCLN(M, N - M)
Thuật toán:
B1: Nhập M, N;
B2: Nếu M = N lấy giá trị chung làm ƯCLN chuyển đến B5
B3: Nếu M>N M M-N quay lại B2
B4: N N-M quay lại B2
B5: Đưa kết ƯCLN kết thúc
(8)3 Viết chương trình
Lựa chọn cách tổ chức liệu
Sử dụng ngơn ngữ lập trình Viết chương trình
Ví dụ:
Chương trình cho tốn tìm ƯCLN viết ngơn ngữ lập trình Pascal
-Viết chương trình ngơn ngữ phải tn theo qui
định ngữ pháp ngơn ngữ đó.
-Chương trình dịch phát thơng báo lỗi mặt
(9)4 Hiệu chỉnh:
-Cần phải thử chương trình cách thực với
nhiều Input tiêu biểu toán
-Những Input Output tương ứng gọi
Test.
-Nếu sai sót ta phải sửa lại thử lại
Hiệu chỉnh
Ví dụ: Kiểm chứng tính đắn chương trình giải phương trình bậc hai ax2 + bx + c = , ta sử dụng Input sau:
-Biệt số ∆ > 0: a=1, b=-5, c=6 -Biệt số ∆ = 0: a=1, b=-4, c=4 -Biệt số ∆ > 0: a=1, b=4, c=8
(10)5 Viết tài liệu:
Tài liệu phải:
-Mô tả tốn, thuật tốn -Thiết kế chương trình
-Kết thử nghiệm -Hướng dẫn sử dụng
(11)Củng cố
Như để giải toán máy tính cần thực hiện qua bước:
-Xác định toán
-Lựa chọn thiết kế thuật tốn -Viết chương trình
(12)Bài tập
Hãy xác định toán, lựa chọn thiết kế thuật toán cho tốn sau:
- Giải phương trình bậc ẩn: ax+b=0
Input: Các hệ số a, b
Output: thơng báo nghiệm phương trình (1
nghiệm, vơ nghiệm hay vơ số nghiệm)
Thuật tốn:
B1: Nhập hệ số a, b
B2: Nếu a = b= đưa thơng báo phương trình có vơ số nghiệm kết thúc
B3: Nếu a = b ≠ thơng báo phương trình vơ nghiệm kết thúc
(13)Nhập M N
M = N?
Đưa M kết thúc Đúng
M > N?
M M-N
Đúng
Sai Sai
N N - M
B1
B2
B3 B4
(14)2 Lựa chọn thiết kế thuật tốn:
Ví dụ: Tìm ƯCLN (35, 15)
M = 35
N = 15
M > N M M- N
M = 35 M = 20
N = 15
Lần duyệt 1
M = 20
M > N M M- N
M = 5
N = 15
Lần duyệt 2
M < N N N-M
N = 10 M = 5
Lần duyệt 3
N = 15
M < N N N-M
N = 10 N = 5
M = 5
Lần duyệt 4
(15)2 Lựa chọn thiết kế thuật tốn:
Ví dụ: Tìm ƯCLN (11, 13)
ƯCLN(11, 13) = 1
M=11 N=13
Lần duyệt 1
N N- M
M=11
N=2
Lần duyệt 2
M M-N
M=9
N=2
Lần duyệt 3
M M-N M=7 N=2 L ần d uy ệt 4 M M -N M=5 N=2
Lần duyệt 5
M M-N
M=3
N=2
Lần duyệt 6
M M-N
M=1
N=2
Lần duyệt 7
N N-M
M=1