Tải bản đầy đủ (.ppt) (26 trang)

bai 6 tin 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (402.45 KB, 26 trang )

<span class='text_page_counter'>(1)</span>§ 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH. Sau bài học này các em có thể :  Nhớ lại và làm rõ hơn các khái niệm về : bài toán; thuật toán; dữ liệu; lệnh; ngôn ngữ lập trình và chương trình  Liệt kê và viết được mội dung các bước giải một bài toán trên máy tính § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍN H. 1.

<span class='text_page_counter'>(2)</span> § 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1. Xác định bài toán 2. Lựa chọn hoặc 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 § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍN H. 2.

<span class='text_page_counter'>(3)</span> 1. Xác định bài toán Mỗi bài toán được đặc tả bởi hai thành phần: Input và Output. Việc xác định bài toán chính là xác định rõ hai thành phần Input; Output và mối quan hệ giữa chúng. Cần nghiên cứu cẩn thận Input và Output để có thể lựa chọn thuật toán: § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 3.

<span class='text_page_counter'>(4)</span> 1. Xác định bài toán *) Xác định bài toán nhằm mục đích:  Lựa chọn thuật toán  Thể hiện các đại lượng đã cho  Thể hiện các đại lượng phát sinh  Lựa chọn ngôn ngữ lập trình thích hợp  Lựa chọn cấu trúc dữ liệu và ngôn ngữ lập trình thực hiện § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 4.

<span class='text_page_counter'>(5)</span> 1. Xác định bài toán . Ví dụ : Khi cần biểu diễn một số nguyên dương N, là tuổi của một người, có thể chỉ rõ phạm vi giá trị của N từ 0 đến 150, để lựa chọn cách thể hiện N bằng kiểu dữ liệu thích hợp. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 5.

<span class='text_page_counter'>(6)</span> 2. Lựa chọn hay thiết kế thuật toán a) Lựa. .  . . chọn thuật toán Là bước quan trọng nhất để giải một bài toán. Mỗi thuật toán chỉ giải một bài toán Có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Cần thiết kế hoặc chọn một thuật toán phù hợp đã có để giải bài toán cho trước. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 6.

<span class='text_page_counter'>(7)</span> 2. Lựa chọn hay thiết kế thuật toán . Tiêu chí thiết kế và lựa chọn thuật toán( tài nguyên) như:  Thời gian thực hiện  Số lượng ô nhớ,...  Việc viết chương trình cho thuật toán đó ít phức tạp  Trong đó thời gian được quan tâm nhiều nhất vì đó là dạng tài nguyên không tái tạo được. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 7.

<span class='text_page_counter'>(8)</span> 2. Lựa chọn hay thiết kế thuật toán Ví dụ: với bài toán tìm kiếm, thuật toán tìm kiếm nhị phân ít thao tác so sánh hơn thuật toán tìm kiếm tuần tự.  Thuật toán tìm kiếm nhị phân sẽ thực thi nhanh hơn thuật toán tìm kiếm tuần tự . § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 8.

<span class='text_page_counter'>(9)</span> 2. Lựa chọn hay thiết kế thuật toán. . Cần căn cứ vào lượng tài nguyên mà thuật toán đòi hỏi và lượng tài nguyên thực tế cho phép.. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 9.

<span class='text_page_counter'>(10)</span> 2. Lựa chọn hay thiết kế thuật toán b) Diễn tả thuật toán  Ví dụ: Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N.  Xác định bài toán  Input: Nhập M, N;  Output: ƯCLN(M, N). § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 10.

<span class='text_page_counter'>(11)</span> 2. Lựa chọn hay thiết kế thuật toán . Ý tưởng: Sử dụng những điều đã biết sau: . . . Nếu M = N thì giá trị chung đó là ƯCLN của M và N; Nếu M > N thì ƯCLN(M, N) = ƯCLN(M – N,N). Nếu M < N thì ƯCLN(M, N) = ƯCLN(M,N- M); § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 11.

<span class='text_page_counter'>(12)</span> 2. Lựa chọn hay thiết kế thuật toán Thuật toán a) Thuật toán diễn tả bằng cách liệt kê .  . . . Bước 1: Nhập M, N; Bước 2: Nếu M = N đưa ra ƯCLN(M,N)=M ; Kết thúc 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; § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 12.

<span class='text_page_counter'>(13)</span> 2. Lựa chọn hay thiết kế thuật toán b) Thuật toán diễn tả bằng sơ đồ khối Nhập M và N. Sai M=N? Đúng Đưa ra M; Kết thúc. Sai M>N?. NN-M. Đúng MM-N. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 13.

<span class='text_page_counter'>(14)</span> 2. Lựa chọn hay thiết kế thuật toán c) Mô tả bằng số liệu cụ thể 1. Cho hai số: M = 25 và N = 10 tìm ƯCLN. M= 25 15 5 N=. 10 5. N >>M M N M=N M N == N M--M N ƯCLN(M,N) = 5 MN==15 25 10–- 10 5 § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 14.

