1. Thuật toán là gì?
2. Trình bày các bước để giải một bài toán?
Thuật toán là một dãy hữu hạn các thao
tác cần thực hiện để giải một bài toán.
+ Xác đ nh bài toán.ị
+ Mô t thu t toán.ả ậ
+ Vi t ch ng trình (l p trình).ế ươ ậVí d :ụ Tìm s l n nh t trong dãy A g m ố ớ ấ ồ
các s aố
1
, a
2
, , a
n
cho tr c.ướ
Mu n gi i bài ố ả
toán này trên
máy tính ta
c n gi i m y ầ ả ấ
b c?ướ
V y đ tìm s ậ ể ố
l n nh t c a ớ ấ ủ
dãy s này ta ố
làm b ng cách ằ
nào?
x:=y;
y:=z;
Writeln(x ,’ ’,y);
readln
end.Bài toán đ c xác đ nhượ ị
Bài toán đ c xác đ nhượ ị
Input:
Input:
hai bi n x, y có giá tr t ng ng là a và b.ế ị ươ ứ
hai bi n x, y có giá tr t ng ng là a và b.ế ị ươ ứ
Output:
Output:
hai bi n x, y có giá tr t ng ng là b và a. ế ị ươ ứ
hai bi n x, y có giá tr t ng ng là b và a. ế ị ươ ứ
Ta có thuật toán:
Bước 1: z ← x { giá trị của z sẽ bằng a}
Bước 2: x ← y { giá trị của x sẽ bằng b}
Bước 3: y ← z { giá trị của y sẽ bằng a}
c. Ví d 4:ụ
c. Ví d 4:ụ
Đ i giá tr c a 2 bi n x và y.ổ ị ủ ế
Nếu a > b,kết
kếtquả là
quả là
“a lớn hơn b”.
“a lớn hơn b”.
Bước 1
Bước 1
:
:Nếu a > b, kết quả là
Nếu a > b, kết quả là
“a lớn hơn b”. Và chuyển đến
“a lớn hơn b”. Và chuyển đến
bước 3.
bước 3.
Bước 2:
Bước 2:Nếu a < b, kết
Nếu a < b, kết
quả là “a nhỏ hơn b”.
Ví dụ: Tìm giá trị lớn nhất của 3 số a, b, c
Em hãy xác định bài toán và mô tả thuật
toán cho bài toán?
- Input: 3 số a, b, c.
Hướng dẫn:
+ Ta gán số a cho biến Max sau đó so sánh lần lượt
số b và c với Max.
Bài toán xác định
4. M t s ví d v thu t toánộ ố ụ ề ậ
4. M t s ví d v thu t toánộ ố ụ ề ậ
- Output: Max của 3 số a, b, c
+ Nếu b > Max thì gán b cho max, còn nếu c >
Max thì gán c cho max.e.Ví dụ 6: Tìm số lớn nhất trong dãy A gồm các số a
1
, a
2
, ,
a
n
cho trước.
+ Input: dãy A các số a
1
, a
2
, , a
n
Bước 1. Max ← a
1
; i ← 1.
Bước 2. i ← i + 1
Bước 3. Nếu i > n thì chuyển đến bước 5.
Bước 4. Nếu a
i
> Max thì Max ← a
i
và quay lại bước 2
Bước 5. Kết thúc thuật toán.a) Trớc hết, ta gi sử thỏ lớn
nhất là thỏ số 1, tức MAX = 1.
d) Cuối cùng, so sánh MAX (thỏ
số 3) với thỏ số 4. Thỏ số 3 lớn hơn
thỏ số 4, do đó MAX vẫn bằng 3
(thỏ số 3). Kết qu , thỏ lớn nhất là
thỏ số 3.
b) So sánh MAX (thỏ số 1) với thỏ
số 2. Vỡ thỏ số 2 nhỏ hơn thỏ số 1,
do đó MAX vẫn bằng 1.
c) Tiếp theo, so sánh MAX (thỏ số
1) với thỏ số 3. Vỡ thỏ số 3 lớn hơn
thỏ số 1, do đó MAX đợc đặt lại
bằng 3 (thỏ số 3).
Di õy minh ha trờn vi trng
hp chn th ln nht trong 4 chỳ th
+ Đi u ki n cho tr c (Input).ề ệ ứớ
+ K t qu thu đ c (Output).ế ả ượ
+ Tìm cách gi i bài toán.ả
+ Di n ta b ng các l nh c n th c hi n.ễ ằ ệ ầ ự ệ
+ D a vào mô t thu t toán, ta vi t ch ng trình ự ả ậ ế ươ
b ng ngôn ng l p trình.ằ ữ ậThuật toán là dãy hữu hạn các thao tác cần thực hiện
theo một trình tự xác định để thu được kết quả cần
thiết từ những điều kiện cho trước.
Quá trình giải bài toán trên máy tính gồm các bước:
Xác định bài toán, mô tả thuật toán, viết chương trình
Giải bài toán trên máy tính là đưa cho máy tính dãy
hữu hạn các thao tác đơn giản (thuật toán) mà nó có
thể thực hiện được để cho ta kết quả
Xác định bài toán là việc xác định các điều kiện ban
đầu(thông tin vào - INPUT) và các kết quả cần thu
được(thông tin ra - OUTPUT).
1
1
2
2
3
34
4