Bài giảng Kỹ thuật lập trình - Chương 1: Giới thiệu về máy tính và lập trình - Trần Quang
Chương 1
Giꢀi thiꢁu vꢂ
máy tính và lꢃp trình
Trần Quang
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
1
© 2016
Nꢀi dung
Tổ chức máy tính.
Ngôn ngữ lập trình.
Các công việc trong lập trình.
Dữ liệu và giải thuật.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
2
Máy tính là gì?
Máy tính là thiết bị có khả năng thực hiện tính toán và ra
quyết định.
Má y tí nh hoꢀt đꢁng dựa trên nguyên lꢂ là chꢀy các chương
trì nh đꢃ đưꢄc định sẵn.
Hiện nay, má y tí nh có thꢅ đưꢄc “nhꢆng” vào các thiết bị
dâ n dꢇng như xe hơi, đồng hồ, điện thoꢀi, máy tính phổ
thô ng, v.v.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
3
Phꢁn cꢂng (hardware)
Gồm các bꢁ phận dꢈng đꢅ lꢉp ráp thành máy tính:
Hꢁp máy (case),
Bo mꢀch chꢊ (mainboard, motherboard),
Bàn phí m (keyboard),
Màn hì nh (display),
Chuꢁt (mouse),
Bꢁ nhꢋ (memory),
ꢌ đꢍa cứng HDD (Hard Disk Drive),
Bꢁ cꢎp nguồn (power supply),
Dâ y nꢏi (cables),
. . .
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
4
Phꢁn mꢃm (software)
Gồm các chương trình cài đꢐt sẵn giꢆp vận hành máy tính
theo nhiꢑu mꢇc đích khác nhau.
Hệ điꢑu hành (operating system): cho phꢒp quản lꢂ và khai
thác cá c phꢓn cứng có trong máy tính.
Cô ng cꢇ lập trình (programming tools): cho phꢒp ngưꢔi sꢕ
dꢇng tꢀo ra thêm phꢓn mꢑm mꢋi trên máy, mꢖ rꢁng phꢀm
vi ứng dꢇng cꢊa máy tính.
Phꢓn mꢑm ứng dꢇng (applications): cho phꢒp khai thác
máy tính theo mꢇc đích cꢇ thꢅ.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
5
Sơ đꢄ khꢅi cꢆa mꢀt máy tính
Đꢅ điꢑu khiꢅn các
thiết bị phꢓn cứng
như hình bên, chꢆng
ta cꢓn chương trình
má y tí nh.
Đꢅ tꢀo ra chương
trì nh má y tí nh,
chꢆng ta cꢓn ngô n
ngữ lập trình.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
6
Khꢅi nhập – xuất
Khꢏi nhập Input Unit
Gồm những thiết bị (devices) cho phꢒp
ngưꢔi dꢈng đưa dữ liệu vào máy tính.
Các thiết bị điꢅn hình: bàn phím, chuꢁt,
màn hình cảm ứng, v.v…
Khꢏi xuꢎt Output Unit
Là tập hꢄp các thiết bị giꢆp máy tính
trình bày kết quả vꢋi ngưꢔi dꢈng hay
điꢑu khiꢅn các thiết bị khác.
Các thiết bị điꢅn hình: màn hình, máy in,
các cổng điꢑu khiꢅn USB, ...
Trần Quang
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
7
© 2016
Bꢀ nhớ (memory)
Bꢁ nhꢋ chính Main memory
Là bꢁ phận giꢆp máy tính lưu trữ
thô ng tin (chương trình và dữ liệu)
dꢈng trong quá trì nh tí nh toá n.
Phâ n loꢀi :
ROM (Read Only Memory)
RAM (Random Access Memory).
Trần Quang
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
8
© 2016
Bꢀ xꢇ lý trung tâm (CPU)
Central Processing Unit (CPU)
Giám sát và điꢑu hành mꢗi hoꢀt đꢁng
trong máy tính.
Bꢁ sꢏ hꢗc luận lꢂ Arithmetic and
Logic Unit (ALU)
Là đơn vị đảm nhiệm chức năng tính
toán các phꢒp sꢏ hꢗc (+, -, *, /, ...) và
luận lꢂ (Not, And, Or, Xor).
Trần Quang
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
9
© 2016
Thiết bị lưu trữ (Storage)
Bꢁ nhꢋ thứ cꢎp –
Secondary memory / storage Unit
Gồm những thiết bị giꢆp máy tính lưu trữ
lưꢄng lꢋn dữ liệu lâu dài.
Các thiết bị điꢅn hình: Đꢍa cứng (HDD),
SSD, USB drive, CD R/W, ...
Trần Quang
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
10
© 2016
Ngôn ngữ lập trình
Ngôn ngữ lập trình (Programming language)
Là mꢁt ngôn ngữ hình thức (formal language), khác vꢋi ngôn
ngữ tự nhiên (natural language).
Mꢇc đích: cho phꢒp con ngưꢔi (lập trình viên) tꢀo ra chương
trì nh má y tí nh.
Ba cꢎp đꢁ ngôn ngữ lập trình :
Ngôn ngữ máy (machine language).
Ngôn ngữ hꢄp ngữ (assembly language).
Ngôn ngữ cꢎp cao (high-level language).
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
11
Ngôn ngữ máy
Dꢀng thức là sꢏ, đꢐc tả các lệnh cꢊa máy tính.
Mỗi kiꢅu CPU có tập lệnh riêng.
Ngày nay, rꢎt khó có thꢅ ra lệnh trực tiếp kiꢅu này cho các
chương trình thực tế và lꢋn. Chuỗi lệnh sꢏ sẽ đưꢄc sinh ra
từ chương trình dịch (compiler) chuyꢅn từ ngôn ngữ cꢎp
cao sang.
Ví dꢇ:
01001101 11011010
11000110 10110010
Trần Quang
© 2016
Kỹ thuật lập trình
12
Chương 1: Giới thiệu về máy tính và lập trình
Ngôn ngữ Assembly (hꢈp ngữ)
Là ngôn ngữ lập trình cꢎp thꢎp, nó thực chꢎt là dꢀng gꢄi
nhꢋ (mnemonic), hay dꢀng kꢂ hiệu, cꢊa ngôn ngữ máy. Sꢕ
dꢇng các từ viết tꢉt trong tiếng Anh đꢅ biꢅu diễn các tác vꢇ
tính toán cơ bản
Bꢁ chuyꢅn ngữ sang mꢃ máy cho ngôn ngữ này gꢗi là
“Assembler”.
Ngày nay, ngôn ngữ này vẫn còn đưꢄc sꢕ dꢇng, và thưꢔng
kết hꢄp vꢋi ngôn ngữ cꢎp cao. Nó đưꢄc dꢈng đꢅ tꢏi ưu
mꢁt sꢏ khꢏi xꢕ lꢂ trong toàn bꢁ chương trình.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
13
Ngôn ngữ Assembly (hꢈp ngữ)
Ví dꢇ, bꢁ vi xꢕ lꢂ x86 / IA-32 có thꢅ thực hiện đưꢄc chỉ thị
nhị phân sau (thꢅ hiện ꢖ dꢀng ngôn ngữ máy):
10110000 01100001 (thập lꢇc phân: 0xb061)
Lệnh trên tương đương vꢋi mꢁt chỉ thị hꢄp ngữ dễ nhꢋ
hơn sau:
mov al, 061h
Chỉ thị lệnh trên có nghꢍa là: gán giá trị thập lꢇc phân 61
(97 dꢀng thập phân) cho thanh ghi trong bꢁ vi xꢕ lꢂ có tên
là "al".
Trần Quang
© 2016
Kỹ thuật lập trình
14
Chương 1: Giới thiệu về máy tính và lập trình
Ngôn ngữ lập trình cấp cao
Mꢃ đưꢄc viết ra gꢓn vꢋi ngôn ngữ tự nhiên, so vꢋi mꢃ cꢊa
các loꢀi ngôn ngữ khác.
Tên các biến, hằng, hàm, … do ngưꢔi lập trình đꢐt có cꢆ
pháp dễ đꢗc. Các cꢎu trꢆc điꢑu khiꢅn cũng dễ đꢗc hơn rꢎt
nhiꢑu.
Bꢁ chuyꢅn ngữ sang mꢃ máy hay mꢃ trung gian cho loꢀi
ngôn ngữ này gꢗi là trình biên dịch (compiler) hay trì nh
thông dịch (interpreter).
Ví dꢇ: C, C++, C#, Java, …
grossPay = basePay + overTimePay
Trần Quang
© 2016
Kỹ thuật lập trình
15
Chương 1: Giới thiệu về máy tính và lập trình
Ngôn ngữ lập trình C
Lịch sꢕ
Tiến hóa từ ngôn ngữ lập trình trưꢋc đó là “B” và “BCPL”
“Traditional C” là mꢁt tiến hóa cꢊa C vào khoảng gꢓn 1970
Có nhiꢑu biến thꢅ cꢊa C tồn tꢀi và chꢆng không tương thích
nhau, ví dꢇ bꢁ chuyꢅn ngữ có thꢅ không hiꢅu mꢃ nguồn C
đưꢄc viết cho bꢁ chuyꢅn ngữ khác.
“Standard C” xuꢎt hiện vào khoảng 1989, cập nhật lꢀi vào
khoảng 1999.
Ứng dꢇng quan trꢗng
Đưꢄc dꢈng đꢅ phát triꢅn các hệ điꢑu hành nổi tiếng và hiện
đꢀi như UNIX và Linux
Đưꢄc dꢈng đꢅ phát triꢅn các chương trình chꢀy trên các thiết
bị nhꢆng, như nhꢆng vào xe hơi, máy móc y tế, …
Trần Quang
© 2016
Kỹ thuật lập trình
16
Chương 1: Giới thiệu về máy tính và lập trình
Ngôn ngữ lập trình C
C trong cái nhìn cꢊa ngưꢔi lập trình
Cung cꢎp ngôn ngữ, cꢆ pháp đơn giản
Vꢑ điꢑu khiꢅn: chỉ gồm 3 kiꢅu cꢎu trꢆc điꢑu khiꢅn đꢅ chuyꢅn
hưꢋng thực thi
Vꢑ dữ liệu: cung cꢎp các kiꢅu cơ bản, mảng, con trỏ, tập tin.
Cho phꢒp ngưꢔi dꢈng định nghꢍa kiꢅu mꢋi.
Có bꢁ chuyꢅn ngữ đi kèm
Đꢅ chuyꢅn mꢃ C sang mꢃ đích
Có thư viện các hàm có sẵn đꢅ làm nhiꢑu việc
Sự thật là không có chương trình nào mà ngưꢔi dꢈng viết
100% các dòng mꢃ. Tꢎt cả chꢆng đꢑu dꢈng lꢀi (gꢗi hàm) các
hàm có sẵn trong thư viện đꢅ làm nhiꢑu việc.
Trần Quang
© 2016
Kỹ thuật lập trình
17
Chương 1: Giới thiệu về máy tính và lập trình
Ngôn ngữ lập trình C++
C là nꢑn tảng cꢊa ngôn ngữ mꢖ rꢁng cꢊa nó là C++
C++ bổ sung thêm vào C những khả năng mꢋi giúp dễ
dàng tổ chức cá c chương trì nh lꢋn. Những tí nh năng khá c,
C++ dùng cꢊa C. Do đó, dùng đưꢄc C là nꢑn tảng đꢅ hꢗc
C++
Những tí nh năng mꢋi
Tham khảo (reference): mꢁt chức năng mꢋi cho phé p truy
xuꢎt mꢁt vùng nhꢋ qua mꢁt tên gꢗi khá c.
Hưꢋng đꢏi tưꢄng (Object-Oriented): đâ y là bổ sung quan
trꢗng nhꢎt, hưꢋng đến mꢁt triết lý lập trì nh khá c. Ở đó,
chương trì nh là tập cá c đꢏi tưꢄng tương tá c nhau đꢅ hoàn
thành cô ng việc.
Trần Quang
© 2016
Kỹ thuật lập trình
Chương 1: Giới thiệu về máy tính và lập trình
18
Các công viꢉc trong lập trình
Soꢀn thảo mꢃ nguồn
Đꢏi tưꢄng thực hiện: ngưꢔi lập trình
Công cꢇ sꢕ dꢇng:
Trình soꢀn thảo đơn giản như NOTEPAD. Ít khi dꢈng
Trình soꢀn thảo tích hꢄp trong IDE (Integrated Development
Environment)
Đꢓu ra: tập tin mꢃ nguồn, dꢀng văn bản đꢗc đưꢄc
Tiꢑn xꢕ lꢂ (Preprocess)
Đꢏi tưꢄng thực hiện: bꢁ tiꢑn xꢕ lꢂ thuꢁc IDE
Công việc thực hiện: tiꢑn xꢕ lꢂ chương trình, như, thay các
“macro” trong bꢖi phꢓn định nghꢍa cꢊa nó, chèn các tập tin
khai báo thư viện (v.d., stdio.h)
Trần Quang
© 2016
Kỹ thuật lập trình
19
Chương 1: Giới thiệu về máy tính và lập trình
Các công viꢉc trong lập trình
Biên dịch (Compile)
Đꢏi tưꢄng thực hiện: bꢁ biên dịch thuꢁc IDE
Công việc thực hiện: chuyꢅn từ mꢃ C sang mꢃ đꢏi tưꢄng, cho
từng tập tin mꢃ nguồn
Liên kết (Link)
Đꢏi tưꢄng thực hiện: bꢁ liên kết thuꢁc IDE
Công việc thực hiện: liên kết các tập tin mꢃ đꢏi tưꢄng và thư
viện cꢊa C đꢅ tꢀo chương trình thực thi
Đꢓu ra: tập tin thực thi (*.exe)
Trần Quang
© 2016
Kỹ thuật lập trình
20
Chương 1: Giới thiệu về máy tính và lập trình
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật lập trình - Chương 1: Giới thiệu về máy tính và lập trình - Trần Quang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_ky_thuat_lap_trinh_chuong_1_gioi_thieu_ve_may_tinh.pdf

