Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
99
PHẦN I: ðẠI CƯƠNG VỀ TIN HỌC
CHƯƠNG I: GIỚI THIỆU CHUNG
ðể tìm hiểu sâu hơn về các phần trong giáo trình này trước tiên phải có những kiến
cũng như phần mềm.
2- Hệ ñếm trong máy vi tính
2.1- Hệ 10 ( Hệ thập phân: Decimal)
Hệ 10 hay hệ thập phân là hệ ñếm ñược sử dụng ñể ñếm và tính toán trong ñời sống
hàng ngày.
Hệ 10 sử dụng 10 kí hiệu chữ số 0,1,2,3,4,5,6,7,8,9 ñể biểu diễn các số. Do sử dụng bộ
10 chữ số nên hệ ñếm này có cơ số là 10.
ðể phân biệt số trong các hệ ñếm khác nhau người ta thường viết số trong hệ 10 kèm
theo cơ số dạng sau: Nb
( số N trong hệ ñếm cơ số b) hoặc viết chữ D vào sau số
Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
Tổng quát biểu diễn một số trong hệ ñếm cơ số b qua cơ số của hệ ñếm như sau:
Giả sử có số N
b
có n+1 chữ số phần nguyên là a
n
a
n-1
… a
1
a
0
và m chữ số phần lẻ là
c
1
c
2
… c
m
. Số này ñược viết tổng quát như sau N
b
= a
n
a
n-1
… a
1
a
0,
×b
n-1
+…+ a
1
×b
1
+ a
0
×b
0
+ c
1
×b
-1
+c
2
×b
-2
+…+c
m
×b
-m
(*)
Công thức (*) nêu trên sẽ ñược sử dụng ñể chuyển ñổi số giữa các hệ ñếm.
2.2- Hệ 2 (Hệ nhị phân: Binary)
Hệ 2 hay hệ nhị phân là hệ ñếm sử dụng 2 chữ số 0, 1 ñể biểu diễn các số.
Bit là ñơn vị cơ bản của thông tin theo hệ thống số nhị phân ( Binary digit). Các mạch
ñiện tử trong máy tính sẽ phát hiện sự khác nhau giữa hai trạng thái (dòng ñiện mức cao và
2.3- Hệ 16 (Hexadecimal)
Hệ 16 sử dụng 16 kí hiệu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ñể biểu diễn các số. Do sử
dụng 16 kí hiệu nên hệ này có cơ số là 16. Mỗi chữ số của hệ 16 tương ứng với 1 nhóm 4 bít
trong hệ 2. Số N trong hệ 16 ñược kí hiệu N
16
hoặc viết chữ H vào sau số
Ví dụ: 10EF
16
; AE9F
16
; 2EFBH ; 45CDH
Biểu diễn tương ñương hệ 10, hệ 16 và hệ 2 như sau:
Hệ 10
1 2 3 4 5 6 7 8 9 10 11 12
Hệ 16
1 2 3 4 5 6 7 8 9 A B C
Hệ 2
0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
Hệ 10
13 14 15 16 17 …
Hệ 16
D E F 10 11 …
Hệ 2
1101 1110 1111 0001 0000 00010001 …
Trư
ờng ðại học Nô
ng nghi
* Trong máy tính các số ñược biểu diễn theo một khuôn thống nhất, ñộ dài khuôn có
thể 8 bít hoặc 16 bít hoặc 32 bít, …
Có thể biểu diễn số theo dạng dấu phẩy tĩnh hoặc dạng dấu phẩy ñộng. Trong phần
này ta chỉ xét cách biểu diễn số nguyên theo dạng dấu phẩy tĩnh.
* Biểu diễn số nguyên dấu phẩy tĩnh: Số ñược biểu diễn theo khuôn thống nhất, bít trái
nhất (bít cao nhất) dùng ñể biểu diễn dấu: dấu dương (+) ứng với 0, dấu âm (-) ứng với 1.
Các bít còn lại dùng ñể biểu diễn giá trị của số. Giả sử dùng khuôn 8 bít như sau:
7 6 5 4 3 2 1 0 Dấu(0 hặc 1) Phần giá trị
Ví dụ: Biểu diễn số +6
10
trong khuôn 8 bít. Trước tiên phải ñổi 6
10
sang hệ 2 là 110
2
,
kết quả như sau:
0
0
0
0
0
trạng thái kia là 0 (thí dụ công tắc ñiện ñóng=1/ngắt=0 ; bóng ñèn sáng=1/tắt=0).
0
0 0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
1212
Các thông tin ñưa vào máy phải ñược chuyển hoá thành các xung ñiện có mức ñiện thế
cao (gọi là mức Logic1) hoặc mức ñiện thế thấp (mức Logic 0). Mỗi phần tử nhớ của máy
tính chỉ có thể ñược thiết lập ở trạng thái 1 hoặc 0 nên mỗi phần tử ñó gọi là một BIT (Binary
digiT=chữ số nhị phân).
* BYTE (ñọc là Bai) là một nhóm 8 BIT. Máy tính dùng 8 phần tử nhớ ñể ghi nhớ
b
= a
n
a
n-1
… a
1
a
0
, c
1
c
2
… c
m
N
b
= a
n
×b
n
+ a
n-1
×b
n-1
+…+ a
1
×b
1
+ 0×2 + 1 ×2
0
= 32+16+4+1 = 53
10
Ví dụ 2: ðổi số 110101,11
2
sang hệ 10
N
10
=1 × 2
5
+ 1×2
4
+ 0 ×2
3
+ 1×2
2
+ 0×2 + 1 ×2
0
+ 1×2
-1
+ 1×2
-2
= 52+ 0,5 + 0,25= 52,75
10
Ví dụ 3: : ðổi số 10F
16
sang hệ 10, ở ñây b=16
ng
1313
Ví dụ 1: ðổi số 30
10
sang hệ 2, ta nên tạo ra bảng chia nguyên liên tiếp ñể theo dõi số dư cho dễ
dàng như sau
Số bị chia Số chia (b) Thương Số dư
30 2 15
0
15 2 7
1
7 2 3
1
3 2 1
1
1 2 0
1
Kết quả N
2
ñổi sang hệ 2 bằng cách thực hiện phép nhân liên tiếp như sau:
0,25 × 2 = 0,50
0,50 × 2= 1,0
Như vậy 0,25
10
thì hệ 2 sẽ là 0,01
2
Kết quả 6,25
10
ñổi sang hệ 2 là: 110,01
2
Ví dụ 2: ðổi số 7, 37
10
sang hệ 2, ở ñây b=2
7
10
ñổi sang hệ 2 là 111
2
0,37
10
ñổi sang hệ 2 như sau:
0,37 ×2 = 0, 74
0,74 ×2 = 1,48
0,48 ×2 = 0,96
0,96 ×2 = 1,92
Ta dừng ở 4 phép nhân với 4 chữ số phần lẻ, như vây 0,37
10
ọc
ñ
ại
c
ươ
ng
1414
* Chuyển ñổi số từ hệ 2 sang hệ 16:
- Quy tắc: Thay một nhóm 4 bít hệ 2 bằng1 chữ số hệ 16 tương ứng, việc nhóm các bít hệ 2
ñược thực hiện từ phải qua trái, nhóm cuối cùng không ñủ 4 bit thì sẽ thêm các bít 0 vào trước. Vì
hệ 16 dùng ñể ghi ñịa chỉ nên chỉ dùng các số nguyên không có phần lẻ.
Ví dụ: ðổi số 1110010101110
2
sang hệ 16.
Ta thêm các số 0 vào trước cho ñủ các nhóm 4 bít như sau: N
2
= 0001 1100 1010 1110
tương ứng với N
1 1 0 0
0 1 1 1
- Cách thức thực hiện phép trừ hai số hệ 2 có nhiều bít ta thực hiện trừ từng cặp bít
theo bảng trừ trên, làm tương tự như trong hệ 10.
Ví dụ: A=1101011
B=1001101
A-B=0011110
Cách khác thực hiện phép trừ: Lấy số bị trừ cộng với số trừ biểu diễn ở dạng số âm.
a- b = a + (-b)
Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
Kết quả cộng 2 byte trên ( 15
10
– 6
10
) : Khi cộng hệ 2 ta theo quy tắc ở trên, chú ý bít trái nhất là bít dấu nên khi cộng không nhớ sang bít
cao hơn.
c) Phép nhân
* Qui tắc nhân 2 bít: Thực hiện theo bảng nhân sau ñây
A B
A×B
0 0 0
1 0 0
0 1 0
1 1 1
- Cách thức thực hiện phép nhân hai số hệ 2 có nhiều bít ta thực hiện tương tự như
trong hệ 10 với bảng nhân trên, phép nhân ñược thực hiện kết hợp giữa phép dịch trái và phép
cộng.
Ví dụ: a= 10011
2
b= 1011
2
, thực hiện a×b như sau:
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
0
10
b= 6
10
thực hiện a: b trong hệ 2 với khuôn 8 bít
a=12
10
biểu diễn trong khuôn 8 bít như sau: 00001100
b=6
10
vậy -6
10
biểu diễn như sau: 11111010
Thực hiện phép trừ liên tiếp và cho thương như sau:
Bước 1: 12= 00001100 thương=0
-6= 11111010
Bước 2: Hiệu 00000110 thương= 0+1=1
-6= 11111010
Hiệu 00000000 thương=1 +1=10 Dừng thực hiện
Vậy 00001100 : 00000110 = 10
3- Tệp và thư mục
3.1- Tệp ( File)
* ðịnh nghĩa tệp: Tệp là tập hợp thông tin có liên quan với nhau và ñược lưu trữ trong bộ
nhớ ngoài, bộ nhớ ngoài thông dụng hiện nay là ñĩa từ. Các thông tin ta ñưa vào trong máy tính như
chương trình, văn bản, dữ liệu, ñều ñược lưu trữ trên ñĩa từ dưới dạng tệp.
Ví dụ: Một bài thơ, một bảng ñiểm, một chương trình ñược lưu trữ trên ñĩa từ dưới dạng tệp.
Mỗi tệp ñược ñặt một tên duy nhất, hai tệp trong một mục không ñược trùng tên.
* Tên tệp: Tên tệp gồm hai phần là tên chính và ñuôi cách nhau bằng dấu chấm (.)
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
1717
Mỗi thư mục ñược ñặt một tên duy nhất và 2 thư mục không ñược trùng tên. Tên thư
mục ñặt giống như phần tên chính của tệp.
* Tổ chức thư mục trên ñĩa từ: Thư mục ñược tổ chứa theo mô hình phân cấp ( mô
hình cây : TREE): Mỗi ngăn chứa gọi là một thư mục (Directory), ngăn to nhất bao trùm trên
toàn bộ ñĩa gọi là thư mục gốc (ROOT), trong thư mục gốc có chứa các thư mục con ( ngăn
con) và các tệp, trong thư mục con lại có chứa các thư mục con của nó ( thư mục cháu) và các
tệp,
Một mô tả ñầy ñủ cấu trúc của tổ chức thư mục kể từ thư mục gốc ñến các thư mục
dùng khuôn 8 bít là ñủ ( có thể biểu diễn số từ 0 ñến 2
8
= 255). Do vậy ñể mã hoá cho các kí
tự ñược ñưa vào máy vi tính người ta dùng mã nhị phân trong khuôn 8 bít.
Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
> Z :
65 > 90
Dấu [ \
] ^ _ `
91 > 96
Các chữ cái nhỏ a > z
:
97 > 122
D
ấu { | } ~ <DEL>
123 > 127
Các kí tự ñặc biệt , kí tự kẻ khung :
128 > 255
ở ñây ta sử dụng số hệ 10 ñể viết cho gọn và dễ nhớ, trong máy mỗi số sẽ ñược biểu diễn
bằng một nhóm 8 bít trong hệ 2.
Ví dụ: Kí tự "A" có mã 65
10
, biểu diễn trong máy tính là 001000001
2
Kí tự "B" có mã 66
10
, biểu diễn trong máy tính là 001000010
2
5. ðại số logic
5.1- Khái niệm mệnh ñề logic, biến logic, hàm logic
ñ
ại
c
ươ
ng
1919
* Hai giá trị TRUE ( ñúng) và FALSE ( sai) là 2 hằng logic, với TRUE > FALSE.
* Biến logic: Là biến chỉ có thể nhận 1 trong 2 giá trị logic là ñúng (TRUE) hoặc sai
( FALSE).
Ví dụ: X= "Số m là số âm " , trong ví dụ này X là một biến logic vì nó có thể nhận giá
trị TRUE hoặc FALSE tuỳ theo giá trị của m, giả sử m=-5 thì X nhận giá trị TRUE, nếu m=7
thì X nhận giá trị FALSE.
* Hàm logic:
- Những bài toán Logic thường ñược phát biểu dưới dạng các câu nói hoặc câu viết xác
ñịnh các yêu cầu và các ràng buộc ñối với hệ thống mà bài toán giải quyết. Ta có thể biểu
diễn sự liên kết giữa các mệnh ñề bằng một biểu thức Logic hoặc ñược gọi là hàm Logic.
- Hàm logic là một hàm của các biến logic. Kết quả của hàm trả về 1 giá trị logic.
X Y X AND Y
FALSE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
TRUE TRUE TRUE
Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
ại
c
ươ
ng
2020
Các phép tính số học và phép so sánh các số ta ñã biết, chú ý hơn về so sánh 2 xâu kí
tự.
* So sánh 2 xâu kí tự: Khi so sánh 2 xâu kí tự ta tiến hành so sánh mã ASCII của từng
cặp kí tự tương ứng từ 2 xâu, kết quả của phép so sánh theo 3 trường hợp sau:
- Nếu gặp một cặp có mã khác nhau thì xâu chứa kí tự có mã nhỏ hơn là xâu nhỏ hơn.
- Nếu hai xâu có tất cả các cặp kí tự có mã bằng nhau thì 2 xâu bằng nhau.
- Nếu trong qúa trình so sánh một xâu ñã hết các kí tự, một xâu vẫn còn kí tự thì xâu ít
kí tự hơn là xâu nhỏ hơn.
Ví dụ: “ABCD” < “AX”
“ABCD” = ”ABCD”
“ABC” < ”ABCDE”
Ví dụ: Tính giá trị biểu thức logic sau
(“AB” > “1234”) OR ( sinx >2) AND NOT ((X
2
+Y
2
+ 2XY) ≥ 0 )
= TRUE OR FALSE AND NOT TRUE
= TRUE OR FALSE AND FALSE
= TRUE OR FALSE = TRUE
Trư
ờng ðại học Nô
ng nghi
ệp 1
-
Giáo trình
Tin h
ọc
ñ
c, Chuyển 20A
16
, 3EB
16
sang hệ 2, hệ 10
Bài 2: Thực hiện các phép tính trong hệ 2
a, x=36
10
, y=18
10
Tính x+y, x-y, x*y, x/y
b, x=20
10
, y=5
10
Tính x+y, x-y, x*y, x/y
Bài 3: Tính giá trị của các biểu thức logic sau
a, NOT (LOAI < 'C') AND ( GIA >= 500000) OR (LOAI <= 'B') AND (GIA <=200000)
Tính khi : 1- LOAI='D' , GIA= 500000
2- LOAI='A' , GIA= 300000
3- LOAI='B' , GIA= 100000
b, NOT (DT>8) AND (KV=3) AND (DIEM>=16) OR (DT>8) AND (KV=1) AND
(DIEM>=15)
Tính khi : 1- DT=6, KV=3, DIEM=17
2- DT=9, KV=1, DIEM=16