Tải bản đầy đủ (.pdf) (100 trang)

Tin học đại cương

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 100 trang )

1

PGS.TS Phạm Văn Ất – chủ biên
Nguyễn Hiếu Cường – Nguyễn ðức Dư – Hoàng Văn Thông










GIÁO TRÌNH
TIN HỌC ðẠI CƯƠNG























TRƯỜNG ðẠI HỌC GIAO THÔNG VẬN TẢI
HÀ NỘI - 2008

Giáo trình Tin học ðại cương


2

MỤC LỤC
LỜI NÓI ðẦU 3
PHẦN 1 4
ðẠI CƯƠNG VỀ TIN HỌC 4
CHƯƠNG 1 – NHỮNG KHÁI NIỆM CƠ BẢN VỀ TIN HỌC 5
1.1 ðối tượng nghiên cứu của Tin học 5
1.2 Thông tin và xử lý thông tin 5
1.3 Hệ ñếm và biểu diễn thông tin trong máy tính 6
1.4 Nguyên lý của hệ xử lý thông tin tự ñộng 8
1.5 Cấu trúc máy tính 10
1.6 Một số ứng dụng của Tin học 12
CHƯƠNG 2 – HỆ ðIỀU HÀNH 14
2.1 Hệ ñiều hành MS-DOS 14
2.2 Hệ ñiều hành Windows 16
CHƯƠNG 3 – THUẬT TOÁN 21

3.1 Khái niệm 21
3.2 Một số phương pháp biểu diễn thuật toán 21
3.3 Các cấu trúc cơ bản của thuật toán 23
3.4 Một số thuật toán giải một số bài toán ñơn giản 27
PHẦN 2 32
NGÔN NGỮ LẬP TRÌNH C 32
CHƯƠNG 1 - MỘT SỐ KHÁI NIỆM MỞ ðẦU 34
1.1 Tập ký tự 34
1.2 Từ khóa 34
1.3 Tên 35
1.4 Một số khái niệm 35
1.5 Một số chương trình ñơn giản 38
1.6 Một số quy tắc cần nhớ khi viết chương trình 39
1.7 Cách thực hiện các chương trình trên máy tính 40
BÀI TẬP CHƯƠNG 1 41
CHƯƠNG 2 - CÁC KIỂU DỮ LIỆU 42
2.1 Các kiểu dữ liệu cơ bản 42
2.2 Hằng 43
2.3 Biến 45
2.4 Mảng 46
2.5 Các phép toán trên các kiểu 48
2.6 Nhập xuất dữ liệu 52
2.7 Một số hàm thường dùng 56
BÀI TẬP CHƯƠNG 2 57
CHƯƠNG 3 - CÁC LỆNH ðIỀU KHIỂN 58
3.1 Nhắc lại khái niệm về câu lệnh và khối lệnh 58
3.2. Lệnh if 58
3.3 Lệnh for 61
3.4 Lệnh while 63
3.5 Lệnh do - while 65

3.6 Lệnh break 66
3.7 Lệnh continue 66
BÀI TẬP CHƯƠNG 3 68
CHƯƠNG 4 - HÀM VÀ TỔ CHỨC CHƯƠNG TRÌNH 70
4.1 Tổ chức chương trình thành các hàm 70
4.2 Tham số kiểu con trỏ 73
Giáo trình Tin học ðại cương


3

4.3 ðệ quy 79
BÀI TẬP CHƯƠNG 4 83
CHƯƠNG 5 - CẤU TRÚC 84
5.1 ðịnh nghĩa cấu trúc và khai báo biến cấu trúc 84
5.2 Kết hợp ñịnh nghĩa cấu trúc và khai báo biến cấu trúc 84
5.3 Sử dụng typedef ñể ñịnh nghĩa kiểu dữ liệu cấu trúc 85
5.4 Truy cập các thành phần của cấu trúc 86
5.5 Ví dụ minh hoạ 86
BÀI TẬP CHƯƠNG 5 89
PHỤ LỤC 1 - BẢNG MÃ ASCII 91
PHỤ LỤC 2 93
DANH SÁCH CÁC HÀM CỦA TURBO C THEO THỨ TỰ ABC 93

Giáo trình Tin học ðại cương


3
LỜI NÓI ðẦU
Tin học ñại cương là một môn học quan trọng trong chương trình giáo dục ñại

cương ở bậc ñại học. Tại hầu hết các trường ñại học và cao ñẳng nước ta hiện nay,
môn học này là bắt buộc ñối với mọi sinh viên. Về mặt nội dung, tuy mức ñộ ở các
trường có thể khác nhau, song yêu cầu thì ngày càng nâng cao cả về lý thuyết lẫn thực
hành.
Cuốn Giáo trình Tin học ñại cương này ñược biên soạn theo khung chương
trình của Bộ Giáo dục và ðào tạo dành cho sinh viên ngành kỹ thuật. Cấu trúc của
giáo trình gồm 2 phần: phần 1 gồm 3 chương trình bày những kiến thức tổng quan về
Tin học, phần 2 trình bày kỹ thuật lập trình căn bản bằng ngôn ngữ C, phần này có
nhiều ví dụ mẫu và bài tập ñể sinh viên rèn luyện kỹ năng lập trình trên máy.
Khi biên soạn, chúng tôi ñã tham khảo các giáo trình và tài liệu giảng dạy môn
học này của một số trường ñại học ñể cuốn sách vừa ñạt yêu cầu cao về nội dung vừa
thích hợp với ñông ñảo sinh viên các ngành kỹ thuật. Chúng tôi cũng thừa hưởng ñược
những kinh nghiệm quý có ñược trong quá trình giảng dạy môn học này của các ñồng
nghiệp tại Trường ðại học Giao thông vận tải.
Rất mong nhận ñược các ý kiến ñóng góp của các ñộc giả ñể chất lượng giáo
trình này ngày càng tốt hơn.
Mọi ý kiến ñóng góp xin gửi về: Bộ môn Công nghệ phần mềm, Khoa Công
nghệ thông tin, Trường ðại học Giao thông vận tải, Láng Thượng, ðống ða, Hà Nội.
CÁC TÁC GIẢ
Giáo trình Tin học ðại cương


4

PHẦN 1
ðẠI CƯƠNG VỀ TIN HỌC
Giáo trình Tin học ðại cương


5

CHƯƠNG 1 – NHỮNG KHÁI NIỆM CƠ BẢN VỀ TIN HỌC
1.1 ðối tượng nghiên cứu của Tin học
Tin học là ngành khoa học nghiên cứu về cấu trúc, tính chất và các quá trình xử lý thông
tin một cách tự ñộng dựa trên các phương tiện kỹ thuật. Tin học là một ngành khoa học trẻ,
mới hình thành và phát triển trong mấy thập kỷ qua. ðặc biệt từ ñầu những năm 80 của thế kỷ
trước, cùng với sự phát triển của máy vi tính, mạng máy tính và gần ñây là mạng Internet, tin
học ñã phát triển rất mạnh và trở nên không thể thiếu trong hầu như mọi lĩnh vực của ñời sống
xã hội.
Tin học ñược sinh ra trên miền giáp danh của nhiều lĩnh vực khoa học. Hai ngành khoa
học trực tiếp làm nền móng cho tin học là toán học và vật lý. ðặc trưng quan trọng của tin học
là sự truyền và xử lý thông tin một cách tự ñộng. Việc xử lý thông tin trước ñây chưa ñặt ra
vấn ñề tự ñộng hóa và con người luôn gắn liền với mọi thao tác trong quá trình xử lý thông
tin. ðể ñạt ñược phương thức tự ñộng hóa phải có các phương tiện kỹ thuật, mà quan trọng
nhất là máy tính ñiện tử (MTðT). Phương tiện kỹ thuật vừa là công cụ vừa là ñối tượng
nghiên cứu của tin học.
Ngay từ khi ra ñời, tin học ñã phát triển theo hai bộ phận hợp thành chủ yếu là: bảo ñảm
toán học, thuật toán, chương trình (gọi là phần mềm) và các thiết bị tính toán, lưu trữ, truyền
dẫn thông tin (gọi là phần cứng). Trong bản thân cả phần mềm và phần cứng lại có các lĩnh
vực nghiên cứu chuyên sâu hơn về lý thuyết và ứng dụng. Mặc dù rất khó phân ñịnh chính
xác các lĩnh vực nghiên cứu, ứng dụng của tin học, nhưng khi nói ñến tin học, người ta
thường ñề cập ñến:
- Kỹ thuật chế tạo máy tính
- Mạng máy tính
- Kỹ thuật lập trình
- ðảm bảo toán học cho máy tính và các hệ thống tính toán
- Thuật toán và ñộ phức tạp của thuật toán
- Cơ sở dữ liệu
- Trí tuệ nhân tạo
- . . .
1.2 Thông tin và xử lý thông tin

