Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (116.47 KB, 12 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b> 18</b> <b>6</b> <b>Giải bài toán trên m¸y tÝnh</b>
<b>Bướcư1.ưXácưđịnhưbàiưtốn</b>
<b>Bướcư2.ưLựaưchọnưhoặcưthiếtưkếưthuậtưtốn</b>
<b>Bướcư3.ưViếtưchươngưtrình</b>
<b>Bướcư4.ưHiệuưchỉnh</b>
<b>1.ưXácưđịnhưbàiưtốn</b>
<b>V</b>iệc xác định bài tốn chính Xác định Input/Output và mối
liên hệ giữa chúng.
<b>C</b>ác thông tin cần đ ợc nghiên cứu để lựa chọn thuật toán,
cách thể hiện, các đại l ợng phát sinh và ngơn ngữ lập trình thích
hợp.
TiÕt 18 Bµi 6<sub> Giải bài toán trên máy tính</sub>
Vớ d : Tỡm v đ a ra nghiệm của ph ơng trình ax +b = 0
<i>* Xác định bài tốn</i>
- Input:
- Output:
<i>C¸c sè thùc a, b</i>
<b>2.ưLựaưchọnưhoặcưthiếtưkếưthuậtưtoán</b>
<b>a. Lựa chọn thuật toán</b>
Thit k hoặc lựa chọn thuật tốn đ có để giải bi toỏn.<b>ó</b>
Các tài nguyên nh : Thời gian thực hiện, số l ợng ô nhớ
La chn thut toỏn sao cho việc viết ch ơng trình cho thuật
tốn đó ít phức tạp.
Cần căn cứ vào l ợng tài nguyên mà thuật tốn địi hỏi và l
ợng tài ngun thực tế cho phép.
<b>b. DiƠn t¶ tht toán</b>
Ví dụ 1: Tìm ớc chung lớn nhất (ƯCLN) của hai
số nguyên d ơng M và N.
<i><b>* Xỏc nh bi toỏn</b></i>
- Input: Cho M, và N
- Output: ƯCLN(M, N)
<i><b>* </b><b>ý</b><b><sub> t ởng: Sử dụng những điều đ biÕt sau:</sub></b></i><sub>·</sub>
- 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)
Thuật toán
<b>* Cách liệt kê</b>
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<i></i>
rồi quay lại b íc 2.
B íc 4: N N – M råi quay l¹i b íc 2.
<b>* S khi</b>
<b>Nhập M và N</b>
<b>M = N ?</b>
<b>Đ a ra M råi kÕt thóc</b>
<b>§óng</b>
<b>M > N ?</b>
<b>Sai</b>
<b>M </b><b> M - N</b>
<b>N </b><b> N - M</b>
<b>§óng</b>
Ví dụ 2: Tìm và đ a ra nghiệm của ph ơng trình ax +b = 0
<i>* Xác định bài tốn</i>
- Input: Các số thực a, b
- Output: <i>Tất cả các số thùc x tho¶ m n ax+b = 0</i>·
<i>* ý<sub> t ởng: Sử dụng những điều đ biết sau:</sub></i><sub>Ã</sub>
- Nếu a=0, b0 thì thông báo vô nghiệm
- Nu a=0, b=0 thì thơng báo ph ơng trình nghiệm
đúng với mọi giá trị.
<b>3.ưViếtưchươngưtrình</b>
Khi viết ch ơng trình cần lựa chọn cách tổ chức
dữ liệu và sử dụng ngôn ngữ lập trỡnh din t ỳng
thut toỏn.
<b>* Cách liệt kê</b>
Thuật toán
B ớc 2: Nếu a=0, b0 thì thông báo v« nghiƯm, råi kÕt thóc.
B íc 3: NÕu a=0, b=0 thì thông báo ph ơng trình nghiệm
ỳng vi mi giá trị, rồi kết thúc.
B íc 4: NÕu a≠0 th× x=-b/a thông báo ph ơng trình
có nghiệm duy nhất lµ x, råi kÕt thóc.
<b>4.HiƯuchØnh</b>
<b>Begin</b>
<b>Dùng ch ơng trình soạn thảo văn bản </b>
<b>(EDITOR) để viết và sửa li ch ng trỡnh</b>
<b>Gọi ch ơng trình dịch COMPILER </b>
<b>và ch ơng trình kết nối</b>
<b>Có lỗi cú pháp</b>
<b>Chạy thử ch ơng trình vừa đ ợc dịch xong</b>
<b>Có lỗi giải thuật? </b>
<b>Có</b>
<b>Có</b>
<b>Không</b>
<b>Không</b>
<b>5.ưViếtưtàiưliệu</b>
Mô tả ch ơng trình và h íng dÉn sư dơng.
<b>Ghiưnhớ:ưCácưbướcưgiảiưbàiưtốnưtrênưmáyưtính</b>
- Xác định bài toán:
Xác định Input/Output và mối liên hệ giữa chúng.
- L a chọn hoặc xây dựng thuật toán:
Thiết kế hoặc lựa chọn thuật tốn đ có để giải bi toỏn.<b>ó</b>
- Viết ch ơng trình: Lựa chọn cách tổ chức dữ liệu và
s dng ngụn ng lp trỡnh để diễn tả đúng thuật toán.
- Hiệu chỉnh: