CHƯƠNG 2 : GIẢI QUYẾT BÀI TOÁN BẰNG MÁY TÍNH pdf

25 566 1
CHƯƠNG 2 : GIẢI QUYẾT BÀI TOÁN BẰNG MÁY TÍNH pdf

Đ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

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

Ngày đăng: 03/07/2014, 08:20

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Thuật toán số nguyên tố

  • 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

Tài liệu liên quan