Theo quan niệm chung cùa những người làm công nghệ thông tin thì thông tin là những hiểu biết cùa ehing ta về một lĩnh vực nào đấy, còn dữ liệu là thông tin được biểu diễn và xử lý trong
Trang 4Tập thể các tác giả
1 Lương Mạnh Bá - Đỗ Văn Uy ( C h ủ b iê n )
2 Bùi Thị Hòa - Đinh Hùng
3 Cao Tuấn Dũng - Nguyễn Ngọc Dương
4 Lương Mạnh Bá
Phần Tin học cơ sỏ Phần 2
Phần Bài tập c
Trang 5L ờ i m ở đầu
Tin đại cương hay N hập môn Tin học liay Nhập mòn Công ngliệ thông tin là môn học b ừ buộc cho Sinh viên các trường Đại liọc hay Cao đẳng ngay từ năm đầu tiên buớc vìo học M ôn học này nhằm cung cấp cho Sinh viên những khái niệm cơ bán nhất
vé T in học như: Tltông tin, dữ liệu, qui trìnli x ử lý Tin bằng M áy tínli điện lử, Kiến trúc chức lũng cùa m áy tính, Ngoài ra, nhằm giúp sinh viên hiểu được việc lập trình giải quyết tài toán trẽn máy tính, môn học thường lựa chọn giới thiệu m ột ngôn ngữ lập trùih tiông dụng, có cấu trúc đê’ đua vào học Tiếp sau, với kiến thức thu được lừ môn hạ: này và tùy theo đặc thù ngành học mà sinli viên được tiếp tục học thêm nhiều lĩnh vục chiyên sáu khác nhất là với sinh viên tliuộc chuyên ngành Công nglĩệ thông tin )/hận thức được tầm quan trọng cùa môn học này mà hầu hết các trường đại liọc hcy cco dẳng đều c ố gắng biên soạn cho mình lài liệu món học này m ột cách hợp lý nhít 7uy nhiên, do đặc thù là ngành Công nghệ thông tin biến cliuyển rất nhanh nên viêc ha chọn những gì đ ể cung cấp cho bước ban đầu này cũng luôn biêh động Khoa Còng Iglìệ thông tin trước đây và Viện Công ngliệ thông tin và Truyền thông ngày Iiay
đ i nhv.u Idn tổ chức biên soạn nliằm cho ra dời một tài liệu phù hợp nhất song quả là một IIliệm vụ klió khăn.
"áp th ể các tác giả cùa cuốn sách này vào năm 2007 đã dược Ban Chủ nhiệm ÍCìoa Công nghệ thòng tin giao cho biên soạn bài giùng môn Nhập môn Tin học Cuốn scch ỉà \ được hình thành chủ yêu dựa trên các tài liệu dó theo đ ề cương cùa Khoa Công Ighệ thông tin cliủ trì là GS, TS Nguyền Thúc H ải và kê tlìừa các tài liệu của các tiày c/ d ã dạy môn này: TS Nguyễn Kim Klưính và rất nhiều tliày cô khác trong Khoa.
Trang 6Nhóm tác giả qua thực t ế giảng dạy tại ĐHBK muốn cung cấp một tài liệu tiíơnơng đối pliù hợp cho sinh viên các hình đào tạo khác nhau trong ngành Công ngliệ lliônông tin hay ngoài ngành D o vậy, bô'cục cùa cuốn sácli gồm hai pliàn cơ bản: Tin học cãcăn bản và Lập trình với Ngôn ngữC Pliàn Tin học cản bản cung cấp Iihững kliái niệm Cì cơ
sở nhất và có m ở rộng cho p hù liợp với hiện nay, nhấn mạnli vào kiến trúc cliứn Iiânăng của máy tính, các hệ điều lìànlì, mạng m áy tính, Phần thứ hai trình bày vê ngôn Hìgngữ lập trình c , m ột ngôn ngũ phô’ dụng liiện nay Trước đủy, ngôn ngữ lập trình dược chọhọn
là Turbo Pascal, song hiện nay nó không còn p h ổ biến nữa Việc trình bày Ngõn n g ữ ’ữ C theo quan điểm minh họa cách lập Irìnli trên máy tính cliứ kliông dơn thuần lủ việc Ịgiigiới thiệu ngôn ngữ N goài ra, nliằm giúp sinh viên có th ể tìm tliấy các ví dụ minh họa, Cí các tác giả cung cấp thêm phần 3: Chương trình viết bằng TC2 0 gom kliá nhiều thí diụ iụ từ đơn gián đến phức tạp.
M ục đích chính cùa cuốn sách là làm tài liệu tham khảo hay tài liệu học clníihính cùa sinh viên T uy nhiên, các giáo viên có th ể tham kháo, cliọn lọc cho phù lựrp và mhnhấl
là m ột s ố thí dụ trong phán minh họa.
Các tác giả chân thành cám ơn sự ch ỉ dần của các thày trong Ban Cliù nhúậùệm Klioa, các tài liệu được cung cấp của GS, TS Nguyễn Thúc Hải, TS Nguyễn K im Khiáhánli
và nhiều tltày cô khác Các tác già cũng cám ơn các đồng nghiệp, các thày cô ở à các
Đ ại học phía Nam thông qua các bài giảng điện tử đ ã cung cấp cho lư liệu tham Uuảaáo.
Đ ể tài liệu ngày càng được hoàn thiện hơn, chúng tôi mong nhận được ý kiến cu cùa các em sinh viền, các thày cô, các đồng nghiệp xa gần M ọi ý kiến đóng góp xin quà ủi vê địa chỉ: balm(ã>soict.liut.edu.vn hoặc u\dv(a)soict.hut.edu.vn.
C á c tá c g iả
Trang 71.1.1 Thông tin - D ữ liệu - Tri thức Thông tin - Inform ation
• Thông tin - lnform ation
Khái niệm thông tin (inform ation) được sử dụng thường ngày T hông tin mang lại cho con người sự hiểu biết, nhận thức tốt hơn về những đối tượng trong đời sống xã hội, trcng thiên nhiên, giúp cho họ thực hiện hợp lý công việc cần làm để đạt tới mục đích một cách tốt nhất Người ta quan niệm rằng, thông tin là kết quả xử lý, điều khiển
và tổ chức dữ liệu theo cách mà nó sẽ bổ sung thêm tri thức cho người nhận Nói một cách khác, thông tin là ngữ cảnh trong đó dữ liệu được xem xét
• Dữ liệu - Data
Dữ liệu (data) là biểu diễn của thông tin được thể hiện bằng các tín hiệu vật lý Thông tin chứa đựng ý nghĩa còn dữ liệu là các sự kiện không có cấu trúc và không có
ý nghĩí nếu chúng không được tổ chức và xử lý Dữ liệu trong thực tế có thể là:
- Các số liệu thường được mô tả bằng sổ như trong các bảng biểu
- Các ký hiệu qui ước, ví dụ chữ viết
Các tín hiệu vật lý ví dụ như ánh sáng, âm thanh, nhiệt độ, áp su ất, Theo quan niệm chung cùa những người làm công nghệ thông tin thì thông tin là những hiểu biết cùa ehing ta về một lĩnh vực nào đấy, còn dữ liệu là thông tin được biểu diễn và xử lý trong n áy tính
Trang 8• Tri thức - Knovvledge
Tri thức theo nghĩa thường lả thông tin ở mức trừu tượng hơn Tri thức khá I đa dạng, nó có thể là sự kiện, là thông tin và cách mà một người thu thập được qưa ki;inhnghiệm hoặc qua đào tạo Nó có thể là sự hiểu biết chung hay về một lĩnh vực cụ I thềnào đó Thuật ngữ tri thức được sử dụng theo nghĩa “hiểu” về một chù thể với m ột túiềm năng cho một mục đích chuyên dụng
Hệ thống thông tin (iníorm ation system) là một hệ thống ghi nhận dữ liệu, xửử lý chúng để tạo nên thông tin có ý nghĩa hoặc dữ liệu mới ???
NHẬP D ữ LIỆU
(INPUT)
XỬ LÝ (PROCESSING)
XUÂT DỮ LIỆU (OUTPUT)
LUU TRŨ (STORAGE)
Hình 1.1 Mô hình tổng quát quá trình xử lý thõng tin
Thông tin được thu thập và lưu trữ, qua quá trình xử lý có thể trờ thành díữ r liệu mới để theo một quá trình xừ lý dữ liệu khác tạo ra thông tin mới hơn theo ý đíồ > của con người
t Con người có nhiều cách để có dữ liệu và thông tin Người ta có thể lưu trĩữ Ithhông tin qua tranh vẽ, giấy, sách báo, hình ảnh trong phim, băng từ Trong thời đại hiiệin t nay khi lượng thông tin đến với chúng ta càng lúc càng nhiều thì COI1 ngưòi có thiẻ ildủng một công cụ hỗ trợ cho việc lưu trữ, chọn lọc và xử lý thông tin gọi là máy tính điiệiện tu (Computer) Máy tính điện từ giúp con người tiết kiệm rất nhiều thời gian, công; Siứức và tăng độ chính xác cao trong việc tự động hoá một phần hay toàn phần cùa quá tirìmhh xù
lý thông tin
Trang 91.2.1 Lịch s ử p h á t triển của m áy tinh điện tử
Do nhu cầu cần tăng độ chính xác tính toán và giảm thời gian tính toán, con Iigưừi đã quan tâm chế tạo các công cụ tính toán từ xưa: bàn tính tay của người Trung Quốc, máy cộng cơ học của nhà toán học Pháp Blaise Pascal (1623 - 1662), máy tính
cơ học có thể cộng, trừ, nhân, chia của nhà toán học Đức Gottfried Wilhelmvon Leibniz(1646 - 1716), máy sai phân để tính các đa thức toán học
Tuy nhiên, máy tính điện tử thực sự bẳt đầu hình thành vào thập niên 1950 và đến nay đã trải qua 5 thế hệ và dựa vào sự tiến bộ về công nghệ điện từ vi điện tử cũng như các cải tiến về nguyên lý, tính năng và loại hình cùa nó
- Thế hệ 1 (1950 - 1958): máy tính sử dụng các bóng đèn điện tử chân không, mạch riêng rẽ, vào số liệu bàng phiếu đục lỗ, điều khiển bằng tay Máy có kích thước rất lớn, tiêu thụ năng lượng nhiều, tốc độ tính chậm khoảng 300 3.000 phép tính/s Loại máy tính điển hình thế hệ 1 như EDVAC (M ỹ) hay BESEM (Liên Xô cũ),
- Thế hệ 2 (1958 - 1964): máy tính dùng bộ xừ lý bằng đèn bán dẫn, mạch in Máy tính đã có chương trình dịch như Cobol, Fortran và hệ điều hành đơn giản Kích thước máy còn lớn, tốc độ tính khoảng 10.000 -100.000 phép tính/giây Điển hình như loại IBM-1070 (M ỹ) hay MINSK (Liên Xô cũ),
- Thế hệ 3 (1965 - 1974): máy tính được gắn các bộ vi xử lý bàng vi mạch điện
tử cỡ nhò có thể có được tốc độ tính khoảng 100.000 - 1 triệu phép tính/giây M áy đã
có các hệ điều hành đa chương trinh, nhiều người đồng thời hoặc theo kiểu phân chia, thời gian Kết quả từ máy tính có thể in ra trực tiếp ở máy in Điển hình như loại IBM-
360 (Mỹ) hay EC (Liên Xô cũ),
- Thế hệ 4 (1974 - nay): máy tính bẳt đầu có các vi mạch đa xử lý có tốc độ tính hàng chục triệu đến hàng tỷ phép tính/s Giai đoạn này hình thành 2 loại máy tính chính: máy tính cá nhân để bàn (Personal Com puter - PC) hoặc xách tay (Laptop hoặc Notebook Computer) và các loại máy tính chuyên nghiệp thực hiện đa chương trình, đa
xử lj, hình thành các hệ thống mạng máy tính (Computer Netvvorks), và các ứng dụng phong phú đa phương tiện
- Thế hệ 5 (1990 - nay): bẩt đầu các nghiên cứu tạo ra các máy tính mô phòng các hoạt động của não bộ và hành vi con người, có trí khôn nhân tạo với khả năng tự suv diễn phát triển các tình huống nhặn được và hệ quản lý kiến thức cơ bản đề giải quyế' các bài toán đa dạng
1.2 Máy tín h và p h â n loại m áy tín h điện tử
Trang 10Trẽn thực tế tồn tại nhiều cách phân loại máy tính khác nhau Theo hiệu nàăng tính toán, có thể phân loại máy tính như sau:
- M áy Vi tính (M ic ro c o m p u te r o r P C ): Loại này thường được thiết kế icho một người dùng, do đó giá thành rẻ Hiện nay máy vi tính khá phồ dụng và xuiất hhiện dưới khá nhiều dạng: máy đề bàn (Destop), máy trạm (W orkstation), máy x ác h tay (Notebook) và máy tính bỏ túi
- M áy tính tầm tru n g (M ini C o m p u ter): Là loại máy tính có tốc dộ -và hhiệu năng tính toán mạnh hơn các máy vi tính Chúng thường được thiết kế để sử dụing ( cho các ứng dụng phức tạp Giá của các máy này cũng cỡ hàng vài chục nghìn USD
• Máy tính lớn (M ainfram e Com puter) và Siêu máy tính
(SuperComputer) là những máy tính có tổ chức bên trong rất phức tạp, có) tốoc độ
siêu nhanh và hiệu năng tính toán cao, cỡ hàng tỷ phép tính/giây Các máy tính mày I cho
phép nhiều người dùng đồng thời và được sử dụng tại các Trung tâm tính toám/ VViện nghiên cứu để giải quyết các bài toán cực kỳ phức tạp, yêu cầu cao về tốc độ ChiúinỊig có giá thành rất đắt, cỡ hàng trăm ngàn, thậm chí hàng triệu USD
Theo phương pháp xử lí tin có thể phân loại máy tính : máy tính tưcnig ttụt, I máy tính số, máy tính lượng tử
Một cách phân loại khác theo phương thức sừ dụng đó là máy chủ và máy tpạnm
1.3 T in h ọ c v à các n g à n h c ô n g n g h ệ liê n q u a n
1.3.1 Tin học
Thuật ngữ Tin học có nguồn gốc từ tiếng Đức vào năm 1957 d o Karl Sueiinhhnch
đề x ư ớng trong m ột bài báo Informatik: A utom atische lnform ationsverarbeiiuinỊg ' (i.e
"Iníbrmatics: automatic information Processing") Sau đó vào năm 1962, PMnililippe Drevfus người Pháp gọi là “ inform atique”, tiếp theo là Walter F.Bauer cũng Sỉừr ddụng tên này Phần lớn các nước Tây Âu, trừ Anh đều chấp nhận Ở Anh người ta ssửr ddụng thuật ngữ ‘Computer Science’, hay ‘com puting Science’ là thuật ngữ dịch, N g ai I cũng
chấp nhận tên inỊormatika ( 1966).
Tin học được xem là ngành khoa học nghiên cứu các phương pháp, công tn g h h ệ và
kỹ thuật xử lý thông tin một cách tự động Công cụ chủ yếu sử dụng trong tim lhạọc là máy tính điện tử và các thiết bị truyền tin khác Nội dung nghiên cứu cùa tin Ihcọcc chù yếu gồm hai phần:
1.2.2 Phăn loại máy tính điện tử
Trang 11- Kỹ th u ậ t phần cứng (Hard\vare engineering): nghiên cứu chế tạo các thiết
bị, linh kiện điện từ, công nghệ vật liệu mới hỗ trợ cho việc thiết kế chế tạo máy tính
và mang máy tính, đẩy mạnh khả nãng xử lý và truyền thông
- Kỹ th u ậ t p hần mềm (Software engineering): nghiên cứu phát triển các hệ điều hành, các tiện ích chung cho máy tính và mạng máy tính, các phần mềm ứng dụng phục vụ các mục đích xử lý và khai thác thông tin khác nhau của con người
1.3.2 Công n gh ệ thông tin ịỉn form ation Technology - IT)
Thuật ngữ Công nghệ thông tin xuất hiện ở Việt nam vào những năm 90 của thế
kỷ 20 Theo lnformation Technology Association o f America (ITAA): “Công nghệ thông tin là ngành nghiên cứu các hệ thống thông tin dựa vào m áy tinh, đặc biệt là các phần mềm ứng dụng và phan cứng m áy lính N ói một cách ngan gọn, IT x ứ lý với các
m áy tinh điện từ và các phần mềm m áy tinh nhằm chuyển đối, lưu trữ, bào vệ, truyền tin và trích rút thông tin một cách an toàn”.
Các ứng dụng ngày nay của IT:
- Quản trị dữ liệu
- Thiết kế hệ thống cơ sở dữ liệu
- Quản lý hệ thống thông tin
- Quản lý hệ thống
1.3.3 Công n gh ệ thông tin và truyền thông
Ngày nay, khuynh hướng sử dụng "inform ation" thay thế cho "data" và có xu thế
mờ rộrg cho lĩnh vực truyền thông và trờ thành IC T (ìnỊormaúon and Communiccition Technclogy) Thuần tuý theo cách nói thì hai thuật ngữ này là như nhau.
Truyền thông máy tính, nói đơn giàn là sự kết nối một số lượng máy tính với nhau trong một phạm vi địa lý nhỏ Tuy nhiên, nhiều máy tính có thể kết nối với nhau theo một phạm vi rộng hơn và việc trao đổi thực hiện qua một mạng viễn thông nào đó
Internet - M ạng m áy tính loàn cầu là một phát minh vĩ đại cùa nhân loại trong thế kỷ
20, đó cũng chính là sản phẩm cùa ngành Công nghệ thông tin và Truyền thông
Trang 12BÀI 2: BIẾU DIỄN DỮ LIỆU TRONG MÁY TÍNH
2.1 B iể u d iễ n số tr o n g c á c h ệ đếm
Hệ đem là tập hợp các ký hiệu và qui tẳc sử dụng tặp ký hiệu đó để biểu d iễ n I và xác định các giá trị các số Mỗi hệ đếm có một số ký số (digits) hữu hạn Tồng s ố k ý / số cùa mỗi hệ đếm được gọi là cơ số (base hay radix), ký hiệu là b
2.1.1 H ệ đếm thập phân (Decintal system , b = 10)
Hệ đếm thập phân hay hệ đếm cơ số 10 !à một trong các phát minh của nigurờbri À rập cổ, bao gồm 10 ký số theo ký hiệu sau:
0, 1 , 2 , 3 , 4 , 5 , 6 , 7, 8 , 9
Qui tắc tính giá trị cùa hệ đếm này là mỗi đơn vị ờ một hàng bất kv có g iáá trịbằng 10 đơn vị cùa hàng kế cận bên phài Ở đây b=10 Bất kỳ số nguyên duơnig Itnrong
hệ thập phân có thể biểu diễn như là một tổng các số hạng, mỗi số hạng là tích ciùa rmột
số với 10 lũy thừa, trong đó số mũ lũy thừa được tăng thêm 1 đơn vị kể từ số imũ I lũv thừa phía bên phải nó s ổ mũ lũy thừa cùa hàng đơn vị trong hệ thập phàn là 0
Ví dụ: Số 5246 có thể được biểu diễn như sau:
Trang 1310 100
2.12 H ệ dếm cơ số b
Hệ đếm cơ số b (b > 2 và nguyên dương) mang tính chất sau :
- Có b ký số để thể hiện giá trị số Ký số nhò nhất là 0 và lớn nhất là có giá trị
là b-1
- Giá trị vị trí thứ n trong một số cùa hệ đếm bàng cơ số b lũy thừa n: b
- SỐN trong hệ đếm cơ số (b) được biểu diễn bời:
(b)
N ( b ) = a n 3 n - | 3 n- 2 - a i a o a i a 2 - 3 - m
trong đó, số N có n+1 ký số biểu diễn cho phần nguyên và m ký số lè biểu diễn
(b)chí phần b_phân, và có giá trị tính theo hệ thập phân là:
N (b)= a nb n + a n |b n 1 + an-2 b" 2 + +ai.b* + ao-b°+ a |.b *+ a-2-b 2+ + a_m.b m
H * tà: N (b)= 5 > ý
i=0Trong ngành toán - tin học hiện nay phổ biến 4 hệ đếm là hệ thập phân, hệ nhị phin, hệ bát phân và hệ thập lục phân
2.J.3 H ệ đếm n h ị ph ân (Binary sysíem , b = 2 )
Với cơ số b=2, chúng ta co hệ đếm nhị phân Đáy là hệ đếm đơn giản nhầt với 2 chr số là 0 và I Mỗi chữ số nhị phân gọi là BÍT (viết tắt từ chữ Blnary digiT) Vì hệ
nh phân chi có 2 trị số là 0 và 1, nên khi muốn diễn tả một số lớn hơn, hoặc các ký tự phrc tạp hơn thì cần kết hợp nhiều bit với nhau Ta có thể chuyển đổi số trong hệ nhị phin sang số trong hệ thập phân quen thuộc
Ví dụ: Số 11101.11 ^ sẽ tương đương với giá trị thập phân là:
Trang 1450 10101 (hệ 2) sang liệ thập plừn sẻ lá:
10101,;:,= Lx24 - 0x2’ + Ix2: - 0 x 2 ' + lx2c' = 1 6 - 0 - 4 + 0 - 1 =21(10;
2.1.4 H ệ đếm bát p líâ n (O ctal system , b=8)
Nếu dùng 1 tập hợp 3 bit thì có thể biểu diễn 8 trị khác nhau : 000, 001, 010, 011,
100, 101, 110, 111 Các trị này tương đương với 8 trị trong hệ thập phân là 0, i , 2, 3 4,
13, 14, 15 Với hệ thập lục phân, trị vị trí là lũy thừa của 16
2.1.6 Chuyển đỗi m ột sổ từ hệ thập phân sang h ệ đém cơ số b
• Đổi phẩn nguyên từ hệ thập phân sang hệ b
Tông quát: Lấy số nguyên thập phân N lan lượt chia cho b cho đen khi thương
số bằng 0 Ket quả số chuyển đồi N là các dư số trong phép chia viết ra theo thứ lư
Trang 15Ket quá: 12,10, = 1100,'(2)
• Đổi phần thập phân (phần lẻ) từ hệ thập phân sang hệ cơ số b
Tổng quát: Lấy phần thập phân N (10) lần lượt nhân với b cho đến khi phần thập
phân cùa tích số bằng 0 Kết quả số chuyển đổi N (b) là các số phần nguyên trong phépnhân viết ra theo thứ tự tính toán
/ s
5 0
2.1 ĩ M ệnh đề logic
Mệnh đề logic là mệnh đề chi nhận một trong 2 giá trị : Đúng (TRUE) hoặc Sai (FALSE), tương đương với TRUE = 1 và FALSE = 0
Qui lắc: TRUE = N OT FALSE và FALSE = N OT TRUE
Phép toán logic áp dụng cho 2 giá trị TRU E và FALSE ứng với tổ hợp AND (và)
và OR (hoặc) như sau:
Trang 162.2.1 N guyên tắc chung
Thông tin và dữ liệu mà con người hiểu dược tồn tại dưới nhiều dạng khác nhau,
ví dụ như các số liệu, các ký tự văn bản, âm thanh, hình ảnh, nlnrng trong máy tính mọi thông tin và dữ liệu đều được biểu diễn bàng số nhị phân (chuỗi bit)
Đe đưa dữ liệu vào cho máy tính, cần phải mã hoá nó về dạng nhị phân Với các kiểu
dữ liệu khác nhau cần có cách mã hoá khác nhau Cụ thể:
- Các dữ liệu dạng số (số nguyên hay số thực) sẽ được chuyển đổi trực tiếp thành các chuỗi số nhị phân theo các chuẩn xác định
- Các ký tự được mã hoá theo một bộ mã cụ thể, có nghĩa là mỗi ký tự sẽ tương ứng với một chuỗi số nhị phân
- 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, vi 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
Với các tín hiệu như âm thanh, video, hay các tín hiệu vật lý khác, qui trình mã hoá được biểu diễn như sau:
2.2 Biểu diễn d ữ liệu tr o n g m áy tín h và đơ n vị th ô n g tin
Hình 2.1 Quá trình sổ hoá tín hiệu vật lý
Tuy rằng mọi dữ liệu trong máy tính đều ở dạng nhị phân, song do bàn chất cùa
dữ liệu, người ta thường phân dữ liệu thành hai dạng:
- D ạng cơ bản: gồm dạng số (nguyên hay thực) và dạng ký tự s ố nguyên không dấu được biểu diễn theo dạng nhị phân thông thường, số nguyên có dấu theo mã
bù hai, còn số thực theo dạng dấu phảy động Để biểu diễn một dữ liệu cơ bản người
ta sử dụng l số bit Các bit này ghép lại với nhau để tạo thành từ: từ 8 bít từ 16 b ít,
- D ạng có cấu trú c : Trên cơ sờ dữ liệu cơ bản, trong máy tính, người ta xây dựng nên các dữ liệu có cấu trúc phục vụ cho các mục đích sử dụng khác nhau Tuỳ theo cách '‘ghẽp” chúng ta có mảng, tập hợp, xâu, bản ghi,
Trang 172.2.2 Đơn vị thông tin
Dơn vị nhò nhất để biểu diễn thông tin gọi là bit Một bit tương ứng với một sự kiện có 1 trong 2 trạng thái
Ví dụ: Một mạch đèn có 2 trạng thái là:
- Tắt (Off) khi mạch điện qua công tẳc là hờ
- Mờ (On) khi mạch điện qua công tắc là đóng
Số học nhị phân sử dụng hai ký số 0 và 1 đề biểu diễn các số Vì khả năng sửdụng hai số 0 và 1 là như nhau nèn một chì thị chi gồm một chữ số nhị phân có thể xemnhư là đơn vị chứa thông tin nhỏ nhất
Bit là chữ viết tắt cùa B lnary digiT Trong tin học, người ta thường sử dụng các đơn vị đo thông tin lớn hom như sau:
đe biêu diễn dấu và bit này gọi là bit dấu
2.3.1 Số nguyên không dấu
Trong biểu diễn sổ nguyên không dấu, mọi bit đều được sử dụng đề biểu diễn giátrị số Vi dụ 1 dây 8 bit biểu diễn số nguyên không dấu có giá trị:
8
2 = 256 số nguyên dương và cho giá trị từ 0 (0000 0000) đến 255 (1111 1 11!)
Với n bít ta có ihể biểu diễn 1 số nguyên có giá trị lớn nhất là 2"-l và dài giá trị biểu diễn được từ 0 đến 2 " -l
Trang 18Trong biểu diễn số nguyên có dấu, bit đầu làm bít dấu: 0 là số dương và I cho số
âm Số nguyên có dấu thể hiện trong máy tính ờ dạng nhị phân là số dùng I bit làm bít dấu, người ta qui ước dùng bit ờ hàng đầu tiên bên trái làm bit dấu (S): 0 là số dương
và 1 cho số âm Cách phổ biến biểu diễn sổ âm có dấu là dùng mã bù hai:
Số bù hai được tính như sau:
- Biểu diễn số nguyên không dấu
- Nghịch đảo tất cả các bit (số bù một)
- C ộng thêm một (số bù hai)
Thí dụ biểu diễn trên 8 bits:
Chú ý: Thử biểu diễn mã bù hai của - 3 7 để thu được s ố +35
2.4 T in h to á n số h ọ c v ó i số n g u y ê n
2.4.1 C ộ n g / trừ số nguyên
• Cộng/ trừ số nguyên không dấu
Khi cộng hai số nguyên không dấu n bits ta thu được một số nguyên không dấu cũng n bits Vi vậy:
- Nếu tổng cùa hai sổ đó nhò hơn hoặc bằng 2"-l thỉ kết quà nhận đirợc là
Trang 19- Nếu tổng cùa hai số đó lớn hơn 2"-l thì khi đó sẽ tràn số và kết quả sẽ là sai.
- Thí dụ với trường hợp 8 bits, tổng nhỏ hơn 255 thì ta sẽ có kết quả đúng:
Số nguyên có dấu được biểu diễn theo mã bù hai, vậy qui tắc chung như sau:
- Cộng hai số nguyên có dấu n-bit sẽ bỏ qua giá trị nhớ ra khỏi bit có ý nghĩa cao nhất, tổng nhận được sẽ cố giá trị đúng và cũng được biểu diễn theo mã bù hai, nếu
kết quả nhận được nằm trong dải -2"-l đến + 2"'] - I
- Để trừ hai số nguyên có dấu X và Y (X - Y) , cần lấy bù hai cùa Y tức -Y ,
Bit tràn ra ngoài => kết quả = 26 là sai
sau đó cộng X với - Y theo nguyên tắc trên
= 97 + (-52)
-52
0110 0001
1100 1100
Trang 20V 1011
1101
( I I cơ số 10) (13 cơ số 10)
2) Các tích riêng dễ dàng xác định theo qui tắc:
- Bit tương ứng sổ nhân là 1 thì tích riêng bằng số bị nhân
- Bit tương ứng sổ nhân bàng 0 thì tích riêng bàng 0
Thí dụ cho A = 1010 1010 và B = 0000 I I I , khi đó:
Trang 21- Phép AND dùng để xoá một số bit và giữ nguyên 1 số bit còn lại
- Phép OR dùng để thiết lập 1 số bit và giữ nguyên I số bít khác
2.6 B icu d iễ n k ý t ự
2.6.1 Nguyên tắc chung
Trong máy tính, các ký tự cũng cần được chuyển đổi thành chuỗi bit nhị phân gọi
là mã cùa các ký tự đó s ố bit dùng cho mỗi ký tự theo các mã khác nhau là khác nhau
Bộ mă ASCII (Am ercan Standard Codes for lnform ation lnterchangeable) dùng 8 bit cho 1 ký tự, bộ mã Unicode dùng 16 bit Đây là 2 bộ mã thông dụng Thí dụ, với bộ mã ASCII, chữ A có mã là 65 = 0] 0 0 0 0 0 1
Ngoài hai bộ mã trên, còn có các bộ mã khác:
- Hệ thập phân mã nhị phân BCD (Binary Coded Decima) dùng 6 bit
- Hệ thập phân mã nhị phân m ờ rộng E B C D IC (Extended Binaiy Cođed Decimal Interchange Code) dùng 8 bit tương đương 1 byte đề biễu diễn 1 ký tự
2.6.2 Bộ m ã A S C II
ASCII là bộ mã được dùng để trao đổi thông tin chuẩn cùa Mỹ Lúc đầu chi dùng
7 bit (128 ký tự) sau đó mở rộng cho 8 bit và có thể biểu diễn 256 ký tự khác nhau trong máy tính
Trong bộ mã hoá 8 bit, các mã từ 32 đến 126 biểu diễn cho các ký tự hiển thị được gồm 52 ký tự la tinh: 26 thường và 26 hoa Tiếp theo là 10 mã cho 10 chữ số (mã
30 đến mã 39) Còn lại cho các ký tự phân cách, dấu phép toán
Chú ý là 32 mã đầu tiên và (00 đến 1F0 và mã cuối cùng 127 (trong bộ mã chuẩn
128 mã) biểu diễn cho các thông tin điều khiền Các mã mờ rộng từ 128 đến 255 là tập các ký tư có thể thay đối được bời các nhà chế tạo máy tính hoặc các nhà phát triển phần mềm Bộ mã ASCII đuợc minh lioạ qua bảiiíi dưới đây:
Trang 22BẢN G M Ã A SC II vói 128 ký tự đầu ticn
0
DLE16
SP32
048
@64
Ị
33
149
A65
Q81
a97
R82
b98
r114
3
DC319
#35
351
452
D68
T84
d100
%37
553
E69
&
38
6 54
F 70
V 86
f 102
G 71
w 87
g
103
w119
8 56
H 72
X 88
h 104
)41
957
I73
Y89
I105
*
J74
z
90
j106
z122
11
ESC27
+
K 75
[ 91
k 107
{ 123
\ 92
I
108
I 124
] 93
m 109
} 125
/ 47
? 63
0
79 95
0 111
DEL
127
Trang 242.6.3 Bộ m ã Unicode
Ngày nay, máy tính đã toàn cầu hoá, việc trao đổi thông tin ngày càng mở rộng
Đẻ đáp ứng nhu cầu toàn cầu hoá này, vào những năm 90 của thế kỷ trước, :ác hãng hàng đầu về máy tính đưa ra bộ mã 16 bít mang tên Unicode Vậy số ký tự cc thề biểu diễn (mã hoá) là 2 I6-1
2.7 B iểu d iễ n số th ự c
2.7.1 N guyễn tắc chung
Đề biểu diễn số thực, trong máy tính người ta dùng ký pháp dấu phảy động (Floating Point Number) Một cách tổng quát, một số thực biểu diễn theo cách này gồm 3 thành phần:
NI ± N2 = ( M 1 X RFI E2 ± M2) X RE2, giả thiết E2 > E1
N l x N 2 = ( M l x M 2 ) x R E|,EỈ
NI /N2 = (M1 / M 2 ) / R E'-E2
Trang 25Chú ỷ: Với số thực biểu diễn theo dấu phấy động trên :
- 32 bit: dài giá trị tìr 10',s đến 1 0 '18
- 64 bit: dãi giá trị từ 10'308 đến 10*508
- 80 bit: dải giá trị từ lO-49'12 đến I0*4932
T ừ công thức trên, ta nhặn thấy rằng cách biểu diễn này không bao giờ cho giá trị bàitị: không, vi thế, có một số trường hợp phải qui ước:
- Nếu tất cà các bit cùa E và M đều bàng không, thì N = ± 0
- Nếu tất cả các bit của E = 1 và M = 0, thì N = ± 00
- Nếu tất cả các bit của E = 1 và có ít nhất 1 bit cùa M =10, thì N không phải là số
2.7.2 Chuẩn IE E E 754/85
Việc biểu diễn trong dấu phảy động theo chuẩn IEEE được hình dung như sau:
t
phần dấu chấm thập phân
- Bit dấu là 0 có nghĩa đó là sổ dương, ngược lại đó ià số âm (M atissa sign)
- Phần mũ biểu diễn trong cơ số 2 và giá trị là giá trị gốc cộng thêm 127 Tuy nhiên, nếu giá trị sau khi cộng là 255 thì đó không phải là biểu diễn số
- Phần định trị biểu diễn dạng số lè nhị phân nhò hơn I
Chú ý: có sự khác nhau giữa biểu diễn dấu phày động trên máy tính lớn ( rnain
írami):
- Phần mũ là 8 bít và giá trị kết quả đirợc cộng thêm 127 vào phần gốc Phần thên này gọi là bias
- Phần định trị có 23 bít và phần lé nhị phân Urưng đirơng với phần định trị trừ
đi 1 iẽ đirực lưu Nói một cách khác, số ! không biểu diễn (bỏ)
- Cơ số phần mũ dược hiểu là cơ so 2
Trang 26Thí dụ: số thực +5 sẽ được biểu diễn như sau:
5 10 = 1 0 1 2 = 1 0 1 2 X 2 ° = ( 1.0 1 ) 2 X 2 2 v à p h ầ n m ũ s ẽ là 1.0 12 12 = 0 0 1 2 Nếu 1012 trượt phải 2 bít sẽ trờ thành 1.012, 2 2 lần từ giá trị ban đầu Với mục đích chuấn hóa, 2 được cộng thêm vào phần mũ 0 và phần mũ cỏ giá trị là 2 Do vậy, khi mà phần mũ là 2 cộng thêm phẩn bias 127 sẽ là 129 và mũ biểu diễn là 100000012-
Trang 27-BÀI 3: HỆ THỒNG MÁY TÍNH
M ột cách tổng quát, máy tính điện tử là một hệ xử lý thông tin tự động gồm 2 phần chinh: p h ầ n cứ ng và p h ần m ềm
Phần cứng (harchvare) có thể được hiểu đơn giàn là tất cả các cấu kiện, linh kiện
điện, diện từ trong một hệ máy
Phần mềm (softw are) có thể xem như một bộ chương trình gồm các chi thị điện
từ ra lệnh cho máy tính thực hiện một điều nào đó theo yêu cầu của người sử dụng Phần mềm có thể được ví như phần hồn của máy tính mà phần cứng cùa nó được xem như phần xác
3 1 T ổ c h ứ c b ê n tr o n g m á y tín h
3.1.1 M ô hình c ơ bản của m áy tinh
• Chức năng của hệ thông máy tính
M áy tính thực hiện các chức năng cơ bản sau:
X ử lý d ữ liệu: Đây là chức năng quan trọng nhất của máy tính Dữ liệu có thể
có rất nhiều dạng khác nhau và có yêu cầu xử lý khác nhau
- L ưu t r ữ d ữ liệu: Các dữ liệu đưa vào máy tính có thể được lưu trong bộ nhớ
để khi cần chủng sẽ đirợc lấy ra xử lý Cũng có khi dữ liệu đưa vào được xử lý ngay Các kết quả xử lý được lưu trữ lại trong bộ nhớ và sau đó có thể phục vụ cho các xử
lý tiếp
- T ra o đổi d ử liệu: Máy tính cần phải trao đổi dữ liệu giữa các thành phần bẽn trong và với thế giới bên ngoài Các thiết bị vào-ra được coi là nguồn cung cấp dữ liệu
hoặc nơi tiếp nhận dữ liệu Tiến trình trao đổi dữ liệu với các thiết bị gọi là vào-ra Khi
dữ liệu được vận chuyển trên khoảng cách xa với các thiết bị hoặc máy tính gọi là
truyền d ữ liệu (data com m unication).
- Điều khiển: Cuối cùng, máy tính phải điều khiền các chức năng trên.
• C ấ u t r ú c c ủ a h ệ t h ố n g m á y tín h
Hệ thống máy tính bao gồm các thành phần cơ bản sau: đan vị xử lý trung tâm (Central Processor Unit - CPU), bộ nhớ chính (M ain M emory), hệ thống vào ra (Input-
Trang 28Output System ) và liên kết hệ thống (Buses) nlnr chi ra trong hình 3.1 dưới đây, với các chức năng chính cùa các thành phần:
Bô xử lý tru n g
tâm (C P )
A ■
Bộ n h ớ chính .
Hình 3.1 Các thành phần chinh của hệ thông máy tính
- Bộ x ử lý tr u n g tâm - CPU : Điều khiển các hoạt động cùa máy tính và thực hiện xử lý dữ liệu
- Bộ n h ớ chính (Main Memory): lưu trữ chương trinh và dữ liệu
- H ệ th ố n g vào r a (Input-Output System): trao đổi thông tin giữa thế giới bên ngoài với máy tính
- Liên kết hệ th ố n g (System Interconnection): kết nối và vận chuyển thông tin giữa CPU, bộ nhớ chính và hệ thống vào ra của máy tính với nhau
• Hoạt động của máy tính
Hoạt động cơ bản cùa máy tính là thực hiện chương trình Chương trình gồm một
tập các lệnh được lưu trữ trong bộ nhớ Việc thực hiện chương trình là việc lặp lại chu trình lệnh bao gồm các bước sau :
- CPU phát địa chi từ con trỏ lệnh đến bộ nhớ nơi chứa lệnh cần nhận;
- CPU nhận lệnh từ bộ nhớ đưa về thanh ghi lệnh;
- Tăng nội dung con trò lệnh đề trò đến nơi liru trữ lệnh kế tiếp;
Trang 29- CPU giải mã lệnli đẻ xác định thao tác cùa lệnh;
- Neu lệnh sử dụng dữ liệu từ bộ nhớ hay cổng vào ra thì cần phải xác định địa chi nơi chứa dữ liệu;
- CPU nạp các dữ liệu cần thiết vào các thanh ghi trong CPU;
- Thực thi lệnh;
- Ghi kết quả vào nơi yêu cầu;
- Quay lại bước đầu tiên để thực hiện lệnh tiếp theo
3.1.2 B ộ x ử lý trung tâm - C P U
Bộ xử lý trung tâm (Central Proccesor Unit- CPU) điều khiển các thành phần của máy tính, xử lý dừ liệu CPU hoạt động theo chương trình nằm trong bộ nhớ chính, nhận các lệnh từ bộ nhớ chính, giải mã lệnh để phát ra các tín hiệu điều khiển thực thi lệnh Trong quá trình thực hiện lệnh, CPU có trao đồi với bộ nhớ chính và hệ thống vào ra CPU có ba bộ phận chính: khối điều khiển, khối tính toán số học và logic, và tập các thanh ghi (hình 3.2)
B us đ iê u k h iê n B us d ữ liệu B us đ ịa chi
Hinh 3.2 Mỏ hình cơ bàn của CPU
• Khối điều khiển (Control U n it- CU)
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 dã cài đặt
Trang 30• Khối tính toán số học và logic (Arithmetic - Logic Unit - ALU)
Bao gồm các thiết bị thực hiện các phép tính số học (cộng, trừ, nhân, chia, các phép tính logic (AND, OR, NOT, XOR) và các phép tính quan hệ (so sánh lớn hơn, nhỏ hơn, bằng n h a u , )
Dữ liệu từ bộ nhớ hay các thiết bị vào-ra sẽ được chuyền vào các thanh ghi cùa CPU, rồi chuyền đen ALU Tại đây, dữ liệu được tính toán rồi trả lại các thanh uhi và chuyển về bộ nhớ hay các thiết bị vào-ra
Độ dài từ của các toán hạng được đưa vào tính toán trực tiếp ờ khối ALU Độ dài phổ biến với các máy tính hiện nay là 32 hay 64 bit
Ban đầu ALU chi gồm khối tính toán số nguyên IU (Integer Unit) Để tăng khả năng tính toán nhất là trong dấu phẩy động Khối tính toán hiện nay được bổ sung thêm khối tính toán dấu phẩy động FPU (Floating Point Unit)- hay còn gọi là bộ đồng xử lý (Co-proccesor U n it)
• Tập các thanh ghỉ (Registers)
Được gắn chặt vào CPU bằng các mạch điện từ làm nhiệm vụ bộ nhớ trung gian cho CPU Các thanh ghi mang các chức năng chuyên dụng giúp tăng tốc độ trao đổi thông tin trong máy tính Trên các CPU hiện nay có từ vài chục đến vài trăm thanh ghi
Độ dài của các thanh ghi cũng khác nhau từ 8 đến 64 bit
Ngoài ra, CPU còn được gẳn với một đồng hồ (clock) hay còn gọi là bộ tạo xung nhịp Tần số đồng hồ càng cao thì tốc độ xừ lý thông tin càng nhanh Thường thì đồng
hồ được gẳn tương xứng với cấu hình máy và có các tần số dao động (cho các máy Pentium 4 trờ lẽn) là 2.0 GHz, 2.2 G H z , hoặc cao hơn
• Bộ vi xử lý (Microprocessor)
CPU được chế tạo trẽn một vi mạch và đuợc gọi là bộ vi xử lý Vì vậy, chúng ta
có thể gọi CPU là bộ vi xử lý Tuy nhiên, các bộ vi xử lý hiện nay có cấu trúc phức tạp hơn nhiều so với một CPU cơ bản
3.1.3 Bộ n h ớ
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
• Bộ nhớ trong
Bộ nhớ trong (Internal Memory) là những thành phần nhớ mà CPU có thể trao
đổi trực tiếp: các lệnh mà CPU thực thi, các dữ liệu mà CPU sư dụng đều phãi nằm
Trang 31trong bộ nhớ trong 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 tổ chức thành các ngăn nhớ Các ngăn nhớ này được đánh địa chi trực tiếp bời CPU, có nghĩa là mỗi ngăn nhớ của bộ nhớ trong được gán một địa chỉ xác định CPU muốn đọc/ghi vào ngăn nhớ nào, nó phải biết được địa chi của ngăn nhớ đó
Nội dung của ngăn nhớ là giá trị được ghi trong đó s ố bit được dùng để đánh địa chì củ a ngăn nhớ sẽ quyết định dung lượng tối đa cùa bộ nhớ chính Thí dụ:
- Dùng 16 bit địa chi thì dung lượng tối đa cùa bộ nhớ là 2 16 = 26 X 2 10 = 64KB
- Bộ xử lý Pentium III có 36 bit đja chi, do đó có khả năng quản lý tối đa 26 X
230=64GB
Chú ý: Nội dung cùa ngăn nhớ có thể thay đổi còn địa chi ngăn nhớ thì cố định.
Bộ nhớ trong của máy tính được thiết kế bằng bộ nhớ bán dẫn với 2 loại ROM và RAM , trong đó:
- R O M (R ead O nly M e m o ry ) là Bộ nhớ chi đọc thông tin, dùng để lưu trữ các chương trình hệ thống, chương trinh điều khiển việc nhập xuất cơ sờ (ROM-BIOS :
RO M -Basic Input/Output System) T hông tin trên ROM không thể thay đổi và không
bị m ất ngay cả khi không có điện
- R A M (R an d o m Access M em o ry ) là Bộ nhớ truy xuất ngẫu nhiên, được dùng để lưu trữ dữ liệu và chương trình trong quá trình thao tác và tính toán RAM có đặc điểm là nội dung thông tin chứa trong nó sẽ mất đi khi mất điện hoặc tắt máy Dung lượng bộ nhớ RAM cho các máy tính hiện nay thông thường vào khoảng 128
MB, 256 MB, 512 MB và có thề hơn nữa
Ngoài ra, trong máy tính cũng còn phần bộ nhớ khác: Cache Memory cũng thuộc
bộ nhớ trong Bộ nhớ cache được đặt đệm giữa CPU và bộ nhớ trong nhằm làm tăng tốc độ trao đổi thông tin Bộ nhớ cache thuộc bộ nhớ RAM, có dung lượng nhỏ Nó chứa một phần chương trình và dữ liệu mà CPU đang xử lý, do vậy thay vi lấy lệnh và
dữ liệu từ bộ nhớ chính, CPU sẽ lấy trên cache Hau hết các máy tính hiện nay đều có cache tích hợp trên chip vi xử lý
• Bộ nhớ ngoài
Bộ nhớ ngoài (Exlernal M em ory) Là thiết bị liru trữ thông tin với dung lượng
lớn tliỏns 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 Iiối với hệ thống thông qua môđun nối
ghép vào-ra N hư vậy, bộ nhớ ngoài vê chức năng ihuộc hộ nhớ, song vê câu trúc nó
Trang 32lạ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ư:
- Đĩa mềm (Floppy d is k ) : là loại đĩa đường kính 3.5 inch dung lượng 1.44 MB
- Đĩa cứng (Hard d is k ) : phổ biến là đĩa cứng có dung lượng 20 GB, 30 GB, 40
GB, 60 G B, và lớn hơn nữa
- Đĩa quang (Com pact disk): loại 4.72 inch, là thiết bị phổ biến dùng để liru trữ các phần mềm mang nhiều thông tin, hình ảnh, âm thanh và thường được sứ dụng trong các phương tiện đa truyền thông (multimedia) Có hai loại phổ biến là: đĩa CD (dung lượng khoảng 700 MB) và DVD (dung lượng khoảng 4.7 GB)
- Các loại bộ nhớ ngoài khác như thè nhớ (Memory Stick, Compact Flash Card), USB Flash Drive có dung lượng phổ biến là 32 MB, 64 MB, 128 M B ,
Floppy disk Compact disk Compact Flash Card USB Flash Drive
Hình 3.3 M ột sổ loại bộ nhớ ngoài.
3.1.4 H ệ th ố n g vào-ra
Chức năng của hệ thống vào-ra là trao đổi thông tin giữa máy tính với thế giới
bên ngoài Hệ thống vào-ra được xây dựng dựa trên hai thành phần: các thiết bị vào-ra (IO devices) hay còn gọi là thiết bị ngoại vi (Peripheral devices) và các m ô-đun ghép
nối vào-ra (IO Interíace modules)
• Mô đun ghép nối vào ra
Các thiết bị vào ra không kết nối trực tiếp với CPU mà được kết nối thôniỉ qua các môđun ghép nối vào-ra Trong các mô đun ghép nối vào-ra có các cổng vào-ra IO Port), các cổng này cũng được đánh địa chi bời CPU, có nghĩa là mỗi cổng cũng có một địa chi xác định Mỗi thiết bị vào-ra kết nối với CPU thông qua cổng tương ứng với địa chi xác định
• Thiết bị vào ra
Mỗi thiết bị vào-ra làm nhiệm vụ chuyển đổi thông tin từ một dạng vật lý nào đó
về dạng dữ liệu phù hợp với máy tinh hoặc ngược lại các thiết bị ngoại vi thông dụng
Trang 33như bàn phím, màn hình, máy in hay một máy tính khác N gười ta có thể phân các thiết
bj ngoại vi ra nhiều loại:
- Thiết bị thu nhận dừ liệu: Bàn phím, chuột, máy quét ảnh,
- Thiết bị hiền thị d ữ liệu: màn hình, máy in ,
- Thiết bị nhớ: các loại 0 đĩa
- Thiết bị truyền thông: modem
- Thiết bị hỗ trợ đa phương tiện: hệ thống âm thanh, hinh ả n h ,
Các thiết bị vào:
- Bàn ph ím (K eyboard, thiết bị nhập chuẩn): là thiết bị nhập dữ liệu và câu lệnh, bàn phím máy vi tính phổ biến hiện nay là một bảng chứa 104 phím có các tác dụng khác nhau
Có thể chia làm 3 nhóm phím chính:
- Nhóm phím đánh máy: gồm các phím chữ, phím số và phím các ký tự đặc biệt(~, !, @, #, $, %, *,&, ?, .)■
- Nhóm phím chức năng (function keypad): gồm các phím từ F1 đến F 12 và các phím như <— T —I• ị (phím di chuyển từng điểm ), phím PgU p (lên trang màn hình), PgDn (xuống trang màn hình), Insert (chèn), D elete (xoá), Home (về đầu), End (về cuối)
- Nhóm phím số (num eric keypad) như N um Lock (cho các ký tự số), CapsLock (tạo các chữ in), ScrollLock (chế độ cuộn màn hình) thể hiện ờ các đèn chì thị
Bàn phím (Keyboard)
Hình 3.4 Một số thiết bị váo ra
Trang 34- C huột (Mouse): là thiết bị cần thiết phổ biến hiện nay, nhất là các máy tính chạy trong môi trường Windows Con chuột có kích thước vừa nam tay di chuyển trên một tấm phang (mouse pad) theo hướng nào thì dấu nháy hoặc mũi tên trẽn màn hình
sẽ di chuyển theo hướng đó tương ứng với vị trí cùa cúa viên bi hoặc tia sáng (optical mouse) nam dưới bụng cùa nó Một số máy tính có con chuột được gắn trên bàn phím
- M áy quét (Scanner): là thiết bị dùng để nhập văn bản hay hình vẽ, hình chụp vào máy tính Thông tin nguyên thuý trên giấy sẽ được quét thành các tín hiệu số tạo thành các tập tin ảnh (image file)
- M áy chiếu (Prọjector): 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,
3.1.5 Liên kết hệ thống (buses)
Giữa các thành phần cùa một hệ thống máy tính hay ngay trong một thành phần phức tạp như CPU cũng cần trao đồi với nhau Nhiệm vụ này được thực thi bởi hệ thống kết nối mà chúng ta quen gọi là bus Tuỳ theo nhiệm vụ cùa chúng mà chúng ta phân làm ba loại chính:
- Bus điều khiển (Control bus): chuyền các thông tin/tín hiệu điều khiển lừ thành phần này đến thành phần khác: CPU phát tín hiệu để điều khiển bộ nhớ hay hệ thống vào-ra hoặc từ hệ thống vào-ra gửi tín hiệu yêu cầu đến CPU
- Bus d ữ liệu (Data bus): làm nhiệm vụ chuyển tải dữ liệu (nội dung ngăn nhớ, kết quả xừ lý) từ CPU đến bộ nhớ hay ngược lại hoặc từ bộ nhớ/CPU ra các thiết bị ngoại vi Đây là loại bus 2 chiều Các máy tính hiện nay thường có đường bit dữ liệu
32 hay 64 bit
Trang 35- B us địa ch ỉ (Address bus): chuyền tài địa chi cùa các ngăn nhớ khi muốn truy nhập ( đọc/ghi) nội dung cùa ngăn nhớ đó hoặc là địa chi cổng của các thiết bị mà CPU cần trao đổi Độ rộng (số bit) cùa bus địa chi cho biết dung lượng cực đại cùa bộ nhớ
mà CPU có thể quàn lý được Với độ rộng là II thì dung lượng bộ nhớ tối đa sẽ là 2"
ệu và giải thuật
ài toán phải giải quyết thường bao gồm 2 phần: phần dữ liệu và phần xư lý
liên quan đến thông tin cùa bài toán cụ thể như: đầu vào - các dữ liệu
I để xử lý và đầu ra là kết quả xử lý Phần xử lý là những thao tác dược
I hành nhằm đáp ứng yêu cầu người dùng
y Bài toán đơn giản là sắp xếp một dãy số nguyên ai, a2, a , theo chiều
/ n va n số
nguyên a„ 1=1,2 , ,n Và đầu ra là dãy số đã sắp theo chiều tảng dần Các xử lý là các
liều diễn dữ lỉệu một cách trừu tượng là một vấn đề khá phức tạp, thi dụ
ờ trên sẽ được lưu trữ ra sao trong máy tính (cả dãy vào lẫn dãy két qua), lúng ta không xét ờ đây mà sẽ trình- bày trong một giáo trình khác
xác định các thao tác xử lý để đáp ứng yêu cằu đặt ra của người dùng là một nhiệm V ụ lất quan trọng Nó không phải là phương pháp chung mà phải cụ thẻ về các
Việc
như dãy số
Tạm thời c
Việc
thao tác và việc liên kết các thao tác đ ó Việc xác định các thao tác xử lý đ ư ợ c các nhà
là xây dựng giài thuật hay thuật toán hay thuật giài (algorithm ) Có nhiềutin h ọ c u ọ i là xây dựng giài thuật hay ihuộl toán hay thuật giài (al(
cách diễn đạt khác nhau về thuật ngữ này, song chúng ta có thể diễn (
Giải thuật để giải một bài toán là một dãy hữu hạn các thao tác và
trình tự thực hiện các thao tác đó sao cho sau khi thực hiện dãy thao tác
này theo trinh tự đã chi ra, với đầu vào (input) ta thu được kết quả đầu ra
(output) mong muốn
Trang 36Để diển tả giải thuật chúng ta có thế sừ dụng nhiều cách biểu diễn: Ngôn ngữ mỏ phòng, mã già và lưu đồ (hay còn gọi là sơ đồ khối).
Mô phỏng là dùng ngôn ngữ tự nhiên hay ngôn ngữ kí hiệu nào đó để diễn tả các bước cùa giải thuật Trong mỗi bước phải xác định rõ thao tác cần thực hiện và trình tự thực hiện bước tiếp
Thi dụ 1: Tìm giá trị lớn nhất cùa một dãy số nguyên có N số:
- Đầu vào: số số nguyên dương N và N số nguyên a ); a2, aN
- Đầu ra: số nguyên lớn nhất cùa dãy at, k trong khoảng [1 N ]
Ỷ tướng
- K.hời tạo giá trị Max = a,
- Lần lượt so sánh Max với i= 2 ,3 , N nếu a* > Max ta gán giá trị mới cho Max
Giải thuật
B l: Nhập dãy số a , B2: Max <— a|
B3- Nếu i > N Chuyển xuống bước B7B4: Nếu > Max, gán cho Max
B5: Tăng i lên 1 đơn vị
B6: Quay lên B3
B7: Kết thúc in ra số lớn nhất là Max
ịQ ui ước: Hình ô van thể hiện thao tác bắt đầu hay kết thúc.)
Trang 37T rone phương pháp lưu đồ, người ta sử dụng các hình vẽ diễn tả các bước cùa thuật toán Các khối chữ nhật diễn tả các bước thực hiện các thao tác nhập, xuất dữ liệu tính toán giá trị của một đại lượng hay gọi thực hiện một bài toán Các khối hình thoi diễn tả bước kiềm tra một điều kiện đè lựa chọn bước công việc tiếp theo Mũi tên diễn tà trình tự thực hiện các bước Ngoài ra có thể sử dụng thêm một số kí hiệu khác nhưng phải có ghi chú rõ ràng C hẳng hạn, với giải thuật trên, biểu diễn theo sơ đồ khố ta có:
Thi dụ 2: s ắ p xếp bàng phương pháp tráo đồi (Exchange Sort)
Đầu vào: Dãy A gồm N số nguyên ai, a2, , aN
Đầu ra: Dãy A dược sắp lại theo thứ tự không giảm
B5 Tăng i lên 1 đơn vị
B6 Nếu i > M thì quay lại bước 3
B7 Nếu ai > a i+i thì tráo đổi hai số đó cho nhau
C hú ý:
- Giài thuật này tạo ra sau mỗi lượt sắp một phần tử đúng vị trí và phần từ nàykhôig còn tham gia vào quá trình sắp nữa Nó giống như bọt nước nổi lên mặt nước:bónỊ nhẹ sẽ được đẩy dấn lên trẽn Cũng chính vì thế mà sẳp xếp tráo đổi còn có tên
“nô bọt " (Bubble Sort).
- Ọuá trình được lặp lại với dãy sau khi đã bò phần từ cuối dãy, do vậy lúc đầu
M drợc gán với giá trị N và dừng khi M < 2
- Trong giải thuật trên, i được khời tạo giá trị 0 và tiến tới M + I
Trang 38Với thuật toán trên, cách biểu diễn theo sơ đồ khối như sau:
khác Xu hirÓRg chung hiện nay ià sử dụng các ngôn ngữ lập trình như Pascal C7C ha> J a v a Tuy nhiên, không nhất thiết phải sử dụng đúng ký pháp của các ngôn ng ữ đó
Cũng
P D L 1 r>mi: r:i" i* fo |3 tỊT im f|p ffrw ljÉ p w in ) I
Mọt giải thuật phải thoả mãn 3 tính chẤt sau:
2) Khi két thúc, giải thuật phải cung Cấp kết q u i đúng đắn
gian như bộ nhớ, thiết b ị, Hơn nữa, giải thuật cần mang tính phổ dụng,
dễ hiểu, dễ cài đặt và mờ rộng cho các lớp bài toán khác
Theo phong cách iặp trình cấu trúc, thuật toán được xây dựng với ha cấu trúc
cơ bàn sau:
Trang 39I trác rẽ nhârth (7 nhánh) c<s thể mở rộng cho nhiều nhánh
3 C ấu tr ú c lặ p
Một tác động/ nhiệm vụ có thể được thực hiện lặp nhiều lần s ố lần lặp có thề biết trước hoặc không biết trước.Tuy nhiên số lần lặp phải hữu hạn Thí dụ tim số lớn
Trang 40nhất cùa một dãy có n số Để thực hiện yêu cầu này, ta lần lượt phái so sánh số Maxtạm thời (lúc đầu max được gán bằng phần tử thứ nhất, ai) với a„ với i từ 2, 3 n.Việc so sánh này được thực hiện lặp nhiều lần giữa max và a, Khi kết thúc quá trình lặp, ta sẽ thu được Max là số lớn nhất cùa dãy 11 số.
Sơ đồ chung cùa cấu trúc: Một tác động/ nhiệm vụ có thể được thực hiện lặp nhiều lần Tuy nhiên số lần lặp phái hữu hạn, và số lần lặp có thể biết trước hoặc không biết trước Thí dụ: tìm số lớn nhất cùa một dãy có n số Đe thực hiện yêu cầu này, ta lần lượt phải so sánh số Max tạm thời (lúc đầu Max được gán bằng phần tử thứ nhất, ai) với a„ với i từ 2, 3 , , n Việc so sánh này được thực hiện lặp nhiều lần giữa Max và a, Khi kết thúc quá trình lặp, ta sẽ thu được số Max, số lớn nhắt cùa dãy n số
Sơ đồ chung của cấu trúc lặp:
3.2.2 Chương trình và ngôn n g ữ lập trình
Giải thuật mới chi ra cách giải quyết một bài toán theo kiểu tư duy cùa con người Để máy có thể hiểu và tiến hành xử lý được ta phải biến các bước thao tác thành các chi thị (statement) và biểu diễn trong dạng mà máy tính hiểu được Quá trình này
gọi là lộp trình Giải thuật được biếu diễn dưới dạng một tập các chi thị cùa một ngôn ngữ nào đó gọi là chưomg trình Ngôn ngữ dùng để lập trình gọi là ngôn ngữ lập trình -
ngôn ngữ dùng để trao đổi với máy tính, máy tính hiểu và thực thi nhiệm vụ đã chi ra.Tương tự với dữ liệu, máy tính không thể xử lý dữ liệu một cách hình thức như trong giải tích mà nó phải là những con số hay những giá trị cụ thể N Wirth người sáng lập ra trường phái lập trình cấu trúc, tác giả của ngôn ngữ lập trình Pascal nồi tiếng đã cho rang:
C h ư o n g írin h = G iải th u ậ t + c ấ u trú c d ữ liệu