Thông tin theo nghĩa thông thường của ñời sống hàng ngày ñược hiểu như là sự thông
báo, cắt nghĩa, Thông tin tồn tại dưới nhiều dạng và ñược lưu trữ nhờ vật mang tin như tờ
báo, quyển sách, băng ghi âm, ñĩa từ,
Thông tin về một ñối tượng là các dữ kiện về ñối tượng ñó. Thông tin có khả năng làm
thay ñổi sự hiểu biết của con người, là nguồn gốc của nhận thức. Trước thời ñiểm nhận thông
tin, có một cái gì ñó ta chưa biết, chưa xác ñịnh (bất ñịnh). Chẳng hạn ta biết sinh viên A học
ở ðH Giao thông vận tải nhưng không biết ở khoa nào, lớp nào thì việc tìm ñến sinh viên A
có một ñộ bất ñịnh nào ñó. Bây giờ, giả sử biết thêm sinh viên A học ở khoa Công nghệ thông
tin của trường, thì ñiều này ñã làm giảm ñộ bất ñịnh ở trên. Như vậy tính bất ñịnh ñã thay ñổi
khi nhận thêm thông tin.
Ta xét một ví dụ khác: Nếu biết A ñã thi ñạt kỳ thi học kỳ môn Tin học ñại cương, nhưng
chưa biết ñược bao nhiêu ñiểm thì việc xác ñịnh ñiểm của A có một ñộ bất ñịnh nào ñó. Nếu
Giáo trình Tin học ðại cương


6
biết thêm A ñạt ñiểm 7 hoặc 8 thì lượng thông tin bổ sung này sẽ làm giảm ñộ bất ñịnh trên.
Tính bất ñịnh của sự kiện lúc ñầu thể hiện ở 1 trong 6 (ñiểm có thể là 5, 6, 7, 8, 9, 10) và lúc
sau là 1 trong 2 (ñiểm có thể là 7 hoặc 8). Tính bất ñịnh gắn liền với khái niệm xác suất. Xác
suất càng nhỏ thì ñộ bất ñịnh càng lớn, hay nói cách khác, lượng thông tin tỷ lệ nghịch với xác
suất của sự kiện.
Thông tin thường ñược biểu diễn qua các bộ ký hiệu. Ví dụ, ta có tập ñối tượng X cần
biểu diễn (tập các thí sinh chẳng hạn). Chọn một tập hữu hạn Y các chữ và số làm bảng chữ
cái, ta gọi một dãy hữu hạn các chữ cái ñó là một từ trên Y (ở ñây là số báo danh). Với mỗi
phần tử x ∈ X ta gán một từ y ∈Y và gọi là mã của x (Y gọi là bảng mã). Phép tạo mã tương
ứng này cần ñảm bảo tính chất với x1≠x2 (x1 , x2 ∈X) sẽ có y1≠y2 (y1 , y2 ∈ Y) là mã tương
ứng của chúng. Khi biết mã số (số báo danh), bằng phép giải mã ta sẽ tìm ñược ñối tượng
tương ứng (thí sinh).
Thông tin ñưa vào MTðT (ñể lưu trữ, tính toán, ) thực chất là dãy các tín hiệu nhị phân
hay còn gọi là các bit (binary digit), nó tương ứng với các trạng thái của các mạch ñiện tử bên

