Professional Documents
Culture Documents
5 WhatIsProgramming
5 WhatIsProgramming
5 WhatIsProgramming
Input Output
2
Minh họ a mộ t hệ thố ng máy tính
CD/DVD Keyboard
Floppy Disks
Mouse
Hard Disk
Printer
Monitor
5
Ví dụ về ngô n ngữ máy
Độ dà i quã ng đườ ng = Vậ n tố c x Thờ i gian
Cho biết vậ n tố c = 15 (km/h)
Thờ i gian = 6 (h)
Tính độ dà i quã ng đườ ng
Giả sử có 3 loạ i chỉ thị
1001: Đọ c giá trị ở 4 bit tiếp theo.
1011: Nhâ n giá trị đang có vớ i giá trị ở 4 bit tiếp
theo và nhớ lạ i giá trị kết quả
1000: Cho biết kết quả đang nhớ
6
Vậ n tố c: 15km/h
Thờ i gian: 6h
Chỉ thị
1001: Đọ c 4 bit và o bộ nhớ
1011: Nhâ n giá trị đang nhớ
vớ i 4 bit tiếp
1000: Cho biết kết quả đang
nhớ
7
CU: Đọ c 4 bit tiếp
Vậ n tố c: 15km/h
Thờ i gian: 6h
Chỉ thị
1001: Đọ c 4 bit và o bộ nhớ
1011: Nhâ n giá trị đang nhớ
vớ i 4 bit tiếp
1000: Cho biết kết quả đang
nhớ
8
Vậ n tố c: 15km/h
Thờ i gian: 6h
Chỉ thị
1001: Đọ c 4 bit và o bộ nhớ
1011: Nhâ n giá trị đang nhớ
vớ i 4 bit tiếp
1000: Cho biết kết quả đang
nhớ
9
CU: Nhâ n vớ i 4 bit tiếp Vậ n tố c: 15km/h
Thờ i gian: 6h
Chỉ thị
1001: Đọ c 4 bit và o bộ nhớ
1011: Nhâ n giá trị đang nhớ
vớ i 4 bit tiếp
1000: Cho biết kết quả đang
nhớ
10
1111 Vậ n tố c: 15km/h
1011010 nhớ
11
CU: In kết quả đang nhớ Vậ n tố c: 15km/h
Thờ i gian: 6h
Chỉ thị
1001: Đọ c 4 bit và o bộ nhớ
1011: Nhâ n giá trị đang nhớ
6 4 3 1
2 2 2 2 vớ i 4 bit tiếp
1000: Cho biết kết quả đang
nhớ
5 2 0
2 2 2
12
Hợ p ngữ (Assembly language)
Đặ c điểm
Dù ng lệnh hợ p ngữ thay vì viết mã nhị phâ n củ a từ ng chỉ thị.
Có mộ t chương trình (Assembler) dịch lệnh hợ p ngữ ra ngô n ngữ máy.
Cho phép dù ng biến số , chấ p nhậ n biểu diễn thậ p phâ n và thậ p lụ c phâ n củ a số nguyên.
Ví dụ
Viết LOAD thay cho 1001, MULT thay cho 1011, STOR thay cho 1000.
Chương trình trở thà nh
LOAD 15
MULT 6
STOR
Chương trình dễ đọ c và khó bị lỗ i hơn ngô n ngữ máy
13
Ngô n ngữ bậ c cao
Ngô n ngữ bậ c cao: Basic, FORTRAN, COBOL, Pascal, C, Object
Pascal, C++…
Để tính quã ng đườ ng (L) cho biết vậ n tố c (V) và thờ i gian (T), có thể
viết lệnh trong ngô n ngữ C++: L = V * T
Trình dịch: Là chương trình dịch cá c lệnh viết trong ngô n ngữ
bậ c cao thà nh nhữ ng chỉ thị tương đương trong ngô n ngữ máy.
14
Thuậ t toá n
Abū ʿAbdallā h Muḥ ammad ibn Mū sā al-Khwā rizmī
Trung tâ m họ c thuậ t Baghdad (800s)
Sá ch: Kitab al-Jabr wa-l-Muqabala: Mộ t số phương phá p giả i
cá c bà i toá n thự c tế: phương trình bậ c nhấ t, bậ c hai… Đượ c
dịch ra tiếng Latin, phổ biến ở châ u  u
Hệ thố ng hó a hệ đếm thậ p phâ n bằ ng cá c chữ số Arậ p (0...9)
Algebra: Đạ i số
Algorithm: Thuậ t toá n
(~780 - ~850)
15
Lậ p trình
Quy trình chuyển giao thuậ t toá n cho máy tính thự c hiện
Yêu cầ u vớ i ngườ i lậ p trình
Hiểu thuậ t toá n
Hiểu ngô n ngữ giao tiếp vớ i máy
Tìm đượ c cá ch “diễn đạ t” thuậ t toá n mộ t cá ch hiệu quả bằ ng
ngô n ngữ .
16
Quy trình lậ p trình
Soạ n thả o:
Trình soạ n thả o (Editor) để soạ n cá c lệnh trong ngô n ngữ bậ c cao. Chương trình viết ra gọ i là mã nguồ n
(Source code)
Dịch
Trình dịch (Compiler) để kiểm tra lỗ i cú phá p và dịch cá c lệ nh viết trong mã nguồ n ra ngô n ngữ máy.
Chương trình dịch ra từ mã nguồ n gọ i là mã đố i tượ ng (Object code)
Liên kết
Trình liên kế t (Linker) tích hợ p nhữ ng mã viế t sẵ n trong thư việ n và o mã đố i tượ ng tạ o thà nh mã khả thi
(Executable Code)
Mã khả thi Có thể nạ p trự c tiế p và o bộ nhớ và chạy độ c lậ p, khô ng phụ thuộ c và o Editor, Compiler hay
Linker nữ a.
17
Mã nguồ n
Mã khả thi
Trình soạ n thả o Mã khả thi
18