Nhằm giúp các em tìm hiểu các bước giải quyết bài toán trên máy tính diễn ra như thế nào? HOC247 xin giới thiệu nội dung bài giảng của Bài 18: Lập trình giải quyết bài toán trên máy tính trong chương trình Tin học 10 Cánh diều Chủ đề F. Mời các em tham khảo nội dung chi tiết của bài giảng dưới đây!
Tóm tắt lý thuyết
1.1. Quá trình giải một bài toán bằng lập trình
Xét Bài toán Quản lí tiền điện
- Bước 1. Xác định bài toán
Cho dãy 12 số nguyên a1, a2, …, a12.
Yêu cầu:
+ Tính tổng các số trong dãy \(s = \sum\limits_{i = 1}^{12} {{a_i}} \)
+ Tính trung bình cộng av = s/12
+ Đưa ra các vị trí i thỏa mãn điều kiên ai > av
- Bước 2. Tìm thuật toán giải bài toán và cách tổ chức dữ liệu
Thuật toán giải bài toán quản lí tiền điện
+ Bước 1: Nhập dãy số tiền t1, t2, …, t12.
+ Bước 2: Chuẩn bị tích lũy tổng: s = 0
+ Bước 3: Tích lũy giá trị các số của dãy vào tổng s
+ Bước 4: Đưa ra giá trị s
+ Bước 5: Tính và đưa ra giá trị trung bình av = s/12
+ Bước 6: Duyệt tuần tự từ t1 đến t12: đưa ra i nếu ti > av (i = 1, 2, …, 12)
- Bước 3. Viết chương trình
Hình 3. Chương trình giải bài toán Quản lí tiền điện
- Bước 4. Kiểm thử, chạy và hiệu chỉnh chương trình
Với chương trình 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
1.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 những giá trị đã cho và các mối quan hệ giữa chúng
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ả quan trọng của 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
- 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 đó
- Ví dụ: xét bài toán Quản lí tiền điện
+ tính tổng tiền điện 12 tháng
+ tính mức chi trung bình tháng
+ so sánh tiền điện mỗi tháng với mức chi trung bình tháng để đưa ra tháng dùng điện nhiều
=> dữ liệu tiền điện hàng tháng được dùng 2 lần => cần phải lưu lại => ta thấy cấu trúc dữ liệu thích hợp là mảng (hay danh sách trong Python)
c) Viết chương trình
- Là mô tả thuật toán bằng ngôn ngữ lập trình
- Có nhiều ngôn ngữ lập trình bậc cao khác nhau, tuy nhiên 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ú pháp
+ Ngữ nghĩa
+ Các kiểu dữ liệu
+ Các câu lệnh, biểu thức, thư viện các hàm cho sẵn
- Để máy tính có thể hiểu và thực hiện được chương trình viết trên ngôn ngữ lập trình bậc cao cần có công cụ dịch chương trình sang ngôn ngữ máy
- Có 2 chế độ dịch chương trình là thông dịch (Interpreter) hoặc biên dịch (Compiler)
d) Kiểm thử, chạy và hiệu chỉnh chương trình
- Viết xong chương trình cần phải tìm lỗi, sửa lỗi, điều chỉnh lại chương trì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 vào khác nhau.
- Các bước giải bài toán trên máy tính: + Xác định bài toán. + Tìm thuật toán giải bài toán và cách tổ chức dữ liệu. + Viết chương trình: mô tả thuật toán bằng ngôn ngữ lập trình. + Kiểm thử chương trình. - Mỗi ngôn ngữ lập trình bậc cao đều có các yếu tố cơ bản: bảng chữ cái; cú pháp, ngữ nghĩa; các kiểu dữ liệu; các câu lệnh, biểu thức, thư viện các hàm cho sẵn. - Có hai 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 là biên dịch và thông dịch. |
---|
Bài tập minh họa
Bài tập 1: Theo em, cách phát biểu đề bài của một bài tập trong tin học và trong toán học thường khác nhau ra sao?
Hướng dẫn giải:
Các bài tập trong toán học thường đưa ra số liệu cụ thể, còn các bài tập trong tin học thường đưa dữ liệu dạng tổng quát ví dụ a, b, c, ....
Bài tập 2: Quá trình giải toán bằng lập trình trên máy tính có bao nhiêu bước?
Hướng dẫn giải:
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.
Bài tập 3: Bước quan trọng nhất để giải một bài toán trên máy tính là gì?
Hướng dẫn giải:
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ử.
Luyện tập
Qua bài học các em cần nắm được các về:
Trình bày tóm tắt được các bước cần thực hiện khi giải một bài toán bằng lập trình trên máy tính với một ngôn ngữ lập trình bậc cao.
3.1. Trắc nghiệm Bài 18 Chủ đề F Tin học 10 Cánh diều
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Cánh diều Chủ đề F Bài 18 cực hay có đáp án và lời giải chi tiết.
-
- A. 2
- B. 3
- C. 4
- D. 5
-
- 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
-
Câu 3:
Bước tìm thuật toán của bài toán và cách tổ chức dữ liệu là làm những công việc gì?
- 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
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập SGK Bài 18 Chủ đề F Tin học 10 Cánh diều
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Cánh diều Chủ đề F Bài 18 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 119 SGK Tin học 10 Cánh diều - CD
Hoạt động trang 119 SGK Tin học 10 Cánh diều - CD
Luyện tập 1 trang 123 SGK Tin học 10 Cánh diều - CD
Luyện tập 2 trang 123 SGK Tin học 10 Cánh diều - CD
Vận dụng trang 123 SGK Tin học 10 Cánh diều - CD
Câu hỏi tự kiểm tra trang 123 SGK Tin học 10 Cánh diều - CD
Hỏi đáp Bài 18 Chủ đề F Tin học 10 Cánh diều
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 10 HỌC247