trong máy tính. Vì vậy, trong xử lý thông tin tự ñộng, dạng mã quan trọng ñược dùng là mã
nhị phân. Thông tin ñược mã hóa trên bảng chữ cái gồm 2 ký hiệu là chữ số 0 và chữ số 1.
Ví dụ, với bảng mã ASCII, là bộ mã tiêu chuẩn của Mỹ, mỗi ký tự (chữ cái, chữ số, ký tự
ñặc biệt) tương ứng với một mã 7 bit. Như vậy bảng mã với mỗi bit có 2 trạng thái cho phép
mã hóa 2
7
=128 ký tự. Với bảng mã ANSI, hay còn gọi là ASCII mở rộng, mỗi ký tự ñược mã
hóa bằng 8 bit, và như vậy lượng ký tự có thể mã hóa ñược là 2
8
=256 ký tự. Cuối những năm
80 của thế kỷ trước, bảng mã UNICODE ñược giới thiệu. Bảng mã này có thể sử dụng 16 bit
ñể mã hóa một ký tự, nên lượng ký tự có thể mã hóa ñược là 2
16
=65536 ký tự. Hiện nay
UNICODE ñã trở thành một tiêu chuẩn ñược chấp nhận rộng rãi vì nó có thể mã hóa ñược các
ký tự của tất cả các ngôn ngữ trên thế giới.
1.3 Hệ ñếm và biểu diễn thông tin trong máy tính
Hệ ñếm ñược hiểu như tập các ký hiệu và tập các qui tắc xác ñịnh dùng ñể biểu diễn và
tính giá trị các số. Trước hết hãy xét những hệ ñếm quen thuộc, ñại diện cho hai cách ñếm là:
hệ ñếm La Mã (ñếm không theo vị trí) và hệ ñếm thập phân (ñếm theo vị trí).
Hệ ñếm La Mã: Mỗi ký hiệu biểu thị một giá trị (I=1, V=5, X=10, D=500, M=1000). Nó
có các qui tắc, chẳng hạn: n ký hiệu ñứng cạnh nhau cho biết ký hiệu ñó ñược lặp lại n lần, ví
dụ: II=2, III=3, XXX=30; hai ký hiệu trong ñó ký hiệu lớn ñứng trước biểu thị tổng của hai ký
hiệu ñó, ví dụ: VI=6, XI=11, Như vậy trong hệ ñếm La Mã, mỗi ký hiệu chỉ ñại diện cho
một giá trị, không phụ thuộc vào vị trí của nó trong biểu diễn.
Hệ ñếm thập phân: Sử dụng 10 ký hiệu (là các chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Qui tắc
tính giá trị: giá trị của mỗi ký hiệu phụ thuộc vào bản thân ký hiệu ñó và vị trí của nó trong
biểu diễn. Ví dụ: trong số 555, chữ số 5 hàng ñơn vị chỉ 5 ñơn vị, chữ số 5 hàng chục chỉ 50
ñơn vị (5*10
1

), chữ số 5 hàng trăm chỉ 500 ñơn vị (5*10
2
). Số lượng các chữ số dùng trong hệ
thập phân (10 chữ số) gọi là cơ số của hệ ñếm. Số mũ của cơ số 10 xác ñịnh giá trị ñịnh lượng
của mỗi ñơn vị.
Hệ ñếm thập phân chỉ là một trường hợp riêng khi chọn cơ số là 10. Tổng quát, bất kỳ
một số nguyên b > 1 nào cũng ñều có thể chọn làm cơ số. Lúc ñó các ký hiệu của hệ ñếm là 0,
1, 2, , b-1.
Trong tin học, các hệ ñếm thường ñược sử dụng là: hệ cơ số 2 (hệ nhị phân) chỉ dùng 2
ký hiệu {0, 1} hệ cơ số 8 dùng các ký hiệu {0, 1, 2, 3, 4, 5, 6, 7} hệ cơ số 16 dùng các ký hiệu
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Khi cần phân biệt số ở hệ ñếm nào, ta có thể sử
dụng cơ số làm chỉ số, ví dụ: 101
2
, 5
8
, 5
16
.
Giáo trình Tin học ðại cương


7
MTðT chỉ có thể tác ñộng trực tiếp với các số nhị phân, trong khi ñó con người lại
thường làm việc trên hệ thập phân. Vì thế cần phải có thuật toán ñể chuyển ñổi số từ hệ ñếm
này sang hệ ñếm khác. ðể chuyển ñổi số từ hệ ñếm cơ số b
1
sang hệ ñếm cơ số b
2
, người ta
thường dùng hệ thập phân làm trung gian: chuyển số từ hệ ñếm cơ số b

1
sang hệ thập phân,
sau ñó chuyển tiếp số từ hệ thập phân sang hệ ñếm cơ số b
2
.
1.3.1 Biến ñổi số ở hệ ñếm bất kỳ sang hệ thập phân:
Cho số N= (d
n-1
d
n-2
d
1
d
0
d
-1
d
-2
d
-m
) ở hệ ñếm cơ số b. ðể tìm biểu diễn của N trong hệ
thập phân, ta tiến hành theo các bước:
- Viết N dưới dạng ña thức:
N = d
n-1
b
n-1
+ d
n-2
b

n-2
+ + d
1
b
1
+ d
0
b
0

+

d
-1
b
-1
+ d
-2
b
-2
+ + d
-m
b
-m

- Sử dụng phép toán của hệ thập phân ñể tính giá trị ña thức.
Ví dụ:
1110,1
2
= 1.2

3
+ 1.2
2
+ 1.2
1
+ 0.2
0
+ 1.2
-1
= 14,5
D3F,4
16
= D.16
2
+ 3.16
1
+ F.16
0
+ 4.16
-1

= 13.16
2
+ 3.16
1
+ 15.16
0
+ 4.16
-1
= 3391,25

1.3.2 Biến ñổi số ở hệ thập phân sang hệ ñếm cơ số bất kỳ:
Trước hết cần tách phần nguyên và phần thập phân (nếu có), rồi tiến hành biến ñổi chúng
riêng biệt sang hệ ñếm cơ số b. Sau ñó bằng cách ghép nối các kết quả ta thu ñược giá trị cần
tìm.
ðể biến ñổi phần nguyên N, ta chia nguyên nó cho b ñược thương số là N
1
và số dư d
1
.
Sau ñó lại lấy N
1
chia nguyên cho b, ñược thương số là N
2
vào số dư là d
2
, Lặp lại quá trình
ñó ñến khi thương số N
k
=0, ta sẽ có kết quả cần tìm là (d
k
d
2
d
1
).
Ví dụ: 52
10
= ?
2
. Ta thực hiện theo thuật toán như sau:

Phép chia nguyên Thương số Số dư
52 : 2 26 0
26 : 2 13 0
13 : 2 6 1
6 : 2 3 0
3 : 2 1 1
1 : 2 0 1
Như vậy 52
10
= 110100
2

Ví dụ: 58506
10
= ?
16
. Ta thực hiện theo thuật toán như sau:
Phép chia nguyên Thương số Số dư
58506 : 16 3656 10
3656 : 16 228 8
228 : 16 14 4
14 : 16 0 14
Như vậy 58506
10
= E48A
16

ðể biến ñổi phần thập phân 0,M ta nhân nó với b, ñược phần nguyên của kết quả là d
1
,

phần thập phân còn lại sau khi lấy kết quả trừ ñi d
1
là 0,M
1
. Sau ñó lấy 0,M
1
nhân với b, ñược
phần nguyên của kết quả là d
2
, phần thập phân còn lại sau khi lấy kết quả trừ ñi d
2
là 0,M
2
,
Giáo trình Tin học ðại cương


8
Tiếp tục lặp lại quá trình này, nó có kết thúc hoặc lặp vô hạn, khi ñó tùy theo yêu cầu mà
quyết ñịnh dừng khi nào. Ta sẽ có kết quả cần tìm là (0,d
1
d
2
d
3
)
Ví dụ: 0,6875
10
= ?
2


Phép nhân Kết quả Phần nguyên
0,6875 * 2 1,375 1
0,375 * 2 0,75 0
0,75 * 2 1,5 1
0,5 * 2 1,0 1
Như vậy: 0,6875
10
= 0,1011
2

Từ ñây suy ra: 52,6875
10
= 110100,01011
2


Ví dụ: 0,8435
10
= ?
16

Phép nhân Kết quả Phần nguyên
0,8435 * 16 13,496 13
0,496 * 16 7,936 7
0,936 * 16 14,976 14
0,976 * 16 15,616 15

Như vậy: 0,8435
10

= 0,D7EF
16

Từ ñây suy ra: 58506,8435
10
= E48A,D7EF
16

1.3.3 Biểu diễn thông tin trong máy tính:
MTðT xử lý cả dữ liệu số và phi số, nhưng cả hai loại dữ liệu này khi ñưa vào máy ñều
là dãy các tín hiệu nhị phân, thường ñược thể hiện bằng các chữ số 0, 1 (gọi là các bit). Theo
nghĩa ñó MTðT xử lý dữ liệu bằng số, và bit là ñơn vị thông tin. Số ñược biểu diễn dưới dạng
nhị phân chính là một dãy các bit liên tiếp. Các số, các ký hiệu, các lệnh máy ñược biểu diễn
trong máy tính thông qua các dãy nhị phân với ñộ dài xác ñịnh, gọi là từ máy. ðộ dài từ máy
là ñặc trưng của từng họ máy. Các ñộ dài từ máy thông dụng là 8, 16, 32, bit. ðộ dài từ máy
là xác ñịnh, do vậy dải số có thể biểu diễn ñược bên trong máy tính là hữu hạn.
1.4 Nguyên lý của hệ xử lý thông tin tự ñộng
1.4.1 Nguyên lý làm việc của máy tính
Von Neumann là người ñề xuất ra nguyên lý làm việc của máy tính số, và nguyên lý này
vẫn ñược dùng làm cơ sở cho hầu hết các MTðT hiện nay. Theo ñó thì MTðT làm việc theo
chương trình có trong bộ nhớ của nó. ðể ñảm bảo nguyên tắc này, MTðT cần phải gồm ñủ 5
thành phần cơ bản: bộ nhớ ñể ghi thông tin, bộ số học logic ñể thực hiện các tính toán, bộ ñiều
khiển, các thiết bị nhập và thiết bị xuất dữ liệu.
Máy tính phải thi hành ñược các lệnh của người dùng ñưa vào. Một chương trình thực
chất là một chuỗi các lệnh, nhằm thực hiện những công việc nào ñó. Một tập hợp các qui ước
ñể viết nên các dòng lệnh ñưa vào máy, cho máy nhận diện và thi hành gọi là ngôn ngữ. Ngôn
ngữ ñược thực hiện trực tiếp dựa trên qui ước của các mạch ñiện tử trong máy gọi là ngôn ngữ
máy. Mỗi loại máy có một ngôn ngữ riêng. Ngôn ngữ máy có ưu ñiểm là máy hiểu ñược
ngay, nhưng nó quá khác biệt so với ngôn ngữ của con người, nên việc xây dựng, kiểm thử
chương trình rất khó khăn.

Giáo trình Tin học ðại cương


9
Từ ñầu những năm 60 của thế kỷ trước ñã bắt ñầu xuất hiện những ngôn ngữ lập trình
(NNLT) bậc cao. Gọi là ngôn ngữ bậc cao vì các ngôn ngữ này thường sử dụng những từ
khóa dựa trên tiếng Anh, có cấu trúc gần gũi hơn với ngôn ngữ của con người. Các NNLT
luôn không ngừng phát triển, các NNLT mới luôn xuất hiện, ngày càng hoàn thiện hơn ñể ñáp
ứng những nhu cầu ngày một cao về qui mô, chất lượng, ñộ tin cậy, của phần mềm. Trên
thực tế, sự phát triển của các ngôn ngữ lập trình gắn liền với sự phát triển của công nghệ phần
mềm và của tin học. Một chương trình viết bằng một NNLT nào ñó gọi là chương trình
nguồn. Chúng ta cần phải có một chương trình dịch cho NNLT ñó ñể dịch các chương trình
nguồn bằng NNLT này ra ngôn ngữ máy, khi ñó MTðT mới có thể hiểu và thực hiện.
ðể tự ñộng hóa một số công việc của người vận hành máy, cũng như quản lý, khai thác
các thiết bị phần cứng hiệu quả hơn, từ những năm 1960 người ta ñã xây dựng các hệ ñiều
hành cho máy tính. Ngày nay nói ñến một hệ thống máy tính, ta phải hiểu ñó là thiết bị phần
cứng và hệ ñiều hành cài ñặt trên nó. Các hệ ñiều hành ngày càng phát triển ñể ñáp ứng nhu
cầu không có giới hạn của người dùng và sự thay ñổi, tiến bộ liên tục của phần cứng. Một số
hệ ñiều hành tiêu biểu hiện nay là: MS-DOS, Windows, Linux,
1.4.2 Lịch sử phát triển của máy tính
Lịch sử kỹ thuật tính toán ñã có từ lâu ñời. Công cụ tính toán của con người bắt ñầu từ
những thứ rất thô sơ như ngón tay, hòn sỏi, rồi ñến bàn tính gảy, máy tính cơ, máy tính cơ
ñiện. ðến năm 1946, việc chế tạo thành công máy tính ENIAC tại Mỹ ñược coi như mốc ñánh
dấu sự ra ñời của MTðT ñầu tiên trên thế giới. Từ khi có MTðT, kỹ thuật tính toán ñã chuyển
sang một giai ñoạn mới.
Năm Sự kiện
Trước CN Bàn tính gảy ở Trung Quốc
1642 Máy tính cơ, làm ñược phép cộng (Blaise Pascal)
1670 Máy tính cơ, làm ñược cộng,trừ,nhân,chia,căn bậc 2 (Leibnitz)
1842 Máy tính có thể lập trình ñể tính tự ñộng (Charles Babbage)

1890 Herman Hollerith thiết kế hệ thống có thể lưu thông tin trên bìa ñục
lỗ, ñọc ra bằng tế bào quang ñiện, thành lập công ty IBM
1946 Máy ENIAC (Eckert, Mauchly), gồm 18000 bóng chân không, giá
500000$
1958 Máy tính ñầu tiên dùng bóng bán dẫn transitor (IBM 7090)
1964 Máy tính ñầu tiên dùng mạch tích hợp IC (IBM 360)
1976 Hãng DEC giới thiệu máy vi tính VAX 11/780
1981 Hãng IBM ñưa ra máy vi tính IBM PC
Bảng 1.1: Một số mốc trong lịch sử phát triển máy tính

Hình 1.1: Máy tính ñiện tử ENIAC
Giáo trình Tin học ðại cương


10

Sự phát triển của MTðT từ năm 1946 ñến nay ñã trải qua nhiều thế hệ. Mỗi thế hệ là một
bước phát triển lớn và ñược xác ñịnh căn cứ vào tiêu chuẩn kỹ thuật và mức ñộ phong phú của
phần mềm.
Thế hệ thứ nhất (khoảng 1946-1955): Dùng bóng ñèn ñiện tử, ñộ tin cậy thấp, tiêu hao
nhiều năng lượng, tốc ñộ tính toán chỉ từ vài nghìn ñến vài chục nghìn phép tính một giây.
Phần mềm chưa phát triển, chủ yếu dùng ngôn ngữ máy ñể lập trình. Thế hệ MTðT này
thường chỉ dùng trong mục ñích nghiên cứu khoa học.
Thế hệ thứ hai (khoảng 1955-1965): Dùng bóng bán dẫn thay ñèn ñiện tử, tiêu thụ năng
lượng ít hơn, bộ nhớ có dung lượng lớn hơn, tốc ñộ khoảng vài chục nghìn phép tính một
giây. ðã bắt ñầu xuất hiện một số NNLT bậc cao như FORTRAN, COBOL, Về ứng dụng,
ñã bắt ñầu dùng vào các mục ñích tính toán trong quản lý kinh tế, thống kê,
Thế hệ thứ ba (khoảng 1965-1980): Dùng mạch tích hợp thay cho bóng bán dẫn, tốc ñộ
tính toán lên ñến hàng triệu phép tính một giây. Các tiến bộ khác phải kể ñến: xuất hiện nhiều
hệ ñiều hành tốt hơn, có khả năng sử dụng bộ nhớ ảo, ña chương trình, các thiết bị ngoại vi

phát triển rất mạnh mẽ. Phần mềm phát triển ña dạng, ứng dụng trong nhiều lĩnh vực.
Thế hệ thứ tư (khoảng từ sau 1980): Dùng mạch tích hợp cỡ lớn VLSI, sự phát triển của
mạng máy tính, các kiến trúc song song, tốc ñộ tính toán lên ñến nhiều triệu, thậm chí hàng tỷ
phép tính một giây. Về ứng dụng, ñã ñược sử dụng trong tất cả mọi lĩnh vực.
Dựa trên kích thước, kiến trúc vật lý, tính năng, tốc ñộ và quy mô xử lý, người ta phân
chia MTðT thành các loại: Máy tính lớn (mainfraim), máy tính mini (mini computer) và máy
vi tính (micro computer). Các máy tính lớn có giá thành rất ñắt, thường ñược sử dụng vào các
lĩnh vực quan trọng, ñòi hỏi nhiều tính toán phức tạp. Thuộc loại này có thể kể ñến các máy
Cray, IBM 3090/300, Gen/Blue, Các máy tính mini có giá thành vừa phải, thích hợp cho
các mục ñích chuyên dùng. Một số máy loại này là PDP, HP-300, IBM 360, Sun 4, Các
máy vi tính xuất hiện từ cuối những năm 70 của thế kỷ 20. Các máy vi tính có kích thước nhỏ,
giá thành rẻ hơn các loại máy trên, nên ñã dần ñược sử dụng rộng rãi, kể cả trong những công
ty nhỏ, trường học, hộ gia ñình hay chỉ cho cá nhân. Chính vì thế phiên bản máy vi tính ñầu
tiên của hãng IBM ñược gọi là máy tính cá nhân (Personal Computer, viết tắt là PC). Máy vi
tính của IBM chiếm thị phần lớn nhất vào ñầu những năm 1980, nên dần dần người ta gần
như ñồng nghĩa từ PC với từ máy vi tính.
Cần lưu ý rằng cách phân loại trên chỉ là tương ñối, cần quan tâm ñến cả yếu tố thời gian.
Nhiều máy vi tính ngày nay có tính năng sử dụng vượt xa các máy tính lớn vào những năm
1970.
1.5 Cấu trúc máy tính
Về cấu trúc logic, một MTðT gồm các bộ phận chính là: bộ nhớ, bộ số học-logic, bộ ñiều
khiển, các thiết bị nhập/xuất dữ liệu và các ñường truyền dẫn. Về tổ chức vật lý, các bộ phận
này ñóng gói thành các thiết bị sau:
- Bo mạch chủ (Mainboard hoặc Motherboard)
- Bộ xử lý trung tâm (Center Processing Unit, viết tắt là CPU)
- Bộ nhớ: gồm bộ nhớ trong (ROM, RAM) và bộ nhớ ngoài hay còn gọi là các thiết
bị lưu trữ (ñĩa từ, ñĩa CD, )
- ðường truyền (Bus) và các cổng giao tiếp
- Bộ nguồn
- Các thiết bị ngoại vi: gồm các thiết bị nhập dữ liệu (bàn phím, chuột, ), các thiết

bị xuất dữ liệu (màn hình, máy in, máy vẽ, ),
Giáo trình Tin học ðại cương


11


Hình 1.2 Máy vi tính Hình 1.3: Máy tính xách tay (laptop)
Thùng máy (case):
Hầu hết các thiết bị của MTðT kể ở trên ñều ñược ñặt bên trong thùng máy, trừ một số
thiết bị ngoại vi. Về hình thức, thường có 2 kiểu thùng máy: ñặt ñứng và ñặt nằm ngang. Chú
ý rằng nhiều người quen gọi cả thùng máy là CPU, gọi như vậy là sai vì CPU chỉ là bộ xử lý
trung tâm gắn trên bo mạch chủ, ñặt bên trong thùng máy.
Bo mạch chủ:
Là thành phần rất quan trọng trong MTðT, kết nối các bộ phận của máy tính với nhau.
Tất cả các thành phần của MTðT ñều ñược cắm trực tiếp, hoặc gián tiếp (thông qua cáp) vào
bo mạch chủ. Bo mạch chủ gồm các thành phần chính: ổ cắm bộ xử lý trung tâm (ñể cắm
CPU), rãnh cắm bộ nhớ trong (ñể cắm các thanh RAM), BIOS, các rãnh cắm cho các thiết bị
ngoại vi (ñể cắm cạc màn hình, cạc mạng, ), các cổng giao tiếp với các thiết bị ngoại vi,

Hình 1.4: Bên trong máy vi tính
Bộ xử lý trung tâm (CPU):
Là bộ não của MTðT, và có thể nói sức mạnh của máy tính phụ thuộc chủ yếu vào khả
năng tính toán của CPU. Bộ xử lý trung tâm bao gồm bộ số học – logic, bộ ñiều khiển và các
thanh ghi. Bộ số học – logic có chức năng thực hiện các phép tính số học cơ bản và các phép
tính logic. Bộ ñiều khiển có chức năng tìm nạp lệnh từ bộ nhớ, ñiều khiển các bước thực hiện
của chương trình. Còn các thanh ghi thực chất là bộ nhớ tốc ñộ cao, mỗi thanh ghi có chức
năng riêng.
CPU có một bộ phận tạo ra xung nhịp ñể ñiều khiển hoạt ñộng của nó và ñồng bộ sự hoạt
ñộng của các bộ phận khác trong toàn hệ thống máy tính. Tốc ñộ CPU chính là thể hiện nhịp

ñồng hồ này, ño bằng megaherz (MHz). Tốc ñộ càng cao tức là máy tính hoạt ñộng càng
nhanh.
Giáo trình Tin học ðại cương


12

Hầu hết các CPU sử dụng hiện nay ñược sản xuất bởi các hãng nổi tiếng như: Intel,
AMD, Motorola.

Hình 1.5: Bộ xử lý trung tâm (CPU)
Bộ nhớ
Bộ nhớ dùng ñể lưu trữ thông tin. ðơn vị ñể ño lượng thông tin là byte (viết tắt là B).
Một byte thực chất là một dãy các bit liên tiếp (8 bit). ðể lưu trữ một ký tự trong bộ nhớ, ta
cần 1 byte. Trong thực tế, thường sử dụng một số ñơn vị là bội số của byte là: kylobyte (viết
tắt là KB, 1 KB = 2
10
B), megabyte (viết tắt là MB, 1 MB = 2
10
KB), gigabyte (viết tắt là GB,
1 GB = 2
10
MB), tetrabyte (viết tắt là TB, 1 TB = 2
10
GB).
Bộ nhớ trong gồm bộ nhớ chỉ ñọc (Read Only Memory, viết tắt là ROM) và bộ nhớ truy
nhập ngẫu nhiên (Random Access Memory, viết tắt là RAM). ROM chứa những số liệu và
chương trình rất cơ bản ñể máy tính có thể khởi ñộng và làm việc. ROM ñược các hãng sản
xuất máy tính ghi sẵn, nó không bị mất ñi khi tắt máy nhưng ta không thể thay ñổi dữ liệu
trong ROM.

Trên thực tế, khi nói ñến bộ nhớ trong của máy tính người ta thường ngầm hiểu là RAM.
RAM dùng ñể lưu trữ chương trình tạm thời trong khi máy ñang làm việc. Chúng ta có thể
ñọc, ghi, sửa xóa dữ liệu trong RAM, nhưng do ñọc ghi bằng ñiện nên khi tắt máy hoặc mất
ñiện thì mọi thông tin lưu trong ñó sẽ bị mất hết. Bộ nhớ RAM thường ñược tổ chức thành
từng băng (còn gọi là thanh RAM), có dung lượng 16 MB, 32 MB, 64 MB, Các thanh
RAM ñược cắm trên bo mạch chủ. Trên bo mạch chủ có thể cắm ñược nhiều thanh RAM.
Bộ nhớ RAM có tốc ñộ truy cập cao, nhưng không lưu ñược dữ liệu sau khi tắt máy, vì
thế những dữ liệu muốn lưu trữ lâu dài cần phải ghi vào các thiết bị lưu trữ. Các thiết bị lưu
trữ hiện nay rất ña dạng, gồm: băng từ, các loại ñĩa từ (ñĩa mềm, ñĩa cứng), các loại ñĩa quang
(ñĩa CD, ñĩa DVD), ñĩa USB (USB Flash Disk),

Hình 1.6: Bộ nhớ RAM
Bộ nguồn
Bộ nguồn chuyển ñổi ñiện lưới xoay chiều thành dòng ñiện một chiều ñiện áp thấp
(thường khoảng 3v ñến 12v) ñể cung cấp cho mọi bộ phận trong máy tính.
1.6 Một số ứng dụng của Tin học
Giáo trình Tin học ðại cương


13

Tin học ngày nay ñã trở thành ñộng lực sản xuất của xã hội. MTðT khác các máy móc
khác ở chỗ nó gia công thông tin chứ không gia công nguyên vật liệu. Sản phẩm của MTðT
là những thông tin hướng dẫn các hoạt ñộng thực tiễn. Ban ñầu tin học chủ yếu phục vụ các
vấn ñề khoa học kỹ thuật, người sử dụng khi ñó cũng chủ yếu là những nhà chuyên môn trong
các lĩnh vực ñó. Sự phát triển nhanh chóng của MTðT và mạng Internet cho phép tin học xâm
nhập vào mọi lĩnh vực. Do sự phát triển nhanh, mạnh và rộng khắp của tin học nên sẽ rất khó
ñể nói hết ñược những ứng dụng của nó, dưới ñây chỉ tóm lược một số phần mềm ứng dụng
cơ bản, phổ biến hiện nay.
Phầm mềm toán học:

- Mathematica: là phần mềm cho phép tính toán từ ñơn giản như các tính toán số
học ñến phức tạp hơn, như: các bài toán về ña thức, ñại số tuyến tính, tìm giới
hạn, tìm ñạo hàm, tính tích phân, giải phương trình vi phân, khai triển Taylor,
Ngoài ra phần mềm này còn cho phép vẽ biểu ñồ và ñồ thị.
- Matlab: phần mềm này có thể thực hiện ñược các tính toán tương tự như
Mathematica. Ngoài ra Matlab còn dùng kỹ thuật ñồ họa 3 chiều ñể thiết kế các
mô hình trong khoa học kỹ thuật hoặc làm các ñoạn phim hoạt hình ñơn giản.

Phần mềm văn phòng:
Bộ phần mềm văn phòng nổi tiếng nhất, có mặt ở hầu hết các máy tính hiện nay là
Microsoft Office. Trong bộ phần mềm này có những chương trình:
- Word: ñể soạn thảo, lưu trữ, sửa chữa, in ấn các văn bản.
- Excel: ñể tạo lập, lưu trữ, sửa chữa, in ấn các bảng tính, ví dụ: bảng lương, bảng
thống kê bán hàng,
- PowerPoint: ñể tạo lập các bản báo cáo (slide) và trình bày báo cáo.
- Access: là một hệ quản trị cơ sở dữ liệu.
- FrontPage: ñể xây dựng các trang Web.
- Outlook: ñể trao ñổi, quản lý thư ñiện tử, lập lịch làm việc,
Phần mềm thiết kế:
- AutoCAD: ñể tạo lập và quản lý các bản vẽ kỹ thuật.
- Soap: ñể tính toán kế cấu và ổn ñịnh lực học.
- 3D Max: là một công cụ mạnh, có sự hỗ trợ của multimedia ñể phục vụ cho công
tác thiết kế.
CÂU HỎI CHƯƠNG 1
Câu 1: Kể tên các lĩnh vực nghiên cứu của Tin học? Thông tin trong máy tính ñược lưu
trữ, tính toán theo hệ ñếm nào?
Câu 2: Chuyển giá trị A =1001001 từ hệ ñếm 2 sang hệ ñếm 10? Chuyển giá trị B
=32456,4235 từ hệ ñếm 10 sang hệ ñếm 2? Chuyển giá trị C=100100010 từ hệ ñếm 2 sang
hệ ñếm 8?
Câu 3: Nêu các khái niệm: phần cứng máy tính, phần mềm máy tính, ngôn ngữ lập trình?

Nêu cấu tạo cơ bản của máy tính?
Giáo trình Tin học ðại cương


14

CHƯƠNG 2 – HỆ ðIỀU HÀNH
Hệ ñiều hành (HðH) là tập hợp các chương trình ñặc biệt dùng ñể tổ chức, phối hợp hoạt
ñộng của các thiết bị phần cứng, tạo ra môi trường làm việc cho các chương trình ứng dụng và
giao tiếp với người dùng. HðH là một phần mềm không thể thiếu trên bất kỳ máy tính nào.
HðH tự ñộng ñược tải vào bộ nhớ sau khi khởi ñộng máy tính.
Hiện nay có rất nhiều HðH cho các hệ máy khác nhau. Số lượng các HðH cho máy vi
tính cũng không ít, nhưng trên thế giới cũng như ở Việt Nam từ trước tới nay sử dụng phổ
biến các HðH của hãng Microsoft là MS-DOS và Windows.
2.1 Hệ ñiều hành MS-DOS
Một trong những HðH ñầu tiên cho các máy vi tính là MS-DOS (Microsoft Disk
Operating System), thường gọi tắt là DOS. MS-DOS ñã phát triển qua nhiều phiên bản từ 1.0
ñến 6.0 rồi dần ñược thay thế bởi HðH Windows. Tuy nhiên, nhiều tư tưởng và qui ñịnh của
DOS vẫn ñược áp dụng trong Windows. Ngoài ra, có nhiều phần mềm ñược viết từ khi HðH
Windows chưa phổ biến, chúng chỉ chạy ñược trên nền DOS, nên ngay cả trong Windows vẫn
cho phép chúng ta tạo ra môi trường DOS ảo, giống như khi dùng MS-DOS ñể chạy ñược các
phần mềm cũ.
2.1.1 Một số khái niệm
Tệp tin (file): là tập hợp các thông tin ñược tổ chức lưu trữ thành một ñơn vị ñộc lập. Có
hai loại tệp tin là: tệp tin dữ liệu và tệp tin chương trình. Mỗi tệp tin có một tên, gồm 2 phần,
ñược phân cách bằng dấu chấm (.) là: phần tên và phần mở rộng. ðặt tên tệp tin trên DOS
phải tuân theo một số qui tắc: phần tên không quá 8 ký tự, phần mở rộng không quá 3 ký tự
và không chứa dấu cách và các ký tự ñặc biệt.
Thư mục (directory): ðể tạo sự dễ dàng và thuận lợi trong việc quản lý và truy xuất ñến
các tệp tin, DOS cho phép tổ chức các tệp tin thành từng nhóm, gọi là thư mục. Có thể ví thư

mục như những tủ hồ sơ ñể chứa hồ sơ là các tệp tin. Trong thư mục có thể tạo những thư
mục con của nó. Thư mục mà bên trong không có thư mục con cũng không có tệp tin nào thì
gọi là thư mục rỗng. Thư mục hiện hành là thư mục mà ta ñang làm việc, nó ñược thể hiện
trên dấu nhắc của DOS. Tên thư mục cũng không ñược ñặt quá 8 ký tự.
Dựa trên khái niệm thư mục, DOS tổ chức dữ liệu trên ñĩa một cách logic dưới dạng hình
cây, với “gốc” là ổ ñĩa, rồi phân chia tiếp ra các thư mục, từ các thư mục có thể ñến các thư
mục con của nó, và cuối cùng “lá” là các tệp tin. Cách tổ chức dữ liệu trên ñĩa của HðH
Windows cũng tương tự như vậy, chỉ có ñiều trên Windows có thể ñặt tên tệp tin và tên thư
mục với ñộ dài lớn hơn, có thể bao gồm cả dấu cách.
ðường dẫn: ðể truy cập ñến một thư mục hay một tệp tin ta phải chỉ ra nó nằm ở ñâu tính
từ thư mục hiện hành. Các thông tin này ñược trình bày bằng cách liệt kê tên các thư mục và
tệp tin, giữa hai thư mục hoặc tệp tin sử dụng dấu sổ chéo (\). Dãy thư mục và tệp tin ñó gọi là
ñường dẫn. Nếu phải xác ñịnh thư mục hoặc tệp tin ở ổ ñĩa khác với ổ ñĩa hiện hành thì cần
chỉ ra tên ổ ñĩa, kèm theo dấu hai chấm (:). Tên ổ ñĩa thường ký hiệu A cho ổ ñĩa mềm, C, D
cho ổ ñĩa cứng,
Ví dụ một ñường dẫn: C:\GIAOTRINH\THDC\CHUONG1.DOC
Các ký tự ñại diện: thường ñược sử dụng khi phải làm việc với nhiều tệp tin có chung
một tính chất nào ñó. Có hai loại ký tự ñại diện là: ‘ ? ‘ ñại diện cho 1 ký tự tại vị trí nó ñứng
và ‘ * ‘ ñại diện cho nhiều ký tự kể từ vị trí nó ñứng.
Giáo trình Tin học ðại cương


15

2.1.2 Một số qui ước
Một lệnh của DOS ñược viết bắt ñầu từ dấu nhắc của DOS trên màn hình. Giữa phần lệnh
và phần thông tin phía sau phải có ít nhất một dấu cách. Trong lệnh của DOS không phân biệt
chữ hoa và chữ thường. Sau khi viết xong lệnh, gõ phím Enter ñể thực hiện lệnh ñó.
Trong cách viết lệnh sau ñây, phần ñặt giữa dấu < và dấu > là bắt buộc phải có, nếu
không lệnh sẽ sai cú pháp, còn phần ñặt giữa dấu [ và ] là phần lựa chọn, tùy theo yêu cầu mà

có cần sử dụng hay không.
2.1.3 Một số lệnh làm việc với thư mục:
1) Tạo thư mục mới:
MD [ñường dẫn] <tên thư mục> <ENTER>
Trong ñó: [ñường dẫn] là tên ổ ñĩa, tên các thư mục ñể xác ñịnh thư mục cần làm việc,
tức là thư mục mà ta sẽ tạo thư mục mới trong nó, <tên thư mục> là tên thư mục mới cần tạo,
<ENTER> là gõ phím Enter trên bàn phím.
Ví dụ trên ổ ñĩa C hiện hành có thư mục GIAOTRINH, cần tạo một thư mục mới có tên
VANPHONG:
MD GIAOTRINH\VANPHONG <ENTER>
2) Xóa một thư mục rỗng:
RD [ñường dẫn] <tên thư mục> <ENTER>
3) Chuyển ñến một thư mục:
CD [ñường dẫn] <tên thư mục> <ENTER>
Thư mục sau khi ñược chuyển ñến sẽ trở thành thư mục hiện hành.
Chuyển ñến thư mục cha:
CD <ENTER>
Chuyển ñến thư mục gốc:
CD\ <ENTER>
4) Xem nội dung thư mục:
DIR [ñường dẫn] [tên thư mục] [/p] <ENTER>
Nếu chỉ dùng DIR thì ta sẽ xem ñược nội dung của thư mục hiện hành: nó có những thư
mục con nào, tệp tin nào, kích thước từng tệp tin là bao nhiêu byte. Tham số /p ñể xem từng
trang màn hình, dùng khi số lượng tệp tin của thư mục cần xem lớn.
2.1.4 Một số lệnh làm việc với tệp tin
1) Xóa tệp tin:
DEL [ñường dẫn] <tên tệp tin> <ENTER>
ðể xác ñịnh tên tệp tin cần chỉ rõ tên và phần mở rộng. Có thể sử dụng các ký tự ñại diện
ñể xóa cùng lúc nhiều tệp tin có chung những tính chất nào ñó.
Ví dụ: xóa tất cả các tệp tin có phần mở rộng là TMP trong thư mục THDC

