Kiến thức: Biết các bước cơ bản khi tiến hành giải toán trên máy tính: xác định bài toán; xây dựng và chọn thuật toán; lựa chọn câu trúc dữ liệu; viết chương trình; hiệu chỉnh; đưa ra kế[r]
Trang 1Tieỏt PPCT 18
I MUẽC TIEÂU BAỉI HOẽC:
1 Kieỏn thửực: Bieỏt caực bửụực cụ baỷn khi tieỏn haứnh giaỷi toaựn treõn maựy tớnh: xaực ủũnh baứi toaựn; xaõy dửùng vaứ choùn thuaọt toaựn; lửùa choùn caõu truực dửừ lieọu; vieỏt chửụng trỡnh; hieọu chổnh; ủửa ra keỏt quaỷ vaứ hửụựng daón sửỷ duùng
2 Kyừ naờng
3 Thaựi ủoọ
II CHUAÅN Bề:
1 Taứi lieọu, baứi taọp:
2 Duùng cuù, thieỏt bũ:
III TIEÁN TRèNH LEÂN LễÙP:
1 Oồn ủũnh, toồ chửực lụựp:
2 Kieồm tra baứi cuừ:
3 Baứi giaỷng:
GV: ẹVẹ Maựy tớnh laứ coõng cuù hoó trụù con
ngửụứi raỏt nhieàu trong cuoọc soỏng, con ngửụứi
muoỏn maựy tớnh thỡ phaỷi ủửa lụứi giaỷi baứi toaựn
ủoự vaứo maựy dửụựi daùng caực leọnh Nhử vaọy
caực bửụực ủeồ xaõy dửùng moọt baứi toaựn laứ gỡ?
GV: Chuựng ta tỡm hieồu tửứng bửụực giaỷi baứi
toaựn
Bửụực 1: Xác định bài toán:
GV: Xaực ủũnh baứi toaựn laứ ta xaực ủũnh caực
thaứnh phaàn naứo?
HS: Traứ lụứi: Xaực ủũnh Input, Output
GV: ẹuựng roài Việc xác định bài toán chính
là xác định rõ hai thành phần này và mối quan
hệ giữa chúng
*Việc giải bài toán trên máy tính thường
được tiến hành qua các bước sau:
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 Bửụực 5: Viết tài liệu.
1 Xác định bài toán
Xaực ủũnh hai thành phần: Input và
Output Tửứ ủoự xaực ủũnh ngoõn ngửừ laọp trỡnh
vaứ caỏu truực dửừ lieọu moọt caựch thớch hụùp
Trang 2GV: Sau khi xaực ủũnh xong Input vaứ Output
cuỷa baứi toaựn ta sang bửụực tieỏp theo:
Bửụực 2: Lựa chọn hoặc thiết kế thuật toán:
GV: Em naứo nhaộc laùi thuaọt toaựn laứ gỡ?
HS: Traỷ lụứi caõu hoỷi
GV: Baứi toaựn tỡm kieỏm coự bao nhieõu thuaọt
toaựn?
HS: Coự 2 thuaọt toaựn:
-TT Tỡm kieỏ tuaàn tửù
-TT tỡm kieỏm Nhũ phaõn
GV: Theo caực em Thuaọt toaựn Tỡm kieỏm tuaàn
tửù coự giaỷi ủửụùc baứi toaựn Saộp xeỏp ( hay baứi
toaựn khaực)?
HS: Traỷ lụứi (khoõng giaỷi ủửụùc)
GV: Vaọy Thuaọt toaựn Tỡm kieỏm tuaàn tửù
duứng ủeồ giaỷi baứi toaựn naứo?
HS: Traỷ lụứi: Duứng ủeồ giaỷi baứi toaựn Tỡm
kieỏm
GV: Giaỷi thớch roừ hụn veà caực tieõu chớ cuỷa
Thuaọt toaựn toỏi ửu.
-Deó hieồu; (ẹoùc vaứo ta coự theồ hieồu
ủửụùc ngay)
-Trỡnh baứy deó nhỡn; ( Roừ raứng)
-Thụứi gian chaùy nhanh; (TT Tỡm kieỏ
tuaàn tửù > TT tỡm kieỏm Nhũ phaõn).
-Toỏn ớt boọ nhụự ( Khoõng duứng nhieàu
bieỏn (oõ nhụự)).
VD: Baứi toaựn: Tỡm ệCLN cuỷa 2 soỏ nguyeõn
dửụng a vaứ b.
*XẹBT:
-Input: Hai soỏ nguyeõn dửụng M vaứ N.
-Output: ệCLN cuỷa 2 soỏ M vaứ N.
Ta coự: M vaứ N thuoọc soỏ nguyeõn dửụng (kieồu dửừ lieọu)
2 Lựa chọn hoặc thiết kế thuật toán
a) Lựa chọn thuật toán
Mỗi thuật toán chỉ giải một bài toán nào
đó, nhưng một bài toán có thể có nhiều thuật toán khác nhau ủeồ giải Vaọy ta phaỷi choùn thuaọt toaựn toỏi ửu nhaỏt trong nhửừng thuaọt toaựn ủửa ra
Thuaọt toaựn toỏi ửu laứ thuaọt toaựn coự caực tieõu chớ sau:
-Deó hieồu;
-Trỡnh baứy deó nhỡn;
-Thụứi gian chaùy nhanh;
-Toỏn ớt boọ nhụự
Trang 3GV: Sau khi ta choùn ủửụùc thuaọt toaựn thớch
hụùp, ta tỡm caựch dieón taỷ thuaọt toaựn
GV: Laỏy laùi Ví dụ (Tìm ước chung lớn nhất
(ƯCLN) của hai số nguyên dương M và N)
GV: Hửụựng daón caựch neõu yự tửụỷng cuỷa baứi
toaựn:
Ta xeựt VD: Tỡm ệCLN(M = 15,N = 6)
Lửụùt 1:
-Vũ trớ coứn laùi laỏy soỏ lụựn-soỏ nhoỷ ệCLN ( 9, 6 )
Ta laọp laùi lửụùt 1 cho ủeỏn khi M = N thỡ ủửa
ra KQ roà keỏt thuực
Lửụùt 2:
Vũ trớ coứn laùi laỏy soỏ lụựn-soỏ nhoỷ ệCLN ( 3, 6 )
Lửụùt 3:
Vũ trớ coứn laùi laỏy soỏ lụựn-soỏ nhoỷ ệCLN ( 3, 3 )
M = N = 3 = ệCLN(15, 6)
Tửứ yự tửụỷng ụỷ treõn GV hửụựng daón moõ taỷ
thuaọt toaựn baống caựch lieọt keõ
GV: Mô phỏng các bước thực hiện thuật toán
trên
HS: Leõn baỷng moõ taỷ TT baống sụ ủoà khoỏi
ệCLN(15, 6) = 3
b) Diễn tả thuật toán:
VD: Tỡm ƯCLN(M, N)?
Xác định bài toán
- Input: Nhập M, N;
- Output: ƯCLN(M, 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, N)
- Nếu M < N thì
ƯCLN(M, N) = ƯCLN(M , N - M);
Thuật toán:
(Thuaọt toaựn duứng hieọu cuỷa 2 soỏ)
* Diễn tả bằng cách 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àm Ư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: N N - M rồi quay lại bước 2;
Bửụực 5: Đưa ra kết quả ƯCLN roài Kết thúc.
Trang 4
b) Thuật toán diễn tả bằng sơ đồ khối
GV: Baứi toaựn tỡm ệCLN(M,N) treõn coự theồ
giaỷi baống thuaọt toaựn khaực ẹoự laứ Thuaọt toaựn
duứng thửụng cuỷa 2 soỏ hay coứn goùi laứ Thuaọt
toaựn Euclide (ễ-clit)
YÙ tửụỷng cuỷa thuaọt toaựn Euclide:
Tỡm ệCLN(M,N):
- M N;
- N M mod N;
Laởp laùi quaự trỡnh naứy cho ủeỏn khi N = 0 thỡ
ủửa ra keỏt quaỷ ệCLN cuỷa 2 soỏ laứ M, roài keỏt
thuực
Thuaọt toaựn: Euclide (ễ-clit)
(Thuaọt toaựn duứng thửụng cuỷa 2 soỏ)
Bửụực 1: Nhập M, N;
Bửụực 2: Soỏ dử 0;
Bửụực 3: Nếu N = 0 thỡ ủửa ra keỏt quaỷ
ệCLN(M,N) laứ M, rồi Kết thúc;
Bửụực 4: Neỏu N khaực 0 thỡ
Soỏ dử M mod N;
M N;
N Soỏ dử;
Bửụực 5: Quay laùi Bửụực 3
Nhập M và N
M M - N
N N - M
Đúng
Đúng
Đưa ra M; Kết thúc
Trang 5bài toán, công việc tiếp theo là phải chuyển
thuật toán thành chương trình, ta sang bước
tiếp theo:
Bước 3: Viết chương trình
GV: Em nào cho biết có mấy loại NNLT?
HS: Trả lời: Có 3 loại: (Ngôn ngữ máy; Hợp
ngữ; Ngôn ngữ bậc cao)
GV: Do NNLT có nhiều loại nên công việc
trước tiên ta phải chọn NNLT thích hợp
GV: Chương trình được viết không phải lúc
nào cũng đảm bảo là hoàn toàn đúng đắn,
do đó phải thử chương trình bằng các bộ
input đặc trưng để kiểm tra sai sót
GV: Sau khi chương trình đã hoàn thiện,
công việc còn lại là viết tài liệu mô tả thuật
toán, chương trình và hướng dẫn sử dụng
chương trình
3/ Viết chương trình:
Là việc lựa chọn CTDL và NNLT để diễn đạt thuật toan trên máy tính
Khi viết chương trình cần chọn ngôn ngữ thích hợp, viết chương trình bằng ngôn ngữ nào thì phải tuân theo qui định ngữ pháp của ngôn ngữ đó
4/ Hiệu chỉnh:
Sau khi viết xong chương trình cần phải thử chương trình bằng một số INPUT đặc trưng Trong quá trình thử nếu phát hiện ra sai sót thì phải sửa lại chương trình Quá trình này gọi là hiệu chỉnh
5/ Viết tài liệu:
Viết mô tả chi tiết bài toán, thuật toán, chương trình và hướng dẫn chương trình 4.Tổng kết nội dung, đánh giá cuối bài:
5.Dặn dò, kế hoạch học tập tiết sau: Học bài cũ, Xem trước bài mới (Bài 7, 8 và 9)