DANH MỤC TÀI LIỆU
Đại cương kỹ thuật lập trình
thuËt lËp tr× nh 1
CH¦¥NG i §¹I C¦¥NG VÒ LËP TR×NH
I. Kh¸i niÖm thuËt to¸n:
I.1. Kh¸i niÖ m:
ThuË t to¸ n lµ p hîp c¸ c quy t¾ c cã logic nh» m gi¶ i mét p bµ i to¸ no
®ã ®Ó ®!îc mét kÕ t qu¶ c ®Þnh.
I.2. C¸c tÝ nh chÊt ®Æc tr!ng cña thuËt to¸n :
I.2.1. TÝ nh tæng qu¸t :
ThuË t to¸ n ®!îc lË p kh«ng ph¶ i chØ ®Ó gi¶ i mét bµ i to¸ n cô thÓ th«i mµ
cßn ph¶ i gi¶ i ®!îc mét líp c¸ c bµ i to¸ n cã ng t!¬ng tù.
I.2.2. TÝ nh giíi h¹n :
ThuË t to¸ n gi¶ i mét bµ i to¸ n ph¶ i ®!îc thùc hiÖ n qua mét sè giíi h¹ n c¸c
thao t¸ c ®Ó ®¹ t ®Õ n kÕ t qu¶ .
I.2.3. nh duy nhÊt :
Toµ n bé qu¸ tr× nh biÕ n ®æi,ng nh! trË t tù thùc hiÖ n ph¶ i ®!îc x¸c ®Þnh
duy nhÊ t. Nh! vË y khi ng thuË t to¸ n ng mét d÷ liÖ u ban ®Ç u ph¶ i cho
ng mét kÕ t qu¶ .
I.3. Ph©n lo¹i:
Theo cÊ u tróc, ta cã thÓ ph© n thµ nh ba lo¹ i thuË t to¸ n c¬ n sau :
- ThuË t to¸ n kh«ng ph© n nh¸ nh.
- ThuË t to¸ n cã ph© n nh¸ nh.
- ThuË t to¸ n theo chu tr× nh cã b!íc lÆ p x¸ c ®Þnh vµ b!íc lÆ p kh«ng
c ®Þnh.
II. M« t¶ thuËt to¸n b»ng l!u ®å :
II.1. L!u ®å :
L!u ®å lµ mét d¹ ng ®å thÞ dïng ®Ó m« t¶ qu¸ tr× nh tÝ nh to¸ n mét c¸ ch cã
thèng. Ng!êi ta th!êng thÓ hiÖ n thuË t to¸ n b» ng l!u ®å.
II.2. C¸c ký hiÖu trªn l!u ®å :
n khèi hiÖ u ý nghÜ a
Khèi më ®Ç u hoÆ c kÕ t
thóc ng më ®Ç u hoÆ c kÕ t
thóc ch!¬ng tr× nh
Khèi vµ o ra
§!a sè liÖ u vµ o hoÆ c in
t qu¶
thuËt lËp tr× nh 2
Khèi tÝ nh to¸ n
BiÓ u diÔ n c c«ng thøc
nh to¸ n vµ thay ®æi gi¸
trÞ cña c¸ c biÕ n
Khèi ®iÒu kiÖn
ng ®Ó ph© n nh¸ nh
ch!¬ng tr× nh
Ch!¬ng tr× nh con
ng ®Ó i ch!¬ng tr× nh
con
i tª n ChØ h!íng truyÒ n th«ng
tin, liª n hÖ c khèi
II.3. t sè biÓ u diÔ n thuËt to¸n b»ng l!u ®å
II.3.1. ThuËt to¸n kh«ng ph©n nh¸nh:
1: TÝ nh A = x2 + y2
Begin
Nhaäp (x,y)
A = x2 + y2
Xuaát (A)
End
2 : TÝ nh y
x
CByAx
S2
2+
++
=; biÕ t A,B,C,x,y
Begin
Nhaäp (A, B, C, x,y)
S = (Ax + By + C) / SQRT (x*x + y*y)
Xuaát S
End
thuËt lËp tr× nh 3
II.3.2. ThuËt to¸n cã ph©n nh¸nh:
1: T× m gi¸ trÞ max cña ba sè thùc a,b,c
Begin
Nhaäp (a, b, c)
Max = a
Xuaát (Max)
End
a > b
Max < c
Max = c
S
SMax = b
Ñ
Ñ
2: Gi¶ i ph!¬ng tr× nh bË c nhÊ t Ax+B =0 víi c¸ c nghiÖ m thùc.
Begin
Nhaäp (a, b)
Xuaát (‘PTVÑ’)
End
a = 0
S
SXuaát (-b/a)
b = 0 Xuaát (‘PTVN’)
Ñ
Ñ
thuËt lËp tr× nh 4
3 : Gi¶ i ph!¬ng tr× nh bË c hai Ax2+Bx+C =0 víi c¸ c nghiÖ m thùc.
Begin
Nhaäp (a, b, c)
Xuaát (‘X1= ’,(-b + SQRT(Delta)) / (2*a))
Xuaát (‘X2= ’,(-b - SQRT(Delta)) / (2*a))
End
a = 0
Ñ
Ñ
PTB1 (b, c)
Delta < 0 Xuaát (‘PTVN’)
S
S
Delta = b*b - 4*a*c
Ñ
Delta = 0 Xuaát (-b / (2*a))
S
II.3.3. ThuËt to¸n cã chu tr× nh:
ThuË t to¸ n cã chu tr× nh víi c¸c b!íc lÆ p x¸ c ®Þnh th!êng ®!îc thÓ hiÖ n
ng l!u ®å sau :
i = giaù trò ban ñaàu
Leänh S;
Taêng i
i <= n
S
Ñ
i n lµ gi¸ trÞ kÕ t thóc.
thuËt lËp tr× nh 5
4: TÝ nhS= i
i
nx
=
1, víi c¸ c xi do ta nhË p vµ o.
Begin
Nhaäp (n)
i = 1
S = 0
Nhaäp (xi)
End
i = i+1
S = S+xi
i <= n
Xuaát (S)
S
Ñ
III. C¸C NG«N NG÷ LËP TR×NH & CH!¬NG TR×NH DÞCH:
III.1. Ng«n ng÷p tr× nh:
III.1.1. Giíi thiÖ u: Con ng!êi muèn giao tiÕ p víi m¸ y tÝ nh ph i th«ng qua
ng«n ng÷. Con ng!êi muèn m¸ y tÝ nh thùc hiÖ n c«ng viÖ c, ph¶ i viÕ t c¸ c yª u cÇ u
®!a cho m¸ y b» ng ng«n ng÷ y hiÓ u ®!îc. ViÖ c viÕ t c¸ c yª u cÇ u ta gäi lµ p
tr× nh (programming). Nn ng÷ng ®Ó lË p tr× nh ®!îc gäi lµ ng«n ng÷ lË p tr× nh.
NÕ u nn ng÷ lË p tr× nh gÇ n víi vÊ n ®Ò cÇ n gi¶ i quyÕ t, gÇ n víi ng«n ng÷
nhiª n th× viÖ c lË p tr× nh sÏ ®¬n gi¶ n h¬n nhiÒ u. Nh÷ng ng«n ng÷ lË p tr× nh cã nh
chÊ t nh! trª n ®!îc gäi lµ ng«n ng÷ cÊ p cao. Nh!ng m¸y tÝ nh chØ hiÓ u ®!îc ng«n
ng÷ riª ng cña m× nh, ®ã c chuçi sè 0 víi 1 nh! vË y râ rµ ng lµ khã kh¨ n
cho lË p tr× nh viª n, v× kh«ng gÇ n gòi víi con ng!êi.
HiÖ n t¹ i, ng«n ng÷ p tr× nh ®!îc chia ra lµ m c¸ c lo¹ i sau:
III.1.2. Ph©n lo¹i ng«n ng÷p tr× nh:
- Ng«n ng÷ y (machine language)
thuËt lËp tr× nh 6
- Hîp ng÷ (assembly language)
- Ng«n ng÷ p cao (higher-level language)
Do m¸ y tÝ nh chØ hiÓ u ®!îc ng«n ng÷ m¸ y, cho nª n mét ch!¬ng tr× nh viÕ t
trong ng«n ng÷ p cao ph¶ i ®!îc biª n dÞch sang ng«n ng÷ y. C«ng cô thùc
hiÖ n viÖ c biª n dÞch ®ã ®!îc gäi lµ ch!¬ng tr× nh dÞch.
III.2. Ch!¬ng tr× nh dÞch:
Ch!¬ng tr× nh dÞch ®!îc chia ra lµ m 2 lo¹ i : tr× nh b n dÞch (compiler) tr× nh
th«ng dÞch (interpreter)
III.2.1. Tr× nh biª n dÞch: viÖ c chuyÓ n mét ch!¬ng tr× nh trong ng«n ng÷
p cao nµ o ®ã (ch!¬ng tr× nh nguån) sang ng«n ng÷ y (ch!¬ng tr× nh ®Ý ch).
- Thêi gian chuyÓ n mét ch!¬ng tr× nh nguån sang ch!¬ng tr× nh ®Ý ch ®!îc
i lµ thêi gian dÞch.
- Thêi gian mµ ch!¬ng tr× nh ®Ý ch thùc thi ®!îc gäi lµ thêi gian thùc thi.
Nh! y, ch!¬ng tr× nh nguån vµ d÷ liÖ u ®Ó ch!¬ng tr× nh thùc thi ®!îc xö
trong c¸ c thêi ® m kh¸ c nhau, ®!îc gäi lµ thêi gian dÞch (compile time) vµ
thêi gian thùc thi (run-time)
Chöông trình
nguoàn Trình bieân
dòch Chöông trình
ñích Maùy tính
thöïc hieän Keát qu
Döõ lieäu
nh I.1. Ch!¬ng tr× nh thùc thi theo c¬ chÕ dÞch cña tr× nh biª n dÞch
III.2.2. Tr× nh th«ng dÞch: qu¸ tr× nh dÞch vµ thùc thi x¶ y ra cïng 1 thêi
gian, dÞch ®Õ n ®© u thi hµ nh lÖ nh ®Õ n ®ã.
Chöông trình
nguoàn Chöông trình
thoâng dòch Keát quaû
Döõ lieäu
nh I.2. Ch!¬ng tr× nh thùc thi theo c¬ chÕ dÞch cña tr× nh th«ng dÞch
thông tin tài liệu
Tài liệu cung cấp những kiến thức cơ bản về lập trình
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×