CHƯƠNG 1. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN...

29
GIÁO TRÌNH TIN HỌC 10 1 CHƯƠNG 1. MT SKHÁI NIỆM CƠ BẢN CA TIN HC. §1. TIN HC LÀ MT NGÀNH KHOA HC. 1. SHÌNH THÀNH VÀ PHÁT TRIN CA TIN HC Cuc cách mng công nghip trong lch sloài người đã diễn ra tương đối nhanh. Trong khong thi gian tnăm 1890 đến năm 1920, điện năng, điện thoi, ô 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 lot thành tu 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 ti thông tin trt sm, tuy nhiên kết quđạt được không cao mi chxut hin mt slĩnh vực. Trong nhng thp kgần đây, xã hội loài người bùng nvthông tin. Bên cnh những quan điểm truyn thống như: điều kin tnhiên, ngun lao động và vốn đầu tư là ba nhân tố cơ bản thì xut hin mt nhân tmi quan trọng đó là thông tin mt dng tài nguyên mi. Shình thành và phát trin ca mi nền văn minh gắn lin vi mt công clao động mi. o Ví dụ: Máy hơi nước gn vi nền văn minh công nghiệp, máy tính điện tgn vi nền văn minh thông tin… Ngành Tin học được hình thành và phát trin thành mt ngành khoa hc vi các ni dung, mục tiêu, phương pháp nghiên cứu riêng và ngày càng có nhiu ng dng trong hu hết các lĩnh vực hoạt động ca xã hội loài người. 2. ĐẶC TÍNH VÀ VAI TRÒ CỦA MÁY TÍNH ĐIỆN TMáy tính giúp con người thc hin 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 clao động này để đáp ứng nhu cầu lưu trữ, tìm kiếm và xlí thông tin mt cách hiu 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 mt mỏi” trong suốt 24/24 gi. o Tốc độ xlí thông tin ca máy tính rất nhanh và ngày càng được nâng cao. o Máy tính là mt thiết btính toán có độ chính xác cao. o Máy tính có thlưu trữ một lượng ln thông tin trong mt không gian rt hn chế. o Giá thành máy tính ngày càng h. o Máy tính ngày càng gn nhvà tin dng. o Các máy tính có thliên kết vi nhau thành mt mng máy tính lớn để tăng thu nhập và xlí thông tin tốt hơn. 3. TIN HC Trong tiếng Pháp, Tin hc là Informatique. Tiếng anh dùng Informatics còn người Mdùng thut ngComputer Science.

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.