Upload
ten-la-gi
View
41
Download
7
Embed Size (px)
Citation preview
Trường THPTTHẠNH AN
TIẾT: 18TIẾT: 18
CÁC BƯỚC GiẢI BÀI TOÁN TRÊN MÁY TÍNH
Bước 2: Lựa chọn hoặc thiết kế thuật toán.
Bước 1: Xác định bài 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.
1. Xác định bài toánMỗi bài toán được đặc tả bởi hai yếu tố: Input & Output
==> Xác định bài toán là công việc xác định chính xác Input, Output , mối quan hệ giữa chúng và xác định các thông số liên quan khác.
VD1: Xác định bài toán: Giải phương trình bậc nhất:ax + b=0 (1)
+ Input: các số thực a,b;
+ Output: giá trị x thỏa mãn phương trình (1); VD2: Xác định bài toán: Tính điểm trung bình cả năm của một lớp
học:
+ Input: Danh sách học sinh, điểm của 13 môn học;
+ Output: Danh sách học sinh điểm trung bình cả năm của 13 môn học và điểm trung bình chung cả năm.
==> Như vậy việc xác định bài toán chính xác quyết định đến việc giải bải toán đó thành công hoặc không thành công.
2. Lựa chọn hoặc thiết kế thuật toán
Tại sao tiêu đề lại gọi là: lựa chọn hoặc thiết kế thuật toán?
a. Lựa chọn thuật toán- Mỗi bài toán có nhiều thuật toán khác nhau ngược lại mỗi thuật toán
chỉ để giải quyết cho một bài toán.- Cần phải thiết kế, lựa chọn thuật toán sao cho phù hợp nhất với từng
yêu cầu của mỗi bài toán cụ thể.VD: Bài toán sắp xếp. Thiết kế hoặc lựa chọn thuật toán
cần quan tâm đến vấn đề gì?+ Một số điểm lưu ý khi thiết kế hoặc lựa chọn thuật toán.- Yêu cầu về tài nguyên(thời gian thực hiện, bộ nhớ...)
- Độ phức tạp của thuật toán.
== > Tiêu chí quan trọng nhất của lựa chọn, thiết kế thuật toán là tính hiệu quả.
VD: Bài toán sắp xếp, bài toán tìm kiếm.
2. Lựa chọn hoặc thiết kế thuật toána. Lựa chọn thuật toánb. Diễn tả thuật toán
- Cần chọn những cách diễn tả thuật toán phù hợp và đáp ứng được số đông người lập trình.
Có những cách diễn tả thuật toán
nào?
+ Biểu diễn thuật toán bằng liệt kê các bước:
+ Biểu diễn thuật toán bằng sơ đồ khối:Mục đích của
diễn tả thuật toán là gì?
== > Để mô phỏng cách chạy của bài toán, để chạy thử trước khi viết chương trình, để cung cấp tài liệu cho người lập trình, người học.
2. Lựa chọn hoặc thiết kế thuật toána. Lựa chọn thuật toánb. Diễn tả thuật toán VD: Bài toán giải phương trình bậc nhất: ax+b=0
Cách liệt kê:
Bước 1: Nhập giá trị a, b;
Bước 2: Nếu a=0, b≠0 thì thông báo vô nghiệm, rồi kết thúc;
Bước 3: Nếu a=0 và b=0 thì thông báo phương trình nghiệm đúng với mọi giá trị rồi kết thúc;
Bước 4: Nếu a ≠0 thì x-b/a, thông báo phương trình có nghiệm duy nhất là x rồi kết thúc.
2. Lựa chọn hoặc thiết kế thuật toána. Lựa chọn thuật toánb. Diễn tả thuật toán
Nhập a, b
Phương trìnhvô nghiệm
PT nghiệm đúng với mộ giá trịa = 0? b = 0?
PT có nghiệm duy nhất là x
x -b/a
Đ
S
Đ
SA=0, B=0
A=0, B=2
A=2, B=1
3. Viết chương trình
Sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán.
Là tổng hợp giữa việc:
Lựa chọn cách tổ chức dữ liệu.
4. Hiệu chỉnh(sửa chữa chương trình)
Tại sao cần phải hiệu chỉnh chương trình?
Sau khi viết chương trình có thể gặp một số lỗi sau:
- Lỗi về mặt cú pháp
- Lỗi về mặt logic(thuật toán chưa chính xác, chưa quét hết các trường hợp đặc biệt…)
==> Do vậy cần kiểm tra lại và test các bộ test đặc biệt của bài toán
==> Quá trình test và sửa lỗi bài toán được gọi là hiệu chỉnh (Maintenance).
VD:
5. Viết tài liệu
Viết tài liệu là làm những công việc gì?
Tài liệu môt tả bài toán.Tài liệu môt tả bài toán.
Tài liệu mô tả thuật toán.Tài liệu mô tả thuật toán.
Tài liệu thiết kế chương trình. Tài liệu thiết kế chương trình.
Các kết quả thử nghiệm. Các kết quả thử nghiệm.
Tài liệu hướng dẫn sử dụng hướng Tài liệu hướng dẫn sử dụng hướng
dẫn sử dụng.dẫn sử dụng.
Mục đích viết tài liệu là gì?
==>Thể hiện tính chuyên nghiệp của sản phẩm.
BÀI TẬP VẬN DỤNG
Bài 1: Tiêu chuẩn lựa chọn thuật toán là gì ?
a. Thuật toán phải phù hợp với bài toán đã cho.a. Thuật toán phải phù hợp với bài toán đã cho.
b. Thời gian thực hiện nhanh, ít tốn bộ nhớ.b. Thời gian thực hiện nhanh, ít tốn bộ nhớ.
c. Khi viết chương trình ít phức tạp nhất.c. Khi viết chương trình ít phức tạp nhất.
d. Cả 3 ý trên đều đúng.d. Cả 3 ý trên đều đúng.d
BÀI TẬP VẬN DỤNG
Bài 2: Nội dung và mục đích của bước hiệu chỉnh?
a. Kiểm tra lỗi về thuật toán.a. Kiểm tra lỗi về thuật toán.
b. Kiểm tra lỗi cú pháp của ngôn ngữ lập trình dùng viết chương trình.b. Kiểm tra lỗi cú pháp của ngôn ngữ lập trình dùng viết chương trình.
c. Dùng các bộ Test khác nhau để kiểm tra.c. Dùng các bộ Test khác nhau để kiểm tra.
d. Cả 3 ý trên đều đúng.d. Cả 3 ý trên đều đúng.d
CỦNG CỐ
Bước 2: Lựa chọn hoặc thiết kế thuật toán.
Bước 1: Xác định bài 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 gồm bao nhiêu bước?
Chi tiết các bước?
Bước 2: Lựa chọn hoặc thiết kế thuật toán.
Trong năm bước trênbước nào là bước
quan trọng nhất