Tin học lớp 10 Bài 18: Lập trình giải quyết bài toán trên máy tính
Phần 1. Lý thuyết Tin học 10 Bài 18: Lập trình giải quyết bài toán trên máy tính
1. Quá trình giải một bài toán bằng lập trình
– Bài toán tin học thường gắn liền với các vấn đề thực tế trong cuộc sống, được phát biểu dưới dạng ngôn ngữ tự nhiên.
– Với chương trình vừa viết xong cần phải chạy thử và kiểm tra xem chương trình có lỗi hay không và nếu tìm thấy thì phải sửa tất cả các lỗi tìm được.
– Quá trình giải bài toán bằng lập trình trên máy tính gồm các bước sau:
Bước 1: Xác định bài toán.
Bước 2. Tìm thuật toán giải bài toán và cách tổ chức dữ liệu.
Bước 3: Viết chương trình.
Bước 4. Kiểm thử, chạy và hiệu chỉnh chương trình.
2. Các bước giải bài toán bằng lập trình
a) Xác định bài toán
– Xác định bài toán cần bỏ qua bối cảnh thực tế nêu trong đề bài, xác định giá trị đã cho và các mối quan hệ giữa chúng.
– Các mối quan hệ này không phụ thuộc vào bản chất vật lí của các đại lượng mà thường biểu diễn được bằng công thức, phương trình, bất phương trình, …
b) Tìm thuật toán giải bài toán và cách tổ chức dữ liệu
– Tìm thuật toán dựa trên kết quả của xác định bài toán, dựa trên mối quan hệ giữa các đại lượng với giá trị cần tìm.
– Cùng với việc tìm thuật toán, ta đồng thời phải xác định các cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
c) Viết chương trình
Mỗi ngôn ngữ lập trình bậc cao đều được xây dựng trên những yếu tố cơ bản gồm:
– Bảng chữ cái của ngôn ngữ.
– Quy định về cách viết các thành tố như: tên, câu lệnh, biểu thức.
– Loại dữ liệu cơ sở có thể lưu trữ và xử lí.
– Các phép tính và loại câu lệnh có thể thực hiện.
– Các kiểu dữ liệu có cấu trúc.
– Thư viện chương trình con cung cấp sẵn cho người lập trình.
Để viết được chương trình của một ngôn ngữ lập trình bậc cao cần sử dụng được:
– Các lệnh nhập dữ liệu vào và đưa kết quả ra.
– Các kiểu dữ liệu như số nguyên, số thực, xâu kí tự, danh sách, … và cách dùng chúng.
– Các câu lệnh tương ứng thể hiện cấu trúc rẽ nhánh, cấu trúc lặp của thuật toán.
– Các chương trình con đã cung cấp sẵn trong các thư viện của ngôn ngữ lập trình đó và cách xây dụng chương trình con.
d) Kiểm thử, chạy và hiệu chỉnh chương trình
– Việc tìm lỗi, sửa lỗi, điều chỉnh lại chương trình là công việc quan trọng trong các giai đoạn giải bài toán bằng máy tính.
– Lưu ý: Dù việc kiểm thử có làm tốt đến mức độ nào đi nữa thì trong hầu hết các trường hợp ta chỉ có thể khẳng định là chương trình cho kết quả đúng với nhiều bộ dữ liệu khác nhau.
Phần 2. Bài tập trắc nghiệm Tin học 10 Bài 18: Lập trình giải quyết bài toán trên máy tính
Câu 1. Bước kiểm thử, chạy và hiệu chỉnh chương trình là:
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Hướng dẫn giải
Đáp án đúng là: D
Bước kiểm thử, chạy và hiệu chỉnh chương trình là: Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Câu 2. Có bao nhiêu chế độ dịch chương trình viết trên ngôn ngữ lập trình bậc cao sang ngôn ngữ máy:
A. 1
B. 2
C. 3
D. 4
Hướng dẫn giải
Đáp án đúng là: B
Có 2 chế độ dịch chương trình viết trên ngôn ngữ lập trình bậc cao sang ngôn ngữ máy: Thông dịch và biên dịch.
Câu 3. Khẳng định nào sau đây là đúng khi nói về chế độ biên dịch?
A. Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.
B. Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.
C. Chương trình còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy.
D. Khi thực hiện chương trình, các câu lệnh sẽ được dịch đồng thời sang ngôn ngữ máy để thực hiện.
Hướng dẫn giải
Đáp án đúng là: A
Biên dịch là: Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.
Câu 4. Khẳng định nào sau đây là đúng khi nói về chế độ thông dịch?
A. Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.
B. Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.
C. Chương trình còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy.
D. Khi thực hiện chương trình, các câu lệnh sẽ được dịch đồng thời sang ngôn ngữ máy để thực hiện.
Hướng dẫn giải
Đáp án đúng là: B
Thông dịch là: Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.
Câu 5. Bước quan trọng nhất để giải một bài toán trên máy tính là:
A. Tìm thuật toán giải bài toán và cách tổ chức dữ liệu thiết kế thuật toán.
B. Viết chương trình.
C. Xác định bài toán.
D. Kiểm thử chương trình.
Hướng dẫn giải
Đáp án đúng là: C
Bước xác định bài toán là bước quan trọng nhất vì xác định những giá trị đã cho và mối quan hệ giữa chúng, là tiền đề để lựa chọn và thiết kế thuật toán tối ưu, lựa chọn ngôn ngữ lập trình cụ thể để viết chương trình và kiểm thử.
Câu 6. Quá trình giải toán bằng lập trình trên máy tính có …bước:
A. 2
B. 3
C. 4
D. 5
Hướng dẫn giải
Đáp án đúng là: C
Quá trình giải toán bằng lập trình trên máy tính có 4 bước:
– Bước 1: Xác định bài toán.
– Bước 2: Tìm thuật toán của bài toán và cách tổ chức dữ liệu.
– Bước 3: Viết chương trình.
– Bước 4: Kiểm thử, chạy và hiệu chỉnh chương trình.
Câu 7. Bước xác định bài toán là:
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Hướng dẫn giải
Đáp án đúng là: B
Bước xác định bài toán là: Xác định những giá trị đã cho và mối quan hệ giữa chúng.
Câu 8. Các bước giải bài toán trên máy tính:
A. Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình.
B. Viết chương trình → Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình.
C. Xác định bài toán → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình → Tìm thuật toán của bài toán và cách tổ chức dữ liệu.
D. Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Viết chương trình → Kiểm thử, chạy và hiệu chỉnh chương trình.
Hướng dẫn giải
Đáp án đúng là: D
Quá trình giải toán bằng lập trình trên máy tính có 4 bước:
– Bước 1: Xác định bài toán.
– Bước 2: Tìm thuật toán của bài toán và cách tổ chức dữ liệu.
– Bước 3: Viết chương trình.
– Bước 4: Kiểm thử, chạy và hiệu chỉnh chương trình.
Câu 9. Bước tìm thuật toán của bài toán và cách tổ chức dữ liệu là:
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Hướng dẫn giải
Đáp án đúng là: C
Bước tìm thuật toán của bài toán và cách tổ chức dữ liệu là: Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
Câu 10. Bước viết chương trình là:
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Hướng dẫn giải
Đáp án đúng là: A
Bước viết chương trình là:Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
Câu 11. Mục đích của việc kiểm thử chương trình là:
A. Xác định lại bài toán.
B. Phát hiện và sửa lỗi.
C. Mô tả chi tiết bài toán.
D. Để tạo ra một chương trình mới
Hướng dẫn giải
Đáp án đúng là: B
Mục đích của việc kiểm thử chương trình là phát hiện ra lỗi sai của chương trình từ đó sửa lỗi.
Câu 12. Khẳng định nào sau đây là sai?
A. Chương trình viết bằng ngôn ngữ lập trình bậc cao sẽ được dịch sang ngôn ngữ máy để thực hiện.
B. Có hai chương trình dịch là biên dịch và thông dịch.
C. Quá trình giải toán bằng lập trình trên máy tính có 4 bước.
D. Không cần viết chương trình ta vẫn có thể giải một toán trên máy tính.
Hướng dẫn giải
Đáp án đúng là: D
Để giải một bài toán trên máy tính sau khi xác định bài toán ta sử dụng một ngôn ngữ lập trình cụ thể để viết chương trình thì mới có thể giao cho máy tính thực hiện được.
Câu 13. Cho bài toán: Giải phương trình ax2+bx+c=0. Ở bước xác định bài toán ta xác định đươc:
A. Dữ liệu bài toán cho là 3 số a,b,c. Cần tìm giá trị x thỏa mãn ax2+bx+c=0.
B. Cần sử dụng ngôn ngữ Python để viết chương trình.
C. Sử dụng bộ dữ liệu nhỏ để kiểm thử.
D. Thuật toán để giải bài toán.
Hướng dẫn giải
Đáp án đúng là: A
Bước xác định bài toán là: Xác định những giá trị đã cho và mối quan hệ giữa chúng.
Câu 14. Tiêu chí lựa chọn hoặc thiết kế thuật toán là gì?
A. Hiệu quả về thời gian.
B. Hiệu quả về không gian.
C. Khả thi khi cài đặt.
D. Tất cả đều đúng.
Hướng dẫn giải
Đáp án đúng là: D
Tiêu chí lựa chọn hoặc thiết kế thuật toán là nhanh, tốn ít bộ nhớ, chạy được khi cài đặt.
Câu 15. Thuật toán tối ưu là:
A. Sử dụng ít thời gian, ít bộ nhớ…
B. Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán…
C. Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán…
D. Sử dụng nhiều thời gian, ít bộ nhớ, ít phép toán…
Hướng dẫn giải
Đáp án đúng là: A
Thuật toán tối ưu là: Sử dụng ít thời gian, ít bộ nhớ…
Xem thêm các bài tóm tắt Lý thuyết Tin học lớp 10 Cánh diều hay, chi tiết khác:
Lý thuyết Bài 17: Thực hành lập trình giải bài toán trên máy tính
Lý thuyết Bài 18: Lập trình giải quyết bài toán trên máy tính
Lý thuyết Bài 1: Nhóm nghề thiết kế và lập trình
Lý thuyết Bài 2: Dự án nhỏ: Tìm hiểu về nghề lập trình web, lập trình trò chơi và lập trình cho thiết bị di động
Lý thuyết Bài 1: Hệ nhị phân và ứng dụng
Lý thuyết Bài 2: Thực hành về các phép toán bit và hệ nhị phân