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

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

Transcript of BÀI 06: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

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

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

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

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

-Giải pt bậc 2-Giải pt bậc 3-Tính tích phân

……

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

công việc này ?

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

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

§6.GIẢI BÀI TOÁN TRÊN MÁY TÍNH (1,0,0)

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

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

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. Cài đặt

4. Hiệu chỉnh

5. Viết tài liệu

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

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

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

Là xác định input, output của bài toán

Xác định input, output Tìm UCLN(M,N) ?

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

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

1. Xác định bài toánNgoài việc xác định Input, output còn phải xác định mối liên hệ giữa chúng, các biến phát sinh, thuật toán, ngôn ngữ lập trình.

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

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

Xác định bài toán:Ax2 + Bx + C = 0

1. Xác định bài toánNgoài việc xác định Input, output còn phải xác định mối liên hệ giữa chúng, các biến phát sinh, thuật toán, ngôn ngữ lập trình.

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

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

?INPUT

OUTPUT

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

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

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

Một bài toán có thể có nhiều thuật tóan để giải nhưng mỗi thuật toán chỉ giải được cho một bài toán. Vì vậy ta phải chọn thuật toán tối ưu nhất trong các thuật toán đã có.

Một thuật toán tối ưu phải có các tiêu chuẩn sau :-Thời gian thực hiện nhanh.-Ít tốn bộ nhớ.-Trình bày dễ hiểu, dễ nhìn. b/ Diễn tả thuật toán : Có 2 cách diễn tả một thuật toán * Diễn tả bằng cách liệt kê. * Diễn tả bằng sơ đồ khối.

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

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

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

Vd2:Tìm ƯCLN của hai số dương M và N Xác định bài toán :

Input : hai số M và N;

Output : ƯCLN (M,N).

Ý tưởng : ta có ý tưởng sau:

+ Nếu M=N thì ƯCLN ( M,N) là M hoặc N;

+Nếu M<N thì ƯCLN (M,N)=ƯCLN(M,N-M);

+Nếu M>N thì ƯCLN (M,N)=ƯCLN (M-N,N);

Bước 2: lựa chọn

hoặc thiết kế thuật

toán

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

GIẢI BÀI TOÁN TRÊN MÁY TÍNH 11 Thuật toán : * Diễn tả thuật toán bằng cách liệt kê :

Bước 1: Nhập M và N;

Bước 2 : Nếu M=N thì lấy giá trị chung này làm ƯCLN rồi chuyển đến bước 5;

Bước 3:Nếu M >N thì M ← M-N rồi quay lại bước 2;

Bước 4: N ← N-M rồi quay lại bước 2;

Bước 5: Đưa ra kết quả ƯCLN rồi kết thúc.

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

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

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

Nhập M và N

M=N? M>N ? N←N-M

* Sơ đồ khối

M←M-N

Đ

SS

Đ

Kết quả ƯCLN (25,10) = 5

Tìm ƯCLN (25,10)

Đưa ra M rồi kết thúc

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

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

3/ Viết chương trình :

-Là lựa chọn cách tổ chức dữ liệu và lựa chọn ngôn ngữ lập trình (NNLT) phù hợp với thuật toán.

-Có nhiều loại NNLT,vì vậy khi viết chương trình trong ngôn ngữ nào thì phải tuân theo những quy định đó.

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

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

HIỆU CHỈNH

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

Một số bộ input và output

tiêu biểu

Nếu có sai sót, ta phải sửa chương trình và thử lại. Quá trình này gọi là hiệu chỉnh.

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

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

Ví dụ: Kiểm chứng tính đúng đắn của chương trình tìm cạnh trong tam giác vuông theo định lí Pytago, ta có thể sử dụng các bộ ba Input sau:a = 3, b = 4 thì suy ra cạnh huyền c = 5a = 6, b = 8 thì suy ra cạnh huyền c = 10

HIỆU CHỈNH

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

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

`VIẾT TÀI LIỆU

Tài liệu phải 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ều lần cho đến khi ta cho rằng chương trình đã làm việc đúng đắn và hiệu quả.

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

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

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.

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

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

CÂU HỎI TRẮC NGHIỆM

Câu 1: Trong việc giải bài toán trên máy tính, xác định bài toán là:

a. Xác định Input và Output và mối liên hệ giữa chúng;b. Xác định Input;c. Xác định Output;d. Cả 3 đáp án trên đều đúng.

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

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

CÂU HỎI TRẮC NGHIỆM

Câu 2: Trong việc giải bài toán trên máy tính, phát biểu nào sai:

a. Viết chương trình là xác định Input và Output và quan hệ giữa chúng;

b. Lựa chọn và thiết kế thuật toán là lựa chọn thuật toán và tổ chức dữ liệu;

c. Hiệu chỉnh là kiểm tra để phát hiện và sửa lỗi;d. Tài liệu phải mô tả bài toán, thuật toán, thiết kế

chương trình, kết quả thử nghiệm và hướng dẫn sử dụng.

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

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

CÂU HỎI TRẮC NGHIỆM

Câu 3. Trong việc giải bài toán trên máy tính, lựa chọn và thiết kế thuật toán là:

a. Lựa chọn nhiều thuật toán và tổ chức dữ liệu;b. Lựa chọn Input và Output;c. Lựa chọn nhiều thuật toán và Output;d. Lựa chọn thuật toán và tổ chức dữ liệu.

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

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

CÂU HỎI TRẮC NGHIỆM

Câu 4. Tiêu chí thiết kế và lựa chọn thuật toán:a.Thời gian thực hiện;b.Số lượng ô nhớ;c.Việc viết chương trình cho thuật toán đó ít phức

tạp;d.Tất cả đáp án trên đều đúng.

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

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

Cảm ơn các bạn đã chú ý theo dõi