<span class='text_page_counter'>(15)</span> 2. Lựa chọn hay thiết kế thuật toán c) Mô tả bằng số liệu cụ thể 2. Cho hai số: M = 7 và N = 5 tìm ƯCLN. M=. 271. N=. 351. N M>>M N M=N M N == N M--M N ƯCLN(M,N) = 1 M M N == 5372 -––251 § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 15.

<span class='text_page_counter'>(16)</span> 3. Viết chương trình .  . . Viết chương trình là tổng hợp giữa lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán. Nên chọn một ngôn ngữ lập trình hoặc một phần mềm chuyên dụng thích hợp với thuật toán. Viết chương trình trong ngôn ngữ nào thì cần phải tuân theo đúng quy định cú pháp (Syntax) của ngôn ngữ đó. Chương trình dịch chỉ có thể phát hiện và thông báo các lỗi về mặt cú pháp § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 16.

<span class='text_page_counter'>(17)</span> 4. Hiệu chỉnh  Chương trình khi viết xong vẫn có thể còn nhiều lỗi khác chưa phát hiện được nên kết quả thực thi không đúng.  Vì vậy, cần phải thử (Test) chương trình bằng một số bộ Input tiêu biểu phụ thuộc vào đặc thù của bài toán mà đã biết trước Output. Các bộ Input này được gọi là các Test.  Nếu có sai sót, ta phải sửa chương trình rồi thử lại.  Quá trình này được gọi là hiệu chỉnh (Maintenance) . § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍ NH. 17.

<span class='text_page_counter'>(18)</span> 4. Hiệu chỉnh  Ví dụ: để kiểm tra tính đúng đắn của chương trình giải phương trình bậc nhất ax + b = 0, ta có thể sử dụng ba bộ Test như sau:  a = 0; b = 0 (Thông báo pt vô định)  a = 0;b <> 0 (Thông báo pt vô nghiệm)  a <> 0 (Đưa ra nghiệm x = -b/a) § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍ NH. 18.

<span class='text_page_counter'>(19)</span> 5. Viết tài liệu  Tính chuyên nghiệp của phần mềm  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.  Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 19.

<span class='text_page_counter'>(20)</span> 5. Viết tài liệu  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ả.  Bao gồm:  Sưu liệu chương trình;  Tài liệu phân tích thiết kế hệ thống;  Bộ dữ liệu thử nghiệm; § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 20.

<span class='text_page_counter'>(21)</span> Cũng cố kiến thức Câu 1: Trình tự giải bài toán trên máy tính như sau: a. 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, Hiệu chỉnh. b. Lựa chọn hoặc thiết kế thuật toán, Xác định bài toán, Viết chương trình, Hiệu chỉnh, Viết tài liệu. c. Xác định bài toán, Viết chương trình, Viết tài liệu, Hiệu chỉnh, Lựa chọn hoặc thiết kế thuật toán; d. 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.. Hãy chọn đáp án đúng § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 21.

<span class='text_page_counter'>(22)</span> Cũng cố kiến thức Câu 2: 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, Output và sự khác nhau giữa chúng b. Xác định Output c. Xác định Input, Output và mối quan hệ giữa chúng; d. Xác định Input Hãy chọn đáp án đúng. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 22.

<span class='text_page_counter'>(23)</span> Cũng cố kiến thức 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 để giải; b. Lựa chọn thuật toán và tổ chức dữ liệu; c. Lựa chọn Input và Output; d. Lựa chọn nhiều thuật toán và Output; Hãy chọn phương án đúng. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 23.

<span class='text_page_counter'>(24)</span> Cũng cố kiến thức Câu 4: Trong các phát biểu sau đây, phát biểu nào đúng? a. Một thuật toán có thể giải được nhiều bài toán b. Mỗi thuật toán chỉ giải 1 bài toán nào đó, nhưng có nhiều thuật toán khác nhau để giải 1 bài toán; c. Khi thiết kế hoặc lựa chọn bài toán người ta không quan tâm đến thời gian thực hiện, số lượng ô nhớ,… d. Một bài toán chỉ có 1 thuật toán để giải; Hãy chọn phương án đúng. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 24.

<span class='text_page_counter'>(25)</span> Cũng cố kiến thức Câu 5: Trong việc giải bài toán trên máy tính, phát biểu nào sau đây sai? a. Hiệu chỉnh là kiểm tra để phát hiện và sữa lỗi b. Viết tài liệu là mô tả toàn bộ chi tiết toàn bộ 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; c. Lựa chọn hoặc thiết kế thuật toán là lựa chọn thuật toán và tổ chức dữ liệu; d. Viết chương trình là xác định Input, Output và quan hệ giữa chúng. § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 25.

<span class='text_page_counter'>(26)</span> Câu hỏi và bài tập 1) Hãy nêu các bước giải bài toán 2) Nêu nội dung bước xác định bài toán 3) Nêu nội dung bước chọn lựa hoặc thiết kế thuật toán 4) Hãy viết thuật toán giải phương trình bậc 2: ax2 + bx + c = 0 và đề xuất các test tiêu biểu § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH. 26.

<span class='text_page_counter'>(27)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×