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 đủ
pdf 39 trang Thùy Anh 21180 Free
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:

  • pdfbai_giang_ky_thuat_lap_trinh_chuong_1_gioi_thieu_ve_may_tinh.pdf