DEL GIAOTRINH\THDC\*.TMP <ENTER>
2) ðổi tên tệp tin:
Giáo trình Tin học ðại cương


16

REN [ñường dẫn] <tên tệp tin> <tên mới> <ENTER>
3) Sao chép tệp tin:
COPY <Nguồn> <ðích> <ENTER>
Trong ñó phần <Nguồn> cần chỉ ra các tệp tin cần sao chép và phần <ðích> chỉ ra ổ ñĩa
hoặc thư mục sẽ sao chép các tệp tin trên vào.
2.2 Hệ ñiều hành Windows
2.2.1 Một số ñặc ñiểm
HðH Windows là bước phát triển tiếp theo của MS-DOS. Khác biệt dễ nhận thấy nhất
của Windows so với DOS là nó có giao diện ñồ họa, với các thực ñơn (menu), cửa sổ và biểu
tượng. Các thao tác trên Windows rất trực quan và dễ dàng, người sử dụng không cần phải
nhớ và gõ những dòng lệnh như trên DOS. Windows ñã có một quá trình phát triển khá dài, từ
giữa những năm 80 của thế kỷ 20, dần dần thay thế DOS và trở thành HðH ñược sử dụng
nhiều nhất trên thế giới.
Những phiên bản ñược sử dụng rộng rãi ñầu tiên là Windows 3.0 và Windows 3.1. Các
phiên bản ñược sử dụng phổ biến hiện nay là Windows 98, Windows 2000, Windows XP.
Nếu máy tính ñã cài ñặt HðH Windows, sau khi khởi ñộng máy, Windows sẽ tự ñộng nạp và
chạy.
Sau khi ñăng nhập, sẽ xuất hiện màn hình nền (desktop) của Windows (các ví dụ ở ñây là
trên phiên bản Windows XP). Mỗi biểu tượng trên màn hình thường ñại diện cho một chương
trình. Muốn thực hiện chương trình nào ta nháy ñúp chuột vào biểu tượng ñó. Chúng ta cũng
có thể tạo các biểu tượng (shortcut) trên màn hình cho bất kỳ tệp tin hay thư mục nào cần
thường xuyên dùng tới. Thanh tác vụ (taskbar) phía dưới màn hình cho biết các ứng dụng nào
ñang thực hiện.

