Bài giảng Nhập môn điện toán (Mới nhất)

MÔN NHẬP MÔN ĐIỆN TOÁN  
Đối tượng : SV đại học chính quy khoa Khoa học & Kỹ thuật Máy tính  
Nội dung chính gồm 7 chương :  
1. Khái niệm cơ bản.  
2. Phần cứng máy tính.  
3. Hệ điều hành và mạng máy tính.  
4. Ngôn ngữ lập trình.  
5. Cơ sở dữ liệu.  
6. Phần mềm ứng dụng.  
7. Các vấn đề tổ chức & xã hội.  
Tài liệu tham khảo :  
ƒ Computing, 3rd ed., Geoffrey Knott & Nick Waites, 2000.  
ƒ Tập slide bài giảng & thực hành của môn học này.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Slide 1  
MÔN NHẬP MÔN ĐIỆN TOÁN  
Chương 1  
KHÁI NIỆM CƠ BẢN  
1.1 Định nghĩa sơ khởi về máy tính số  
1.2 Lịch sử phát triển máy tính số  
1.3 Hệ thống số đếm  
1.4 Biểu diễn dữ liệu  
1.5 Luận lý máy tính  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 2  
1.1 Định nghĩa sơ khởi về máy tính số  
ƒ Con người thông minh hơn các động vật khác nhiều, trong cuộc  
sống, họ đã chế tạo ngày càng nhiều công cụ, thiết bị để hỗ trợ  
mình trong hoạt động. Các công cụ, thiết bị do con người chế tạo  
ngày càng tinh vi, phức tạp và thực hiện nhiều công việc hơn  
trước đây. Mỗi công cụ, thiết bị thường chỉ thực hiện được 1 vài  
công việc cụ thể nào đó. Thí dụ, cây chổi để quét, radio để bắt và  
nghe đài audio...  
ƒ Máy tính số (digital computer) cũng là 1 thiết bị, nhưng thay vì chỉ  
thực hiện 1 số chức năng cụ thể, sát với nhu cầu đời thường của  
con người, nó có thể thực hiện 1 số hữu hạn các chức năng cơ  
bản (tập lệnh), mỗi lệnh rất sơ khai chưa giải quyết trực tiếp được  
nhu cầu đời thường nào của con người. Cơ chế thực hiện các lệnh  
là tự động, bắt đầu từ lệnh được chỉ định nào đó rồi tuần tự từng  
lệnh kế tiếp cho đến lệnh cuối cùng. Danh sách các lệnh được  
thực hiện này được gọi là chương trình.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 3  
Định nghĩa sơ khởi về máy tính số (tt)  
ƒ Các lệnh mà máy hiểu và thực hiện được được gọi là lệnh máy.  
Ta dùng ngôn ngữ để miêu tả các lệnh. Ngôn ngữ lập trình cấu  
thành từ 2 yếu tố chính yếu : cú pháp và ngữ nghĩa. Cú pháp qui  
định trật tự kết hợp các phần tử để cấu thành 1 lệnh (câu), còn  
ngữ nghĩa cho biết ý nghĩa của lệnh đó.  
ƒ Bất kỳ công việc (bài toán) ngoài đời nào cũng có thể được chia  
thành trình tự nhiều công việc nhỏ hơn. Trình tự các công việc  
nhỏ này được gọi là giải thuật giải quyết công việc ngoài đời. Mỗi  
công việc nhỏ hơn cũng có thể được chia nhỏ hơn nữa nếu nó  
còn phức tạp,... ⇒ công việc ngoài đời có thể được miêu tả bằng  
1 trình tự các lệnh máy (chương trình ngôn ngữ máy).  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 4  
Định nghĩa sơ khởi về máy tính số (tt)  
ƒ Vấn đề mấu chốt của việc dùng máy tính giải quyết công việc ngoài  
đời là lập trình (được hiểu nôm na là qui trình xác định trình tự đúng  
các lệnh máy để thực hiện công việc). Cho đến nay, lập trình là  
công việc của con người (với sự trợ giúp ngày càng nhiều của máy  
tính).  
ƒ Với công nghệ phần cứng hiện nay, ta chỉ có thể chế tạo các máy  
tính mà tập lệnh máy rất sơ khai, mỗi lệnh máy chỉ có thể thực hiện  
1 công việc rất nhỏ và đơn giản ⇒ công việc ngoài đời thường  
tương đương với trình tự rất lớn (hàng triệu) các lệnh máy ⇒ Lập  
trình bằng ngôn ngữ máy rất phức tạp, tốn nhiều thời gian, công  
sức, kết quả rất khó bảo trì, phát triển.  
ƒ Ta muốn có máy luận lý với tập lệnh (được đặc tả bởi ngôn ngữ lập  
trình) cao cấp và gần gủi hơn với con người. Ta thường hiện thực  
máy này bằng 1 máy vật lý + 1 chương trình dịch. Có 2 loại chương  
trình dịch : trình biên dịch (compiler) và trình thông dịch  
(interpreter).  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 5  
Định nghĩa sơ khởi về máy tính số (tt)  
ƒ Gọi ngôn ngữ máy vật lý là N0. Trình biên dịch ngôn ngữ N1 sang  
ngôn ngữ N0 sẽ nhận đầu vào là chương trình được viết bằng ngôn  
ngữ N1, phân tích từng lệnh N1 rồi chuyển thành danh sách các  
lệnh ngôn ngữ N0 có chức năng tương đương. Để viết chương trình  
dịch từ ngôn ngữ N1 sang N0 dễ dàng, độ phức tạp của từng lệnh  
ngôn ngữ N1 không quá cao so với từng lệnh ngôn ngữ N0.  
ƒ Sau khi có máy luận lý hiểu được ngôn ngữ luận lý N1, ta có thể  
định nghĩa và hiện thực máy luận lý N2 theo cách trên và tiếp tục  
đến khi ta có 1 máy luận lý hiểu được ngôn ngữ Nm rất gần gũi với  
con người, dễ dàng miêu tả giải thuật của bài toán cần giải quyết...  
ƒ Nhưng qui trình trên chưa có điểm dừng, với yêu cầu ngày càng cao  
và kiến thức ngày càng nhiều, người ta tiếp tục định nghĩa những  
ngôn ngữ mới với tập lệnh ngày càng gần gũi hơn với con người để  
miêu tả giải thuật càng dễ dàng, gọn nhẹ và trong sáng hơn.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 6  
Định nghĩa sơ khởi về máy tính số (tt)  
ƒ Ngôn ngữ máy vật lý là loại ngôn ngữ thấp nhất mà người lập trình  
bình thường có thể dùng được. Các lệnh và tham số của lệnh  
được miêu tả bởi các số binary (hay hexadecimal - sẽ được miêu  
tả chi tiết trong chương 2). Đây là loại ngôn ngữ mà máy vật lý có  
thể hiểu trực tiếp, nhưng con người thì gặp nhiều khó khăn trong  
việc viết và bảo trì chương trình ở cấp này.  
ƒ Ngôn ngữ assembly rất gần với ngôn ngữ máy, những lệnh cơ bản  
nhất của ngôn ngữ assembly tương ứng với lệnh máy nhưng được  
biểu diễn dưới dạng gợi nhớ. Ngoài ra, người ta tăng cường thêm  
khái niệm "lệnh macro" để nâng sức mạnh miêu tả giải thuật.  
ƒ Ngôn ngữ cấp cao theo trường phái lập trình cấu trúc như Pascal,  
C,... Tập lệnh của ngôn ngữ này khá mạnh và gần với tư duy của  
người bình thường.  
ƒ Ngôn ngữ hướng đối tượng như C++, Visual Basic, Java, C#,... cải  
tiến phương pháp cấu trúc chương trình sao cho trong sáng, ổn  
định, dễ phát triển và thay thế linh kiện.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 7  
1.2 Lịch sử phát triển máy tính số  
‰ Máy tính xuất hiện từ rất lâu theo nhu cầu buôn bán và trao  
đổi tiền tệ.  
‰ Bàn tính tay abacus là dạng sơ khai của máy tính.  
5 đơn vị  
1 đơn vị  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 8  
Các thế hệ máy tính số  
Blaise Pascal (Pháp-1642)  
ENIAC (1946)  
18.000 bóng đèn  
1500 rờ le  
Intel 8080 (1974)  
được xem như CPU đầu  
tiên được tích hợp trên 1  
chip  
Charles Babbage (Anh-1830)  
30 tấn  
140 KW  
IBM 360 (1965)  
Von Neumann (1945)  
PDP-1 (1961)  
Cơ  
Đèn  
điện tử  
80x86 (1978)  
Transistors  
IC  
?
(1642 - 1945)  
Herman Hollerith lập  
IBM (International  
Business Machine) ở  
Mỹ - 1890  
(1945 - 1955)  
(1955 - 1965)  
(1965 -  
1980)  
(1980 - ????)  
Bộ nhớ dây trễ, tĩnh  
điện. Giấy, phiếu  
đục lổ. Băng từ  
Bộ nhớ xuyến từ.  
Băng từ, trống từ,  
đĩa từ.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 9  
1.3 Hệ thống số đếm  
Hệ thống số (number system) là công cụ để biểu thị đại lượng. Một  
hệ thống số gồm 3 thành phần chính :  
1. cơ số : số lượng ký số (ký hiệu để nhận dạng các số cơ bản).  
2. qui luật kết hợp các ký số để miêu tả 1 đại lượng nào đó.  
3. các phép tính cơ bản trên các số.  
Trong 3 thành phần trên, chỉ có thành phần 1 là khác nhau giữa các  
hệ thống số, còn 2 thành phần 2 và 3 thì giống nhau giữa các hệ  
thống số.  
Thí dụ : - hệ thống số thập phân (hệ thập phân) dùng 10 ký số :  
0,1,2,3,4,5,6,7,8,9.  
- hệ nhị phân dùng 2 ký số : 0,1.  
- hệ bát phân dùng 8 ký số : 0,1,2,3,4,5,6,7.  
- hệ thập lục phân dùng 16 ký số : 0 đến 9,A,B,C,D,E,F.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 10  
Hệ thống số đếm - Cơ số  
‰ Trước khi có máy tính, con người dùng hệ số đếm thập phân  
(10).  
Ký số  
Thập phân (decimal)  
0 1 2 3 4  
5 6 7 8 9  
Quy tắc đếm  
0 → 1 → 2 → . . . → 9 →  
10 → 11 → 12 → . . . → 19 →  
20 → 21 → 22 → . . . → 29 → . . . → 90 → 91 → 92 → . . . → 99  
→
100 → 101 → . . . → 109 → . . . → 990 → 991 → . . . → 999 →  
1000 → 1001 → 1002 → . . . → 1009 →  
→ . . .  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 11  
Hệ thống số đếm - Cơ số  
‰ Sau khi máy tính số ra đời, các hệ số mới hình thành.  
Hệ nhị phân  
(Binary)  
Ký số  
0 1  
Quy tắc đếm  
0 → 1 →  
10 → 11 →  
100 → 101 → 110 → 111 →  
1000 → 1001 → . . . → 1110 → 1111 →  
10000 → 10001 →  
→ . . .  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 12  
Hệ thống số đếm - Cơ số  
‰ Số ở hệ nhị phân dài, khó nhớ, nhưng phần cứng máy tính  
chỉ hiểu trực tiếp hệ nhị phân.  
‰ Con người dùng số hệ bát phân (8) và thập lục phân (16)  
thay cho hệ nhị phân (dạng tốc ký hay rút gọn của hệ nhị  
phân).  
Hệ bát phân (Octal)  
Ký số  
0 1 2 3  
4 5 6 7  
Quy tắc đếm  
0 → 1 → 2 → . . . → 7 →  
10 → 11 → 12 → . . . → 17 →  
20 → 21 → 22 → . . . → 77 →  
100 → 101 → 102 → . . . → 107 → . . . → 777 →  
1000 → 1001 → 1002 → . . . → 1007 →  
→ . . .  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 13  
Hệ thống số đếm - Cơ số  
‰ Một ký số hệ 8 bằng 3 ký số hệ 2 (23 = 8).  
‰ Một ký số hệ 16 bằng 4 ký số hệ 2 (24 = 16).  
Hệ thập lục phân  
(hexadecimal)  
Ký số  
0 1 2 3 4 5 6 7  
8 9 A B C D E F  
Quy tắc đếm  
0 → 1 → 2 → . . . → 9 → A → B → . . . → F →  
10 → 11 → 12 → . . . → 19 → 1A → . . . → 1F → 20 → . . . → 9F →  
A0 → A1 → A2 → . . . → AF → . . . → F0 → F1 → F2 → . . . → FF →  
100 → 101 → 102 → . . . → 10F → . . . → FFF →  
1000 → 1001 → 1002 → . . . → 100F →  
→ . . .  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 14  
Hệ thống số đếm - Qui luật miêu tả lượng  
Biểu diễn của lượng Q trong hệ thống số B (B>1) là :  
dndn-1...d1d0d-1...d-m  
⇔
Q = dn*Bn + dn-1*Bn-1 +...+d0*B0 +d-1*B-1 +...+d-m*B-m  
trong đó mỗi di là 1 ký số trong hệ thống B.  
Trong thực tế lập trình bằng ngôn ngữ cấp cao, ta thường dùng hệ  
thống số thập phân để miêu tả dữ liệu số của chương trình (vì đã  
quen). Chỉ trong 1 số trường hợp đặc biệt, ta mới dùng hệ thống số  
nhị phân (hay thập lục phân) để miêu tả 1 vài giá trị nguyên, trong  
trường hợp này, qui luật biểu diễn của lượng nguyên Q trong hệ  
thống số B sẽ đơn giản là :  
dndn-1...d1d0 ⇔  
Q = dn*Bn + dn-1*Bn-1 +...+d1*B1+d0*B0  
trong đó mỗi di là 1 ký số trong hệ thống B.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 15  
Ví dụ số nguyên  
1011 2  
173 8  
1×23 + 0×22 + 1×21 + 1×20  
= 8+0+2+1 =1110  
1×82 + 7×81 + 3×80 = 64+56+3 = 12310  
A4B5 16  
A×163 + 4×162 + B×161 +  
5×160  
10×4096 + 4×256 + 11×16 + 5×1 =  
40960+1024+176+5  
= 42165  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 16  
Ví dụ số lẻ  
1011.01 2  
1×23 + 0×22 + 1×21 + 1×20 + 0×2-1 + 1×2-2  
1×8 + 0×4 + 1×2 + 1×1 + 0×0.5 + 1×0.25 = 11.2510  
10.4 8  
1×81 + 0×80 + 4×8-1  
1×8 + 0×1 + 4×0.125 = 8.510  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 17  
Các phương pháp chuyển miêu tả số  
Để chuyển 1 miêu tả số từ hệ thống số này sang hệ thống số  
khác, ta cần dùng 1 phương pháp chuyển thích hợp. Có 4  
phương pháp sau tương ứng với từng yêu cầu chuyển tương  
ứng :  
1. chuyển từ hệ thống số khác về thập phân.  
2. chuyển từ nhị phân về thập lục phân (hay bát phân).  
3. chuyển từ thập lục phân (hay bát phân) về nhị phân.  
4. chuyển từ hệ thống số thập phân về hệ thống số khác.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 18  
Chuyển từ hệ thống nhị phân về thập lục phân  
Để chuyển 1 miêu tả số từ hệ thống số khác (nhị phân, thập lục  
phân hay bát phân) sang hệ thập phân, ta dùng công thức tính  
Q.  
Thí dụ :  
1. 1A2H = 1*162+10*161+2*160 = 256+160+2 = 418D  
2. 642O = 6*82+4*81+2*80 = 384+32+2 = 418D  
3. 110100010B = 28 + 27+25+21 = 256+128+32+2 =418D  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 19  
Chuyển từ hệ thống nhị phân về thập lục phân  
Lưu ý rằng có 1 mối quan hệ mật thiết giữa hệ nhị phân và  
thập lục phân (hay bát phân), đó là 4 ký số nhị phân tương  
đương với 1 ký số thập lục phân (hay 3 ký số nhị phân tương  
đương với 1 ký số bát phân) theo bảng tương đương.  
Dec  
0
Hex  
0
Oct Binary  
Dec  
8
Hex  
8
Oct  
10  
11  
12  
13  
14  
15  
16  
17  
Binary  
1000  
1001  
1010  
1011  
1100  
1101  
1110  
00  
01  
02  
03  
04  
05  
06  
07  
0000  
0001  
0010  
0011  
0100  
0101  
0110  
0111  
1
1
9
9
2
2
10  
11  
12  
13  
14  
15  
A
B
C
D
E
3
3
4
4
5
5
6
6
7
7
F
1111  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 20  
Chuyển từ hệ thống nhị phân về thập lục phân  
Để đổi 1 số nhị phân về thập lục phân (hay bát phân), ta đi  
từ phải sang trái và chia thành từng nhóm 4 ký số nhị phân  
(hay 3 ký số nhị phân), sau đó đổi từng nhóm 4 ký số (hay 3  
ký số) thành 1 ký số thập lục phân tương đương (hay 1 ký  
số bát phên tương đương).  
Thí dụ :  
1. 110100010B = 0001.1010.0010 = 1A2H  
2. 110100010B = 110.100.010 = 642O  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 21  
Chuyển từ hệ thống thập lục phân về nhị phân  
Để đổi 1 số thập lục phân (hay bát phân) về nhị phân, ta đổi  
từng ký số thập lục phân (hay bát phân) thành từng nhóm 4  
ký số nhị phân (hay 3 ký số nhị phân).  
Thí dụ :  
1. 1A2H = 0001.1010.0010 = 110100010B  
2. 642O = 110.100.010 = 110100010B  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 22  
Chuyển từ hệ thống thập phân về hệ thống khác  
Để đổi 1 số thập phân về hệ thống số khác, ta hãy chia số cần  
đổi cho cơ số đích để có được thương và dư số, ta lặp lại hoạt  
động chia thương số cho cơ số đích để có được thương và dư  
số mới, cứ thế lặp mãi cho đến khi thương số = 0 thì dừng lại.  
Ghép các dư số theo chiều ngược chiều lặp để tạo ra kết quả  
(đó là sự miêu tả số tương đương nhưng ở hệ thống số khác.  
Thí dụ :  
418D 16  
2
26 16  
10  
1
1
16  
0
Kết quả là 418D = 1A2H  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 23  
Chuyển từ hệ thống thập lục phân về bát phân  
Để đổi 1 số thập lục phân về bát phân (hay ngược lại), ta  
nên chuyển tuần tự từ thập lục phân về nhị phân, rồi từ nhị  
phân về bát phân.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 24  
Hệ thống số đếm - Các phép tính  
Các phép tính cơ bản trong 1 hệ thống số là :  
1. phép cộng  
2. phép trừ  
(+).  
(-).  
3. phép chia  
(/).  
4. phép nhân  
5. phép dịch trái n ký số  
(*).  
(<< n).  
6. phép dịch phải n ký số  
(>> n).  
Ngoài ra do đặc điểm của hệ nhị phân, hệ này còn cung cấp 1 số  
phép tính sau (các phép tính luận lý) :  
1. phép OR bit  
2. phép AND bit  
3. phép XOR bit  
4. ....  
(|).  
(&).  
(^).  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 25  
Thí dụ về phép cộng, trừ, nhân  
Thí dụ về các phép tính cơ bản (các giá trị đều được biểu diễn  
bằng hệ nhị phân :  
0 1 1 0  
+ 0 0 1 1  
1 0 0 1  
1 0 0 1  
- 0 0 1 1  
0 1 1 0  
1 0 0 1  
* 0 1 0 1  
1 0 0 1  
0 0 0 0  
1 0 0 1  
1 0 1 1 0 1  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 26  
Thí dụ về phép chia  
Thí dụ về các phép tính cơ bản (các giá trị đều được biểu diễn  
bằng hệ nhị phân) :  
số bị chia  
số chia  
1 0 1 1  
- 1 0  
1 0  
thương số  
1 0 1  
0 1  
- 0 0  
1 1  
- 1 0  
0 1  
dư số  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 27  
Thí dụ về phép dịch ký số  
Thí dụ về các phép tính dịch ký số (các giá trị đều được biểu  
diễn bằng hệ nhị phân) :  
0 0 0 0 1 1 0 1 bị dịch trái 2 bit thành 0 0 0 0 1 1 0 1 0 0  
(tương dương với nhân 22)  
0 0  
0 0  
0 0 0 0 1 1 0 1 bị dịch phải 2 bit thành  
(tương dương với chia 22)  
0 0 0 0 1 1 0 1  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 28  
Các phép tính của đại số Boole  
Đại số Boole nghiên cứu các phép toán thực hiện trên các biến chỉ  
có 2 giá trị 0 và 1, tương ứng với hai thái cực luận lý "sai" và "đúng"  
(hay "không" và "có") của đời thường. Các phép toán này gồm :  
x
0
0
1
1
y
0
1
0
1
not x x and y x nand y x or y x nor y  
x xor y  
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
Biểu thức Boole là 1 biểu thức toán hoc cấu thành từ các phép toán  
Boole trên các toán hạng là các biến chỉ chứa 2 trị 0 và 1.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 29  
Hàm Boole  
Một hàm Boole theo n biến boole (hàm n ngôi) là 1 biểu thức  
boole cấu thành từ các phép toán Boole trên các biến boole.  
Thay vì miêu tả hàm boole bằng biểu thức boole, ta có thể  
miêu tả hàm boole bằng bảng thực trị. Bảng thực trị của hàm  
boole n biến có 2n hàng, mỗi hàng miêu tả 1 tổ hợp trị cụ thể  
của các biến và giá trị cụ thể của hàm tương ứng với tổ hợp trị  
này (xem slide ngay trước).  
Như vậy 1 hàm boole n biến được miêu tả như 1 chuỗi 2n bit ⇒  
2n  
có chính xác  
hàm boole n ngôi khác nhau. Cụ thể có :  
2
1
22 = 4  
hàm boole 1 ngôi khac nhau  
hàm boole 2 ngôi khac nhau  
2
22 = 24 = 16  
3
22 = 28 = 256  
hàm boole 3 ngôi khac nhau  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 30  
1.4 Biểu diễn dữ liệu  
Máy tính dùng trực tiếp hệ nhị phân, các đơn vị biểu diễn thông  
tin thường dùng là :  
1. bit : miêu tả 2 giá trị khác nhau (đúng/sai, 0/1,..)  
2. byte : 8bit, có thể miêu tả được 28 = 256 giá trị khác nhau.  
3. word : 2 byte, có thể miêu tả được 216 = 65536 giá trị  
khác nhau.  
4. double word : 4 byte, có thể miêu tả được 232 =  
4.294.967.296 giá trị khác nhau.  
5. KB (kilo byte) = 210 = 1024 byte.  
6. MB (mega byte) = 220 = 1024KB = 1.048.576 byte.  
7. GB (giga byte) = 230 = 1024MB = 1.073.741.824 byte.  
8. TB (tetra byte) = 240 = 1024GB = 1.099.511.627.776  
byte.  
Thí dụ, RAM của máy bạn là 512MB, đĩa cứng là 320GB.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 31  
Qui trình tổng quát để giải quyết bài toán bằng máy tính  
số  
Kết quả có được sau khi  
Dữ liệu cần xử lý bằng  
xử lý bằng máy tính (chữ  
máy tính (chữ số, hình  
số, hình ảnh, âm thanh,...)  
ảnh, âm thanh,...)  
CDROM, đĩa, băng,...  
Giải mã chuỗi  
Mã hóa dữ liệu  
thành dạng  
chuỗi bit  
Lưu giữ dữ liệu  
số để dùng lại  
bit ra dạng  
người, thiết bị  
ngoài hiểu  
được  
Xử lý dữ liệu  
dạng chuỗi bit  
Máy tính số  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 32  
Mã hóa thông tin đầu vào  
Ánh sáng  
Hình  
ảnh  
Âm  
thanh  
Độ ẩm  
Số  
Điện áp  
Nhiệt  
độ  
Thông tin  
Áp  
suất  
Mã hóa  
Chữ  
viết  
Dòng  
Tổ hợp bit  
điện  
Xử lý  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 33  
Biểu diễn số  
Số không dấu  
Số n bit có giá trị : 0 ÷ (2n — 1)  
Số 8 bit có giá trị : 0 ÷ 255  
Số 16 bit có giá trị : 0 ÷ 65 535  
Số 32 bit có giá trị : 0 ÷ 4 294 967 295  
Số có dấu  
Qui ước: chọn bit có trọng số cao nhất (MSB) làm bit dấu  
MSB  
(Most Significant Bit)  
LSB  
(Least  
Significant  
Bit)  
Số 8 bit có dấu có giá trị : -128 ÷ +127  
Số 16 bit có dấu có giá trị: -32768 ÷ +32767  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 34  
Biểu diễn số nguyên có dấu trong máy  
ƒ Phần dương có 32768 số  
Sự biểu diễn  
giá trị  
từ số 0 tới 32767, được  
miêu tả theo công thức Q.  
00000000 00000000  
00000000 00000001  
....  
0
1
ƒ Phần âm có 32768 số từ -  
32768 tới -1, được miêu tả  
ở dạng số bù 2 như sau :  
01111111 11111111  
10000000 00000000  
10000000 00000001  
....  
32767  
-32768  
-32767  
ƒ Số bù 1 của 1 số n bit là n  
bit mà mỗi bit là ngược với  
bit gốc (0 → 1 và 1 → 0)  
ƒ Số bù 2 của 1 số n bit là  
số bù 1 của số đó rồi tăng  
lên 1 đơn vị.  
11111111 11111111  
-1  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 35  
Biểu diễn số nguyên có dấu trong máy  
Vì mỗi ô nhớ máy tính chỉ chứa được 1 byte, do đó ta phải  
dùng nhiều ô liên tiếp (2 hay 4) để chứa số nguyên. Có 2 cách  
chứa các byte của số nguyên (hay dữ liệu khác) vào các ô nhớ  
: BE & LE.  
Cách BE (Big Endian) chứa byte trọng số cao nhất vào ô nhớ  
địa chỉ thấp trước, sau đó lần lượt đến các byte còn lại. Cách  
LE (Little Endian) chứa byte trong số nhỏ nhất vào ô nhớ địa  
chỉ thấp trước, sau đó lần lượt đến các byte còn lại.  
CPU Intel & HĐH Windows sử dụng cách LE để chứa số  
nguyên vào bộ nhớ (Integer và Long).  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 36  
Biểu diễn số nguyên trong VB - Thí dụ  
ƒ Số 15 được miêu tả dưới dạng nhị phân 16 bit như sau :  
0000 0000 0000 1111  
ƒ Do đó, nếu dùng kiểu Integer để lưu số 15, ta dùng 16 bit như  
trên hay viết ngắn gọn là 000FH. Nếu lưu vào bộ nhớ dạng  
LE thì ô nhớ có địa chỉ thấp (i) chứa byte 0FH, và ô nhớ kế  
(i+1) chứa byte 00. Nếu dùng kiểu Long để lưu số 15, ta dùng  
4 byte 0000000FH và lưu vào bộ nhớ dạng LE tốn 4 ô nhớ với  
giá trị lần lượt từ địa chỉ thấp đến cao là 0FH, 00, 00, 00.  
ƒ Số bù 1 của 15 là 1111 1111 1111 0000, số bù 2 của 15 là  
1111 1111 1111 0001  
ƒ Như vậy -15 được lưu vào máy dạng Integer là 2 byte có giá  
trị FFF1H. Nếu lưu vào ô nhớ dạng LE thì ô nhớ có địa chỉ  
thấp (i) chứa byte F1H, và ô nhớ kế (i+1) chứa byte FFH.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Slide 37  
Số thực - số chấm động  
Trong khoa học, ta có thể miêu tả số thực theo dạng ±m*Be, m gọi là  
định trị, B là cơ số và e là số mũ. Như vậy 1 số thực cụ thể có thể  
được miêu tả bởi rất nhiều miêu tả khác nhau, trong đó miêu tả có  
0.1≤m<1 được gọi là miêu tả chuẩn tắc của số thực. Đây là miêu tả  
mà máy tính sẽ dùng.  
m (mantissa) quyết định độ chính xác  
B (base)  
± m × B ± e  
e (exponent) quyết định độ lớn/nhỏ  
0.9135512 × 103  
9.135512 × 102  
91.35512 × 101  
9135.512 × 10-1  
913.551  
2
91355.12 × 10-2  
.Khó xử lý  
hóaChương 1 : Khái niệm cơ bản  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
.Cần chuẩn  
Slide 38  
Số chấm động theo chuẩn IEEE 754  
Trước khi lưu vào máy tính, số thực được đổi về dạng miêu tả nhị  
phân dưới dạng ±1.m*2e (m là chuỗi bit nhị phân miêu tả phần lẻ).  
VB lưu số thực theo chuẩn IEEE 754, dùng 1 trong 2 dạng lưu :  
ƒ Chính xác đơn (Single) : VB dùng 4 byte - 4 ô nhớ (32 bit) để  
lưu số thực theo dạng thức cụ thể sau :  
trong đó bit S = 1 (âm), =0 (dương).  
M = m & E = 127 + e  
M
S
E
8
23  
1
ƒ Chính xác kép (Double) : VB dùng 8 byte - 8 ô nhớ (64 bit) để  
lưu số thực theo dạng thức cụ thể sau :  
trong đó bit S = 1 (âm), =0 (dương); M = m & E = 1023 + e  
S
1
E
M
52  
11  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Trường ĐH Bách Khoa Tp.HCM  
Chương 1 : Khái niệm cơ bản  
Slide 39  
Số chấm động - Ví dụ  
Thí dụ giá trị -1.5 được miêu tả dạng nhị phân là -1.1*20.  
ƒ Do đó nếu dùng kiểu Single chứa số thực -1.5, ta tốn 4 byte  
(32 bit) với các thành phần S = 1, M = 10...0 (22 bit 0), E =  
127. Kết quả, giá trị của 4 byte miêu tả số -1.5 như sau : BF  
C0 00 00  
ƒ Tương tự, nếu dùng kiểu Double chứa số thực -1.5, ta tốn 8  
byte (64 bit) với các thành phần S = 1, M = 10...0 (51 bit 0), E  
= 1023. Kết quả, giá trị của 8 byte miêu tả số -1.5 như sau :  
BF F8 00 00 00 00 00 00.  
ƒ VB dùng cách chứa LE, do đó giá trị -1.5 được lưu vào bộ nhớ  
theo kiểu Single sẽ chiếm 4 byte theo giá trị lần lượt từ địa chỉ  
thấp đến cao là 00 00 C0 BF. Tương tự nếu miêu tả -1.5 vào  
bộ nhớ theo kiểu Double thì sẽ cần 8 ô nhớ với giá trị lần lượt  
từ địa chỉ thấp đến cao là 00 00 00 00 00 00 F8 BF.  
Môn : Nhập môn điện toán  
Khoa Công nghệ Thông tin  
Chương 1 : Khái niệm cơ bản  
Trường ĐH Bách Khoa Tp.HCM  
Slide 40  
Tải về để xem bản đầy đủ
pdf 140 trang myanh 30900 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn điện toán (Mới nhất)", để 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_nhap_mon_dien_toan_moi_nhat.pdf