Tìm kiếm Bài giảng
Bài 6. Giải bài toán trên máy tính

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thị Phương
Ngày gửi: 21h:23' 11-11-2021
Dung lượng: 20.8 MB
Số lượt tải: 295
Nguồn:
Người gửi: Nguyễn Thị Phương
Ngày gửi: 21h:23' 11-11-2021
Dung lượng: 20.8 MB
Số lượt tải: 295
Số lượt thích:
0 người
Bài 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
QUAY
VÒNG QUAY
LỚP 10D1
NEXT
QUAY
VÒNG QUAY
LỚP 10D2
NEXT
QUAY
VÒNG QUAY
LỚP 10D3
NEXT
KIỂM TRA BÀI CŨ
Câu 1. Chương trình dịch là chương trình:
A. Chuyển đổi ngôn ngữ máy sang ngôn ngữ lập trình bậc cao.
B. Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy.
C. Chuyển đổi hợp ngữ sang ngôn ngữ lập trình bậc cao.
D. Chuyển đổi ngôn ngữ máy sang hợp ngữ.
KIỂM TRA BÀI CŨ
Câu 2. Ngôn ngữ nào sau đây là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được?
A. Ngôn ngữ máy
B. Hợp ngữ
C. Ngôn ngữ lập trình bậc cao
D. Ngôn ngữ máy và hợp ngữ
KIỂM TRA BÀI CŨ
Câu 3. Câu nào sai khi nói về ngôn ngữ lập trình bậc cao?
A. Là ngôn ngữ mà máy tính có thể trực tiếp hiểu và thực hiện.
B. Gần với ngôn ngữ tự nhiên
C. Có tính độc lập cao, ít phụ thuộc vào các loại máy cụ thể.
D. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch thì máy mới hiểu và thực hiện được.
ĐẶT VẤN ĐỀ
Xét bài toán:
Tìm ƯCLN của các cặp số nguyên dương M và N, với:
M = 25, N = 5
M = 2006, N = 1998
Các bước giải bài toán trên máy tính
1. Xác định bài toán
2. Lựa chọn hoặc thiết kế thuật toán
3. Viết chương trình
4. Hiệu chỉnh
5. Viết tài liệu
1. Xác định bài toán
Xác định bài toán là xác định những yếu tố nào?
Xác định: - Input
- Output
Xác định mối liên hệ giữa Input và Output
Xác định ngôn ngữ lập trình và dữ liệu thích hợp
1. Xác định bài toán
Ví dụ: Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N.
Xác định Input và Output của bài toán?
- Input: Hai số nguyên dương M,N
- Output: ƯCLN của M và N
2. Lựa chọn hoặc thiết kế thuật toán
Tại sao phải lựa chọn thuật toán?
a. Lựa chọn thuật toán
Có thể có nhiều
cách giải
(thuật toán)
BÀI TOÁN
Cách 1
Cách 2
Cách 3…
KẾT QUẢ
2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán
Thế nào là thuật toán tối ưu?
- Thuật toán tối ưu: Là thuật toán có các tiêu chí sau:
+ Thời gian thực hiện nhanh
+ Đơn giản, dễ nhìn, dễ hiểu
+ Tốn ít tài nguyên bộ nhớ
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
Ví dụ: Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N.
- Input: Hai số nguyên dương M,N
- Output: ƯCLN của M và N
Ý tưởng:
- Nếu M = N thì giá trị chung đó là ƯCLN của M và N
- Nếu M < N thì ƯCLN(M , N) = ƯCLN(M , N-M)
- Nếu N < M thì ƯCLN(M-N , N)
M
N
M=18
N=24
M<>N
M=18
N=6
M<>N
M=12
N=6
M<>N
M=6
N=6
M=N
MM>N
M>N
UCLN=6
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
* Liệt kê
Bước 1. Nhập M, N;
Bước 2. Nếu M=N thì lấy giá trị chung này là ƯCLN rồi chuyển đến bước 5;
Bước 3. Nếu M>N thì M M-N rồi quay lại bước 2;
Bước 4. NN-M rồi quay lại bước 2;
Bước 5. Đưa ra kết quả ƯCLN rồi kết thúc.
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
* Sơ đồ khối
Nhập M và N
Đưa ra ƯCLN=M
rồi kết thúc
M=N
M>N
N N-M
M M-N
Sai
Sai
Đúng
Đúng
2. Lựa chọn hoặc thiết kế thuật toán.
b. Diễn tả thuật toán
Nhập M và N
Đưa ra ƯCLN=M
rồi kết thúc
M=N
M>N
N N-M
M M-N
Sai
Sai
Đúng
Đúng
N
10
25
M
>
15
>
5
<
5
=
ƯCLN=5
3. Viết chương trình
Ngôn ngữ lập trình + Thuật toán = Chương trình
- Việc viết chương trình là tổng hợp giữa việc lựa chọn cách 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.
- Lưu ý:
+ Khi viết chương trình cần lựa chọn những ngôn ngữ lập trình thích hợp
+ Viết chương trình trong ngôn ngữ nào thì phải tuân theo quy định ngữ pháp của ngôn ngữ đó.
3. Viết chương trình
4. Hiệu chỉnh
- Một chương trình đã viết xong có thể có nhiều lỗi và sẽ cho kết quả không đúng.
Ta cần thử chương trình với một số bộ Input để phát hiện lỗi và sửa chương trình. Quá trình này gọi là hiệu chỉnh (test).
5. Viết tài liệu
- Tài liệu phải mô tả 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.
Mục đích của việc viết tài liệu?
- Mục đích:
+ Giúp ích cho người sử dụng trong quá trình sử dụng chương trình
+ Giúp cho việc nghiên cứu và đề xuất khả năng hoàn thiện chương trình.
22
Lựa chọn thuật toán
Lựa chọn hoặc thiết kế thuật toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Xác định bài toán
Viết chương trình
Hiệu chỉnh
Viết tài liệu
Input
Output
Chọn ngôn ngữ lập trình phù hợp.
Tổ chức dữ liệu
Test và sửa sai sót.
Mô tả chương trình
Hướng dẫn sử dụng
CỦNG CỐ
Thiết kế thuật toán
QUAY
VÒNG QUAY
LỚP 10D3
NEXT
CỦNG CỐ
Câu 1: Giải bài toán trên máy tính được tiến hành qua mấy bước?
A. 2 bước B. 3 bước
C. 4 bước D. 5 bước
Câu 2: Mục đích của việc hiệu chỉnh là:
A. Phát hiện lỗi và sửa sai sót
B. Xác định lại Input và Output của bài toán
C. Tạo ra chương trình mới
D. Mô tả chương trình
QUAY
VÒNG QUAY
LỚP 10D1
NEXT
QUAY
VÒNG QUAY
LỚP 10D2
NEXT
QUAY
VÒNG QUAY
LỚP 10D3
NEXT
KIỂM TRA BÀI CŨ
Câu 1. Chương trình dịch là chương trình:
A. Chuyển đổi ngôn ngữ máy sang ngôn ngữ lập trình bậc cao.
B. Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy.
C. Chuyển đổi hợp ngữ sang ngôn ngữ lập trình bậc cao.
D. Chuyển đổi ngôn ngữ máy sang hợp ngữ.
KIỂM TRA BÀI CŨ
Câu 2. Ngôn ngữ nào sau đây là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được?
A. Ngôn ngữ máy
B. Hợp ngữ
C. Ngôn ngữ lập trình bậc cao
D. Ngôn ngữ máy và hợp ngữ
KIỂM TRA BÀI CŨ
Câu 3. Câu nào sai khi nói về ngôn ngữ lập trình bậc cao?
A. Là ngôn ngữ mà máy tính có thể trực tiếp hiểu và thực hiện.
B. Gần với ngôn ngữ tự nhiên
C. Có tính độc lập cao, ít phụ thuộc vào các loại máy cụ thể.
D. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch thì máy mới hiểu và thực hiện được.
ĐẶT VẤN ĐỀ
Xét bài toán:
Tìm ƯCLN của các cặp số nguyên dương M và N, với:
M = 25, N = 5
M = 2006, N = 1998
Các bước giải bài toán trên máy tính
1. Xác định bài toán
2. Lựa chọn hoặc thiết kế thuật toán
3. Viết chương trình
4. Hiệu chỉnh
5. Viết tài liệu
1. Xác định bài toán
Xác định bài toán là xác định những yếu tố nào?
Xác định: - Input
- Output
Xác định mối liên hệ giữa Input và Output
Xác định ngôn ngữ lập trình và dữ liệu thích hợp
1. Xác định bài toán
Ví dụ: Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N.
Xác định Input và Output của bài toán?
- Input: Hai số nguyên dương M,N
- Output: ƯCLN của M và N
2. Lựa chọn hoặc thiết kế thuật toán
Tại sao phải lựa chọn thuật toán?
a. Lựa chọn thuật toán
Có thể có nhiều
cách giải
(thuật toán)
BÀI TOÁN
Cách 1
Cách 2
Cách 3…
KẾT QUẢ
2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán
Thế nào là thuật toán tối ưu?
- Thuật toán tối ưu: Là thuật toán có các tiêu chí sau:
+ Thời gian thực hiện nhanh
+ Đơn giản, dễ nhìn, dễ hiểu
+ Tốn ít tài nguyên bộ nhớ
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
Ví dụ: Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N.
- Input: Hai số nguyên dương M,N
- Output: ƯCLN của M và N
Ý tưởng:
- Nếu M = N thì giá trị chung đó là ƯCLN của M và N
- Nếu M < N thì ƯCLN(M , N) = ƯCLN(M , N-M)
- Nếu N < M thì ƯCLN(M-N , N)
M
N
M=18
N=24
M<>N
M=18
N=6
M<>N
M=12
N=6
M<>N
M=6
N=6
M=N
M
M>N
UCLN=6
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
* Liệt kê
Bước 1. Nhập M, N;
Bước 2. Nếu M=N thì lấy giá trị chung này là ƯCLN rồi chuyển đến bước 5;
Bước 3. Nếu M>N thì M M-N rồi quay lại bước 2;
Bước 4. NN-M rồi quay lại bước 2;
Bước 5. Đưa ra kết quả ƯCLN rồi kết thúc.
2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
* Sơ đồ khối
Nhập M và N
Đưa ra ƯCLN=M
rồi kết thúc
M=N
M>N
N N-M
M M-N
Sai
Sai
Đúng
Đúng
2. Lựa chọn hoặc thiết kế thuật toán.
b. Diễn tả thuật toán
Nhập M và N
Đưa ra ƯCLN=M
rồi kết thúc
M=N
M>N
N N-M
M M-N
Sai
Sai
Đúng
Đúng
N
10
25
M
>
15
>
5
<
5
=
ƯCLN=5
3. Viết chương trình
Ngôn ngữ lập trình + Thuật toán = Chương trình
- Việc viết chương trình là tổng hợp giữa việc lựa chọn cách 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.
- Lưu ý:
+ Khi viết chương trình cần lựa chọn những ngôn ngữ lập trình thích hợp
+ Viết chương trình trong ngôn ngữ nào thì phải tuân theo quy định ngữ pháp của ngôn ngữ đó.
3. Viết chương trình
4. Hiệu chỉnh
- Một chương trình đã viết xong có thể có nhiều lỗi và sẽ cho kết quả không đúng.
Ta cần thử chương trình với một số bộ Input để phát hiện lỗi và sửa chương trình. Quá trình này gọi là hiệu chỉnh (test).
5. Viết tài liệu
- Tài liệu phải mô tả 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.
Mục đích của việc viết tài liệu?
- Mục đích:
+ Giúp ích cho người sử dụng trong quá trình sử dụng chương trình
+ Giúp cho việc nghiên cứu và đề xuất khả năng hoàn thiện chương trình.
22
Lựa chọn thuật toán
Lựa chọn hoặc thiết kế thuật toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Xác định bài toán
Viết chương trình
Hiệu chỉnh
Viết tài liệu
Input
Output
Chọn ngôn ngữ lập trình phù hợp.
Tổ chức dữ liệu
Test và sửa sai sót.
Mô tả chương trình
Hướng dẫn sử dụng
CỦNG CỐ
Thiết kế thuật toán
QUAY
VÒNG QUAY
LỚP 10D3
NEXT
CỦNG CỐ
Câu 1: Giải bài toán trên máy tính được tiến hành qua mấy bước?
A. 2 bước B. 3 bước
C. 4 bước D. 5 bước
Câu 2: Mục đích của việc hiệu chỉnh là:
A. Phát hiện lỗi và sửa sai sót
B. Xác định lại Input và Output của bài toán
C. Tạo ra chương trình mới
D. Mô tả chương trình
 









Các ý kiến mới nhất