Nút Start chứa ñựng nhiều chức năng quan trọng của Windows. Trong Start, chọn All
Programs ta sẽ có danh sách các chương trình ñã cài ñặt trên máy, muốn chạy chương trình
nào chỉ cần bấm chuột vào biểu tượng tương ứng. ðể tắt máy chọn Turn Off Computer >
Turn Off, ñể khởi ñộng lại máy chọn Turn Off Computer > Restart.
Giáo trình Tin học ðại cương


17


Hình 2.1: Màn hình desktop của Windows XP


Hình 2.3 Sau khi bấm chọn nút Start Hình 2.3:Sau khi chọn All Programs

Giáo trình Tin học ðại cương


18


Hình 2.4: Sau khi chọn Log Off Hình 2.5: Sau khi chọn Turn Off Computer
Con chuột là thiết bị giao tiếp chủ yếu dùng trong giao diện ñồ họa. Con chuột thường có
hai phím: phím trái và phím phải. Một số thao tác cơ bản với chuột là:
- Bấm chuột (hoặc còn gọi là nháy chuột, kích ñơn, ) là thao tác ấn vào nút trái
chuột, dùng ñể chọn một ñối tượng nào ñó.
- Bấm chuột phải là thao tác ấn vào nút phải chuột, thường dùng ñể kích hoạt bảng
chọn tức thời (bảng chọn gồm những chức năng nào còn phụ thuộc vào ngữ
cảnh).
- Bấm ñúp chuột (hoặc còn gọi là nháy kép, kích ñúp, ) là thao tác bấm nhanh 2

