Kỹ 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à tậ p hợp cá c quy tắ c có logic nhằ m giả i một lớp bà i toán nà o
đó để được một kế t quả xá 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ể mà thôi mà
còn phả i giả i đ ược một lớp cá c bà i toá n có dạ 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. Tí nh duy nhất :
Toà n bộ quá trì nh biế n đổi, cũng như trậ t tự thực hiệ n phả i đ ược xác định
và là duy nhấ t. Như vậ y khi dùng thuậ t toá n cùng một dữ liệ u ban đầ u phả i cho
cù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ơ bả 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à có bước lặ p không
xá 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ó
hệ 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 đồ
:
Tê n khối Ký hiệ u
ý nghĩ a
Khối mở đầ u hoặ c kế t
thúc
Dù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
kế t quả
Kỹ thuật lập trì nh
2
Khối tí nh toá n
Biể u diễ n cá c công thức
tí nh toá n và thay đổi giá
trị của cá c biế n
Khối điều kiện
Dùng để phâ n nhá nh
chương trì nh
Chương trì nh con
Dùng để gọi chương trì nh
con
Mũi tê n
Chỉ hướng truyề n thông
tin, liê n hệ cá c khối
II.3. Một số ví dụ 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:
Ví dụ 1
: Tí nh A = x
2
+ y
2
Begin
Nhaọp (x,y)
A = x
2
+ y
2
Xuaỏt (A)
End
Ví dụ 2
: Tí nh
y
x
CByAx
S
2
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
Kỹ thuật lập trì nh
3
II.3.2. Thuật toán có phân nhánh:
Ví dụ 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
S
Max = b
ẹ
ẹ
Ví dụ 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
S
Xuaỏt (-b/a)
b = 0 Xuaỏt (PTVN)
ẹ
ẹ
Kü tht lËp tr× nh
4
VÝ dơ 3 : Gi¶ i ph¬ng tr× nh bË c hai Ax
2
+Bx+C =0 víi c¸ c nghiƯ m thùc.
Begin
Nhập (a, b, c)
Xuất (‘X
1
= ’,(-b + SQRT(Delta)) / (2*a))
Xuất (‘X
2
= ’,(-b - SQRT(Delta)) / (2*a))
End
a = 0
Đ
Đ
PTB1 (b, c)
Delta < 0
Xuất (‘PTVN’)
S
S
Delta = b*b - 4*a*c
Đ
Delta = 0
Xuất (-b / (2*a))
S
II.3.3. Tht to¸n cã chu tr× nh:
Th t to¸ n cã chu tr× nh víi c¸c bíc lỈ p x¸ c ®Þnh thêng ® ỵc thĨ hiƯ n
b» ng lu ®å sau :
i = giá trò ban đầu
Lệnh S;
Tăng i
i <= n
S
Đ
víi n lµ gi¸ trÞ kÕ t thóc.
Kỹ thuật lập trì nh
5
Ví dụ 4: Tí nhS=
i
i
n
x
=
1
, với cá c x
i
do ta nhậ p và o.
Begin
Nhaọp (n)
i = 1
S = 0
Nhaọp (x
i
)
End
i = i+1
S = S+x
i
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ữ lậ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ữ má y hiể u đ ược. Việ c viế t cá c yê u cầ u ta gọi là lậ p
trì nh (programming). Ngôn ngữ dùng để lậ p trì nh đ ược gọi là ngôn ngữ lậ p trì nh.
Nế u ngôn ngữ lậ p trì nh gầ n với vấ n đề cầ n giả i quyế t, gầ n với ngôn ngữ tự
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ó tí 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, đó là cá c chuỗi số 0 với 1 và như vậ y rõ rà ng là khó khă n
cho lậ p trì nh viê n, vì nó không gầ n gũi với con người.
Hiệ n tạ i, ngôn ngữ lậ p trì nh được chia ra là m cá c loạ i sau:
III.1.2. Phân loại ngôn ngữ lập trì nh:
- Ngôn ngữ má y (machine language)