TRNG I HC S PHM HÀ NI
TRUNG TÂM GIÁO DC T XA
NGUYN V QUC HNG
NGUYN QUNH DIP MT S PHNG PHỄP C BN
TRONG THIT K GII THUT VÀ
ỄNH GIỄ PHC TP THUT
TOÁN
HÀ NI ậ 2012
Chng 1. Dn nhp Nguyn V Quc Hng-Nguyn Qunh Dip
1 CHNG 1
DN NHP
1.1 Algorithm?
T algorithm đc đt ra t th k th 9 bi nhà toán hc Bat
(Iran) Abu Ja’fa Mohammed ibn Khowarizmi đc hiu đn gin là tp
các quy tc cha đng các phép tính toán đc thc hin bng tay hoc
máy móc, trong tài liu này ta luôn hiu là gii thut đc xây dng cho
máy tính.
981
2943_
1962
1962__
_2943
981___
__3924
1210554
1210554
Hình 1.1. Nhân 2 s nguyên ln
Ta nhn thy rng, hai gii thut này là tng đng, thuc loi
phân lp, mt gii thut th ba khác hn đc gi là nhân theo kiu Nga
đc trình bày nh sau:
981
1234
1234
490
2468
245
4936
4936
122
9872
đ dài bng nhau (s dng s 0 cho thêm vào đu), đ dài là mt ly tha
ca 2 (1, 2, 4, 6, 8, …). nhân 0981 vi 1234 , đu tiên ta nhân tng
na ca ca các toán hng vi nhau: na bên trái ca toán hng nhân (09)
đc nhân vi ln lt na bên trái ca toán hng kia (12 và 34), ri tip
tc na bên phi ca nó cng đc nhân nh vy. Ta có 4 phép nhân, kt
qu đc sp xp và cng li xem Hình 1.3.
Toán hng nhân Trt Kt qu
i) 09 12 4 108
ii) 09 34 2 306
iii) 81 12 2 972
iv) 81 34 0 2754
1210554
Hình 1.3. Phép nhân kiu chia đ tr
Cng vi cách thc nh vy, chúng ta li áp dng đi vi các
phép nhân 09 x 12, 09 x 34, 81 x 12 và 81 x 34. Chng hn, phép nhân 09
x 12 đc thc hin nh sau:
Chng 1. Dn nhp Nguyn V Quc Hng-Nguyn Qunh Dip
4
Toán hng nhân Trt Kt qu
i) 0 1 2 0
ii) 0 2 1 0.
iii) 9 1 1 9.
iv) 9 2 0 18
108
Hình 1.4. Phép nhân kiu chia đ tr
Phép nhân đc tin hành nh vy đc gi là thc hin theo gii
thut chia đ tr (divide and conquer), đ nhân hai s nguyên ln ta đã
chia nh ra, cui cùng ch thc hin phép nhân hai s có mt ch s và
các phép cng.
2
là các câu lnh
* Câu lnh tuyn:
case
B1 : S1;
B2 : S2;
Bn : Sn
else
Sn+1
end case
Chng 1. Dn nhp Nguyn V Quc Hng-Nguyn Qunh Dip
6
* Câu lnh lp:
for <tên bin> := m to n do S
for <tên bin> := m downto n do S
While B do S
Repeat <các câu lnh> until B
Trong đó: S là câu lnh, B là biu thc logic, m và n (các giá tr đm
đc) là các giá tr khi đu và kt thúc.
* Vào, ra:
read (<danh sách bin>)
write (<danh sách bin>)
* M đu và Kt thúc chng trình:
begin end.
* Chng trình con hàm:
function <tên hàm> (<danh sách tham s>) :
kiu d liu;
<chng trình>