lần liên tiếp phím trái chuột, thường dùng ñể kích hoạt một ñối tượng nào ñó.
- Thao tác kéo-thả: bấm và giữ phím trái chuột, kéo chuột tới vị trí dự ñịnh, nhả
phím bấm ra. Thao tác này dùng ñể di chuyển vị trí hay thay ñổi kích thước một
ñối tượng.


Hình 2.6: Bảng chọn tức thời
ðể thực hiện các công tác quản lý tệp tin, ta cần mở chương trình Windows Explorer,
bằng cách nháy ñúp vào biểu tượng trên màn hình desktop, hoặc bấm tổ hợp phím tắt:
- E.
Giáo trình Tin học ðại cương


19


Hình 2.7: Windows Explorer
2.2.2 Các thao tác trong Windows Explorer
Hiển thị nội dung:
Phía bên trái màn hình Windows Explorer là tổ chức thư mục, cách tổ chức này cũng
giống như ở DOS. Khi chọn một thư mục nào ñó (bằng cách bấm chuột vào nó) thì danh sách
các tệp tin và thư mục con của nó xuất hiện ở bên phải màn hình. Ta có thể sắp xếp và xem
các tệp tin này theo nhiều cách khác nhau (theo tên, theo kiểu, ) bằng cách bấm chuột phải ở
màn hình bên phải, chọn Arrange Icons By, sau ñó chọn cách sắp xếp tương ứng.

