TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 1: Tổng quan
• Lập trình (Programming)
•
Ch tì h(P )
•
Ch
ương 
t
r
ì
n
h
 
(P
rogram
)
• Ngôn ngữ lập trình (Programming Language)
• Xây dựng ứng dụng dạng Console
2
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Khái niệm
ể
• Quá trình phát tri
ể
n
3
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Khái niệm
ủ ằ ế
− Thao tác c
ủ
a con người nh
ằ
m ki
ế
n tạo nên các chương 
trình máy tính thông qua các ngôn ngữ lập trình
−
Quá trình mã hoá thông tin tự nhiên thành ngôn ngữ máy
Quá 
trình 
mã 
hoá 
thông 
tin 
tự
 nhiên 
thành 
ngôn 
ngữ 
máy 
tính
− Tron
g
 các trườn
g
 hợ
p
 xác định thì lậ
p
 trình còn được 
g
ọi 
g g p p g
là "viết mã" cho chương trình máy tính
4
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình tuyến tính (Linear Programming) 
ế ầ
− Chương trình được vi
ế
t tu
ầ
n tự với các câu lệnh thực 
hiện từ đầu đến cuối 
−
Các lệnh đượcthựchiệntuầntự theo thứ tự xuấthiện
Các 
lệnh 
được 
thực 
hiện 
tuần 
tự 
theo 
thứ 
tự 
xuất
 hiện 
trong chương trình 
− Thao tác đơn 
g
iản, dễ thực hiện nhưn
g
 khó sửa lỗi và 
g g
khó mở rộng
5
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình tuyến tính (Linear Programming) 
ả ủ ế
− Các bước gi
ả
i thích họat động c
ủ
a lập trình tuy
ế
n tính:
• Bắt đầu chưong trình (Start the program) 
•
Đọcdữ liệutừ người dùng hoặctừ tậptin
•
Đọc 
dữ 
liệu 
từ 
người 
dùng 
hoặc 
từ 
tập 
tin
. 
• Xử lý dữ liệu (Process the data) 
• Hi
ể
n th
ị
 kết 
q
uả 
(
Dis
p
la
y
 the results
) 
ị q (py )
• Thoát (Exit) khỏi chương trình hoặc quay lui vòng lặp (loop 
back) tới bước 2 
6
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình tuyến tính (Linear Programming) 
Start
Get data from user
Get 
data 
from 
user
Process Data
Is data in 
proper format
Does user 
more data
No
Yes
7
Request user input
End
Yes
No
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming) 
ề ầ ỗ
− Chương trình được tách thành nhi
ề
u ph
ầ
n (module). M
ỗ
i 
phần sẽ thực hiện một chức năng của chương trình 
−
Phương pháp thiếtkế (design) mã hóa (coding) và kiểm
Phương 
pháp 
thiết 
kế 
(design)
, 
mã 
hóa 
(coding) 
và 
kiểm 
thử (testing) nhằm tạo ra các chương trình đúng đắn, dễ 
đọc, và dễ dàng nâng cấp cũng như bảo trì 
− Có 3 cấu trúc để xây dựng chương trình:
• Tuần tự (Sequence)
•
Ch l (S l ti )
8
•
Ch
ọn 
l
ựa 
(S
e
l
ec
ti
on
)
• Lặp (Iteration)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming) 
ầ ồ
− Tu
ầ
n tự (Sequence): Lu
ồ
ng chương trình từ bước một 
tới bước kế tiếp theo trình tự chính xác 
Step 1
Step 
1
Step 2
Step 3
9
…
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming) 
ấ
− Sự chọn lựa (Selection) : là một c
ấ
u trúc chọn lựa rẽ 
nhánh có điều kiện (conditional). Tùy thuộc vào biểu 
thức Test Condition mà luồng chương trình sẽ quyết 
định rẽ sang nhánh Path 1 hay rẽ sang nhánh Path 2. 
Path 1
Step 1
Test 
Conditio
n
10
Path 2
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming) 
− Lặp (Iteration): các bước thực hiện chương trình sẽ 
được lặp liên tục cho đến khi việc kiểm tra điều kiện đạt 
được mong chờ nào đó.
Repeated 
Steps
Test 
Conditio
n
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming) 
ể ế
− Ưu đi
ể
m so với lập trình tuy
ế
n tính
• Logic chương trình dễ hiểu 
•
Các module khác nhau củachương trình có thể đượcviếtbởi
•
Các 
module 
khác 
nhau 
của 
chương 
trình 
có 
thể 
được 
viết 
bởi 
những người lập trình khác nhau. 
• Do sự phân rả các xử lý độc lập với nhau, tất cả những gì bên 
trong xử lý là hộp đen đốivới bên ngoài (tính địaphương hóa
trong
 xử 
lý 
là 
hộp 
đen 
đối 
với 
bên 
ngoài 
(tính 
địa 
phương 
hóa
 -
localization) nên dễ dàng kiểm tra phát hiện lỗi.
• Thời gian lập trình được giảm bớt.
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
− Chương trình sẽ được tách thành nhiều lớp, mỗi lớp 
g
ồm có dữ li
ệ
u 
(
biến
)
 và 
p
hươn
g
 thức 
(
hàm
)
 xử l
ý
 dữ 
g ệ ( )p g ()ý
liệu. Do dữ liệu và hàm được đóng gói thành lớp nên 
LTHĐT sẽ có 3 đặc tính sau: 
•
Tính đóng gói (Encapsulation)
Tính 
đóng 
gói 
(Encapsulation)
• Tính thừa kế (Inheritance) 
• Tính đa hình 
(
Pol
y
mor
p
hism
) 
13
(y p )
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
14
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
− Tính đóng gói (Encapsulation): dữ liệu và phương thức 
đư
ợ
c tổ chức tron
g
 m
ộ
t lớ
p,
 tính đón
g 
g
ói cho 
p
hé
p
 bảo 
ợ g ộ p, gg p p
vệ dữ liệu, che dấu chi tiết cài đặt. 
15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
− Tính thừa kế (Inheritance): Sử dụng lớp có trước (lớp 
cha
)
 để xâ
y
 d
ự
n
g
 lớ
p
 mới 
(
lớ
p
 con
)
. Lớ
p
 con đư
ợ
c thừa 
) y ự g p ( p)p ợ
hưởng những thuộc tính, phương thức của lớp cha và 
có thể có thêm những thuộc tính, phương thức riêng. 
16
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
− Tính đa hình (Polymorphism): Một phương thức có thể 
th
ự
c hi
ệ
n theo nhiều cách khác nhau trên các lớ
p
 khác 
