CHƯƠNG 1. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN...
Transcript of CHƯƠNG 1. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN...
GIÁO TRÌNH TIN HỌC 10 1
CHƯƠNG 1. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN HỌC.
§1. TIN HỌC LÀ MỘT NGÀNH KHOA HỌC.
1. SỰ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA TIN HỌC
Cuộc cách mạng công nghiệp trong lịch sử loài người đã diễn ra tương đối nhanh.
Trong khoảng thời gian từ năm 1890 đến năm 1920, điện năng, điện thoại, ô tô, máy bay
đã được phát minh đưa vào phục vụ đời sống con người. Tiếp theo đó là sự ra đời hàng loạt
thành tựu khoa học và kĩ thuật khác nhau trong đó có máy tính điện tử.
Con người quan tâm tới thông tin từ rất sớm, tuy nhiên kết quả đạt được không cao
mới chỉ xuất hiện ở một số lĩnh vực. Trong những thập kỉ gần đây, xã hội loài người bùng
nổ về thông tin. Bên cạnh những quan điểm truyền thống như: điều kiện tự nhiên, nguồn
lao động và vốn đầu tư là ba nhân tố cơ bản thì xuất hiện một nhân tố mới quan trọng đó là
thông tin – một dạng tài nguyên mới.
Sự hình thành và phát triển của mỗi nền văn minh gắn liền với một công cụ lao động
mới.
o Ví dụ: Máy hơi nước gắn với nền văn minh công nghiệp, máy tính điện tử
gắn với nền văn minh thông tin…
Ngành Tin học được hình thành và phát triển thành một ngành khoa học với các nội
dung, mục tiêu, phương pháp nghiên cứu riêng và ngày càng có nhiều ứng dụng trong hầu
hết các lĩnh vực hoạt động của xã hội loài người.
2. ĐẶC TÍNH VÀ VAI TRÒ CỦA MÁY TÍNH ĐIỆN TỬ
Máy tính giúp con người thực hiện tính toán thuần túy trong giai đoạn đầu, sau này
lượng thông tin lưu trữ càng lớn, con người đã cải tiến công cụ lao động này để đáp ứng
nhu cầu lưu trữ, tìm kiếm và xử lí thông tin một cách hiệu quả.
Những đặc tính của máy tính điện tử:
o Máy tính có thể “làm việc không mệt mỏi” trong suốt 24/24 giờ.
o Tốc độ xử lí thông tin của máy tính rất nhanh và ngày càng được nâng
cao.
o Máy tính là một thiết bị tính toán có độ chính xác cao.
o Máy tính có thể lưu trữ một lượng lớn thông tin trong một không gian rất
hạn chế.
o Giá thành máy tính ngày càng hạ.
o Máy tính ngày càng gọn nhẹ và tiện dụng.
o Các máy tính có thể liên kết với nhau thành một mạng máy tính lớn để
tăng thu nhập và xử lí thông tin tốt hơn.
3. TIN HỌC
Trong tiếng Pháp, Tin học là Informatique. Tiếng anh dùng Informatics còn người
Mỹ dùng thuật ngữ Computer Science.
GIÁO TRÌNH TIN HỌC 10 2
Tin học là một ngành khoa học có mục tiêu là phát triển và sử dụng máy tính điện tử để
nghiên cứu cấu trúc, tính chất của thông tin, phương pháp thu thập, lưu trữ, tìm kiếm, biến
đổi, truyền thông tin và ứng dụng vào các lĩnh vực khác nhau của đời sống xã hội.
§2. THÔNG TIN VÀ DỮ LIỆU.
1. KHÁI NIỆM THÔNG TIN VÀ DỮ LIỆU:
Dữ liệu (data) là những sự kiện, tín hiệu, sự việc, hình ảnh trong thế giới thực.
Thông thường những sự việc, sự kiện hình ảnh thô mang ít ý nghĩa thực tiễn và không được
tổ chức theo một cấu trúc nào cả.
Khi dữ liệu được tổ chức sắp xếp hoặc thêm vào một vài tính toán, thống kê nào đó
(quá trình này được gọi là xử lý dữ liệu - data processing) ta sẽ được thông tin.
Thông tin (infomation) là những hiểu biết của con người về những thực thể
(sự vật, hiện tượng) tồn tại trong đời sống, giúp ta có những hành động hợp lý nhất để
đạt được một mục đích nào đó.
Ví dụ:
o Tín hiệu đèn giao thông đang ở màu đỏ là dữ liệu. Khi ta gặp dữ liệu này thì
cho ta biết thông tin là các phương tiện giao thông phải ngừng lại.
o Biển số xe ô tô, xe máy gồm có các dữ liệu: màu sắc, các ký tự chữ và số
cho ta biết được thông tin xe đó được đăng ký ở tỉnh nào, loại xe công hay
tư…
o Trên các bưu kiện, thùng hàng có các ký hiệu hình chiếc cốc và hình cái ô là
dữ liệu báo cho ta biết thông tin trong thùng có vật dễ vỡ và phải che đậy để
không bị thấm nước.
2. ĐƠN VỊ ĐO LƯỢNG THÔNG TIN
Đơn vị cơ bản dùng để do thông tin là bit (Binary digiT). Một bit tương ứng với một
chỉ thị hoặc một thông báo nào đó về sự kiện có 1 trong 2 trạng thái có số đo khả năng xuất
hiện đồng thời là Tắt (Off)/Mở (On) hay Đúng (True)/Sai (False).
o Ví dụ: Một mạch đèn có 2 trạng thái là:
Tắt (Off) khi mạch điện hở. (Khóa mở)
Mở (On) khi mạch điện kín. (Khóa đóng)
Một chỉ thỉ hay một thông báo chỉ có 1 trạng thái duy nhất trong 2 trạng thái tại một
thời điểm nên có thể xem bit là đơn vị nhỏ nhất dùng để đo lượng thông tin.
o Ví dụ: Tại một thời điểm bóng đèn chỉ có thể tắt hoặc mở.
GIÁO TRÌNH TIN HỌC 10 3
Trong số học nhị phân ta dùng hai số 0 và 1 để biểu diễn các trạng thái.
Các đơn vị đo thông tin khác:
Tên Ký hiệu Giá trị
Byte B 1B = 8 bit
KiloByte KB 1KB = 1024B = 210B
MegaByte MB 1MB = 1024KB = 220B
GigaByte GB 1GB = 1024MB = 230B
TeraByte TB 1TB = 1024GB = 240B
PetaByte PB 1PB = 1024TB = 250B
3. CÁC DẠNG THÔNG TIN:
Trong thế giới thực có rất nhiều dạng thông tin khác nhau và mỗi dạng thì có một
số cách thể hiện riêng. Có rất nhiều cách để phân loại thông tin, nhưng trong chương trình
ta chỉ học các phân loại thông tin theo 2 dạng số (số nguyên, số thực…) và phi số (văn bản,
hình ảnh, âm thanh…)
Ở dạng phi số ta có các dạng thông tin thường gặp là:
o Dạng văn bản: Là dạng quen thuộc và thường gặp nhất. Ta thường gặp dạng
thông tin này trong các phương tiện: sách, báo, tờ rơi, vở, tấm bia…
o Dạng thông tin hình ảnh: Bức tranh vẽ, bức tranh chụp, bản đồ, băng hình…
là những phương tiện chứa thông tin dưới dạng hình ảnh.
o Dạng âm thanh: Giọng nói, tiếng sóng biển, tiếng đàn, tiếng chim hót… là
những thông tin dạng âm thanh. Băng từ, đĩa từ… là những phương tiện có
thể dùng để chứa thông tin dạng âm thanh.
Ngoài ra ta có có cách khác để phân biệt thông tin là phân biệt dựa vào đặc tính liên
tục hay gián đoạn về thời gian của các tín hiện thể hiện thông tin. Ví dụ:
o Thông tin liên tục: Thông tin về mực nước biển, mực thủy triều, hay nhiệt độ
trong ngày.
o Thông tin gián đoạn: Thông tin các vụ tai nạn trên đường Nguyễn Văn Cừ,
thông tin số lượng tin nhắn trong ngày của số điện thoại 090xxx.
4. MÃ HÓA THÔNG TIN TRONG MÁY TÍNH
Muốn máy tính xử lí được, thông tin phải được biến đổi thành một dãy bit. Cách biến đổi
như vậy được gọi là mã hóa thông tin.
GIÁO TRÌNH TIN HỌC 10 4
5. BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH
5.1. Hệ đếm:
a. Khái niệm hệ đếm, hệ đếm cơ số b
Hệ đếm là tập hợp các ký hiệu và quy tắc sử dụng tập ký hiệu đó để biểu diễn và
xác định giá trị của các số.
Hệ đếm cơ số b (b ≥ 0 và nguyên dương) mang những tính chất sau:
o Có b chữ số để thể hiện giá trị số. Chữ số nhỏ nhất là 0 và lớn nhất là b-1.
o Số N trong hệ đếm cơ số b có ký hiệu là Nb được biểu diễn như sau:
Nb =anan-1an-2…a1a0.a-1a-2…b-m
Trong đó số Nb có n+1 chữ số biều diễn cho phần nguyên và m chữ số biểu
diễn cho phần lẻ (bên phải dấu phân chia và nhỏ hơn 1) và Nb có giá trị được tính bằng
công thức sau:
Nb = an.bn + an-1.bn-1 + … + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + … + a-m.b-m = ∑ 𝒂𝒊. 𝒃𝒊𝒏𝒊=−𝒎
Lưu ý:
o Giá trị của Nb chính là giá trị của Nb trong hệ đếm cơ số 10.
o Khi tính giá trị của Nb ta cần xác định được vị trí của dấu phân cách phần
nguyên và phần lẻ (phần phân) ở đâu để đánh số thứ tự cho từng chữ số cho
chính xác.
Ví dụ: Tính giá trị của các số trong một số hệ đếm sau: 101110.012, 100101012,
10.48, A4B516
o 101110.012
GIÁO TRÌNH TIN HỌC 10 5
Vậy: 101110.012 = 1.25 + 0.24 + 1.23 + 1.22 + 1.21 + 0.20 + 0.2-1 + 1.2-2
= 32 + 0 + 8 + 4 + 1 + 0 + 0 + 0.25 = 45.2510
o Tương tự như cách làm trên ta cũng tìm được giá trị của các số còn lại
100101012 = 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 1.22 + 0.21 + 1.20
= 14910
10.48 = 1.81 + 0.80 + 4.8-1 = 8.510
A4B516 = 10.163 + 4.162 + 11.161 + 5.160 = 4216510
Trong môn tin học ta thường dùng 4 hệ đếm sau:
Hệ đếm Cơ số Tập các chữ số
Hệ nhị phân (Binary system) 2 0, 1
Hệ bát phân (Octal system) 8 0, 1, 2, 3, 4, 5, 6, 7
Hệ thập phân (Decimal system) 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Hệ thập lục phân
(Hexa-decimal system) 16
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F
b. Hệ đếm thập phân (Decimal system, b=10):
Hệ đếm thập phân hay hệ đếm cơ số 10 là một trong các phát minh của người Ả rập
cổ, bao gồm tập chữ số có 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Giá trị của mỗi chữ số phụ thuộc vào vị trí của nó trong biểu diễn.
o Ví dụ trong số 121 chữ số 1 ở hàng đơn vị chỉ 1 đơn vị trong khi chữ số 1 ở
hàng trăm chỉ 100 đơn vị.
Giá trị số trong hệ thập phân được xác định theo quy tắc: mỗi đơn vị ở một hàng bất
kỳ có giá trị bằng 10 đơn vị của hàng kế cận bên phải. Tức lũy thừa của 10 tăng dần từ trái
sang phải tương ứng với vị trí của chữ số.
o Ví dụ: 536,4 = 5.102 + 3.101 + 6.100 + 4.10-1 = 500 + 30 + 6 + 4
10
Trong đó 5 là chữ số hàng trăm, 3 là chữ số hàng chục, 6 là chữ số hàng đơn
vị và 4 là chữ số hàng phần chục.
c. Hệ đếm nhị phân (Binary system, b=2):
Hệ đếm nhị phân có cơ số b=2, đây hệ đếm đơn giản nhất với 2 chữ số là 0 và 1
(tương ứng với 2 giá trị 0 và 1 trong hệ thập phân) để biểu diễn các số trong hệ. Mỗi chữ số
nhị phân gọi là BIT (viết tắt từ chữ BInary digiT).
o Ví dụ: Số nhị phân 10010101 có 8 bit.
GIÁO TRÌNH TIN HỌC 10 6
Áp dụng định nghĩa và tính chất của một hệ đếm cơ số b đã được nêu ở phần trước
ta dễ dàng tính được giá trị của số nhị phân (hay số nhị phân có giá trị là bao nhiêu trong
hệ thập phân)
o Ví dụ:
100101012 = 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 1.22 + 0.21 + 1.20
= 128 + 0 + 0 + 16 + 0 + 4 + 0 + 1 = 14910
101110.012 = 1.25 + 0.24 + 1.23 + 1.22 + 1.21 + 0.20 + 0.2-1 + 1.2-2
= 32 + 0 + 8 + 4 + 1 + 0 + 0 + 0.25 = 45.2510
d. Hệ thập lục phân (Hexa-decimal system, b=16)
Hệ đếm thập lục phân là hệ cơ số b = có 16 ký tự, gồm 10 chữ số từ 0 đến 9 và 6
chữ in là A, B, C, D, E, F để biểu diễn các giá trị số tương ứng là 10, 11, 12, 13, 14, 15.
o Ví dụ:
A4B516 = 10.163 + 4.162 + 11.161 + 5.160 = 40960 + 1024 + 176 + 5
= 4216510
10F.C816 = 1.162 + 0.161 + 15.160 + 12.16-1 + 8.16-2
= 256 + 0 + 15 + 0.75 + 0.03125 = 271.7812510.
Bảng quy đổi tương đương giữa các hệ đếm với nhau (16 số đầu tiên của các hệ):
Hệ 10 Hệ 2 Hệ 16
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
5.2. Các quy tắc chuyển đổi số giữa các hệ đếm:
a. Chuyển đổi số từ hệ đếm thập phân sang hệ đếm cơ số b (nhị phân, thập lục
phân)
GIÁO TRÌNH TIN HỌC 10 7
Quy tắc: Muốn đổi số nguyên trong hệ thập phân sang hệ đếm cơ số b ta đem số
nguyên- N10 lần lượt chia cho b cho đến khi thương số bằng 0. Kết quả số chuyển
đổi Nb là các dư số trong phép chia viết ra theo thứ tự ngược lại.
o Ví dụ:
Đổi số 13 sang hệ nhị phân.
Vậy: 1310 = 11012
Đổi số 271 sang hệ thập lục phân:
Vậy: 27110 = 10F.
b. Chuyển đổi số từ hệ nhị phân sang hệ bát phân, thập lục phân và ngược lại:
Đổi số 110001.0112 sang hệ bát phân
5.3. Biểu diễn thông tin trong máy tính:
5.3.1. Biểu diễn thông tin dạng số: Dữ liệu số trong máy tính gồm có hai dạng là số
nguyên và số thực.
a. Biểu diễn số nguyên:
Nguyên lý mã hóa nhị phân: Thông tin có nhiều dạng khác nhau như số, văn bản, hình ảnh, âm thanh… Khi đưa
vào máy tính chúng đều biến đổi thành dạng chung – dãy các bit. Dãy bit đó được
gọi là mã nhị phân của thông tin mà nó biểu diễn.
GIÁO TRÌNH TIN HỌC 10 8
Số nguyên gồm số nguyên không dấu và số nguyên có dấu. Tùy theo phạm vi của
giá trị tuyệt đối của số mà ta có thể dùng 1 byte, 2 byte, hoặc 4 byte… để biểu diễn số
nguyên.
o Số nguyên không dấu là số không có dấu bit. Xét số nguyên bằng 1 byte.
1 byte có 8 bit, mỗi bit có giá trị là 1 hoặc 0 → có thể biểu diễn 28=256
số nguyên dương, có giá trị từ 0 (00000000) đến 255 (11111111).
Các bit của 1 byte được đánh số từ phải sang trái bắt đầu từ số 0. Ta
gọi 4 bit số hiệu nhỏ là các bit thấp và 4 bit số hiệu cao là các bit cao.
o Số nguyên có dấu thể hiện trong máy tính ở dạng nhị phân là số dùng 1 bit
làm bit dấu, người ta qui ước dùng bit cao nhất làm bit dấu (S): 0 là số dương
và 1 cho số âm và 7 bit còn lại biểu diễn giá trị tuyệt đối của số biết dưới
dạng nhị phân → 1 byte biểu diễn được số nguyên trong phạm vi từ - 127
đến 127.
b. Biểu diễn số thực:
Đối với số thực (real number) là số có thể có cả phần lẻ (hoặc phần thập phân).
Trong số thực ta biểu diễn số thức dưới hai dạng là số thực với dấu chấm tĩnh (fixed point
number) và số thực với dấu chấm động (floating point number).
o Số thực với dấu chấm tĩnh chính là số thực chỉ có phần nguyên không có
phần lẻ (phần thập phân).
o Số thực với dấu chấm động là số thực có dạng ±Mx10±K
Trong đó 0.1 ≤ M < 1, M gọi là phần định trị và K là số nguyên không âm
được gọi là phần bậc, E là cơ số 10.
Ví dụ:
Số thực 45.85 → +0.4585 x 102
Số thực: -678.5 → -0.6785 x 103
Số thực: -0.001357 → -0.1357 x 10-2
5.3.2. Biểu diễn thông tin dạng phi số:
a. Dạng văn bản (ký tự):
GIÁO TRÌNH TIN HỌC 10 9
Như nguyên lý mã hóa nhị phân đã nêu ở phần trên, để có thể biễu diễn các ký tự
như chữ cái in và thường, các chữ số, các ký hiệu... trên máy tính và các phương tiện trao
đổi thông tin khác, người ta phải lập ra các bộ mã (code system) qui ước khác nhau dựa vào
việc chọn tập hợp bao nhiêu bit để diễn tả 1 ký tự tương ứng.
Các hệ mã phổ biến:
o Hệ thập phân mã nhị phân BCD (Binary Coded Decima) dùng 6 bit.
o Hệ thập phân mã nhị phân mở rộng EBCDIC(Extended Binary Coded
Decimal Interchange Code) dùng 8 bit tương đương 1 byte để biểu diễn 1 ký
tự.
o Hệ chuyển đổi thông tin theo mã chuẩn của Mỹ ASCII (American Standard
Code for Information Interchange) là hệ mã thông dụng nhất hiện nay trong
kỹ thuật tin học. Hệ mã ASCII dùng nhóm 7 bit hoặc 8 bit để biểu diễn tối
đa 128 hoặc 256 ký tự khác nhau và mã hóa theo ký tự liên tục theo cơ số 16.
Để biểu diễn một xâu ký tự (dãy ký tự), máy tính có thể dùng một dãy các byte, một
byte biểu diễn cho một ký tự theo thứ tự từ trái sang phải.
Ví dụ: Ta sử dụng bộ mã ASCII để mã hóa xâu ký tự “TIN” và nhận được dãy các
byte như sau: 01010100 01001001 01001110.
b. Các dạng khác:
Các dữ liệu phi số khác như âm thanh, hình ảnh và nhiều đại lượng vật lý khác muốn
đưa vào máy phải số hoá (digitalizing). Có thể hiểu một cách đơn giản khái niệm số hoá
như sau: các dữ liệu tự nhiên thường là quá trình biến đổi liên tục, vì vậy để đưa vào máy
tính, nó cần được biến đổi sang một dãy hữu hạn các giá trị số (nguyên hay thực) và được
biểu diễn dưới dạng nhị phân.
GIÁO TRÌNH TIN HỌC 10 10
§3. GIỚI THIỆU VỀ MÁY TÍNH
1. KHÁI NIỆM HỆ THỐNG TIN HỌC:
Hệ thống tin học dùng để nhập, xử lý, xuất truyền và lưu trữ thông tin.
Hệ thống tin học gồm 3 thành phần:
o Phần cứng (Hardware): máy tính và có thiết bị liên quan.
o Phần mềm (Software): các chương trình.
o Sự quản lý và điều khiển của con người.
2. SƠ ĐỒ CẤU TRÚC CÙA MỘT MÁY TÍNH:
Tuy mỗi loại máy tính đều có hình dạng khác nhau hoặc cấu tạo khác nhau tùy theo
mục đích sử dụng nhưng tất cả chúng đều có chung 1 cấu trúc tổ chức như sau:
Hình: Sơ đồ cấu trúc máy tính.
Cấu trúc chung của máy tính gồm có các thành phần chính là:
o Bộ xử lý trung tâm.
o Bộ nhớ trong/ngoài.
o Thiết bị vào/ra.
3. BỘ XỬ LÝ TRUNG TÂM (CPU – Central Processing Unit):
Bộ xử lý trung tâm (Central Processing Unit), thường gọi tắt là CPU, là thành phần
quan trọng nhất của máy tính, là bộ não của máy tính, điều khiển mọi hoạt động của
máy, có chức năng xử lý, tính toán dữ liệu dưới sự điều khiển của một chương trình đã được
lưu trữ trong bộ nhớ.
Chất lượng của máy tính phụ thuộc nhiều vào chất lượng của CPU.
GIÁO TRÌNH TIN HỌC 10 11
CPU gồm có hai bộ phận chính là:
o Bộ điều khiển (CU – Control Unit): Nhận lệnh của chương trình từ bộ nhớ
trong đưa vào CPU. Nó có nhiệm vụ giải mã các lệnh, tạo ra các tín hiệu điều
khiển công việc của các bộ phận khác của máy tính theo yêu cầu của người
sử dụng hoặc theo chương trình đã cài đặt.
o Bộ số học/logic (ALU – Arithmetic/Logic Unit):
Là khối chức năng thực hiện các phép toán cơ sở của máy như các
phép toán số học, các phép toán logic, phép tạo mã...
ALU bao gồm những mạch chức năng để thực hiện các phép toán đó.
Ngoài 2 bộ phận trên, CPU còn có thêm một số thành phần:
o Thanh ghi (Register): là những bộ nhớ nhanh, chuyên dụng dùng trong khi
thực hiện các lệnh. Các thanh ghi thường được dùng để ghi các lệnh đang
được thực hiện, lưu trữ các dữ liệu phục vụ cho các lệnh, các kết quả trung
gian, các địa chỉ, các thông tin dùng đến trong quá trình thực hiện một lệnh.
o Bộ nhớ đệm (Cache): đóng vai trò trung gian giữa bộ nhớ và thanh ghi. Tốc
độ truy xuất đến Cache khá nhanh, chỉ sau tốc độ truy cập thanh ghi.
4. BỘ NHỚ (Memory):
Bộ nhớ là thiết bị lưu trữ thông tin trong quá trình máy tính xử lý. Bộ nhớ bao gồm
bộ nhớ trong và bộ nhớ ngoài.
4.1. Bộ nhớ trong (Main Memory/Internal Memory)
Bộ nhớ trong là nơi chương trình được đưa vào để thực hiện và là nơi dữ liệu
đang được xử lí.
Bộ nhớ trong có dung lượng không thật lớn song có tốc độ trao đổi thông tin cao.
Bộ nhớ trong của máy tính gồm 2 thành phần: ROM (Read only memory – Bộ nhớ
chỉ đọc) và RAM (Random access memory – Bộ nhớ truy xuất ngẫu nhiên)
o ROM – bộ nhớ chỉ đọc:
Dùng để lưu trữ những chương trình hệ thống được cài đăt sẵn trên máy của nhà
sản xuất (ví dụ: chương trình kiểm tra các thiết bị, chương trình khởi động máy,
các chương trình nhập xuất cơ bản,…).
Khi khởi động máy, các chương trình này tự động thi hành.
GIÁO TRÌNH TIN HỌC 10 12
Dữ liệu trong ROM không bị mất đi khi tắt máy và cũng không thể ghi thêm vào.
Do đó ROM còn được gọi là Bộ nhớ chết.
o RAM – bộ nhớ truy xuất ngẫu nhiên:
Lưu trữ những chỉ lệnh của CPU, những ứng dụng đang hoạt động, những dữ liệu
mà CPU cần...
Các dữ liệu và chương trình trong RAM tồn tại phụ thuộc vào nguồn điện.. Nội
dung của RAM phải được sao chép vào thiết bị lưu trữ (bộ nhớ ngoài) nếu bạn
muốn lưu lại dữ liệu trong RAM. Do đó RAM còn được gọi là Bộ nhớ sống.
4.2. Bộ nhớ ngoài (Secondary Memory/External Memory):
Bộ nhớ ngoài dùng để lưu trữ lâu dài dữ liệu và hỗ trợ cho bộ nhớ trong.
Là thiết bị lưu trữ thông tin với dung lượng lớn, thông tin không bị mất khi
không có điện. Các thông tin này có thể là phần mềm máy tính hay dữ liệu.
Bộ nhớ ngoài được kết nối với hệ thống thông qua mô-đun nối ghép vào-ra.
→ Bộ nhớ ngoài về chức năng thuộc bộ nhớ, song về cấu trúc nó lại thuộc hệ thống vào
ra. Có thể cất giữ và di chuyển bộ nhớ ngoài độc lập với máy tính.
Hiện nay có các loại bộ nhớ ngoài phổ biến như:
o Đĩa Cứng (HDD - Hard Disk Drive): Ổ đĩa cứng là bộ nhớ ngoài quan trọng nhất
của máy tính. Nó có nhiệm vụ lưu trữ hệ điều hành, các phần mềm ứng dụng và các
dữ liệu của người sử dụng. Nó có thể là thiết bị gắn trong hay gắn ngoài.
o Đĩa Mềm (FDD - Floopy Disk Drive): Thiết bị lưu trữ cầm tay cho phép lưu trữ một
lượng nhỏ (1.44MB) dữ liệu, dễ bị hư hại do môi trường nhiệt, bụi bẩn, hay từ
trường.Hiện nay không được sử dụng nữa.
o Đĩa CD, DVD: Là những loại ổ đọc ghi dữ liệu từ ổ CD, VCD, DVD. Vì dùng tia
lazer để đọc và ghi dữ liệu nên các loại ổ này còn gọi là ổ quang học.
o Ổ nhớ Flash (USB Flash Drive): Thiết bị nhớ nhỏ gọn, độ tin cậy cao, loại bỏ tính
cơ học của đĩa từ và đĩa quang, giao tiếp với máy tính thông qua cổng USB (Universal
Serial Bus).
o Thẻ nhớ (Memory card): Là thiết bị lưu trữ di động, bộ nhớ có khả năng tương thích
với nhiều thiết bị khác nhau như máy ảnh kỹ thuật số, máy điện thoại di động.
5. THIẾT BỊ VÀO (Input Device):
Thiết bị vào dùng để đưa thông tin vào máy tính.
5.1. Bàn phím (Keyboard):
Là thiết bị nhập chuẩn, dùng để nhập dữ liệu, văn bản câu lệnh vào máy tính. Bàn
phím hiện nay thường có 101 – 105 phím.
Ta có thể chia các phím của 1 bàn phím thành các nhóm như hình sau:
GIÁO TRÌNH TIN HỌC 10 13
o Nhóm các phím ký tự (Character keys): gồm các phím chữ (A ,B ,C ,…), phím số
(0, 1, 2, …, 9) và các phím ký tự đặc biệt (!, @, #, $, %, ^, ...). Dùng để nhập các
ký tự vào máy tính.
o Nhóm các phím chức năng (Function keys): gồm các phím từ F1 đến F12. Dùng để
thực hiện những chức năng nào đó và tùy thuộc vào từng ứng dụng, phần mềm cụ
thể mà các phím này có những chức năng riêng.
o Nhóm các phím điều hướng (Navigation keys): gồm các phím ← ↑ → ↓ (phím di
chuyển từng điểm), phím PgUp (lên trang màn hình), PgDn (xuống trang màn
hình), Home (về đầu), End (về cuối), Tab. Dùng để di chuyển con trỏ, trang văn
bản, đối tượng…
o Nhóm phím Enter và các phím chỉnh sửa (Enter and editing keys): gồm caác phim
Insert (chèn), Delete (xoá), Backspace (xóa)… Dùng để thêm, xóa văn bản, các đối
tượng. Phím Enter (hay có tên Return ở một số bàn phím) dùng để di chuyển điểm
chèn về vị trí đầu dòng mới, ra lệnh cho máy tính thực thi, chạy chương trình đang
được chọn.
o Nhóm các phím đặc biệt: Tab, CapsLock, Shift, Ctrl, Alt… Dùng để thực hiện một
số chức năng đặc biệt trong những tình huống cụ thể. Thông thường các phím này
thường kết hợp với 1 phím kí tự nào đó để thực hiện. Ví dụ:
Ctrl + S: Lưu
Ctrl + Alt + Delete: Khởi động nhanh lại máy.
5.2. Chuột (Mouse):
Là thiết bị dùng để tương tác với các
mục hiền thị trên màn hình máy tính (máy
tính chạy trong môi trường làm việc
Windows).
Một con chuột thường có ít nhất 2
phím trái và phải. Đa số các thao tác với
chuột thường được thực hiện bằng phím trái.
Phím phải được dùng cho các chức năng đặc
biệt.
GIÁO TRÌNH TIN HỌC 10 14
Một số loại chuột thông dụng hiện nay: Chuột bi (Ball mouse), Chuột quang (Optical
mouse), Chuột laser (Laser mouse), Chuột không dây (Wireless mouse).
5.3. Máy quét (Scanner):
Dùng để nhập dữ liệu hình ảnh, chữ viết, mã từ, mã vạch vào máy tính.
Một số loại máy quét thông dụng hiện này:
o Máy quét ảnh: dùng để quét hình ảnh, film của ảnh chụp, chữ viết…
o Máy quét mã vạch: dùng quét mã vạch dùng trong siêu thị để đọc giá tiền
của hàng hóa, trong thư viện để đọc mã số sinh viên từ thẻ sinh viên.
o Máy quét từ: đọc thẻ từ, ứng dụng trong hệ thống cửa thông minh, hệ thống
chấm công nhân viên…
5.4. Micro:
Thiết bị dùng để nói chuyện với những người ở nhiều nơi
khác nhau trên thế giới. Bạn có thể ghi âm vào máy tính
bằng cách sử dụng micro.
5.5. Webcam:
Thiết bị thu hình vào máy tính, webcam sử dụng trong việc giải
trí, bảo vệ an ninh, hội thảo từ xa, khám bệnh từ xa. Để sử dụng
Webcam cần nối dây dữ liệu vào cổng USB phía sau mainboard
và cài các phần mềm hỗ trợ đi kèm.
6. THIẾT BỊ RA (Output Device):
Dùng để đưa dữ liệu ra ngoài máy tính.
6.1. Màn hình (Screen hay Monitor, thiết bị xuất chuẩn):
Là thiết bị hiển thị thông tin cùa máy tính giúp người sử dụng giao tiếp với máy.
GIÁO TRÌNH TIN HỌC 10 15
Thông tin được thể hiện ra màn hình bằng phương pháp ánh xạ bộ nhớ (memory
mapping), với cách này màn hình chỉ việc đọc liên tục bộ nhớ và hiển thị (display) bất kỳ
thông tin nào hiện có trong vùng nhớ ra màn hình.
Chất lượng của màn hình được quyết định bởi các tham số sau:
o Độ phân giải: Số lượng điểm ảnh trên màn hình.
Ví dụ màn hình: 1366 x 768 được hiểu là màn hình có thể hiển thị 768
dòng với mỗi dòng có 1366 điểm ảnh.
Độ phân giải càng cao thù hình ảnh hiển thị càng rõ nét, càng mịn.
Phân loại: màn hình ống phóng điện tử CRT, màn hình tinh thể lỏng LCD, màn hình
plasma..
Hình: Một số loại màn hình
6.2. Máy in (Printer):
Là thiết bị xuất để đưa thông tin ra giấy. Máy in phổ biến hiện nay là loại máy in
ma trận điểm(dot matrix) loại 24 kim, máy in phun mực, máy in laser trắng đen hoặc màu.
Hình: Một số loại máy in
6.3. Máy chiếu (Projector):
Chức năng tương tự màn hình, thường được
sử dụng thay cho màn hình trong các buổi
Seminar, báo cáo, thuyết trình, …
GIÁO TRÌNH TIN HỌC 10 16
6.4. Loa – Tai nghe (Speaker - Headphone):
Các thiết bị để nghe. Loa có thể tích hợp sẵn trong máy tính hay gắn phía ngoài.
Hình: Loa và tai nghe.
7. HOẠT ĐỘNG CỦA MÁY TÍNH:
Máy tính điện tử có thể thực hiện được một dãy lệnh cho trước (chương trình) mà
không cần sự sự tham gia trực tiếp của con người.
Chương trình là một dãy tuần tự các lệnh chỉ dẫn cho máy biết điều cần làm. Mỗi lệnh
thể hiện một thao tác xử lí dữ liệu.
Tại mỗi thời điểm máy tính chỉ thực hiện được một lệnh, tuy nhiên nó thực hiện rất
nhanh. Máy vi tính thực hiện được hàng trăm triệu lênh, siêu máy tính thực hiện được
hàng tỉ lệnh trong một giây.
Thông tin về lệnh bao gồm:
Địa chỉ của lệnh trong ô nhớ
Mã của thao tác cần thực hiện
Địa chỉ của các ô nhớ liên quan
Địa chỉ của các ô nhớ là cố định nhưng nội dung ghi ở đó có thể thay đổi trong quá
trình máy làm việc.
Khi xử lí dữ liệu máy tính xử lí đồng thời một dãy bit chứ không xử lý từng bit riêng
lẻ. độ dài có thể 8, 16, 32, 64 phụ thuộc vào kiến trúc tùy máy.
GIÁO TRÌNH TIN HỌC 10 17
§4. BÀI TOÁN VÀ THUẬT TOÁN
1. KHÁI NIỆM BÀI TOÁN
Vấn đề được xem như những vướng mắc cần giải quyết. Vấn đề được biểu diễn
dưới dạng bài toán, có điều kiện ban đầu và kết quả cần đạt tới.
A B
A: Là giả thiết hay điều kiện ban đầu
B: Là kết luận hay kết quả cần đạt tới
:Là suy luận hay giải pháp giải quyết vấn đề
2. KHÁI NIỆM THUẬT TOÁN
2.1. Định nghĩa thuật toán
Có nhiều định nghĩa về thuật toán nhưng đây là một định nghĩa thường dùng:
2.2. Đặc trưng của thuật toán
Tính dừng: thuật toán cần phải kết thúc sau một số hữu hạn lần thực hiện
các thao tác.
Tính xác định: sau khi thực hiện một số thao tác thì thuật toán phải kết
thúc hoặc là có đúng một thao tác xác định để được thực hiện bước tiếp
theo.
Tính đúng đắn: sau khi thuật toán kết thúc phải nhận được Output cần
tìm.
2.3. Biểu diễn thuật toán
Thường có hai cách để biểu diễn một thuật toán, cách thứ nhất là mô tả các
bước thực hiện (liệt kê), cách thứ hai là sử dụng sơ đồ giải thuật (sơ đồ
khối). Ngoài ra còn có thể biểu diễn thuật toán bằng mã giả.
a. Mô tả các bước thực hiện (liệt kê)
Là việc sử dụng ngôn ngữ thường ngày để biểu diễn một thuật toán. Phương
pháp biểu diễn này không yêu cầu người viết thuật toán cũng như người đọc
thuật toán phải nắm các quy tắc. Tuy vậy, cách biểu diễn này thường dài dòng,
không thể hiện rõ cấu trúc của thuật toán, đôi lúc gây hiểu lầm hoặc khó hiểu
cho người đọc. Gần như không có một quy tắc cố định nào trong việc thể hiện
thuật toán bằng ngôn ngữ tự nhiên.
Bài toán trong tin học: Là việc nào đó ta muốn máy tính thực hiện
Thuật toán để giải quyết một bài toán là một dãy hữu hạn các thao tác được
sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác
ấy, từ Input của bài toán, ta nhận được Output cần tìm
GIÁO TRÌNH TIN HỌC 10 18
Ví dụ: Có 43 que diêm. Hai người chơi luân phiên bốc diêm. Mỗi lượt, mỗi
người bốc từ 1 đến 3 que diêm. Người nào bốc cuối cùng sẽ thắng cuộc.
• Giải thuật để người đi trước luôn thắng cuộc được diễn tả bằng cách liệt kê
từng bước như sau:
– Bước 1: Bốc 3 que rồi đợi đối phương đi
– Bước 2: Đối phương bốc (giả sử x que, 0<x<4)
– Bước 3: Đến lượt người đi trước bốc a = (4-x) que. Nếu còn diêm thì quay lại
bước 2, ngược lại qua bước 4
– Bước 4: Tuyên bố thắng cuộc. Kết thúc
b. Sơ đồ giải thuật (sơ đồ khối)
Lưu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuật toán. Biểu
diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi được sự phân cấp các
trường hợp và quá trình xử lý của thuật toán. Phương pháp lưu đồ thường được
dùng trong những thuật toán có tính rắc rối, khó theo dõi được quá trình xử lý.
Trong sơ đồ khối, người ta dùng một số ký hiệu thể hiện các thao tác như :
Ký hiệu Mô tả
Thao tác nhập xuất dữ liệu
VD: Nhập a, b, c
Thao tác so sánh
VD: a>b ?
Các phép tính toán
VD: a+b
Quy trình thực hiện các thao tác
3. MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN
3.1. Tìm giá trị lớn nhất của dãy số nguyên
a) Xác định bài toán
Input: Số nguyên dương N, dãy số nguyên dương a1….aN
Output: Giá trị Max của dãy số
b) Ý tưởng
Khởi tạo Max = a1
Lần lượt với i đi từ 2 đến N, so sánh giá trị số i với số hạng ai với giá trị Max, nếu
ai > Max thì Max nhận giá trị mới là ai.
c) Thuật toán
Liệt kê
Bước 1. Nhập N và dãy a1,…,aN;
Bước 2. Max ← a1, i ← 2;
GIÁO TRÌNH TIN HỌC 10 19
Bước 3. Nếu i > N thì đưa ra giá trị
Max rồi kết thúc;
Bước 4.
Bước 4.1. Nếu ai > Max thì Max ← ai;
Bước 4.2. i ← i+1 rồi quay lại bước 3;
Sơ đồ khối
3.2. Kiểm tra tính nguyên tố của một số nguyên dương
a) Xác định bài toán
Input: N là một số nguyên dương.
Output: “N là một số nguyên tố” hoặc “N không là một số nguyên tố”
b) Ý tưởng
Nếu N = 1 thì N không là số nguyên tố;
Nếu 1 < N < 4 thì N là số nguyên tố;
Nếu N ≥ 4 và không có ước số trong phạm vi từ 2 đến phần nguyên căn bậc hai của
N thì N là số nguyên tố.
c) Thuật toán
Liệt kê
Bước 1. Nhập số nguyên dương N;
Bước 2. Nếu N = 1 thì thông báo N không là số nguyên tố rồi kết thúc;
Bước 3. Nếu N < 4 thì thông báo N là số nguyên tố rồi kết thúc;
Bước 4. i ← 2;
Bước 5. Nếu i > [√𝑁] thì thông báo N là số nguyên tố rồi kết thúc;
Bước 6. Nếu N chia hết cho i thì thông báo N không là số nguyên tố rồi kết thúc;
Bước 7. i ← i + 1 rồi quay lại bước 5.
Nhập N và dãy a1,..,aN
Max ←a1, i ← 2
i > N ?
a i> Max ?
Max ←a
i ← i+1
Đưa ra Max
rồi kết thúc
Đúng
Sai
Đúng
Sai
GIÁO TRÌNH TIN HỌC 10 20
Sơ đồ khối
3.3. Thuật toán sắp xếp bằng tráo đổi
a) Xác định bài toán
Input: Dãy A gồm N số nguyên a1, a2,…,aN;
Output: Dãy A được sắp xếp lại thành dãy không giảm.
b) Ý tưởng
Với mỗi cặp số hạng liền kề trong dãy, nếu số đứng trước lớn hơn số đứng sau ta đổi
chỗ chúng cho nhau. Việc đó được lặp đi lặp lại, cho đến khi không có sự đổi chỗ nào xảy
ra nữa.
c) Thuật toán
Liệt kê
Bước 1. Nhập N và số hạng a1, a2,…,aN;
Bước 2. M ← N;
Bước 3. Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;
Bước 4. M ← M – 1, i ← 0;
Bước 5. i ← i + 1;
Bước 6. i > M thì quay lại bước 3;
Bước 7. Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;
Nhập N và dãy a1,..,aN
N = 1?
N < 4 ?
i ←2
i ← i+1
Thông báo N là số
nguyên tố rồi kết thúc
Đúng
Sai
Đúng
Sai
i > [√N] ?
N chia hết cho i ?
Sai
Thông báo N không là số
nguyên tố rồi kết thúc
Đúng
Đúng
Sai
GIÁO TRÌNH TIN HỌC 10 21
Bước 8. Quay lại bước 5;
Sơ đồ khối
3.4. Thuật toán tìm kiếm tuần tự
a) Xác định bài toán
Input: dãy A gồm N số nguyên khác nhau a1, a2,…, aN và số nguyên k;
Output: chỉ số i mà ai = k hoặc thông báo không có số hạng nào của dãy A có giá trị
bằng k.
b) Ý tưởng
Lần lượt từ giá trị thứ nhất, ta so sánh giá trị đang xét với khóa cho đến khi gặp một
số hạng bằng khóa hoặc dãy đã được xét hết mà không có giá trị nào bằng khóa.
c) Thuật toán
Liệt kê
Bước 1. Nhập N, các số hạng a1, a2,…, aN và khóa k;
Bước 2. i ←1;
Bước 3. Nếu ai = k thì thông báo chỉ số i rồi kết thúc;
Bước 4. i ← i + 1;
Bước 5. Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết
thúc;
Bước 6. Quay lại bước 3.
Sơ đồ khối
Nhập N và dãy a1,..,aN
M ← N
M < 2 ?
i ← i+1
Đưa ra A rồi
kết thúcĐúng
Sai
Đúng
Sai
M ← M – 1, i ← 0;
i > M ?
ai > ai+1 ?Tráo đổi ai và ai+1
Sai
Đúng
GIÁO TRÌNH TIN HỌC 10 22
3.5. Thuật toán tìm kiếm nhị phân
a) Xác định bài toán
- Input: dãy A tăng gồm N số nguyên khác nhau a1, a2,…, aN và số nguyên k;
- Output: chỉ số i mà ai = k hoặc thông báo không có số hạng nào của dãy A có giá trị
bằng k.
b) Ý tưởng
Dùng dãy số được sắp xếp đơn điệu theo thứ tự tăng dần.Tư tưởng thuật toán là chọn phần
tử ở vị trí giữa làm chốt, chia dãy thành 2 phần có kích thước nhỏ hơn. Sau đó so sánh
phần tử cần tìm k với chốt, nếu k lớn hơn chốt tìm ở nửa sau của dãy, nếu k nhỏ hơn chốt
tìm ở nửa trước của dãy, quá trình trên tiếp tục cho tới khi tìm được k hoặc
dãy chia không còn phần tử nào.
c) Thuật toán
Liệt kê
Bước 1. Nhập N, các số hạng a1, a2,…, aN và khóa k;
Bước 2. Dau ←1, Cuoi ←N;
Bước 3. Giua ← [𝐷𝑎𝑢+𝐶𝑢𝑜𝑖
2];
Bước 4. Nếu aGiua = k thì thông báo chỉ số Giua, rồi kết thúc;
Bước 5. Nếu aGiua > k thì đặt Cuoi ← Giua -1, rồi chuyển đến bước 7;
Bước 6. Dau ← Giua + 1;
Nhập N và dãy a1,..,aN; k
i ← 1
ai = k ?
i ← i+1
Đưa ra Max
rồi kết thúc
Đúng
Sai
Đúng
Sai
i > N ?
Thông báo dãy A không có số hạng
có giá trị bằng k rồi kết thúc
GIÁO TRÌNH TIN HỌC 10 23
Bước 7. Nếu Dau > Cuoi thì thông báo dãy A không có số hạng có giá trị bằng k , rồi
kết thúc;
Bước 8. Quay lại bước 3.
Sơ đồ khối
Nhập N và dãy a1,..,aN; k
Dau ←1, Cuoi ←N
Đúng
Sai
Đúng
Sai
Giua ← [(Dau+Cuoi)/2];
aGiua = k ?
Đưa ra Giua rồi
kết thúc
aGiua > k
Dau ← Giua + 1
Cuoi ← Giua -1
Dau > Cuoi ?
Thông báo dãy A không có số
hạng có giá trị bằng k rồi kết thúc
Đúng
Sai
GIÁO TRÌNH TIN HỌC 10 24
§5. NGÔN NGỮ LẬP TRÌNH Để diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể thực hiện được. Kết quả
diễn tả thuật toán như vậy cho ta một chương trình, ngôn ngữ viết chương trình được gọi
là ngôn ngữ lập trình.
I. NGÔN NGỮ MÁY
Là ngôn ngữ lập trình thế hệ đầu tiên; mỗi máy tính có một ngôn ngữ máy riêng;
các lệnh được viết dưới dạng mã nhị phân hoặc dạng mã hexa.
Mọi chương trình viết bằng ngôn ngữ khác muốn thực thi trên máy tính đều
phải dịch ra ngôn ngữ máy
Ưu điểm:
o Là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực thi
được.
o Khi thác triệt để phần cứng máy tính
Nhược điểm:
o Không thuận lợi cho con người trong việc viết và đọc hiểu chương trình.
o Ghi nhớ máy móc các dòng số không có ý nghĩa gợi nhớ ý nghĩa của lệnh.
o Sử dụng nhiều câu lệnh để diễn tả thao tác của thuật toán.
II. HỢP NGỮ
Là ngôn ngữ cấp thấp dùng để viết các chương trình máy tính.
Cho phép người lập trình dùng các từ viết tắt trong tiếng anh để thể hiện các lệnh.
- Ví dụ: để cộng hai thanh ghi AX và BX, trong hợp ngữ ta biểu điễn như sau:
ADD AX BX
Một chương trình viết bằng hợp ngữ phải được dịch ra ngôn ngữ máy nhờ một
chương trình dịch hợp ngữ trước khi có thể thực hiện được trên máy tính.
III. NGÔN NGỮ BẬC CAO
Còn gọi là ngôn ngữ thuật toán.
Gần gũi với ngôn ngữ tự nhiên và ngôn ngữ toán học
Có tính độc lập cao, ít phụ thuộc vào loại máy tính và chương trình dịch để dịch
chương trình viết bằng loại ngôn ngữ này ra máy cho máy tính thực hiện.
Chương trình dịch: là chương trình có chức năng chuyển đổi chương trình viết
trên ngôn ngữ lập trình bậc cao thành chương trình thực hiện trên máy tính.
Ngôn ngữ bậc cao đầu tiên được xây dựng vào năm 1957 là ngôn ngữ FORTRAN.
Ngày nay có rất nhiều các ngôn ngữ lập trình bậc cao như PASCAL, C, C++,
Visual Basic, Foxpro, C#, Java, PHP, .Net, ...
GIÁO TRÌNH TIN HỌC 10 25
§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH Các bước để giải một bài toán trên máy tính:
I. XÁC ĐỊNH BÀI TOÁN
Là xác định rõ hai thành phần Input và Output của bài toán.
Mối quan hệ giữa chúng để có thể lựa chọn thuật toán và ngôn ngữ lập trình thích
hợp.
Ví dụ: Bài toán tìm ước chung lớn nhất của hai số nguyên dương M và N
- Input: M và N
- Output: Ước chung lớn nhất của M và N
II. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
2.1. Lựa chọn thuật toán
Là bước quan trọng nhất để giải một bài toán.
Có thể có nhiều thuật toán để giải một bài toán;
Cần thiết kế hoặc chọn một thuật toán phù hợp để giải bài toán cho trước.
Cần quan tâm đến các tài nguyên như: thời gian thực hiện, số lượng ô nhớ,…Người
ta quan tâm nhiều nhất đến thời gian vì nó là tài nguyên không tái tạo được.
Ngoài ra cần quan tâm đến thiết kế hoặc lựa chọn thuật toán sao cho việc viết
chương trình cho thuật toán đó ít phức tạp. Tiêu chí của thuật toán là tính hiệu
quả.
Cần căn cứ vào lượng tài nguyên mà thuật toán đòi hỏi và lượng tài nguyên thực tế
cho phép.
2.2. Diễn tả thuật toán
Bài toán tìm ước chung lớn nhất của hai số nguyên dương M và N
Xác định bài toán
- Input: M và N
- Output: Ước chung lớn nhất (ƯCLN) của M và N
Ý tưởng
- Nếu M = N thì giá trị chung đó là ƯCLN của M và N;
- Nếu M < N thì ƯCLN(M, N) = ƯCLN (M, N – M);
- Nếu M > N thì ƯCLN(M, N) = ƯCLN (M – N, N).
Thuật toán
o Liệt kê
B1. Nhập M, N;
B2. Nếu M = N thì lấy giá trị chung này làm ƯCLN rồi chuyển đến bước 5;
B3. Nếu M > N thì M ← M – N rồi quay lại bước 2;
B4. N ← N – M rồi quay lại bước 2;
B5. Dưa ra kết quả ƯCLN rồi kết thúc.
o Sơ đồ khối
GIÁO TRÌNH TIN HỌC 10 26
III. VIẾT CHƯƠNG TRÌNH
Là việc lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt
đúng thuật toán.
Nên chọn một ngôn ngữ lập trình hoặc một phần mềm chuyên dụng thích hợp với
thuật toán.
Viết chương trình trong ngôn ngữ nào thì cần phải tuân theo đúng quy định cú pháp
(Syntax) của ngôn ngữ đó.
Chương trình dịch chỉ có thể phát hiện và thông báo các lỗi về mặt cú pháp
IV. HIỆU CHỈNH
Sau khi viết xong, chương trình cần phải được thử bằng một số Input tiêu biểu.
Nếu phát hiện sai sót thì phải sửa chương trình rồi thử lại.
Ví dụ: để kiểm tra tính đúng đắn của chương trình giải phương trình bậc nhất
ax + b = 0, ta có thể sử dụng ba bộ thử như sau:
a = 0; b = 0 (Thông báo pt có vô số nghiệm)
a = 0; b < > 2 (Thông báo pt vô nghiệm)
a = 1, b = 3 (Đưa ra nghiệm x = -1/3)
V. VIẾT TÀI LIỆU
Tài liệu phải mô tả bài toán, thuật toán, thiết kế chương trình, kết quả thử nghiệm
và hướng dẫn sử dụng.
Rất có ích cho người sử dụng chương trình và việc đề xuất những khả năng hoàn
thiện thêm.
Nhập M và N
M = N?
Đưa ra M rồi kết thúc
M > N ?
M ← M – N
N ← N – M Sai Sai
Đúng Đúng
GIÁO TRÌNH TIN HỌC 10 27
§7. PHẦN MỀM MÁY TÍNH
I. PHẦN MỀM MÁY TÍNH
Sau khi thực hiện các bước giải bài toán trên máy tính ta được một chương trình.
Chương trình đó được xem là phần mềm máy tính.
II. PHẦN MỀM HỆ THỐNG
Là những chương trình cung cấp các dịch vụ theo yêu cầu của các chương trình khác
trong quá trình máy tính hoạt động.
Ví dụ: Hệ điều hành là phần mềm hệ thống quan trọng nhất.
III. PHẦN MỀM ỨNG DỤNG
Là những phần mềm được phát triển để giải quyết những việc thường gặp như soạn
văn bản, quản lý học sinh, …
Ví dụ: MS Word, MS Excel, …
Phần mềm công cụ: là những phần mềm dùng để tạo ra các phần mềm khác.
Phần mềm tiện ích: là những phần mềm giúp con người làm việc với máy tính
thuận lợi hơn.
§8. NHỮNG ỨNG DỤNG CỦA TIN HỌC
I. GIẢI CÁC BÀI TOÁN KHOA HỌC KĨ THUẬT Các bài toán thường có khối lượng tính toán rất lớn, không sử dụng máy tính ta
không thể thực hiện trong phạm vi thời gian cho phép.
Hỗ trợ các nhà thiết kế có thể tính được nhiều phương án mà còn có thể in ra giấy
một cách trực quan. Ví dụ: Thiết kế oto trên máy tính, thiết kế quy hoạch,….
II. HỖ TRỢ VIỆC QUẢN LÍ Có các phần mềm chuyên dụng đã hỗ trợ đắc lực cho con người trong lĩnh vực này.
Các hoạt động quản lý có một số đặc điểm chung:
o Xử lý một số lượng lớn thông tin
o Thông tin đa dạng
Quy trình ứng dụng tin học dùng để quản lý gồm các bước:
o Tổ chức lưu trữ các hồ sơ, chứng từ trên máy, bao gồm cả việc sắp xếp chúng
một cách hợp lý để tiện dùng;
o Xây dựng các chương trình tiện dụng làm các việc như cập nhật ( sửa chửa, loại
bỏ,…) hồ sơ;
o Khai thác thông tin theo yêu cầu khác nhau: tìm kiếm, thống kê, in các biểu
bảng,…
III. TỰ ĐỘNG HÓA VÀ ĐIỀU KHIỂN
GIÁO TRÌNH TIN HỌC 10 28
Giúp con người có được quy trình công nghệ tự động hóa linh hoạt, chính xác, chi
phí thấp, hiệu quả.
Ví dụ: phóng các vệ tinh nhân tạo; bay lên vũ trụ;……
IV. TRUYỀN THÔNG Tạo ra mạng máy tính toàn cầu nhờ đó phát triển nhiều dịch vụ tiện dụng, đa dạng.
V. SOẠN THẢO, IN ẤN, LƯU TRỮ, VĂN PHÒNG Việc biên soạn các văn bản hành chính, lập kế hoạch công tác, ... tiện lợi, nhanh
chóng và hiệu quả hơn.
VI. TRÍ TUỆ NHÂN TẠO Giúp con người tính đến các yếu tố, tình huống liên quan đến 1 việc nào đó, đưa ra
một số lựa chọn tương đối tốt với những lý giải kèm theo.
VII. GIÁO DỤC Việc học tập hiệu quả hơn, việc dạy và học sinh động hơn, người học hứng thú
hơn.
Các hình thức đào tạo qua mạng ngày càng phổ biến.
VIII. GIẢI TRÍ
Sử dụng phần mềm máy tính tạo cho con người có nhiều phương tiện giải trí mới
phong phú như: nghe nhạc, xem phim, chơi game, mạng xã hội,….
§9. TIN HỌC VÀ XÃ HỘI
I. ẢNH HƯỞNG CỦA TIN HỌC ĐỐI VỚI SỰ PHÁT TRIỂN CỦA XÃ HỘI
Tin học được áp dụng ở hầu hết lĩnh vực của đời sống xã hội, mang lại hiệu
quả to lớn.
Tin học góp phần phát triển kinh tế và nâng cao dân trí
Tin học thúc đẩy khoa học phát triển và ngược lại khoa học thúc đẩy tin học
phát triển.
Sự phát triển của tin học làm cho xã hội có nhiều nhận thức mới về cách tổ
chức và hoạt động.
Nhiều quốc gia đầu tư nâng cao dân trí về tin học.
Nền tin học của một quốc gia được xem là phát triển khi nó đóng góp đáng
kể vào nền kinh tế quốc dân và tri thức chung của thế giới. II. XÃ HỘI TIN HỌC HÓA
Các mặt của xã hội được điều hành dưới sự hỗ trợ của hệ thống mạng máy tính kết
nối giữa các vùng, quốc gia.
Giao dịch mặt đối mặt ít dần nhưng con người vẫn phối hợp hoạt động hiệu quả.
Lao động thủ công được thay thế bằng lao động trí óc, nâng cao hiệu quả công
việc.
GIÁO TRÌNH TIN HỌC 10 29
III. VĂN HÓA VÀ PHÁP LUẬT TRONG XÃ HỘI TIN HỌC HÓA
Phải có ý thức bảo vệ hông tin vì đó là tài nguyên quý giá
Mọi hành động vô ý thức hoặc cố ý làm ảnh hưởng đến sự hoạt động bình thường
của hệ thống đều là trái pháp luật.
Giáo dục, đào tạo thế hệ mới nhằm đáp ứng được yêu cầu của xã hội.
Đưa ra những điều luật bảo vệ thông tin và xử lý các tội phạm về tin học.