Hình 2.8: Chọn cách sắp xếp các biểu tượng tệp tin
ðóng mở thư mục:
ðể mở một thư mục: bấm chọn biểu tượng dấu cộng , ñể ñóng một thư mục: bấm chọn
biểu tượng dấu trừ .
Chọn ñối tượng (tệp tin và thư mục):

ðể chọn một tệp tin (hoặc thư mục) ta bấm chuột vào nó, ñể chọn nhiều tệp tin liền nhau
ta bấm chuột vào tệp tin ñầu, giữ phím Shift rồi bấm chuột vào tệp tin cuối, ñể chọn nhiều tệp
tin không liền nhau, ta giữ phím Ctrl rồi lần lượt bấm chọn các tệp tin.
Giáo trình Tin học ðại cương


20

Sao chép ñối tượng (các tệp tin và thư mục từ thư mục nguồn sang thư mục ñích):
Tìm ñến thư mục nguồn, nơi chứa ñối tượng. ðánh dấu chọn ñối tượng cần sao chép. Bấm chuột
phải ñể mở bảng chọn tức thời, chọn Copy. Cuối cùng tìm ñến thư mục ñích, bấm chuột phải, chọn
Paste trên bảng chọn tức thời. Nếu muốn thay vì sao chép, ta chuyển ñối tượng từ thư mục nguồn sang
thư mục ñích (ñối tượng ñó không còn trong thư mục nguồn), chỉ việc thay Copy bằng Cut.


Hình 2.9: Bảng chọn khi Copy Hình 2.10: Bảng chọn khi Paste
ðổi tên tệp tin, thư mục:
Chọn một ñối tượng (tệp tin hoặc thư mục), bấm chuột phải vào ñối tượng, chọn chức
năng Rename trong bảng chọn, cuối cùng gõ tên mới.
Xóa tệp tin, thư mục:
Chọn một ñối tượng (tệp tin hoặc thư mục), bấm chuột phải vào ñối tượng, chọn chức năng
Delete trong bảng chọn hoặc gõ phím Delete trên bàn phím. Chú ý: các tệp tin, thư mục sau khi
thực hiện các thao tác trên không bị xóa hẳn, mà chỉ bị ñưa vào thùng rác. Nếu muốn phục hồi ta
chỉ cần vào thùng rác, chọn các tệp tin, thư mục cần phục hồi, bấm chuột phải, chọn Restore. Nếu
muốn xóa hẳn tệp tin, thư mục nào, thì ta cần giữ phím Shift khi chọn chức năng Delete.

Hình 2.11: Biểu tượng thùng rác
Thao tác trong Windows Explorer chủ yếu sử dụng chuột, ngoài các thao tác ñơn giản,
nên tận dụng thêm khả năng kéo-thả. Chẳng hạn ñể sao chép các tệp tin vào một thư mục nào
ñó, ta có thể ñánh dấu chọn các tệp tin ñó rồi kéo và thả vào thư mục ñích. ðể xóa các tệp tin,

ta có thể bấm chọn các tệp tin ñó, rồi kéo và thả vào biểu tượng thùng rác.
Chúng tôi chỉ giới thiệu ở ñây một số kiến thức cơ bản nhất, vì các khả năng của HðH
Windows rất phong phú, không thể ñề cập hết trong giáo trình này. Tuy nhiên với giao diện
ñồ họa, trực quan, việc tự học và làm chủ các thao tác, khai thác các chức năng khác của
Windows sau khi ñã nắm ñược những kiến thức cơ bản là hoàn toàn không khó.
CÂU HỎI CHƯƠNG 2
Câu 1: Nêu khái niệm HðH? Kể tên một số HðH?
Câu 2: Quy tắc ñặt tên File trong hệ ñiều hành DOS? Nêu các lệnh làm việc với thư mục,
các lệnh làm việc với tệp tin?
Câu 3: Các thao tác ñể tắt máy tính trong hệ ñiều hành Windows?
Giáo trình Tin học ðại cương


21

CHƯƠNG 3 – THUẬT TOÁN
3.1 Khái niệm
Thuât toán là một dãy các quy tắc, nhằm xác ñịnh một dãy các thao tác trên các ñối
tượng (dữ liệu ñầu vào) sao cho sau một số hữu hạn bước thực hiện các thao tác ñó ta ñạt
ñược mục tiêu cần làm (dữ liệu ra là kết quả bài toán).
Ví dụ: Thuật toán tìm ước số chung lớn nhất (USCLN) của hai số nguyên dương a,b.
- Input: a,b hai số nguyên dương
- Output: ƯSCLN của a, b
Có thể mô tả thuật toán này như sau:
Bước 1: Tìm số dư r của phép chia a cho b
Bước 2: Kiểm tra:
- Nếu r = 0 thì thông báo b là USCLN và kết thúc
- Nếu r<>0 thì thực hiện ñặt a=b, b=r rồi quay lại làm lại Bước 1
Thuật toán trên gồm các thao tác tính số dư r, kiểm tra r<>0?, nếu r<>0 ñặt a=b, b=r.
Các ñặc trưng cơ bản của thuật toán

