Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
345 KB
Nội dung
CHƯƠNG : GIẢI QUYẾT BÀI TỐN BẰNG MÁY TÍNH 2.1 Thuật toán 2.2 Biểu diễn thuật toán 2.3 Các bước giải tốn máy tính 2.1 Thuật tốn CHƯƠNG TRÌNH = THUẬT TỐN + CẤU TRÚC DỮ LIỆU (Programs = algorithms + Data Structures) Khái niệm THUẬT TOÁN Hệ thống qui tắc đối tượng Dãy hữu hạn thao tác (bước) Thực hữu hạn lần thao tác ta đạt mục tiêu định trước VD: giải phương trình ax + b = (a0) Đối tượng: a,b,x Qui tắc : ax + b = qui tắc toán học khác Các thao tác : (1) Nhập giá trị cho a (a0), b (2) Tính x = -b/a (3) Xuất kết x (4) Dừng Chú ý : •Một vấn đề, tốn cho trước có nhiều thuật tốn khác Các thao tác : (1) Nhập giá trị cho a (a0), b (2) Tính x = -b/a (3) Xuất kết x (4) Dừng Các thao tác : (1) Nhập giá trị cho a (a0), b (2) Tính x1 = -b (3) Tính x2 = 1/a (4) Tính x = x1*x2 (5) Xuất kết x (6) Dừng •Thuật tốn cho kết với thời gian nhanh coi thuật toán tối ưu mặt thời gian •Thuật tốn sử dụng nhớ coi thuật toán tối ưu nhớ 2 Các ví dụ Đối tượng: a,b,c,x Qui tắc : ax2 + bx + c = qui tắc toán học khác Giải phương trình ax2 + bx + c = ( a0 ) Các thao tác : (1) Nhập giá trị cho a (a0), b, c (2) Tính DELTA=B*B-4*A*C (3) So sánh DELTA với (4) Dựa vào (3) Nếu DELTA0 Tính nghiệm x1 = (-b+sqrt(DELTA))/(2*a) x2 = (-b-sqrt(DELTA))/(2*a) Xuất kết x1, x2 Dừng Tính giá trị đa thức Pn(X)=AnXn + An-1Xn-1 +…+ A1X1 + A0 X=C Viết lại : Pn(C)=(…( AnC+An-1)C+An-2 )C+…+A1 )C+A0 Minh họa với n=3 P3(C) = A3C3 + A2C2 +A1C1 + A0 = (( A3C+A2)C+A1 ) C+A0 Các thao tác : N=3 (1)Q= An ; i=n (1)Q= A3 ; i=3 (2) i:=i-1, so sánh i với (2) i:=2>=0 (3) Dựa vào (2) (3) Q:=Q*C+ A2=A3*C+A2 Nếu i>=0 (2) i:=1>=0 Tính Q:=Q*C+ Ai (3) Q:=Q*C+ A1=(A3*C+A2)*C+A1 → (2) =A3*C2+A2*C+A1 Nếu i=0 Xuất kết Q (3) Q:=Q*C+ A0=(A3*C2+A2*C+A1)*C+A0 Dừng =A3*C3+A2*C2+A1*C+A0 (2) i:=-10 (S=(n+1)*n/2) Viết lại S=(…(0+1)+2)+…+n) Các thao tác : (1) S=0; i=1 (2) S:=S+i (3) i:=i+1 (4) So sánh i với n (5) Dựa vào (4) Nếu in Xuất kết S Dừng n=5 i S 0+1 =1 (0+1)+2 =3 ((0+1)+2)+3 =6 (((0+1)+2)+3)+4 =10 ((((0+1)+2)+3)+4)+5=15 * Giải phương trình bậc ax2 + bx + c = với a tùy ý Kiểm tra số nguyên dương cho trước số nguyên tố Kiểm tra số nguyên dương cho trước số phương Tìm ước số chung lớn số nguyên dương cho trước Liệt kê số khác dãy số cho trước Thuật toán số nguyên tố DK: j=2 n chia hết cho (1): Nhập n (2): j=2 (3): j Nếu không thỏa (3) - > (5) Nếu thỏa (3) -> (4) (4): j=j+1 -> (3) (5) Nếu j=n in số nguyên tố (6) Dừng Các đặc trưng Tính dừng (kết thúc) : •thuật tốn phải dừng sau hữu hạn lần thực thao tác •Trong VD1 tính dừng rõ ràng; Trong VD2 (2) i giảm đơn vị sau số lần thực thao tác ta có i=0 Tính Q:=Q*C+ Ai → (2) Nếu in Các thao tác : (1) S=0; i=1 (2) S:=S+i (3) i:=i+1 (4) So sánh i với n (5) Dựa vào (4) Nếu in Xuất kết S Dừng Tính xác định : thao tác bước phải rõ ràng hiểu theo nghĩa Tính phổ dụng : áp dụng cho toán loại Trong VD1 thuật toán khơng phổ dụng thuật tốn khơng sử dụng nhập a=0 a ký tự; Trong VD3 thuật toán sai cho n=0 Các thao tác : (1) S=0; i=1 (2) S:=S+i (3) i:=i+1 (4) So sánh i với n (5) Dựa vào (4) Nếu in Xuất kết S Dừng Tính khả thi : bao gồm thao tác mà máy thực Phép tính tính nghiệm giải phương trình bậc trường hợp DELTA>0 khơng thực máy tính Tính đầy đủ : phải vét hết tình huống, khả có Thuật tốn VD1 nêu bỏ qua trường hợp a=0; Thuật toán VD3 bỏ qua trường hợp n=0 Tính đắn : phải chứng minh tính đắn thuật tốn Chứng minh tính đắn thuật tốn việc làm khó, thơng thường ta kiểm tra thuật tốn với giá trị nhỏ (hoặc tính nhẩm được) VD : kiểm tra thuật toán VD3 với n=5 ta có S=15 i S 0+1=1 i=0 (2) i:=1>=0 Tính Q:=Q*C+ Ai (3) Q:=Q*C+ A1=(A3*C+A2)*C+A1 → (2) =A3*C2+A2*C+A1 Nếu i=0 Xuất kết Q (3) Q:=Q*C+ A0=(A3*C2+A2*C+A1)*C+A0... x=-b/ (2* a) In x Dừng Nếu Delta>0 Tính x1 ,2= (-b±sqrt(delta))/ (2* a) End In x1, x2 Dừng 2. 3 Các bước giải tốn máy tính Nghiên cứu toán, liệu sử dụng phác thảo cách giải để sở tìm thuật tốn VD : tốn giải. .. Dừng =A3*C3+A2*C2+A1*C+A0 (2) i:=-10 (S=(n+1)*n /2) Viết lại S=(…(0+1) +2) +…+n) Các thao tác : (1) S=0; i=1 (2) S:=S+i (3) i:=i+1 (4) So sánh