Bài 6. Giải bài toán trên máy tính tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩ...
Trang 1KIỂM TRA BÀI CŨ
Câu 1 : Ngôn ngữ lập trình là gì? Nêu các loại ngôn ngữ lập trình?
Trả lời: - Là ngôn ngữ dùng để biểu diễn thuật toán thành chương trình trên máy tính.
- Một số loại ngôn ngữ lập trình: Ngôn ngữ máy, Hợp ngữ, Ngôn ngữ bậc cao(pascal, C…)
Câu 2: Chương trình dịch là gì?
Trả lời: Chương trình dịch là chương trình dịch các chương trình được viết bằng ngôn ngữ lập trình bậc cao, hợp ngữ thành ngôn ngữ máy
Trang 2TIẾT: 18
Trang 3CÁC BƯỚC GiẢI BÀI TOÁN TRÊN MÁY TÍNH
Trang 41 Xác định bài toán
Mỗ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.
Trang 52 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.
Trang 62 Lựa chọn hoặc thiết kế thuật toán
a Lựa chọn thuật toán
b 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: diễn tả thuật toán Mục đích của
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.
Trang 72 Lựa chọn hoặc thiết kế thuật toán
a Lựa chọn thuật toán
b 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.
Trang 82 Lựa chọn hoặc thiết kế thuật toán
a Lựa chọn thuật toán
b Diễn tả thuật toán
Nhập a, b
Phương trình
vô nghiệm
PT nghiệm đúng với mộ giá trị
PT có nghiệm duy
nhất là x
x -b/a
Đ
S
Đ
S
A=0, B=0 A=0, B=2 A=2, B=1
Trang 93 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.
Trang 104 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:
Trang 115 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ả thuật toán.
Tài liệu thiết kế chương trình
Các kết quả thử nghiệm
Tài liệu hướng dẫn sử dụng hướ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.
Trang 12BÀ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.
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.
d Cả 3 ý trên đều đúng.
d
Trang 13BÀ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.
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.
d Cả 3 ý trên đều đúng.
d
Trang 14CỦNG CỐ
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ên bước nào là bước quan trọng nhất
Trang 15BÀI TẬP VỀ NHÀ
Hãy viết thuật toán giải phương trình bậc
tiêu biểu?