- Thuật toán phải có tính dừng: Thuật toán phải kết thúc sau một số hữu hạn bước.
- Tính xác ñịnh: Ở mỗi bước các thao tác phải rõ ràng, không gây nhập nhằng, tùy
chọn.
- ðại lượng vào: Mỗi thuật toán phải có một hoặc nhiều dữ liệu ñầu vào
- ðại lượng ra: Sau khi kết thúc thuật toán ta có thể thu ñược một số ñại lượng ra là
kết quả của bài toán.
- Tính hiệu quả: Mỗi bài toán có thể có nhiều thuật toán khác nhau ñể giải. Một
thuật toán là tốt thì nó phải ñơn giản, tiết kiệm bộ nhớ và thời gian thực hiện.
- Tính phổ dụng: Thuật toán có thể giải ñược một số bài toán trong một lớp bài
toán.
- Tính hình thức hóa: Thuật toán phải có thể hình thức ñược và cài ñặt ñược trên
máy tính.
3.2 Một số phương pháp biểu diễn thuật toán
Máy tính ñược sử dụng như là một công cụ ñể hỗ trợ con người giải quyết các bài toán
trong thực tế. Bản thân máy tính chỉ là một vật vô chi vô giác, không có tư duy. Do ñó, bản
thân nó không thể tự giải các bài toán trong thực tế ñược, mà nó chỉ có thể thực hiện ñược các
lệnh, do con người bảo nó làm thông qua một ngôn ngữ lập trình. Vì vậy ñể máy có thể giúp
chúng ta giải một bài toán nào ñó thì ta cần phải cài ñặt thuật toán giải bài toán ñó cho máy,
theo ñó máy thực hiện giải bài toán. ðể cài ñặt thuật toán cho máy người cài ñặt phải có thuật
toán giải bài toán ñó.
Có nhiều cách biểu diễn thuật toán như ñặc tả tự nhiên (liệt kê từng bước), sơ ñồ khối, giả
mã, …. Ở ñây ta làm quen với một số cách biểu diễn thuật toán thông dụng
3.2.1 ðặc tả tự nhiên (Liệt kê từng bước)
Giáo trình Tin học ðại cương


22

Sử dụng ngôn ngữ tự nhiên ñể biểu diễn thuật toán bằng cách chỉ ra từng bước cần thực
hiện của thuật toán.

Ví dụ: Thuật toán giải phương trình bậc 2: ax
2
+bxc=0 với các hệ số a, b, c là các số thực, a≠ 0.
Bước 1: Xác ñịnh các hệ số a=?, b=?, c=? của phương trình
Bước 2: Tính ∆ = b
2
- 4ac
Bước 3: Kiểm tra ∆:
- Nếu ∆ < 0 thì kết luận phương trình vô nghiệm
- Nếu ∆ = 0 thì kết luận phương trình có nghiệp kép x
1
=x
2
=-b/(2a)
- Nếu ∆>0 thì kết luận phương trình có 2 nghiệm
x
1
=(-b +

)/(2a); x
2
=(-b-

)/(2a)
3.2.2 Sử dụng sơ ñồ khối
Sử dụng hệ thống các kí hiệu ñể biểu diễn thuật toán.
Một số ký hiệu sử dụng biểu diễn thuật toán:
STT

Ký hiệu Ý nghĩa của ký hiệu

1

Ký hiệu bắt ñầu thuật toán
2

Ký hiệu kết thúc thuật toán
3


Ký hiệu nhập dữ liệu vào

4



Ký hiệu xuất dữ liệu ra
5







Ký hiệu rẽ nhánh
Nếu Bt Lôgíc có giá trị ðúng thì
thực hiện theo nhánh ð
Nếu Bt Lôgíc có giá trị Sai thì thực
hiện theo nhánh S
6



Ký hiệu vòng lặp với số lần xác
ñịnh trước.
Thực hiện công việc A n lần, ban
ñầu Biến ñược gán bằng 1, sau mỗi
lần lặp biến tăng lên 1 ñơn vị
7


Kí hiệu khối các thao tác
thực hiện các công việc A
8


Kí hiệu gọi chương trình con A
thực hiện
A
Biến
=1, 2, ,n
Bt Lôgíc
S
ð

A
A
Input:
Output:
begin
end

Giáo trình Tin học ðại cương


23

9
Kí hiệu chỉ hướng thực hiện thuật
toán

Bảng 3.1: Một số ký hiệu dùng trong vẽ sơ ñồ khối
Ví dụ: Biểu diễn thuật toán giải phương trình bậc 2 bằng sơ ñồ khối.


Sơ ñồ khối biểu diễn thuật giải phương trình bậc hai ax2+bx+c=0, a≠0, a, b, c, x

R.
Nhận xét: Sử dụng sơ ñồ khối ñể biểu diễn thuật toán có ưu ñiểm là trực quan, dễ hiểu,
dễ kiểm tra, nhưng có một số nhược ñiểm là phải vẽ khá nhiều, cồng kềnh, không thuận lợi
cho bài toán phức tạp. Phương pháp này chủ yếu sử dụng cho người mới lập trình và ñể biểu
diễn các thuật toán ñơn giản (ít thao tác).
3.3 Các cấu trúc cơ bản của thuật toán
Khi mô tả thuật toán ta sử dụng các cấu trúc sau ñây ñể mô tả.
- Cấu trúc tuần tự
- Cấu trúc rẽ nhánh
- Cấu trúc lặp
3.3.1 Cấu trúc tuần tự
Khái niệm: Cấu trúc tuần tự là cấu trúc bao gồm nhiều bước. Các bước này ñược sắp
xếp theo một trật tự nhất ñịnh. Khi máy thực hiện nó sẽ thực hiện theo thứ tự các bước ñã
ñược sắp xếp.
Trong biểu diễn thuật toán bằng phương pháp ñặc tả tự nhiên thì các bước ñược sắp xếp

tuần tự. Trong ñặc tả ñó chỉ ra bước nào thực hiện trước bước nào thực hiện sau.
S

Begin

Input: a, b, c
Delta = b
2
– 4ac
Output: Pt có 2
nghi
ệm x1, x2

Delta < 0
Output: Pt vô nghiệm

Delta = 0
x = -b/2a
Output: Pt Có nghiệm kép x
1 ( ) /(2 )
2 ( )/(2 )
x b Delta a
x b Delta a
= − +
= − −

ð

End


S

ð
Giáo trình Tin học ðại cương


24

Ví du: ðặc tả thuật toán giải phương trình bậc hai ở ví dụ trong mục 3.2.1 thì thứ tự thực
hiện các bước là: thực hiện bước 1, sau khi thực hiện xong bước 1 thì thực hiện bước 2 và sau
khi thực hiện xong bước 2 thì thực hiện bước 3.
Trong biểu diễn thuật toán bằng sơ ñồ khối thì trình tự thực hiện của thuật toán ñược thực
hiện theo chiều mũi tên.
Ví du: Tính diện tích, chu vi của một hình tròn bán kính r.
Sơ ñồ khối mô tả thuật toán giải bài toán trên:

3.3.2 Cấu trúc rẽ nhánh
Khái niệm: Cấu trúc rẽ nhánh là cấu trúc báo cho máy cần kiểm tra một ñiều kiện nào ñó
của bài toán. Ở ñây kết quả của ñiều kiện kiểm tra chỉ nhận một trong hai giá trị ñúng (ð)
hoặc sai (S). Nếu kết quả kiểm tra có giá trị ñúng sẽ thực hiện theo nhánh ñúng, nếu sai sẽ
thực hiện theo nhánh sai.
Biểu thức ñiều kiện chính là một biểu thức lôgíc
Sơ ñồ khối thể hiện cấu trúc rẽ nhánh








Ví dụ: Giải phương trình bậc nhất ax + b = 0
Sơ ñồ khối thể hiện thuật toán:
Input: r
S =
π
r
2

C = 2πr

Output: S, C
begin
End
Biểu thức Lôgíc
ð
S

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×