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: Sưu tầm
Người gửi: Dương Minh Hải (trang riêng)
Ngày gửi: 08h:11' 07-11-2008
Dung lượng: 700.0 KB
Số lượt tải: 22
Nguồn: Sưu tầm
Người gửi: Dương Minh Hải (trang riêng)
Ngày gửi: 08h:11' 07-11-2008
Dung lượng: 700.0 KB
Số lượt tải: 22
Số lượt thích:
0 người
KIỂM TRA BÀI CŨ
Ngôn ngữ lập trình là phương tiện dùng để diễn đạt cho máy tính những việc con người muốn máy thực hiện.
Câu 1: Em hiểu ngôn ngữ lập trình là gì?
KIỂM TRA BÀI CŨ
Chương trình dịch dùng để chuyển đổi các ngôn ngữ khác về ngôn ngữ máy.
Câu 2: Chương trình dịch dùng để làm gì?
KIỂM TRA BÀI CŨ
Việc phát triển các ngôn ngữ bậc cao là tạo ra môi trường làm việc dễ dàng hơn cho con người. Cũng nhờ đó mới phát triển nguồn nhân lực lập trình nói riêng và ứng dụng tin học nói chung.
Câu 3: Vì sao phải phát triển các ngôn ngữ bậc cao?
Bài 6. Giải bài toán trên máy tính
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
- B1: Xác định bài toán.
- B2: Lựa chọn hoặc thiết kế thuật toán.
- B3: Viết chương trình.
- B4: Hiệu chỉnh.
- B5: Viết tài liệu.
Việc giải bài toán thường được tiến hành qua các bước sau:
1. Xác định bài toán:
Vi?c xỏc d?nh bài toỏn chớnh là xỏc d?nh rừ hai thành ph?n: INPUT, OUTPUT.
Ví dụ: Trong 1 bài toán tin học khi đề cập đến 1 số nguyên dương N là tuổi của 1 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.
-> lựa chọn thuật toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán và ngôn ngữ lập trình thích hợp.
2. Lựa chọn hoặc thiết kế thuật toán:
a) Lựa chọn thuật toán:
- Bước lựa chọn hoặc thiết kế thuật toán là bước quan trọng nhất để giải 1 bài toán.
- Mỗi thuật toán chỉ giải 1 bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải 1 bài toán.
- Tiêu chuẩn lựa chọn thuật toán:
+ Thời gian thực hiện.
+ Số lượng ô nhớ (bộ nhớ).
+ Viết chương trình cho thuật toán ít phức tạp.
b) Diễn tả thuật toán:
Ví dụ: Tìm ước chung lớn nhất (UCLN) của 2 số nguyên dương M và N.
15
27
12
9
6
3
12
12
3
3
3
3
27>1227-12
15>1215-12
3<1212-3
3<99-3
3<66-3
3 = 3
- Xác định bài toán:
+ Input: cho M, N.
+ Output: UCLN(M, N).
- Ý tưởng:
+ Nếu M = N -> giá trị chung đó là UCLN của M và N.
+ Nếu M < N -> UCLN(M, N) = UCLN(M, N-M).
+ Nếu M > N -> UCLN(M, N) = UCLN(M-N, N).
- Thuật toán:
+ Liệt kê:
B1: Nhập M, N;
B2: Nếu M = N lấy UCLN = M (hoặc N)
B3: Nếu M >N thì M M - N
B4: N N – M
, chuyển đến B5;
B5: Đưa ra kết quả UCLN rồi kết thúc.
rồi quay lại B2;
rồi quay lại B2;
Nhập M, N
N <- N - M
M = N ?
Đưa M -> Kết thúc
Đ
M <- M - N
M > N ?
S
Đ
S
+ Sơ đồ khối:
Đ
Đ
S
S
Diễn tả thuật toán bằng sơ đồ khối
5
10
10
10
5
5
15
25
3
2
1
Lượt
Nhập M ,N
M =N ?
M > N ?
N ?N - M
M ?M - N
Đưa ra M ; Kết thúc
M= 25, N = 10
25 = 10 ?
25 >10
M ?25 - 10
15 = 10 ?
15 >10
M ?15 - 10
5 = 10 ?
5 > 10 ?
N = 10 - 5
5 = 5 ?
ƯSLN (25,10) = 5
M
N
3. Viết 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.
- Khi viết chương trình ta nên chọn 1 ngôn ngữ lập trình hoặc 1 phần mềm chuyên dụng thích hợp với thuật toán.
4. Hiệu chỉnh:
TEST:
M = 8; N = 8 ? ưCLN = 8
M = 25; N = 10 ? ưCLN = 5
M = 88; N = 121 ? ưCLN = 11
M = 17; N = 13 ? ưCLN = 1
Sau khi viết xong chương trình, ta cần phải thử chương trình bằng cách thực hiện nó với 1 số bộ Input tiêu biểu. Nếu có sai sót, ta phải sửa chương trình rồi thử lại. Quá trình này được gọi là hiệu chỉnh.
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. Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm.
Bước 2: Lựa chọn hoặc thiết kế thuật toán.
Bước 1: Xác định bài toán.
Bước 3: Viết chương trình.
Bước 4: Hiệu chỉnh.
Bước 5: Viết tài liệu.
Các bước giải bài toán trên máy tính
Câu hỏi bài tập
Bài tập 3 trang 51 SGK.
Soạn câu hỏi và bài tập trang 52, 57 SGK.
Ngôn ngữ lập trình là phương tiện dùng để diễn đạt cho máy tính những việc con người muốn máy thực hiện.
Câu 1: Em hiểu ngôn ngữ lập trình là gì?
KIỂM TRA BÀI CŨ
Chương trình dịch dùng để chuyển đổi các ngôn ngữ khác về ngôn ngữ máy.
Câu 2: Chương trình dịch dùng để làm gì?
KIỂM TRA BÀI CŨ
Việc phát triển các ngôn ngữ bậc cao là tạo ra môi trường làm việc dễ dàng hơn cho con người. Cũng nhờ đó mới phát triển nguồn nhân lực lập trình nói riêng và ứng dụng tin học nói chung.
Câu 3: Vì sao phải phát triển các ngôn ngữ bậc cao?
Bài 6. Giải bài toán trên máy tính
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
- B1: Xác định bài toán.
- B2: Lựa chọn hoặc thiết kế thuật toán.
- B3: Viết chương trình.
- B4: Hiệu chỉnh.
- B5: Viết tài liệu.
Việc giải bài toán thường được tiến hành qua các bước sau:
1. Xác định bài toán:
Vi?c xỏc d?nh bài toỏn chớnh là xỏc d?nh rừ hai thành ph?n: INPUT, OUTPUT.
Ví dụ: Trong 1 bài toán tin học khi đề cập đến 1 số nguyên dương N là tuổi của 1 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.
-> lựa chọn thuật toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán và ngôn ngữ lập trình thích hợp.
2. Lựa chọn hoặc thiết kế thuật toán:
a) Lựa chọn thuật toán:
- Bước lựa chọn hoặc thiết kế thuật toán là bước quan trọng nhất để giải 1 bài toán.
- Mỗi thuật toán chỉ giải 1 bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải 1 bài toán.
- Tiêu chuẩn lựa chọn thuật toán:
+ Thời gian thực hiện.
+ Số lượng ô nhớ (bộ nhớ).
+ Viết chương trình cho thuật toán ít phức tạp.
b) Diễn tả thuật toán:
Ví dụ: Tìm ước chung lớn nhất (UCLN) của 2 số nguyên dương M và N.
15
27
12
9
6
3
12
12
3
3
3
3
27>1227-12
15>1215-12
3<1212-3
3<99-3
3<66-3
3 = 3
- Xác định bài toán:
+ Input: cho M, N.
+ Output: UCLN(M, N).
- Ý tưởng:
+ Nếu M = N -> giá trị chung đó là UCLN của M và N.
+ Nếu M < N -> UCLN(M, N) = UCLN(M, N-M).
+ Nếu M > N -> UCLN(M, N) = UCLN(M-N, N).
- Thuật toán:
+ Liệt kê:
B1: Nhập M, N;
B2: Nếu M = N lấy UCLN = M (hoặc N)
B3: Nếu M >N thì M M - N
B4: N N – M
, chuyển đến B5;
B5: Đưa ra kết quả UCLN rồi kết thúc.
rồi quay lại B2;
rồi quay lại B2;
Nhập M, N
N <- N - M
M = N ?
Đưa M -> Kết thúc
Đ
M <- M - N
M > N ?
S
Đ
S
+ Sơ đồ khối:
Đ
Đ
S
S
Diễn tả thuật toán bằng sơ đồ khối
5
10
10
10
5
5
15
25
3
2
1
Lượt
Nhập M ,N
M =N ?
M > N ?
N ?N - M
M ?M - N
Đưa ra M ; Kết thúc
M= 25, N = 10
25 = 10 ?
25 >10
M ?25 - 10
15 = 10 ?
15 >10
M ?15 - 10
5 = 10 ?
5 > 10 ?
N = 10 - 5
5 = 5 ?
ƯSLN (25,10) = 5
M
N
3. Viết 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.
- Khi viết chương trình ta nên chọn 1 ngôn ngữ lập trình hoặc 1 phần mềm chuyên dụng thích hợp với thuật toán.
4. Hiệu chỉnh:
TEST:
M = 8; N = 8 ? ưCLN = 8
M = 25; N = 10 ? ưCLN = 5
M = 88; N = 121 ? ưCLN = 11
M = 17; N = 13 ? ưCLN = 1
Sau khi viết xong chương trình, ta cần phải thử chương trình bằng cách thực hiện nó với 1 số bộ Input tiêu biểu. Nếu có sai sót, ta phải sửa chương trình rồi thử lại. Quá trình này được gọi là hiệu chỉnh.
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. Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm.
Bước 2: Lựa chọn hoặc thiết kế thuật toán.
Bước 1: Xác định bài toán.
Bước 3: Viết chương trình.
Bước 4: Hiệu chỉnh.
Bước 5: Viết tài liệu.
Các bước giải bài toán trên máy tính
Câu hỏi bài tập
Bài tập 3 trang 51 SGK.
Soạn câu hỏi và bài tập trang 52, 57 SGK.
 







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