25
GII BÀI TOÁN TRÊN MÁY TÍNH 1 Con người đã phi làm gì đmáy tính có thgii quyết nhng công vicca con người?

Bai giang1

Embed Size (px)

Citation preview

Page 1: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1

Con người đã phải làm gì để máytính có thể giải quyết những công

việc của con người?

Page 2: Bai giang1

6.GIẢI BÀI TOÁN TRÊN

MÁY TÍNH (1,0,0)

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 2

Page 3: Bai giang1

5 bước

1. Xác định bài toán

2. Lựa chọn và thiết kế thuật toán

3. Viết chương trình

4. Hiệu chỉnh

5. Viết tài liệu

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 3

Page 4: Bai giang1

1. Xác định bài toán

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 4

INPUT

Mối liên hệ: INPUT, OUTPUT

OUTPUT

Xác định

Page 5: Bai giang1

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Bước 1: Xác định bài toán

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 5

INPUT: M, N

OUTPUT: UCLN(M,N)

Mối liên hệ:

M % UCLN(M,N) = 0

N % UCLN(M,N) = 0

Page 6: Bai giang1

2. Lựa chọn hoặc thiết kế thuật toán

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 6

Để giải một bài toán có thể có nhiều cách giải

Tiêu chuẩn chọn thuật toán tối ưu:

Lựa chọn cách giải tối ưu nhất

Thời gian thực hiện nhanh.

Ít tốn bộ nhớ.

Trình bày dễ hiểu, dễ nhìn.

Page 7: Bai giang1

Bước 2: Lựa chọn hoặc thiết kếthuật toán

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 7

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Page 8: Bai giang1

Cách 1:

B1: Nhập M,N

B2: nếu M = N

UCLN(M,N) = M B5

B3: Nếu M > N

M = M- N B2

B4: Nếu M < N

N = N – M B2

B5: Xuất UCLN(M,N)

Kết thúc

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 8

Ví dụ: Tìm UCLN (M,N) (M,N>0)

M,N

N=N-MM=N

UCLN(M,N)=M

M>N

M=M-N

Đ

SS

Đ

Page 9: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 9

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Cách 2:

B1: Nhập M,NB2: nếu M % N = 0 UCLN(M,N) = N B6

B3: nếu N % M = 0 UCLN(M,N) = M B6

B4: Nếu M > NM = M % N B2

B5: Nếu M < N N = N % M B2

B6: Xuất UCLN(M,N) Kết thúc

M,N

UCLN=NM%N=0

N%M=0

M>NM=M%N

N=N%M

UCLN=M

UCLN

Đ

S

Đ

S

S

Đ

Page 10: Bai giang1

Tìm UCLN (49, 14)

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 10

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Cách 1:

B1: Nhập M,N

B2: nếu M = N

UCLN(M,N) = M B5

B3: Nếu M > N

M = M- N B2

B4: Nếu M < N

N = N – M B2

B5: Xuất UCLN(M,N)

Kết thúc

Lần M N

0 49 14

1 35 14

2 21 14

3 7 14

4 7 7

UCLN (49, 14) = 7

Page 11: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 11

Tìm UCLN (49, 14)

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Lần M N

0 49 14

1 7 14

Cách 2:

B1: Nhập M,NB2: nếu M % N = 0 UCLN(M,N) = N B6

B3: nếu N % M = 0 UCLN(M,N) = M B6

B4: Nếu M > NM = M % N B2

B5: Nếu M < N N = N % M B2

B6: Xuất UCLN(M,N) Kết thúc

UCLN (49, 14) = 7

Page 12: Bai giang1

Cách 2:

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 12

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Tìm UCLN (580, 105)

Lần M N

0 580 105

1 55 105

2 55 50

3 5 50

UCLN (580, 105) = 5

Cách 1:Lần M N

0 580 105

1 475 105

2 370 105

3 265 105

4 160 105

5 55 105

6 55 50

7 5 50

8 … …

Page 13: Bai giang1

3. Viết chương trình

Lựa chọn ngôn ngữ lập trình

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 13

Tổ chức dữ liệu

Tiến hành cài đặt bằng ngôn ngữ đã chọn

Page 14: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 14

Ví dụ: Tìm UCLN (M,N) (M,N>0)

Tìm UCLN (580, 0)Cách 2:

Lần M N

0 580 0

Phát sinh lỗi

Cách 1:Lần M N

0 580 0

1 580 0

2 580 0

3 580 0

4 … …

Do Hacker hoặc lỗi người sử dụng

Page 15: Bai giang1

4. Hiệu chỉnh

Sau khi chương trình viết xong có thể cònnhững lỗi chữa được phát hiện và kết quả chạycòn chưa đúng

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 15

TESTchương trình bằng các bộ

INPUT, OUTPUT TIÊU BiỂU

Sửa chữahoặc thiết

kế lạithuậttoán

Page 16: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 16

Ví dụ: Tìm UCLN (M,N) (M,N>0)

M,N

N=N-MM=N

UCLN(M,N)=M

M>N

M=M-N

Đ

SS

ĐNếuM=0 hoặc

N=0 báo lỗi

Page 17: Bai giang1

5. Viết tài liệu

• Tài liệu mô tả:

Bài toán,

Thuật toán

Thiết kế chương trình

Kết quả thử nghiệm

Hướng dẫn sử dụng.

• Chú ý: Các bước trên có thể lặp đi lặp lại nhiềulần cho đến khi ta cho rằng chương trình đã làmviệc tốt và hiệu quả.

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 17

Page 18: Bai giang1

Lợi ích:

- Hỗ trợ người dùng sử dụng phần mềm

- Nâng cấp, hoàn thiện phần mềm dễ dànghơn

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 18

Page 19: Bai giang1

Giải bài toán

Hoán vị 2 số A,B

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 19

A

B

B

A

Page 20: Bai giang1

Bước 1: Xác định bài toán

INPUT: A,B

OUTPUT: B, A

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 20

Page 21: Bai giang1

Bước 2: Lựa chọn hoặc thiết kế thuật toán

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 21

Cách 1:

B1: Nhập A,B

B2: C = A

B3: A = B

B4: B= C

B5: kết thúc

A, B

C = A

A = B

B = C

B, A

Bước A B C

1 a b

2 a b a

3 b b a

4 b a a

Page 22: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 22

A, B

A = A + B

B = A - B

A = A - B

B, A

Cách 2:

B1: Nhập A,B

B2: A = A + B

B3: B = A - B

B4: A = A - B

B5: kết thúc

Bước A B

1 a b

2 a + b b

3 a + b a

4 b a

Page 23: Bai giang1

Bước 3: Viết chương trình

Bước 4: Hiệu chỉnh

a = b ?

Bước 5: Viết tài liệu

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 23

Page 24: Bai giang1

CỦNG CỐ

Các bước cơ bản để giải bài toán trên máy tính:

Bước 1: Xác định bài toán;

Bước 2: Lựa chọn hoặc thiết kế thuật toán;

Bước 3: Viết chương trình;

Bước 4: Hiệu chỉnh;

Bước 5: Viết tài liệu.

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 24

Page 25: Bai giang1

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 25