Thuyết trình đến đây ta đã có thuật toán của bài toán công việc tiếp theo là phải chuyển đổi thuật toán đó sang chương trình ta xét bước viết chương Thuạt toán của bài toán này không[r]
Trang 1Hãy chỉ ra nh ữ ng ưu
điểm của việc giải
bài toán bằng máy
tính so với cách giải
toán thông thường?
Ngày soạn: 26/10/2008
Tiết 18:
Bài 6: Giải bài toán trên máy tính I- Mục tiêu:
1 Kiến thức:
- Hiểu rõ cách tổ chức giải bài toán trên máy tính, tức là cách dùng máy tính thực hiện các công việc cần làm
- Hiểu rõ hơn các khái niệm: Bài toán, thuật toán, +& trình
2 Kĩ năng:
- Thực hiện một số +1 để giả bài toán đơn giản trên máy tính
3 Thái độ:
- Rèn luyện thái độ học tập nghiêm túc, suy luận khoa học và sáng tạo
II- Chuẩn bị:
- Một và bài tập ví dụ 2+< lập trình bằng ngôn ngữ Pascal
- Máy chiếu projector hoặc tranh vẽ nếu có
III- Hoạt động dạy học:
1 ổn định lớp:
2 Bài cũ:
? Nêu + và +< điểm của ngôn ngữ máy, Hợp
ngữ?
3 Bài mới:
Thuyết trình: Ta biết rằng máy tính là công cụ
hỗ trợ con +J rất nhiều trong cuộc sống khả
năng khai thác máy tính phụ thuộc rất nhiều vào sự
hiểu biết của +J dùng Việc giải một bài toán
trên máy tính 2+< thực hiện + thế nào?
Hoạt động 1: Giúp học sinh thấy 2+< tính +
việt của việc giải bài toán băng máy tính
Bài toán đặt vấn đề
Tìm ước số chung lớn nhất (UCLN) của hai số
nguyên dương M và N.
Với các giá trị: M = 25; N = 5
M = 88; N = 121
M = 997; N = 29
M = 2006; N=1998
Báo cáo sĩ số
Suy nghĩ và trả lời
Suy nghĩ và trả lời:
Bước 1: Xác định bài toán.
Bước 2: Lựa chọn hoặc thiết kế thuật 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.
Lắng nghe giáo viên giảng bài và ghi nhớ
Trang 2 Giáo viên tổng hợp ý kiến của học sinhvà phân
tích kỹ hơn: Trong ví dụ trên ta có thể tìm UCLN
của rất nhiều cặp số M,N khác nhau Thực chất đây
là giải bài oán với nhiều bộ Input khác nhau ( 1 lớp
các bài toán) Vì vậy những bài toán trên máy tính
có tính tổng quát
Hoạt động 2:
Nêu tiến trình thực hiện giải bài toán trên máy
tính
? Xác định bài toán là ta xác định những vấn đề
nào?
Ví dụ: Bài toán tìm +1 chung lớn nhất của hai số
nguyên +& M, N
Thuyết trình: )+1 lựa chọn thuật toán là quan
trọng nhất để giải bài toán
? Thuật toán viết +1 dạng liệt kê + thê nào?
? Viết thuật toán +1 dạng sơ đồ khối?
? Theo em thuật toán của bài toán này có thể giải
Thảo luận rồi trình bày
Nhanh, chính xác hơn,…
Nghe giảng và ghi bài
1 Xác định bài toán:
Nghiên cứu sách giáo khoa thảo luận rồi trình bày
2 Lựa chọn hoặc thiết kế thuật toán
Nghiên cứu sách giáo khoa thảo luận rồi trình bày
Bước 1: Xác định bài toán
Xác định hai thành phần INPUT, OUTPUT.
INPUT: M , N là hai số nguyên dương.
OUTPUT: ưCLN(M, N).
Ví dụ:
Cách 1: Liệt kê các bước
B1: Nhập M, N;
B2: Nếu M = N lấy UCLN = M (hoặc N), chuyển đến B5;
B3: Nếu M >N thì M M - N rồi quay lại B2;
B4: N N – M rồi quay B2;
B5: Đa ra kết quả CLN; Kết thúc
Bước 2: Lựa chọn hoặc thiết kế thuật toán
Nếu M = N
- đúng ưCLN = M (hoặc N) Kết thúc;
- Sai Xét: nếu M > N
- đúng M = M – N;
- Sai N = N – M;
Quá trinh này được lặp lại cho đến khi M = N.
a Lựa chọn thuật toán
Lựa chọn một thuật toán tối ưu.
Ví dụ:
Trang 3cho bài toán khác hay không?
Mỗi thuật toán chỉ dùng giải một bài toán,
+ mọt bài toán có thể cs nhiều thuật toán để
giải Vậy ta phải chọn thuật toán tối + nhất trong
những thuật toán 2+8 ra
? Một thuật toán tối + có những tiêu chí nào?
Thuyết trình đến đây ta đã có thuật toán của bài
toán công việc tiếp theo là phải chuyển đổi thuật
toán đó sang +& trình ta xét +1 viết +&
trình
? Vậy viết +& trình là gì?
Việc viết +& 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
Chiếu +& trình đã 2+< viết lên bảng để học
sinh theo dõi
`+& trình 2+< viết không phải lúc nào cũng
đảm bảo là hoàn toàn là đúng đắn Do đó phải thử
sai sót
? Vậy hiệu chỉnh là gì?
Nghiên cứu sách giáo khoa thảo luận rồi trình bày
Thuạt toán của bài toán này không thể giải bài toán khác 2+<%
Tiêu chí là:
- Dễ hiểu
- Trình bày dễ nhìn
- Thời gian chạy nhanh
- ít tốn bộ nhớ
3 Viết chương trình
Là việc lựa chọn cấu trúc dữ liệu và ngôn ngữ lập trình để diễn đạt thuật toán trên máy
Đ
Đ
S S
Cách 2: 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
Đ
Đ
S S
Mô phỏng thuật toán tim ƯCLN
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 ? ƯCLN (25,10) = 5
M N
Bước 3: Viết chương trình
Sử dụng ngôn ngư lập trinh để diễn đạt đúng
thuật toán.
Là tổng hợp giưa việc:
Lựa chọn cách tổ chức dữ liệu
Trang 4? Cách làm + thế nào?
Sau khi +& trình đã hoàn thiện thì công việc
tiếp theo là viết tài liệu mô tả thuật toán +&
trình và +1 dẫn sử dụng +& trình
? Vậy viết tài liệu là gì?
4 Hiệu chỉnh:
Nhằm phát hiện lỗi và sửa lỗi
5 Viết tài liệu:
IV- Củng cố bài:
1 Nhắc lại kiến thức chính đã học trong bài.
Bước 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
Thử chương trinh bằng cách thực hiện nó với một số
bộ INPUT tiêu biểu (TEST) để kiểm tra kết quả, nếu
có sai sót thi hiệu chỉnh lại.
Bước 5: Viết tài liệu
Mô tả chi tiết về bài toán, thuật toán, chương trinh và kết quả thử nghiệm, hướng dẫn cách sử dụng Từ tài liệu này, người sử dụng đề xuất các khả nang hoàn thiện thêm.
Bước 1: Xác định bài toán.
Bước 3: Viết chương trinh.
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
... data-page="3">cho tốn khác hay khơng?
Mỗi thuật toán dùng giải toán,
+ mọt tốn cs nhiều thuật tốn để
giải Vậy ta phải chọn thuật toán tối +
những thuật toán. .. giải tốn
trên máy tính 2+< thực + nào?
Hoạt động 1: Giúp học sinh thấy 2+< tính +
việt việc giải tốn băng máy tính
Bài tốn đặt vấn đề...
- Thực số +1 để giả tốn đơn giản máy tính
Thái độ:
- Rèn luyện thái độ học tập nghiêm túc, suy luận khoa học sáng tạo
II- Chuẩn bị:
- Một