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ậ[r]
Trang 1§ 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
Trang 2§ 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Trang 3và 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:
Trang 41 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
Trang 51 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.
hiện N bằng kiểu dữ liệu thích hợp.
Trang 62 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.
Trang 72 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.
Trang 82 Lựa chọn hay thiết kế thuật toán
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ự
Trang 92 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.
Trang 102 Lựa chọn hay thiết kế thuật toán
b) Diễn tả thuật toán
Trang 112 Lựa chọn hay thiết kế thuật toán
Ý tưởng: Sử dụng những điều đã biết
Trang 122 Lựa chọn hay thiết kế thuật toán
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;
Trang 132 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
Trang 142 Lựa chọn hay thiết kế thuật toán
Trang 152 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
7 5
Trang 163 Viết chương trình
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.
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ữ đó
báo các lỗi về mặt cú pháp
Trang 174 Hiệu chỉnh
lỗi khác chưa phát hiện được nên kết quả thực thi không đú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
lại
Trang 184 Hiệu chỉnh
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)
Trang 195 Viết tài liệu
trình và cho việc đề xuất những khả năng hoàn thiện thêm.
Trang 205 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;
Trang 21C ũ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.
Trang 23C ũ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
Trang 24C ũ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
Trang 25C ũ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
Trang 26
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