ự ệ p
nhau. Tính đa hình giúp cho việc lập trình trở nên đơn 
giản, dễ mở rộng 
17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented 
Programming)
Programming) 
− Ưu điểm:
•
Loạibỏ đượccácđoạnchương trình trùng lắp
Loại 
bỏ 
được 
các 
đoạn 
chương 
trình 
trùng 
lắp
• Chương trình được xây dựng theo quy trình, rút ngắn được thời 
gian
ổ
• Xây dựng chương trình an toàn không bị thay đ
ổ
i bởi các đoạn 
chương trình khác (thông tin đã được che dấu nhờ kỹ thuật đóng 
gói)
ễ ấ ố
18
• D
ễ
 dàng mở rộng và nâng c
ấ
p thành các hệ th
ố
ng lớn hơn
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng sự kiện (Event-Driven 
Programming)
Programming) 
− Hướng theo các sự kiện đang xảy ra và giữ tương tác 
với n
g
ười dùn
g 
g g
− Lập trình hướng sự kiện cung cấp nền tảng cho lập trình 
trực quan 
− Chương trình hướng sự kiện làm việc theo dạng thụ 
động (passively) chờ cho một sự kiện xảy ra và kích hoạt 
(activate)
19
(activate) 
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng sự kiện (Event-Driven 
Programming)
Programming)
 20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng sự kiện (Event-Driven 
Programming)
Programming) 
− Các loại sự kiện
•
Các sự kiệnhệ thống (System Events)
Các 
sự 
kiện 
hệ 
thống 
(System 
Events) 
• Các sự kiện điều khiển (Control Events) 
21
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình trực quan (Visual Programming) 
Trựctiếptạo ra các khung giao diện (interface) ứng
−
Trực 
tiếp 
tạo 
ra 
các 
khung 
giao 
diện 
(interface)
, 
ứng 
dụng thông qua các thao tác trên màn hình dựa vào các 
đối tượng (object) như hộp hội thoại hoặc nút điều khiển 
(control button)
(control 
button)
− Ít khi phải tự viết các lệnh, tổ chức chương trình một 
cách rắc rối mà chỉ cần khai báo việc gì cần làm khi một 
tình huống xuấthiện
tình 
huống 
xuất 
hiện
.
− Có thể được thực hiện bằng cách sử dụng ngôn ngữ lập 
trình trực quan (Visual Programming Language) hoặc 
ộtôitờ lậ tì ht (Vi l P i
22
m
ột
 m
ôi 
t
rư
ờ
ng 
lậ
p 
t
r
ì
n
h 
t
rực quan 
(Vi
sua
l 
P
rogramm
i
ng 
Environment) 
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình trực quan (Visual Programming) 
ể
−
Đ
ặc đi
ể
m
• Dễ dàng để nhớ dữ liệu dạng hình tượng như hình ảnh 
(
Pictures
)
, đồ họa 
(g
ra
p
hs
) 
() (g p )
• Môi trường đồ họa (Graphical environment) cung cấp hiệu ứng 
trực quan tạo nên sự hấp dẫn đối với người dùng 
23
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chương trình (Program)
• Khái niệm
• Phân loại
24
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chương trình (Program)
• Khái niệm 
ỉ ể
− Tập hợp các ch
ỉ
 thị được bi
ể
u thị nhờ ngôn ngữ lập trình 
để thực hiện các thao tác nào đó thông qua một chương 
trình 
− Chương trình (program) được viết cho máy tính nhằm 
giải quyết một vấn đế nào đó gọi là phần mềm máy tính 
25