documenta

22
Coù phaûi maùy tính thoâng minh vaø giaûi ñöôïc baøi toaùn?

Upload: lethilien1993

Post on 16-Jul-2015

30 views

Category:

Education


0 download

TRANSCRIPT

Coù phaûi maùy tính thoâng minh vaø giaûi ñöôïc

baøi toaùn?

Company Logo

Vieäc giaûi toaùn treân maùy tính ñöôïc thöïc

hieän nhö theá naøo ?

I. CÁC BƯỚC GIẢI BÀI TOÁN TRÊN MÁY TÍNH

B1

B2

B3

B4

B5

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

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

Viết chương trình

Hiệu chỉnh

Viết tài liệu

Ví dụ: Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N.

Input: M,N

Output: UCLN(M,N)

Xác định bài toán là xác định rõ hai thành phần:

- Input

- Output

xác định bài toán ?

1. XÁC ĐỊNH BÀI TOÁN ( bước 1)

I. CÁC BƯỚC GiẢI BÀI TOÁN TRÊN MÁY TÍNH

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN (bước 2).

a. Lựa chọn thuật toán

Có thể có nhiều cách giải

(thuật toán)BÀI TOÁN

Cách 1

Cách 2

Cách 3…

- Ít phức tạp. ít thời gian thực hiện.

- Chiếm ít ô nhớ.

- Thực hiện ít phép toán, dễ hiểu. . .

KẾT QUẢ

b. Diễn tả thuật toán

Trình bày ý tưởng một vài cách giải

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

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

(UCLN của hai số nguyên dương là số lớn nhất mà cả hai số cùng chia hết cho nó.)

Ví dụ: UCLN(2,6)=2 , UCLN(4,10)= 2

Ví dụ: Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N.

Nếu M=N thì giá trị chung là UCLN

Ngược lại

Nếu M>N thì UCLN(M,N)=UCLN(M-N,N)

Nếu M<N thì UCLN(M,N)=UCLN(M,N-M)

b. Diễn tả thuật toán

2

6

10

N

UCLN(M,N) = 2

2

4

4

M

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

Ví dụ: Tìm UCLN(4,10)

4

2

Cách 1

LẦN

3

2

1

4

i=2

i=4i=M

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

b. Diễn tả thuật toánVí dụ: Tìm UCLN(4,10)

M=4, N=10

(UCLN của hai số nguyên dương là số lớn nhất mà cả hai số cùng chia hết cho nó.)

M=4

1

2

3

4

N=6

6

i=3

UCLN

Cách 2Nếu M=N thì giá trị chung là UCLN

Ngược lại

Nếu M<N thì i=M,

M>N thì i=N

Nếu M không chia hết cho i hoặc

N không chia hết cho i thì

i = i -1

UCLN(M,N)=i

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

b. Diễn tả thuật toán

UCLN(M,N) = 2

Ví dụ: Tìm UCLN(4,10)

M=4, N=10

2

N M LẦN i

32

1

3

Cách 2

4104

Nếu M=N thì giá trị chung là UCLN

Ngược lại

Nếu M<N thì i=M

ngược lại i=N

Nếu M không chia hết cho i hoặc

N không chia hết cho i thì

i = i-1

UCLN(M,N)=i

96

98

100

N

UCLN(M,N) = 2

3

22

21

MLần

2249

2

944 2

448 2

2 100 2

N

1

MLần i

UCLN(M,N) = 2

Ví dụ: Tìm UCLN(2,100)

Hiệu chỉnh

- Ít phức tạp, ít thời gian thực hiện.

- Chiếm ít ô nhớ.

- Thực hiện ít phép toán, dễ hiểu. . .

Như vậy, tuỳ từng bài toán mà ta lựa chọn thuật toán cho phù hợp.

3. VIẾT CHƯƠNG TRÌNH

Ngôn ngữ lập trình + Thuật toán = Chương trình

- Laø vieäc löïa choïn caùch toå chöùc döõ lieäu vaø söû duïng ngoân ngöõ laäp trình ñeå dieãn ñaït thuaät toaùn.- Caàn choïn ngoân ngöõ laäp trình hoaëc phaàn meàm thích hôïp vôùi thuaät toaùn

3. VIẾT CHƯƠNG TRÌNH

Ví dụ: Viết chương trình sử dụng cách 1:

3. VIẾT CHƯƠNG TRÌNH

Viết chương trình sử dụng cách 2:

Một chương trình đã viết xong có thể có nhiều lỗi và sẽ cho kết quả không đúng.Ta cần thử chương trình bằng vài bộ số Input để phát hiện lỗi và sửa chương trình. Quá trình này gọi là hiệu chỉnh (test).

Test:M = 8; N = 8 ÖCLN = 8M = 25; N = 10 ÖCLN = 5M = 2; N = 100 ÖCLN = 2M = 17; N = 13 ÖCLN = 1

- Moät soá boä Test kieåm tra thuaät toaùn tìm ÖCLN.

4. HIỆU CHỈNH

5. VIẾT TÀI LIỆU

Mô tả chi tiết bài toán, thuật toán, chương trình và hướng dẫn sử dụng.

1

2

3Viết chương trình là?

a. Viết thuật toán.

b. Sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán.

C. Sữ dụng ngôn ngữ lập trình để trình bày dữ liệu.

Lựa chọn thuật toán ta thường quan tâm đến:

a. Sử dụng ít thời gian, ít bộ nhớ..

b. Sử dụng ít thời gian, ít phép toán.. .

C. Sử dụng ít thời gian, ít bộ nhớ, ít phép toán.. .

Giải bài toán trên máy tính được tiến hành qua mấy bước?

a. 3 b. 5 C. 7

II. BÀI TẬP

BT 2

``

`

Các bước cần phải có khi giải bài toán trên máy tính là ?

a. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán,diễn tả thuật toán,hiệu chỉnh, viết tài liệu.

b. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán,viết chương trình, viết tài liệu.

c. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán, viết chương trình,hiệu chỉnh, viết tài liệu.

Mục đích của việc hiệu chỉnh là ?

a. Xác định lại Input và Output của bài toán.

b. Phát hiện và sửa sai sót.

d. Để tạo ra một chương trình mới.

Lựa chọn thuật toán tối ưu nhất

Diễn tả thuật toán

Lựa chọn hoặc thiết kế thuật

toan

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

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

Viết chương trình

Hiệu chỉnh

Viết tài liệu

Input

Output

Chọn ngôn ngữ lập trình phù hợp.

Tổ chức dữ liệu

Test và sửa sai sót.

Mô tả chương trình

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