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