Giáo trình Tin học đại cương - Lê Anh Tuấn

pdf 169 trang ngocly 2610
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Tin học đại cương - Lê Anh Tuấn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_tin_hoc_dai_cuong_le_anh_tuan.pdf

Nội dung text: Giáo trình Tin học đại cương - Lê Anh Tuấn

  1. LỜI NÓI ÐẦU TIN HỌC là môn học bắt buộc đối với tất cả sinh viên giai đoạn I trong các trường Ðại học ở Việt Nam chính thức từ năm 1992. Từ đó đến nay, chúng ta đã có nhiều sách và giáo trình Tin học khác nhau do nhiều tác giả biên soạn. Ðây là những tài liệu cần thiết cho cả giảng viên và sinh viên tham khảo và sử dụng. Do sự phát triển nhanh chóng của ngành Tin học và do yêu cầu đổi mới trong chương trình đào tạo của Bộ Giáo dục và Ðào tạo, việc biên soạn mới bài giảng là một trong những yêu cầu chính yếu của trường Ðại học Cần Thơ và các Trung tâm đào tạo khu vực khác. Giáo trình Tin học đại cương này ra đời nhằm mục đích giúp cho sinh viên có được một tài liệu học tập cần thiết cho môn học này. Tác giả chân thành cám ơn: - Giáo sư Tiến sĩ Trần Phước Ðường, nguyên Hiệu trưởng Trường Ðại học Cần Thơ - Giáo sư Tiến sĩ Piet Boon, Giảng sư Trường Ðại học Amterdam, Hà Lan - Giáo sư Tiến sĩ Jan Oldenziel, Giảng sư Trường Ðại học Amterdam, Hà Lan - Các thành viên Hà lan trong Dự án MHO-3 (Universiteit van Amsterdam) và Dự án MHO-4 (Hogeschool van Amsterdam) và Dự án MHO-1 (Vrije Universiteit van Amsterdam) - Các đồng nghiệp ở Khoa Khoa học, Khoa Công nghệ, Khoa Công nghệ Thông tin, Phòng Quản lý Khoa học và Sau Ðại học, và các đơn vị liên quan thuộc trường Ðại học Cần Thơ. đã tạo rất nhiều điều kiện về tài liệu và phương tiện cho tác giả hoàn thành bài giảng này. Một số các ví dụ, bài tập, câu giải thích trong bài giảng có trích dẫn hoặc được viết lại từ một số sách được nêu trong các tài liệu tham khảo ở cuối mỗi chương. Do không có điều kiện tiếp xúc, trao đổi để xin phép việc trích dẫn của các tác giả trong tài liệu tham khảo, mong quí vị vui lòng miễn chấp. Mặc dầu có nhiều cố gắng nhưng bài giảng không thể tránh khỏi các khuyết điểm, tác giả mong nhận được sự phê bình đóng góp của các bạn. Trân trọng, Tác giả, ThS. LÊ ANH TUẤN
  2. GIỚI THIỆU Bộ giáo trình này gồm bài giảng các môn Toán, Lý, Hóa, Sinh và Tin học của hai năm đầu Khoa học cơ bản ở bậc đại học. Các bài giảng được biên soạn căn cứ vào đề cương chi tiết do Bộ Giáo dục và Ðào tạo ban hành cùng với 20% cải đổi được phép để phù hợp với chuyên ngành đào tạo và thực tiễn ở địa phương. Bộ giáo trình này là một phần của chương trình cải tiến phương pháp dạy và học ở cấp Ðại học của trường Ðại học Cần Thơ. Giáo trình được biên soạn với hai chủ đích: * Cung cấp cho giáo viên nội dung chuẩn để biên soạn bài giảng. * Cung cấp cho sinh viên kiến thức tối thiểu cần có của môn học. Bài giảng, ngoài phần lý thuyết, giới thiệu phần đọc thêm, những ứng dụng vào thực tiễn, bài tập v.v giúp sinh viên phát triển khả năng tự học, quen dần thói quen ứng dụng kiến thức vào thực tiễn và, như vậy, dần dần hình thành tư duy sáng tạo và thực tế. Bộ giáo trình này được thực hiện với sự hợp tác của các giáo sư nhiều kinh nghiệm trong nước và các giáo sư Hà Lan. Bài giảng được hiệu chỉnh sau nhiều lượt góp ý của các giáo viên trực tiếp đứng lớp và nhiều hội thảo. Cuối cùng Ban Giám Hiệu trường Ðại học Cần Thơ tổ chức nghiệm thu thông qua Hội đồng gồm nhiều thành viên phản biện là các Thầy, Cô giáo trong và ngoài trường. Bộ giáo trình xuất bản lần này tuy đã được thực hiện khá công phu và nghiêm túc nhưng cũng không tránh khỏi một số thiếu sót. Chúng tôi rất mong nhận được sự đóng góp của độc giả để lần xuất bản sau hoàn chỉnh hơn. Chúng tôi chân thành cảm ơn chính phủ Hà Lan (Nuffic) và Bộ Giáo dục và Ðào tạo đã tài trợ và tạo điều kiện thuận lợi cho công tác biên soạn bộ giáo trình này. Cám ơn các giáo sư Hà Lan, các giáo sư trong nước và tất cả các cá nhân đã góp phần tích cực vào công tác biên soạn và ấn hành bộ giáo trình này. Cần Thơ, tháng 1 năm 1999 Chủ biên NGND Gs.Ts. Trần Phước Ðường
  3. GIỚI THIỆU MÔN HỌC Bài giảng môn TIN HỌC ÐẠI CƯƠNG (A) này dành cho sinh viên giai đoạn I của ngành Kỹ thuật (Khối A). Môn học này có 5 tín chỉ (tương đương 75 tiết học chuẩn, bao gồm 45 tiết lý thuyết - 3 tín chỉ - trên giảng đường và 60 tiết thực hành - 2 tín chỉ -trên phòng máy tính). Bài giảng được soạn dựa vào chương trình hướng dẫn của Bộ Giáo dục và Ðào tạo và Ðề cương biên soạn Giáo trình trong Hội thảo về Nội dung chương trình giảng dạy giai đoạn I Khoa học tự nhiên được tổ chức từ ngày 30 - 31/12/1995 tại trường Ðại học Cần Thơ. Sinh viên học môn Tin học đại cương này cần có một số kiến thức sơ đẳng về Máy tính ở bậc Trung học. Tuy nhiên, khả năng này không hẳn có thể có được ở một số sinh viên do sự khác nhau thực tế về điều kiện địa lý và xã hội ở Ðồng bằng Sông Cửu Long so với một số khu vực khác. Trong một lớp, mặt bằng hiểu biết cơ bản về máy tính của sinh viên xuất thân từ thành phố lớn và sinh viên xuất thân từ vùng nông thôn có thể có sự chênh lệch khá rõ. Ðiều này cũng gây một số khó khăn nào đó cho giảng viên. Trước yêu cầu hiện đại hóa và cập nhật hoá môn học, chương trình này đã có một số sửa đổi - về nội dung và thời lượng - so với chương trình của Bộ trong khuôn khổ cho phép. Môn học có 3 phần chính, trong đó trọng tâm của môn học là phần lập trình ngôn ngữ Pascal, có số giờ chiếm 2/3ì thời lượng. Chương trình có 3 phần như sau: ( Phần I: Ðại cương về Tin học 9(9,0) ( Phần II: Hệ điều hành và các phần mềm hỗ trợ 16(6,10) ( Phần III: Ngôn ngữ lập trình cấp cao 50(30,20) Các thuật ngữ Tin học sử dụng trong bài giảng là các từ tương đối quen thuộc trong nước. Ðể tránh nhầm lẫn, một số thuật ngữ có phần chú thích tiếng Anh đi kèm. Cuối giáo trình là các tài liệu tham khảo liên quan. Sinh viên có thể sử dụng các tài liệu tham khảo như một tài liệu thứ hai cho việc bổ sung kiến thức của mình. Một số bài đọc thêm và phụ chương - do bị giới hạn bởi số giờ học trên lớp - cũng được đưa vào ở một số chương cho sinh viên tham khảo ở nhà. Phần bài tập cho các chương được trình bày và hướng dẫn tập Thực hành Tin học đại cương .
  4. CHƯƠNG 1 THÔNG TIN VÀ XỬ LÝ THÔNG TIN I. THÔNG TIN. 1. Khái niệm về thông tin, phân loại thông tin. 2. Ðơn vị đo thông tin. 3. Mã hóa thông tin rời rạc. II. XỬ LÝ THÔNG TIN. 1. Sơ đồ tổng quát của một quá trình xử lý thông tin. 2. Xử lý thông tin bằng máy tính điện tử. III. TIN HỌC. 1. Các lĩnh vực nghiên cứu của tin học. 2. Ứng dụng của tin học. 3. Máy tính điện tử và lịch sử phát triển. I. THÔNG TIN 1. Khái niệm về thông tin, phân loại thông tin TO Dữ liệu (data) là các sự kiện không có cấu trúc, không có ý nghĩa rõ ràng, cho đến khi chúng được tổ chức theo một tiến trình tính toán nào đó. Thông tin (Information) là một khái niệm trừu tượng được thể hiện qua các thông báo, các biểu hiện đem lại một nhận thức chủ quan cho một đối tượng nhận tin. Thông tin là dữ liệu đã được xử lý xong, mang ý nghĩa rõ ràng. Thông tin cũng có thể bị diễn đạt sai lệch, xuyên tạc do tác động cố ý hay vô ý của con người hay sinh vật khác. Một hệ thống thông tin (information system) là một tiến trình ghi nhận dữ liệu, xử lý nó và cung cấp tạo nên dữ liệu mới có ý nghĩa thông tin, liên quan một phần đến một tổ chức, để trợ giúp các hoạt động liên quan đến tổ chức. 2. Ðơn vị đo thông tin TO Ðơn vị dùng để đo thông tin gọi là bit. Một bit tương ứng với một chỉ thị hoặc một thông báo nào đó về 1 sự kiện có 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). Ví dụ 1. Một mạch đèn có 2 trạng thái là:
  5. - 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ẽ giới thiệu ở chương 3) sử dụng hai số hạng 0 và 1. Vì khả năng sử dụng hai số 0 và 1 là như nhau nên một chỉ thị chỉ gồm 1 chữ số nhị phân có thể xem như là chứa đơn vị thông tin nhỏ nhất. Bit là chữ viết tắt của BInary digiT. Trong tin học, người ta thường sử dụng các đơn vị đo thông tin lớn hơn sau: Bảng 1. Bảng đơn vị đo thông tin Tên gọi Ký hiệu Giá trị Byte B 8 bit KiloByte KB 210 B = 1024 Bytes MegaByte MB 220 B GigaByte GB 230 B TetraByte TB 240 B Năm 1948, nhà bác học Shannon đã đưa ra công thức sau để tính lượng thông tin, bằng cách đo khả năng xuất hiện các sự kiện trong một thông báo, ký hiệu là H và gọi là Entropi : trong đó : n là số sự kiện lớn nhất có khả năng xuất hiện Ví dụ 2. Gieo ngẫu nhiên 1 đồng xu, có thể xảy ra 1 trong 2 sự kiện trong mỗi lần gieo là khả năng xuất hiện mặt sấp hoặc mặt ngữa. Vì đồng xu xem như đồng chất, nên xác suất xuất hiện của mỗi sự kiện là p = 1/2 . Vậy lượng tin sẽ là : Ví dụ 3. Tương tự như trên nếu ta gieo 1 con súc sắc, thì n = 6 và p = 1/6 Lượng tin H sẽ là : 0
  6. Ví dụ 4. Một trạm khí tượng X bằng việc phân tích nhiều số liệu khác nhau đã đưa ra dự đoán khả năng có mưa rơi một vùng nào đó vào ngày mai là 75%. Suy ra khả năng không có mưa sẽ là 100% - 75% = 25%. Như vậy thông báo trên có lượng tin theo Shannon là : So sánh 3 ví dụ trên, ta thấy xác suất xuất hiện một tin càng thấp thì lượng tin càng cao vì mức độ bất ngờ của nó càng lớn và ngược lại. Tuy nhiên, không phải lúc nào ta cũng xác định được xác suất xuất hiện sự kiện nên việc áp dụng công thức Shannon bị hạn chế. 3. Mã hóa thông tin rời rạc : TO Tất cả các thông tin ở dạng văn bản (text), chữ (character), số (number), ký hiệu (symbol), đồ họa (graphic), hình ảnh (image) hoặc âm thanh (sound) đều được gọi là các tín hiệu (signals). Tín hiệu có thể là liên tục hay rời rạc. Máy tính tương tự (Analog Computer) là máy tính chuyên dụng xử lý môt số các tín hiệu liên tục như tín hiệu điện, âm thanh Trong khi đó, hầu hết các dữ liệu mà chúng ta có được thường ở dạng các tín hiệu rời rạc để diễn tả các tín hiệu liên tục qua các số đo hữu hạn. Khi đưa các tín hiệu này vào máy tính, chúng được mã hóa theo các tín hiệu số (digital signal) nhằm giúp máy tính có thể hiểu được thông tin đưa vào. Ðây là cơ sở thực tiễn của nguyên lý mã hoá thông tin rời rạc. Nguyên lý này tập trung các điểm chủ yếu sau : - Tín hiệu liên tục có thể xem như một chuỗi xấp xỉ các tín hiệu rời rạc với chu kỳ lấy mẫu nhỏ ở mức độ chấp nhận được (Hình 1.). - Tín hiệu rời rạc có thể được đặc trưng qua các bộ ký hiệu hữu hạn (chữ cái, chữ số, dấu, ) gọi là phép mã hóa (encode) (Hình 2.). Mọi phép mã hóa đều có thể xây dựng trên bộ ký hiệu các chữ số, đặc biệt chỉ cần bộ ký hiệu gồm 2 chữ số là 0 và 1. Ngược với phép mã hoá gọi là phép giải mã (decode).
  7. Tín hiệu rời rạc là tín hiệu có trục thời gian bị rời rạc hoá với chu kỳ lấy mẫu là Ts = 1/Fs , với Fs là tần số lấy mẫu. Tiếng nói con người thường có tần số Fs = 10 kHz. Một ví dụ về thông tin rời rạc là hình trên phim khi được chiếu lên màn ảnh là các ảnh rời rạc xuất hiện với tốc độ 25 ảnh/giây. Mắt người không phân biệt sự rời rạc này nên có cảm tưởng hình ảnh là liên tục. Mã hoá thông tin rời rạc là một khái niệm rất căn bản trong kỹ thuật máy tính. II. XỬ LÝ THÔNG TIN 1. Sơ đồ tổng quát của một quá trình xử lý thông tin TO Mọi quá trình xử lý thông tin bằng máy tính hay bằng con người đều được thực hiện theo một qui trình sau : Dữ liệu (data) được nhập ở đầu vào (input). Máy tính hay con người sẽ thực hiện quá trình xử lý nào đó để nhận được thông tin ở đầu ra (output). Quá trình nhập dữ liệu, xử lý và xuất thông tin đều có thể được lưu trữ (Hình 3.). Hình 1.3 Mô hình tổng quát quá trình xử lý thông tin 2. Xử lý thông tin bằng máy tính điện tử Thông tin là kết quả bao gồm nhiều quá trình xử lý các dữ liệu và thông tin có thể trở thành dữ liệu mới để theo một quá trình xử lý khác tạo ra thông tin mới hơn theo ý đồ của con người. Con người có nhiều cách để có dữ liệu và thông tin. Người ta có thể lưu trữ thông tin qua tranh vẽ, giấy, sách báo, hình ảnh trong phim, băng từ, Trong thời đại hiện nay, khi lượng thông tin đến với chúng ta càng lúc càng nhiều thì con người có thể dùng một công cụ hỗ trợ cho việc lưu trữ, chọn lọc và xử lý lại thông tin gọi là máy tính điện tử (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 sứ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á trình xử lý dữ liệu hay thông tin. III. TIN HỌC 1. Các lĩnh vực nghiên cứu của tin học TO Tin học (Informatics) được định nghĩa là ngành khoa học nghiên cứu các phương pháp, công nghệ và kỹ thuật xử lý thông tin tự động. Công cụ chủ yếu của tin học là máy tính điện tử và các thiết bị truyền tin khác. Việc nghiên cứu chính của tin học nhắm vào 2 kỹ thuật phát triển song song : - Kỹ thuật phần cứng (hardware 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ớ1 hỗ trợ cho máy tính và mạng máy tính đẩy mạnh khả năng xử lý toán học và truyền thông thông tin.
  8. - Kỹ thuật phần mềm (software engineering): nghiên cứu phát triển các hệ điều hành, ngôn ngữ lập trình cho các bài toán khoa học kỹ thuật, mô phỏng, điều khiển tự động, tổ chức dữ liệu và quản lý hệ thống thông tin. 2. Ứng dụng của tin học Tin học hiện đang được ứng dụng rộng rãi trong tất cả các ngành nghề khác nhau của xã hội từ khoa học kỹ thuật, y học, kinh tế, công nghệ sản xuất đến khoa học xã hội, nghệ thuật, như: - Tự động hóa văn phòng - Quản trị kinh doanh - Thống kê - An ninh, quốc phòng - Công nghệ thiết kế - Giáo dục - Y học - Công nghệ in - Nông nghiệp - Nghệ thuật, giải trí, v.v 3. Máy tính điện tử và lịch sử phát triển TO Do nhu cầu cần tăng độ chính xác và giảm thời gian tính toán, con ngườ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, máy phân giải điều khiển bằng phiếu đục lỗ của Charles Babbage (1792 - 1871) Tuy nhiên, máy tính điện tử thực sự hình thành bắt đầu vào thập niên 1950 và đến nay đã trải qua 5 thế hệ được phân loại theo sự tiến bộ về công nghệ điện tử và 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 mỗi giây. Loại máy tính điển hình thế hệ 1 như EDVAC (Mỹ) hay BESM (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 đã 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 đến 100.000 phép/s. Ð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ộ xử lý bằng vi mạch điện tử cỡ nhỏ có thể có được tốc độ tính khoảng 100.000 đến 1 triệu phép/s. Máy đã có các hệ điều hành đa chương trình, nhiều người dùng đồng thời hoặc theo kiểu 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 đến 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/giây. 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 Computer - 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 vi xử lý hình thành các hệ thống mạng máy tính (Computer Networks), và các ứng dụng phong phú đa phương tiện.
  9. * Thế hệ 5 (1990 - nay): bắt đầu có 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ự suy diễn phát triển các tình huống nhận được và những hệ quản lý kiến thức cơ sở để giải quyết các bài toán đa dạng. CHƯƠNG 2 NHỮNG NGUYÊN LÝ CƠ BẢN VÀ CẤU TRÚC TỔNG QUÁT CỦA HỆ XỬ LÝ THÔNG TIN TỰ ÐỘNG I. NHỮNG NGUYÊN LÝ THIẾT KẾ CƠ BẢN. 1. Nguyên lý Turing. 2. Nguyên lý Von-Neumann. II. CẤU TRÚC TỔNG QUÁT CỦA HỆ XỬ LÝ THÔNG TIN TỰ ÐỘNG. 1. Phần cứng. 2. Phần mềm. BÀI ÐỌC THÊM KHÁI NIỆM VỀ MẠNG MÁY TÍNH. I. NHỮNG NGUYÊN LÝ THIẾT KẾ CƠ BẢN 1. Nguyên lý Turing TO Alan Mathison Turing (1912 - 1954) là một nhà toán học người Anh đã đưa ra một thiết bị tính đơn giản gọi là máy Turing. Về lý thuyết, mọi quá trình tính toán có thể được thì đều có thể mô phỏng lại trên máy Turning. Máy Turning gồm có (xem hình vẽ 2.1): - Một bộ điều khiển trạng thái hữu hạn (finite control), trong đó có các trạng thái đặc biệt như trạng thái khởi đầu và trạng thái kết thúc. - Một băng ghi (tape) chứa tín hiệu trong các ô. - Một đầu đọc (head) và ghi có thể di chuyển theo 2 chiều trái hoặc phải một đơn vị.
  10. Hình 2.1 Sơ đồ máy Turing Ðầu đọc/ghi mang chức năng thông tin nối giữa Bộ điều khiển hữu hạn và băng ghi. Ðầu bằng cách đọc dấu hiệu từ băng và cũng dùng nó để thay đổi dấu hiệu trên băng. Bộ kiểm soát vận hành theo từng bước riêng biệt; mỗi bước nó thực hiện 2 chức năng tùy thuộc vào trạng thái hiện tại của nó và tín hiệu hiện tại của băng: 1. Ðặt bộ điều khiển ở trạng thái ban đầu q1, băng trắng và đầu đọc/ghi chỉ vào ô khởi đầu. 2. Nếu: (a) trạng thái hiện tại q trùng với trạng thái kết thúc qo thì máy sẽ dừng. (b) ngược lại, trạng thái q sẽ chuyển qua q, tín hiệu trên băng s thành s và đầu đọc dịch chuyển sang phải hoặc trái một đơn vị. Máy hoàn thành xong một bước tính toán và sẵn sàng cho bước tiếp theo. 2. Nguyên lý Von Neumann TO Năm 1946, nhà toán học Mỹ John Von Neumann (1903 - 1957) đã đề ra một nguyên lý máy tính hoạt động theo một chương trình được lưu trữ và truy nhập theo địa chỉ. Nguyên lý này được trình bày ở một bài báo nổi tiếng nhan đề: Thảo luận sơ bộ về thiết kế logic của máy tính điện tử . Nội dung nguyên lý Von Neumann gồm : - Máy tính có thể hoạt động theo một chương trình đã được lưu trữ. Theo Von Neumann, chúng ta có thể tập hợp các lệnh cho máy thi hành theo một chương trình được thiết kế và coi đó như một tập dữ liệu. Dữ liệu này được cài vào trong máy và được truyền bằng xung điện. Ðây là một cuộc cách mạng mới cho máy tính nhằm tăng tốc độ tính toán vào thời đó vì trước kia máy chỉ có thể nhận được các lệnh từ băng giấy hoặc bìa đục lỗ và nạp vào bằng tay. Nếu gặp bài toán lặp lại nhiều lần thì cũng tiếp tục bằng cách nạp lại một cách thủ công như vậy gây hạn chế trong tính toán sử dụng. - Bộ nhớ được địa chỉ hóa Mỗi dữ liệu đều có một địa chỉ của vùng nhớ chứa số liệu đó. Như vậy để truy nhập dữ liệu ta chỉ cần xác định địa chỉ của nó trên bộ nhớ. - Bộ đếm của chương trình Nếu mỗi câu lệnh phải dùng một vùng nhớ để chứa địa chỉ của câu lệnh tiếp theo thì không gian bộ nhớ sẽ bị thu hẹp. Ðể khắc phục hạn chế này, máy được gắn một thanh ghi để chỉ ra vị trí của lệnh tiếp theo cần được thực hiện và nội dung của nó tự động được tăng lên mỗi lần lệnh được truy cập. Muốn đổi thứ tự lệnh ta chỉ cần thay đổi nội dung thanh ghi bằng một địa chỉ của lệnh cần được thực hiện tiếp. II. CẤU TRÚC TỔNG QUÁT CỦA HỆ XỬ LÝ THÔNG TIN TỰ ÐỘNG Mỗi loại máy tính có thể có các hình dạng hoặc cấu trúc khác nhau, tùy theo mục đích sử dụng nhưng, 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 3 phần chính: * Ðơn vị xử lý trung ương (CPU - Central Processing Unit)
  11. * Khối bộ nhớ (Memory): để chứa chương trình và dữ liệu * Khối vào ra (Input/Output): bao gồm màn hình, máy in, bàn phím, 1. Phần cứng (Hardware) TO Phần cứng có thể được hiểu đơn giản là tất cả các phần trong một hệ máy tính mà chúng ta có thể thấy hoặc sờ được. Phần cứng gồm các thiết bị máy có thể thực hiện các chứa năng sau: * Nhập dữ kiện vào máy (input) * Xử lý dữ kiện (processing) * Xuất dữ kiện/ thông tin (output) a. Sơ đồ cấu trúc phần cứng Hình 2.2 Sơ đồ cấu trúc phần cứng b. Bộ nhớ 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 gồm ROM và RAM : - ROM (Read Only Memory) là Bộ nhớ chỉ đọc thông tin dùng để lưu trữ các chương trình hệ thống, chương trình điều khiển việc nhập xuất cơ sở (ROM-BIOS : ROM-Basic Input/Output System). Thông tin được giữ trên ROM thường xuyên ngay cả khi mất điện. Bộ nhớ này được các công ty sản xuất máy tính cài đặt sẵn trên máy thường có kích cỡ 16 KB(loại IBM PC XT), hoặc 32 KB, 64 KB (loại IBM PC AT). Người sử dụng máy tính không thể tự thay đổi nội dung thông tin trong ROM.
  12. - RAM (Random Access Memory) là Bộ nhớ truy xuất ngẫu nhiên, được dùng để lưu trữ dữ kiện 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ớ cho các máy tính hiện nay (loại PC AT 486 trở lên) thông thường vào khoảng 4 MB, 8 MB, 16 MB, 32 MB hoặc 64 MB và có thể hơn nữa. Bộ nhớ ngoài: như đĩa từ, băng từ Ðể lưu trữ thông tin và có thể chuyển các tin này qua máy tính khác, người ta sử dụng các đĩa, băng từ như là các bộ nhớ ngoài. Các bộ nhớ này có dung lượng chứa lớn, không bị mất đi khi không có nguồn điện. Trên các máy vi tính phổ biến hiện nay có các loại đĩa từ sau: - Ðĩa cứng (hard disk) : có nhiều loại dung lượng từ vài trăm đến vài ngàn MB, đến nay đã có đĩa cứng hơn 10 GB. - Ðĩa mềm (floppy disk) : phổ biến có 2 loại đĩa có đường kính 5.25 inches (dung lượng 360 KB hoặc 1.2 MB) và loại 3.5 inches (dung lượng 720 KB hoặc 1.44 MB) Hình 2.3 Ðĩa máy tính loại 3.5 in và 5.25 in. - Ðĩa quang (Compact disk): loại 4.72 inches có dung lượng vào khoảng 600 MB. Ðĩa quang thường chỉ được đọc và không ghi được (CD-ROM) là thiết bị phổ biến với các phần mềm phong phú mang nhiều thông tin, hình ảnh, âm thanh không thể thiếu được trong các phương tiện đa truyền thông (multimedia). Tốc độ quay của đĩa mềm 5.25 in. khoảng 300 vòng/phút, đĩa 3.5 in. khoảng 600 vòng/phút. Tốc độ quay của đĩa cứng rất cao thường đạt trên 3600 vòng/phút. Vì vậy, thông tin chứa trên đĩa cứng sẽ được truy cập nhanh hơn trên đĩa mềm rất nhiều. Hiện nay trên thị trường còn có loại đĩa nén, có kích thước như loại đĩa 1.44 MB, nhưng có dung lượng đến 100 MB và dễ dàng mang đi các nơi. c. Bộ xử lý trung ương (CPU) Bộ xử lý trung ương chỉ huy các hoạt động của máy tính theo lệnh và thực hiện các phép tính. CPU có 3 bộ phận chính: khối điều khiển, khối tính toán số học và logic, và một số thanh ghi. · Khối điều khiển (CU: Control Unit) là trung tâm điều hành máy tính. 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. · Khối tính toán số học và logic (ALU: Arithmetic-Logic Unit) 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 nhau, )
  13. · Các thanh ghi (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. 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. 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 PC 386 DX trở lên) là 33 MHz, 66 MHz, 100 MHz, 120 MHz, 133 MHz, hoặc cao hơn. d. Các thiết bị xuất / nhập Hình 2.4 Các bộ phận của một máy tính Các thiết bị nhập thông tin chính: - Bàn phím (Keyboard): 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: Hình 2.5 Bàn phím + 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 key): gồm các phím từ F1 đến F12 và các phím khác như (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), Insert (chèn), Delete (xóa), Home (về đầu), End (về cuối), + Nhóm phím đệm số (numeric keypad) như NumLock (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ị. Ngoài 3 phím có đèn chỉ thị trên ta còn các nút điều khiển sau:
  14. - Phím Shift: kèm với các phím chữ sẽ tạo ra chữ in hoa hoặc thường, đổi phím số thành các ký hiệu tương ứng trên nó. - Phím BackSpace: lùi điểm nháy đồng thời xóa ký tự đứng trước nó. - Phím Enter: nút thi hành lệnh hoặc xuống hàng. - Phím Space: thanh dài nhất, tạo ký tự rỗng. - Phím PrintScreen: nút in nội dung màn hình ra giấy. - Phím Pause: dừng thi hành chương trình. - Phím Ctrl (Control) và Alt (Alternate): là phím dùng để phối hợp các phím khác tùy chương trình sử dụng. - Phím Esc (Escape): phím thoát, được dùng khi có chỉ định rõ. - Phím Tab: phím nhảy cách, thường 8 khoảng (khoảng nhảy có thể khác đi tùy chương trình hay người sử dụng định). - Con chuộ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 nắm tay di chuyển trên một tấm phẳng (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) nằm 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. Hình 2.6 Con chuột - 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 thủy 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). Scanner đi kèm với phần mềm để nhận diện các tập tin ảnh hoặc văn bản. - Digitizer: dùng để nhập dữ liệu đồ họa theo tọa độ X-Y vào máy tính, thường được dùng trong vẽ bản đồ. - Bút quang (Light pen): dùng nhập điểm bằng cách chấm lên màn hình. - Touch screen: màn hình đặc biệt có thể dùng ngón tay để chạm lên các điểm. Các thiết bị xuất thông tin chính: - Màn hình (Screen hay Monitor): là thiết bị xuất chuẩn, dùng để thể hiện thông tin cho người sử dụng xem. 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. Vì vậy để xuất thông tin ra màn hình ta chỉ cần xuất ra vùng nhớ tương ứng.
  15. Hình 2.8 Màn hình - Trong chế độ văn bản, màn hình thể hiện 80 cột ký tự (đánh số từ 0 - 79) và 25 dòng (đánh số từ 0 - 24). - Trong chế độ đồ họa, màn hình được chia thành các phần tử ảnh (pixel: picture element). Ðộ phân giải màn hình được xác định bằng tích số kích thước chiều ngang và chiều cao tính theo phần tử ảnh. Tích số này càng lớn thì màn hình càng mịn, rõ nét. Màn hình phổ biến hiện nay trên thị trường là màn hình màu SVGA. Loại màn hình màu Ðộ phân giải (pixel) CCA : Color Graphics Adapter 320 x 200 EGA : Enhanced Graphics Adapter 640 x 350 VGA : Video Graphics Array 640 x 480 SVGA : Super VGA 1020 x 768 - 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 9 kim và 24 kim, máy in phun mực, máy in laser trắng đen hoặc màu. Giấy in thường dùng là loại giấy in 80 cột (in được 80 ký tự, in nén được 132 ký tự) và loại giấy in khổ rộng in được 132 cột (in 132 ký tự, in nén 256 ký tự). Cả 2 loại giấy in đều có khả năng in 66 dòng/trang. - Máy vẽ (plotter): loại máy đặc biệt dùng các bút màu để vẽ đồ họa, chữ - Ðĩa từ, băng từ (diskette, tape) : dùng để chứa thông tin xuất 2. Phần mềm (Software) TO Muốn giải một bài toán trên máy tính điện tử người ta cần một chương trình hay phần mềm hướng dẫn máy tính thực hiện các thao tác cần thiết. Trước khi giới thiệu phần mềm ta cần hiểu các bước để giải một bài toán trên máy tính. a. Các giai đoạn giải một bài toán trên máy tính điện tử Ðể giải quyết một bài toán trên máy tính điện tử, cần qua các giai đoạn: · Tìm hiểu mục tiêu chính của bài toán: số liệu nhập và kết quả xuất. · Xây dựng một chuỗi thao tác tính toán theo tuần tự, gọi là thuật giải.
  16. · Lập chương trình diễn tả chi tiết các bước tính theo thuật giải · Nhập chương trình vào máy tính, thông dịch và chạy thử để sửa chữa lỗi · Thực hiện giải bài toán với số liệu thu thập được và ghi nhận kết quả · Thử nghiệm với nhiều trường hợp khác nhau của bài toán · Phân tích kết quả và hoàn chỉnh chương trình Trong các bước trên, việc thiết kế thuật toán là giai đoạn quan trọng nhất. b. Thuật toán (algorithm) Ðịnh nghĩa: Thuật toán là một phương pháp trình bày các bước giải quyết một hay nhiều bài toán theo một tiến trình xác định. Thuật toán có các đặc tính sau: - Tính xác định: Các thao tác của thuật toán là rõ ràng và chắc chắn thực hiện được để dẫn đến kết quả nào đó. - Tính hữu hạn và dừng: thuật toán phải có một số bước giải nhất định và cuối cùng phải có kết thúc ở điểm dừng. - Tính kết quả: Với dữ liệu hợp lý, thuật toán phải cho kết quả thỏa yêu cầu. - Tính phổ dụng: Thuật toán phải giải được nhiều bài toán có cùng cấu trúc với các dữ liệu khác nhau và đều dẫn đến một kết quả mong muốn. - Tính hiệu quả: Thuật giải phải đơn giản, dể hiểu trong các bước giải, tối thiểu hoá bộ nhớ và thời gian thực hiện. -Tính hình thức: Các bước trong thuật toán là máy móc, nghĩa là nó phải thực hiện đúng như quy định mà không cần biết đến mục tiêu cuối cùng. Thuật toán có thể diễn giải một cách trực quan bằng lưu đồ (flowchart). Lưu đồ được sử dụng thông dụng trong việc trình bày các bước cần thiết để giải quyết vấn đề qua các hình khối khác nhau và dòng dữ liệu giữa các bước được chỉ định đi theo các đường mũi tên. Một số qui ước ký hiệu lưu đồ:
  17. Ví dụ 2.1: Thuật toán giải phương trình bậc nhất : ax + b = 0, ta đi qua các bước: - Bước 1: Nhập vào 2 hệ số a và b. - Bước 2: Xét điều kiện a = 0 ? Nếu đúng là a = 0, thì đi đến bước 3. Nếu không, nghĩa là a ( 0, thì đi đến bước 4. - Bước 3: Xét điều kiện b = 0 ? Nếu b = 0, thì báo phương trình có vô số nghiệm. Ði đến bước 5. Nếu , thông báo phương trình vô nghiệm. Ði đến bước 5. - Bước 4: Thông báo phương trình có một nghiệm duy nhất là x = - b/a. - Bước 5: Ngưng dứt thuật toán Ví dụ 2.2 Với bài toán như trong ví dụ 2.1, ta có thể trình bày với lưu đồ sau:
  18. c. Khái niệm và phân loại phần mềm Phần mềm là một bộ chương trình các chỉ 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. Chúng ta không thể thấy hoặc sờ được phần mềm, mặt dầu ta có thể hiển thị được chương trình trên màn hình hoặc máy in. Phần mềm có thể được ví như hồn của máy tính mà phần cứng của nó được xem như phần xác. Có 2 loại phần mềm cơ bản: + Phần mềm hệ điều hành (Operating System Software): là một bộ các câu lệnh để chỉ dẫn phần cứng máy tính và các phần mềm ứng dụng làm việc với nhau. Phần mềm hệ thống phổ biến hiện nay ở Việt nam là MS-DOS và Windows. Ðối với mạng máy tính ta cũng có các phần mềm hệ điều hành mạng (Network Operating System) như Novell Netware, Unix, Windows NT, + Phần mềm ứng dụng (Application Software): rất phong phú và đa dạng, bao gồm những chương trình được viết ra cho một hay nhiều mục đích ứng dụng cụ thể như soạn thảo văn bản, tính toán, phân tích số liệu, tổ chức hệ thống, bảo mật thông tin, vẽ đồ họa, chơi games, BÀI ÐỌC THÊM TO KHÁI NIỆM VỀ MẠNG MÁY TÍNH (COMPUTER NETWORKS) oOo Một hệ thống gồm nhiều máy tính được kết nối nhau qua cáp truyền tin và có thể làm việc đồng thời với nhau gọi là mạng máy tính (Computer Networks). Ưu điểm của việc nối mạng là: · Chia xẻ tài nguyên máy tính: bộ nhớ, phần mềm, dữ liệu, máy in, · Trao đổi thông tin giữa các trạm làm việc (workstations) nhanh chóng, tiết kiệm thời gian và bảo đảm an toàn dữ liệu.
  19. Hệ điều hành mạng (Networks Operating System - NOS) của mạng máy tính thường là các hệ phổ biến như UNIX, NOVELL NETWARE và WINDOWS NT. Dựa vào khoảng cách nối kết, người ta phân biệt 2 loại: + Mạng cục bộ (Local Area Networks - LAN) là mạng máy tính nối với nhau trong một không gian hẹp như một phòng, tòa nhà, trường học, xí nghiệp, + Mạng diện rộng (Wide Area Networks - WAN) để chỉ một loạt các máy hoặc các LAN được nối với nhau trên một phạm vi lớn hơn như liên tỉnh, liên vùng, quốc gia hay đa quốc gia. Sơ đồ một mạng cục bộ đơn giản: Các máy tính làm việc trên mạng cục bộ bao gồm: - Máy chủ (File Server) : là một máy tính có bộ nhớ lớn, tốc độ truy xuất cao và có khả năng chứa nhiều tài nguyên. Máy chủ hệ điều hành mạng và các chương trình chung cho toàn mạng như các phần mềm xử lý dữ liệu, văn bản, phần mềm chuyên dụng, các phần mềm an toàn và bảo mật, mỗi hệ thống mạng phải có ít nhất 1 máy chủ. - Trạm làm việc (WorkStation): là các máy tính con được nối với nhau và vào máy chủ. Người làm việc trên các Trạm có thể sử dụng tài nguyên trên máy chủ và chia xẻ dữ liệu cho các đồng nghiệp. - Các thiết bị khác như máy in, máy vẽ, các máy này có thể nối trực tiếp vào máy chủ hoặc trạm làm việc tùy theo nhu cầu làm việc của hệ thống. Có nhiều phương pháp kết nối máy tính với nhau theo cấu hình mạng (Topology). Mỗi loại đều có ưu khuyết điểm riêng. Thông dụng có các kiểu nối: - Kiểu Tuyến (Bus): Tất cả máy tính nối với nhau theo một đường dây chung.
  20. Sơ đồ một LAN nối theo kiểu tuyến - Kiểu Sao (Star): Tất cả các máy nối thành hình sao quanh máy chủ. Sơ đồ một LAN nối theo kiểu sao - Kiểu Vòng (Ring) : Tất cả máy được nối vào một đường dây vòng chung. Sơ đồ một LAN nối theo kiểu vòng Ngoài ra, ta có thể kết nối mạng theo kiểu phối hợp giữa tuyến và sao, hoặc giữa vòng và tuyến. Khi đó, file server sẽ được nối với thiết bị gọi là hộp cổng nhiều nhánh multiport hub cho phép kết nối cáp dẫn với trạm làm việc theo các cấu hình thiết kế khác nhau. Người làm việc trên mạng bao gồm: Người quản trị mạng (Network supervisor): là người giữ vai trò quản lý toàn bộ hệ thống mạng, chịu trách nhiệm cài đặt, sửa chữa, bảo trì mạng và toàn quyền phân phối tài nguyên truy xuất trên mạng cho người sử dụng. Người sử dụng mạng (Network Users): là người làm việc trên từng Trạm làm việc riêng rẽ, có quyền sử dụng các tài nguyên trên mạng với một số quyền hạn nhất định mà người giám thị mạng cho phép. Nhóm trên mạng (Group): là tập hợp một số người sử dụng có cùng chung một số yêu cầu sử dụng, chia xẻ và do đó được giám thị mạng cung cấp quyền như nhau. CHƯƠNG 3 BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH ÐIỆN TỬ
  21. I. HỆ ÐẾM VÀ LOGIC MỆNH ÐỀ. 1. Biểu diễn số trong các hệ đếm. 2. Số học nhị phân. 3. Mệnh đề logic. II. BIỂU DIỄN DỮ LIỆU. 1. Biểu diễn số nguyên. 2. Biểu diễn số thực. 3. Biểu diễn ký tự. PHỤ LỤC. BÀI ÐỌC THÊM CHUYỂN ÐỔI HỆ THỐNG SỐ DỰA TRÊN HỆ 8 VÀ HỆ 16. I. HỆ ÐẾM VÀ LOGIC MỆNH ÐỀ 1. Biểu diễn số trong các hệ đếm TO Hệ đếm là tập hợp các ký hiệu và qui tắc sử dụng tập ký hiệu đó để biểu diễn 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. Hệ đếm phổ biến hiện nay là hệ đếm La mã và hệ đếm thập phân. a. Hệ đếm La mã Hệ đếm La mã được xem như là hệ đếm có hệ thống đầu tiên của con người. Hệ đếm La mã sử dụng các ký hiệu ứng với các giá trị như sau: I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000 Ký số La mã có một số qui tắc sau: · Số lần n liên tiếp kế nhau của mỗi ký hiệu thể hiện giá trị ký hiệu tăng lên n lần. Số lần n chỉ là là 1 hoặc 2 hoặc 3. Riêng ký hiệu M được phép xuất hiện 4 lần liên tiếp. Ví dụ 3.1: III = 3 x 1 = 3; XX = 2 x 10 = 20; MMMM = 4000, · Hai ký hiệu đứng cạnh nhau, nếu ký hiệu nhỏ hơn đứng trước thì giá trị của chúng sẽ là hiệu số của giá trị ký hiệu lớn trừ giá trị ký hiệu nhỏ hơn. Ví dụ 3.2: IV = 5 -1 = 4; IX = 10 - 1 = 9; CD = 500 - 100 = 400; CM = 1000 - 100 = 900 · Hai ký hiệu đứng cạnh nhau, nếu ký hiệu nhỏ đứng sau thì giá trị của chúng sẽ là tổng số của 2 giá trị ký hiệu.
  22. Ví dụ 3.3: XI = 10 + 1 = 11; DCC = 500 + 100 + 100 = 700 Giá trị 3986 được thể hiện là: MMMCMLXXXVI · Ðể biểu thị những số lớn hơn 4999 (MMMMCMXCIX), chữ số La mã giải quyết bằng cách dùng những vạch ngang đặt trên đầu ký tự. Một vạch ngang tương đương với việc nhân giá trị của ký tự đó lên 1000 lần. Ví dụ M = 1000x1000 = 106. Như vậy, trên nguyên tắc chữ số La mã có thể biểu thị các giá trị rất lớn. Tuy nhiên trong thực tế người ta thường sử dụng 1 - 2 vạch ngang là nhiều. Hệ đếm La mã hiện ít được sử dụng trong tính toán hiện nay. b. Hệ đếm thập phân (decimal system) 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 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 kỳ có giá 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 dương trong hệ thập phân có thể thể hiện như là một tổng các chuỗi các ký số thập phân nhân cho 10 lũy thừa, trong đó số mũ lũy thừa được tăng thêm 1 đơn vị kể từ số mũ lũy 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ụ 3.4: Số 5246 có thể được thể hiện như sau: 5246 = 5 x 103 + 2 x 102 + 4 x 101 + 6 x 100 = 5 x 1000 + 2 x 100 + 4 x 10 + 6 x 1 Thể hiện như trên gọi là ký hiệu mở rộng của số nguyên. Vì 5246 = 5000 + 200 + 40 + 6 Như vậy, trong số 5246 : ký số 6 trong số nguyên đại diện cho giá trị 6 đơn vị (1s), ký số 4 đại diện cho giá trị 4 chục (10s), ký số 2 đại diện cho giá trị 2 trăm (100s) và ký số 5 đại diện cho giá trị 5 ngàn (1000s). Nghĩa là, số lũy thừa của 10 tăng dần 1 đơn vị từ trái sang phải tương ứng với vị trí ký hiệu số, 100 = 1 101 = 10 102 = 100 103 = 1000 104 = 10000 Mỗi ký số ở thứ tự khác nhau trong số sẽ có giá trị khác nhau, ta gọi là giá trị vị trí (place value). Phần phân số trong hệ thập phân sau dấu chấm phân cách (theo qui ước của Mỹî) thể hiện trong ký hiệu mở rộng bởi 10 lũy thừa âm tính từ phải sang trái kể từ dấu chấm phân cách:
  23. Tổng quát, hệ đếm cơ số b ( , b là số 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à 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 : Số N(b) trong hệ đếm cơ số (b) thể hiện : trong đó, số N(b) có n+1 ký số chẵn ở phần nguyên và m ký số lẻ, sẽ có giá trị là : Trong ngành toán - tin học hiện nay phổ biến 4 hệ đếm như sau : Hệ đếm Cơ số Ký số và trị tuyệt đối Hệ nhị phân 2 0, 1 Hệ bát phân 8 0, 1, 2, 3, 4, 5, 6, 7 Hệ thập phân 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Hệ thập lục phân 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F c. Hệ đếm nhị phân (binary number system) Với b = 2, chúng ta có hệ đếm nhị phân. Ðây là hệ đếm đơn giản nhất với 2 chữ số là 0 và 1. Mỗi chữ số nhị phân gọi là BIT (viết tắt từ chữ BInary digiT). Hệ nhị phân tương ứng với 2 trạng thái của các linh kiện điện tử trong máy tính chỉ có: đóng (có điện) ký hiệu là 1 và tắt (không điện) ký hiệu là 0. Vì hệ nhị phân chỉ 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ự phức tạp hơn thì cần kết hợp nhiều bit với nhau. Ta có thể chuyển đổi hệ nhị phân theo hệ thập phân quen thuộc. Ví dụ 3.6: Số sẽ tương đương với giá trị thập phân là :
  24. như vậy: 11101.11(2) = 1x16 + 1x8 + 1x4 + 0x2 + 1x1 + 1x0.5 + 1x0.25 = 29.75 (10) tương tự số 10101 (hệ 2) sang hệ thập phân sẽ là: 4 3 2 1 0 10101(2) = 1x2 + 0x2 + 1x2 + 0x2 + 1x2 = 8 + 0 + 4 + 0 + 1 = 13(10) d. Hệ đếm bát phân (octal number system) 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, 1, 2, 3, 4, 5, 6, 7. Tập hợp các chữ số này gọi là hệ bát phân, là hệ đếm với b = 8 = 23. Trong hệ bát phân, trị vị trí là lũy thừa của 8. e. Hệ đếm thập lục phân (hexa-decimal number system) Hệ đếm thập lục phân là hệ cơ số , tương đương với tập hợp 4 chữ số nhị phân (4 bit). Khi thể hiện ở dạng hexa-decimal, ta có 16 ký tự gồm 10 chữ số từ 0 đến 9, và 6 chữ in 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. Với hệ thập lục phân, trị vị trí là lũy thừa của 16. Ví dụ 3.8: Ghi chú: Một số chương trình qui định viết số hexa phải có chữ H ở cuối chữ số. Ví dụ 3.9: Số 15 viết là FH. Bảng qui đổi tương đương 16 chữ số đầu tiên của 4 hệ đếm Hệ 10 Hệ 2 Hệ 8 Hệ 16 0 0000 00 0 1 0001 01 1 2 0010 02 2 3 0011 03 3 4 0100 04 4 5 0101 05 5 6 0110 06 6 7 0111 07 7 8 1000 10 8
  25. 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F f. Ðổi một số 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(10) lần lượt chia cho b cho đến khi thương số bằng 0. Kết quả số chuyển đổi N(b) là các dư số trong phép chia viết ra theo thứ tự ngược lại. Ví dụ 3.10: Dùng các phép chia 2 liên tiếp, ta có một loạt các số dư như sau: Kết quả: g. Ðổi phần thập phân từ hệ thập phân sang hệ cơ số b Tổng quát: Lấy số nguyên thập phân N(10) lần lượt nhân cho 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ép nhân viết ra theo thứ tự tính toán. Kết quả:
  26. 2. Số học nhị phân TO Trong số học nhị phân chúng ta cũng có 4 phép toán cơ bản như trong số học thập phân là cộng, trừ, nhân và chia. Qui tắc của 2 phép tính cơ bản cộng và nhân: X Y X + Y X * Y 0 0 0 0 0 1 1 0 1 0 1 0 1 1 10 1 Ghi chú: Với phép cộng trong hệ nhị phân, 1 + 1 = 10, số 10 (đọc là một - không) chính là số 2 tương đương trong hệ thập phân. Viết 10 có thể hiểu là viết 0 nhớ 1. Một cách tổng quát, khi cộng 2 hay nhiều chữ số nếu giá trị tổng lớn hơn cơ số b thì ta viết phần lẻ và nhớ phần lớn hơn sang bên trái cạnh nó. Ví dụ 3.12: Cộng 2 số 0101 + 1100 = ? Ví dụ 3.13: Nhân 2 số 0110 x 1011 = ? Phép trừ và phép chia là các phép toán đặc biệt của phép cộng và phép nhân. Ví dụ 3.14: Trừ hai số Ví dụ 3.15: Chia hai số
  27. Qui tắc 1: Khi nhân một số nhị phân với ta thêm n số 0 vào bên phải số nhị phân đó. Ví dụ 3.16: Qui tắc 2: Khi chia một số nguyên nhị phân cho ta đặt dấu chấm ngăn ở vị trí n chữ số bên trái kể từ số cuối của số nguyên đó. Ví dụ 3.17: 3. Mệnh đề logic TO Mệnh đề logic là mệnh đề chỉ 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 tắc: TRUE = NOT FALSE và FALSE = NOT TRUE Phép toán logic áp dụng cho 2 giá trị TRUE và FALSE ứng với tổ hợp AND (và) và OR (hoặc) như sau: x y x AND y x OR y TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE II. BIỂU DIỄN DỮ LIỆU Dữ liệu số trong máy tính gồm có số nguyên và số thực. 1. Biểu diễn số nguyên TO
  28. Số nguyên gồm số nguyên không dấu và số nguyên có dấu. * Số nguyên không dấu là số không có bit dấu như 1 byte = 8 bit, có thể biểu diễn số nguyên dương, cho giá trị từ 0 (0000 0000) đến 255 (1111 1111). * 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 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. Ðơn vị chiều dài để chứa thay đổi từ 2 đến 4 bytes. Ta thấy, với chiều dài 16 bit : bit đầu là bit dấu và 15 bit sau là bit số Trị dương lớn nhất của dãy 2 bytes sẽ là: Trị âm lớn nhất trong dãy 2 bytes là Ðể thể hiện số âm trong hệ nhị phân ta có 2 khái niệm: - Số bù 1: Khi đảo ngược tất cả các bit của dãy số nhị phân: 0 thành 1 và 1 thành 0, dãy số đảo đó gọi là số bù 1 của số nhị phân đó. - Số bù 2: Số bù 2 của số N là số đảo dấu của nó (-N). Trong hệ nhị phân, số bù 2 được xác định bằng cách lấy số bù 1 của N rồi cộng thêm 1. 2. Biểu diễn số thực TO Ðối với các số thực (real number) là số có thể có cả phần lẻ hoặc phần thập phân. Trong máy tính, người ta biễu diễn số thực với số dấu chấm tĩnh (fixed point number) và số dấu chấm động (floating point number). a. Số dấu chấm tĩnh: thực chất là số nguyên (integers) là những số không có chấm thập phân b. Số dấu chấm động: là số có chữ số phần lẻ không cố định. Mỗi số như vậy có thể trữ và xử lý trong máy tính ở dạng số mũ.
  29. Ghi chú: Dấu chấm thể hiện trong máy tính để phân biệt phần lẻ, dấu phẩy tượng trưng cho phần ngàn, được viết theo qui ước của Mỹ. Tổng quát, số dấu chấm động được biểu diễn theo 3 phần : - phần dấu S (sign) : 0 cho + và 1 cho - - phần định trị m (mantissa) - phần mũ e (exponent), có thể là số nguyên dương (+) hoặc âm (-) với một số X bất kỳ, có thể viết : X = ± m . b e = ± m E e Trong đó, b là cơ số qui ước, trị số mũ e có thể thay đổi tùy theo số vị trí cần dời dấu chấm để có lại trị số ban đầu. Khi dời dấu chấm sang n vị trí về phía trái (+n) hay phía phải (-n) thì số mũ e thay đổi lên đơn vị tương ứng Ðể biểu diễn số có dấu chấm động, người ta dùng dãy 32 bit với hệ thống cơ số 16. Trong đó, 1 bit cho phần dấu, 7 bit cho phần mũ để biểu diễn phần đặc trị C (characteristic) và 24 bit cho phần định trị m. Phần mũ có 7 bit = đặc trị C, tương ứng phần mũ e từ -64 đến +63 C = số mũ biểu diễn + 64 Phần mũ e - - - - 2 - 1 0 1 62 63 64 63 62 Ðặc trị C 0 1 2 62 63 64 65 12 12 6 7 Trong máy tính, số A sẽ được trữ theo vị trí nhớ 32 bit như sau : Dấu A đặc trị C (7bit) định trị m (24 bit)
  30. 3. Biểu diễn ký tự TO Ðể 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, ví dụ các hệ mã phổ biến : - 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 EBCDIC (Extended Binary Coded Decimal Interchange Code) dùng 8 bit tương đương 1 byte để biễu diễn 1 ký tự. - 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. Hệ mã ASCII 7 bit, mã hoá 128 ký tự liện tục như sau: 0 : NUL (ký tự rỗng) 1 - 31 : 31 ký tự điều khiển 32 - 47 : các dấu trống SP (space) ! # $ % & ( ) * + , - . / 48 - 57 : ký số từ 0 đến 9 58 - 64 : các dấu : ; ? @ 65 - 90 : các chữ in hoa từ A đến Z 91 - 96 : các dấu [ \ ] _ ` 97 - 122 : các chữ thường từ a đến z 123 - 127 : các dấu { | } ~ DEL (xóa) Hệ mã ASCII 8 bit (ASCII mở rộng) có thêm 128 ký tự khác ngoài các ký tự nêu trên gồm các chữ cái có dấu, các hình vẽ, các đường kẻ khung đơn và khung đôi và một số ký hiệu đặc biệt (xem phụ lục). PHỤ LỤC 3.1 TO BẢNG MÃ ASCII với 128 ký tự đầu tiên Hex 0 1 2 3 4 5 6 7
  31. 0 NUL DLE SP 0 @ P ` p 0 16 32 48 64 80 96 112 1 SOH DC1 ! 1 A Q a q 1 17 33 49 65 81 97 113 2 STX DC2 “ 2 B R b r 2 18 34 50 66 82 98 114 3 ♥ DC3 # 3 C S c s 3 19 35 51 67 83 99 115 4 ♦ DC4 $ 4 D T d t 4 20 36 52 68 84 100 116 5 ♣ NAK % 5 E U e u 5 21 37 53 69 85 101 117 6 ♠ SYN & 6 F V f v 6 22 38 54 70 86 102 118 7 BEL ETB ‘ 7 G W g w 7 23 39 55 71 87 103 119 8 BS CAN ( 8 H X h x 8 24 40 56 72 88 104 120 9 HT EM ) 9 I Y I y 9 25 41 57 73 89 105 121 A LF SUB * : J Z j z 10 26 42 58 74 90 106 122 B VT ESC + ; K [ k { 11 27 43 59 75 91 107 123 C FF FS , N ^ n ~ 14 30 46 62 78 94 110 126 F SI US / ? O _ o DEL 15 31 47 63 79 95 111 127
  32. PHỤ LỤC 3.2 BẢNG MÃ ASCII với ký tự số 128 - số 255 Hex 8 9 A B C D E F 0 Ç É á ░ └ ╨ α ≡ 128 144 160 176 192 208 224 240 1 ü æ í ▒ ┴ ╤ ß ± 129 145 161 177 193 209 225 241 2 é Æ ó ▓ ┬ ╥ Γ ≥ 130 146 162 178 194 210 226 242 3 â ô ú │ ├ ╙ π ≤ 131 147 163 179 195 211 227 243 4 ä ö ñ ┤ ─ ╘ Σ ⌠ 132 148 164 180 196 212 228 244 5 à ò Ñ ╡ ┼ ╒ σ ⌡ 133 149 165 181 197 213 229 245 6 å û ª ╢ ╞ ╓ µ ÷ 134 150 166 182 198 214 230 246 7 ç ù º ╖ ╟ ╫ τ ≈ 135 151 167 183 199 215 231 247 8 ê ÿ ¿ ╕ ╚ ╪ Φ ° 136 152 168 184 200 216 232 248 9 ë Ö ⌐ ╣ ╔ ┘ Θ · 137 153 169 185 201 217 233 249 A è Ü ¬ ║ ╩ ┌ Ω · 138 154 170 186 202 218 234 250 B ï ¢ ½ ╗ ╦ █ δ √ 139 155 171 187 203 219 235 251 C î £ ¼ ╝ ╠ ▄ ∞ ⁿ 140 156 172 188 204 220 236 252 D ì ¥ ¡ ╜ ═ ▌ φ ² 141 157 173 189 205 221 237 253 E Ä ₧ « ╛ ╬ ▐ ε ■ 142 158 174 190 206 222 238 254
  33. F Å ƒ » ┐ ╧ ▀ ∩ 255 143 159 175 191 207 223 239 BÀI ÐỌC THÊM TO CHUYỂN ÐỔI HỆ THỐNG SỐ DỰA TRÊN HỆ 8 VÀ HỆ 16 oOo Trong phần bài giảng, chúng ta đã làm quen với cách chuyển đổi giữa hệ 2 và hệ 10. Tuy nhiên, ở những trị số lớn và dài thì làm cách trên trở nên rất phức tạp và dễ nhầm lẫn, ví dụ : Trong ví dụ thứ nhất ta phải liên tiếp làm nhiều phép nhân và ở ví dụ thứ hai, ta lại thực hiện nhiều phép chia liên tiếp. Người ta đưa ra hệ thống số trung gian là hệ 8 và hệ 16 để giải quyết: Thông qua hệ 8 và hệ 16 để chuyển đổi hệ 2 sang hệ 10 Chia số nhị phân làm thành từng bộ 3 số và 4 số liên tiếp theo thứ tự tương ứng với cách thông qua hệ 8 và hệ 16 và dùng phương pháp nhân với các thừa số bên trên tương ứng rồi cộng lại . Ví dụ1: THÔNG QUA HỆ 8: Chia số nhị phân từng bộ 3 số: THÔNG QUA HỆ 16: Chia số nhị phân thành bộ 4 số
  34. Thông qua hệ 8 và hệ 16 để chuyển hệ 10 sang hệ 2 Cách làm tương tự như trên, nhưng thay phép nhân thành phép chia và lấy các số dư của phép chia ngược từ dưới lên trên để chuyển đổi. Ví dụ2: THÔNG QUA HỆ 8: THÔNG QUA HỆ 16: Suy ra:
  35. Chuyển hệ 8 sang hệ 16 và ngược lại: Ta có thể dùng hệ 10 hoặc hệ 2 làm trung gian để chuyển đổi hệ 8 sang hệ 16 và ngược lại. Thông thường dùng hệ 2 để trung chuyển có thuận lợi hơn. Ví dụ 3: Cách làm như sau: Bước 1: Chuyển hệ 8 thành hệ 2: biểu thị từng trị số trong hệ 8 thành từng nhóm 3 số và ghép các nhóm đó lại. Bước 2: Chia dãy số hệ 2 vừa có được thành các bộ 4 số và chuyển các bộ đó sang hệ 16 Việc chuyển từ hệ 16 sang hệ 8 ta cũng tiến hành 2 bước như vậy. CHƯƠNG 4 HỆ ÐIỀU HÀNH MS-DOS I. KHÁI NIỆM VỀ HỆ ÐIỀU HÀNH. II. HỆ ÐIỀU HÀNH MS-DOS. 1. Các khái niệm cơ bản. 2. Tập lệnh nội trú, tập lệnh ngoại trú. BÀI ÐỌC THÊM.
  36. I. KHÁI NIỆM VỀ HỆ ÐIỀU HÀNH TO Hệ điều hành (Operating System) là một tập hợp các chương trình tạo sự liên hệ giữa người sử dụng máy tính và máy tính thông qua các lệnh điều khiển. Không có hệ điều hành thì máy tính không thể chạy được. Chức năng chính của hệ điều hành là: · Thưc hiện các lệnh theo yêu cầu của người sử dụng máy, · Quản lý, phân phối và thu hồi bộ nhớ , · Ðiều khiển các thiết bị ngoại vi như ổ đĩa, máy in, bàn phím, màn hình, · Quản lý tập tin, Hiện có nhiều hệ điều hành khác nhau như DOS, UNIX, OS2, WINDOWS, II. HỆ ÐIỀU HÀNH MS-DOS TO Hệ điều hành MS-DOS (MicroSoft - Disk Operating System) là phần mềm khai thác đĩa từ (đĩa cứng hoặc đĩa mềm) rất thông dụng. MS-DOS là sản phẩm nổi tiếng của hãng Microsoft được cài đặt hầu hết trên các máy IBM PC và các máy tương thích. Phiên bản cuối cùng của DOS hiện nay là version 7.0. Tuy nhiên, hệ điều hành MS-DOS version 6.0 - 6.22 vẫn còn được nhiều người tiếp tục sử dụng. Một máy tính có thể có 1 hoặc 2 ổ đĩa mềm và 1 hoặc vài ổ đĩa cứng. Ổ mềm thường được đặt tên là ổ A và B (drive A, drive B), ổ cứng có tên là C, D, E, Một đĩa cứng có thể được chia làm nhiều ổ đĩa logic nhỏ có các tên khác nhau. Có 3 cách để khởi động máy: · Bật công tắc khởi động khi máy chưa vào điện. · Nhấn nút RESET khi máy đã hoạt động và cần khởi động lại. · Nhấn tổ hợp 3 phím đồng thời là Ctrl-Alt-Del để khởi động lại máy. Sau khi thực thi các lệnh khởi động, trên màn hình máy tính sẽ xuất hiện dấu đợi lệnh (prompt) có dạng: C:\>_ hoặc A:\>_ C hoặc A là tên của ổ đĩa làm việc: C khi khởi động từ đĩa cứng và A là từ đĩa mềm. Bộ ký tự :\> là qui ước dấu đợi lệnh của DOS, qui ước này có thể thay đổi. Ðiểm nháy sáng _ gọi là con trỏ (cursor) cho ta biết điểm làm việc hiện tại trên màn hình. Các ký tự gõ trên bàn phím sẽ hiện ra tại vị trí con trỏ. Một số qui ước gọi lệnh trong DOS drive : ổ đĩa
  37. path đường dẫn bao gồm thư mục cha, các thư mục con kế tiếp filename tên tập tin bao gồm phần tên và phần mở rộng directory thư mục sub-dir thư mục con (sub directory) nội dung câu lệnh bắt buộc cần có [ ] nội dung câu lệnh trong dấu [ ] có thể có hoặc không Dấu Enter, ra lệnh thực hiện lệnh của DOS Ghi chú: Ta có thể đánh tên lệnh và dấu /? để nhận được hướng dẫn (HELP) các chi tiết sau lệnh. Ví dụ C:\>DIR /? , DOS sẽ chỉ dẫn về lệnh DIR trên màn hình. 1. Các khái niệm cơ bản TO a. Tập tin (file) Tập tin là nơi lưu trữ thông tin bao gồm chương trình, dữ liệu, văn bản, Mỗi tập tin có một tên riêng phân biệt. Tên tập tin thường có 2 phần: phần tên (name) và phần mở rộng (extension). Phần tên là bắt buộc phải có của một tập tin, còn phần mở rộng thì có thể có hoặc không. - Phần tên là một dãy có từ 1 đến tối đa 8 ký tự có thể là: các ký tự chữ từ A đến Z, các chữ số từ 0 đến 9, các ký tự khác như #, $, %, ~, ^, @, (, ), !, _ - Phần mở rộng có từ 0 đến tối đa 3 ký tự trong số các ký tự nêu ở trên. - Giữa phần tên và phần mở rộng có một dấu chấm (.) ngăn cách. Tên tập tin không chấp nhận các trường hợp sau: - Có khoảng trống trong tên file - Trùng tên với các lệnh của DOS và lệnh điều khiển thiết bị: CON, PRN, - Có chứa các ký tự như ., ?, *, :, >, <, /, \, [, ], +, ;, Phần mở rộng có thể được xem gần như họ trong tên người. Ta có thể căn cứ vào phần mở rộng để xác định kiểu của file: · COM, EXE, BAT : Các file khả thi và lệnh bó chạy trực tiếp được trên MS-DOS
  38. · TXT, DOC, : Các file văn bản · PAS, BAS, : Các file chương trình PASCAL, BASIC, · WK1, XLS, : Các file chương trình bảng tính LOTUS, EXCEL · DBF, DAT, : Các file dữ liệu Các ký tự đặc biệt trên file: DOS dùng các ký tự sao (*) và chấm hỏi (?) để mô tả một tập hợp file. Ý nghĩa như sau: · Dấu * dùng để đại diện cho một chuỗi ký tự bất kỳ và thay cho phần còn lại của tên file hoặc phần mở rộng của file tại vị trí nó xuất hiện trở về sau. · Dấu ? dùng để đại diện cho một ký tự bất kỳ tại vị trí nó xuất hiện. Ví dụ 4.2: Trong đĩa của bạn có các tập tin: BAOCAO1.TXT, BAOCAO2.TXT, VANBAN.TXT, VANCAO#.THO, SOLIEU.DAT + Ký hiệu BAOCAO?.* đại diện cho các tập tin BAOCAO1.TXT, BAOCAO2.TXT + Ký hiệu *.TXT đại diện cho BAOCAO1.TXT, BAOCAO2.TXT, VANBAN.TXT + Ký hiệu ???CAO?.* đại diện cho BAOCAO1.TXT, BAOCAO2.TXT, VANCAO#.THO + Ký hiệu *.* hoặc duy nhất một dấu chấm . đại diện cho tất cả các tập tin trên đĩa b. Thư mục (directory) Thư mục là nơi cất giữ các tập tin theo một chủ đề nào đó theo ý người sử dụng. Ðây là biện pháp giúp ta quản lý được tập tin, dễ dàng tìm kiếm chúng khi cần truy xuất. Các tập tin có liên quan với nhau có thể được xếp trong cùng một thư mục. Bản thân mỗi đĩa mang một thư mục chung gọi là thư mục gốc (root directory). Thư mục gốc không có tên riêng và được ký hiệu là \ (dấu xổ phải: backslash). Dưới mỗi thư mục gốc có các file trực thuộc và các thư mục con (sub-directory). Trong các thư mục con cũng có các file trực thuộc và thư mục con của nó. Thư mục chứa thư mục con gọi là thư mục cha (parent directory). Thư mục đang làm việc gọi là thư mục hiện hành (current directory). Ta có thể diễn tả cấu trúc thư mục và file chứa trong nó qua hình ảnh cây thư mục (directory tree). Ví dụ trên đĩa C, ta có 2 thư mục con của thư mục gốc là VANBAN và PASCAL
  39. c. Ðường dẫn (path) Ðường dẫn là lệnh chỉ dẫn lộ trình cho phép ta từ thư mục bất kỳ có thể đến trực tiếp thư mục cần truy xuất. Có 2 loại đường dẫn có thể sử dụng trong MS - DOS là: đường dẫn (path) và tên đường dẫn (pathname). Ðường dẫn một dãy các thư mục bắt đầu từ thư mục gốc đến các thư mục con và nối tiếp nhau bởi dấu \, thư mục đứng sau là con của thư mục đứng trước. Nói cách khác, đường dẫn dùng để chỉ định thư mục cần đến. Cú pháp Ðường dẫn: path [drive:][\directory][\sub-dir ] Ví dụ 4.3: C:\>path PASCAL\MAIN Tên đường dẫn tương tự như đường dẫn nhưng kết thúc bằng tên file ở cuối cùng là. Ðường dẫn kết thúc bằng tên file cần truy xuất. Cú pháp Tên đường dẫn: path[drive:][\directory][\sub-dir ] Ví dụ 4.4: C:\>path C:\PASCAL\MAIN\TURBO.EXE 2. Tập lệnh nội trú, tập lệnh ngoại trú TO a. Lệnh nội trú (internal command) Lệnh nội trú là những lệnh nằm thường trực trong bộ nhớ máy khi đã được khởi động và sẵn sàng thực hiện lệnh khi ta gọi đến. Lệnh nội trú nằm trong phần khởi động của MS-DOS chứa trong các file COMMAND.COM, IO.SYS và MSDOS.SYS. + Tập tin COMMAND.COM là tập tin quan trọng nhất, có nhiệm vụ thông dịch lệnh và xử lý các lệnh nội trú. Khi khởi động máy, COMMAND.COM được nạp vào bộ nhớ RAM. Khi nhận được lệnh từ bàn phím, tập tin này sẽ nhận diện và điều khiển việc thi hành các lệnh từ người sử dụng.
  40. + Hai tập tin IO.SYS và MSDOS.SYS là hai tập tin ẩn, nó cũng được nạp vào RAM khi khởi động máy. Chúng có nhiệm vụ quản lý và điều khiển các thiết bị ngoại vi và các tập tin trên đĩa. Tập lệnh nội trú gồm các lệnh chính thường dùng như: · Các lệnh liên quan đến thư mục: DIR, CD, MD, RD, PATH, TREE, · Các lệnh liên quan đến file: TYPE, DEL, COPY, REN, · Các lệnh thời gian: TIME, DATE · Các lệnh khác: PROMPT, CLS, VER, VOL, Các lệnh nội trú cơ bản: * Chuyển ổ đĩa: Cú pháp : hoặc Với drive: là ổ đĩa cần chuyển đến. Muốn chuyển từ ổ đĩa C sang ổ đĩa A ta gõ C:\> A: rồi nhấn nút Enter. Tương tự chuyển từ A: sang U: ta gõ lệnh U: * Liệt kê thư mục (DIR) Hiển thị danh sách các tập tin và các thư mục con có trong thư mục. Cú pháp: DIR [drive :] [path][/P][/W][/A : attribs][/O : sortorder] Ghi chú: /P : hiển thị từng trang màn hình (Page) /W : hiển thị theo hàng ngang (Wide), lượt bỏ bớt số liệu về kích thước byte, ngày, giờ. /A : hiển thị thuộc tính (Attribut) của file /Option: các ý định hiển thị trật tự sắp xếp: N : theo alphabetic tên file; E : theo alphabetic tên phần mở rộng S : theo kích thước bytes (từ nhỏ đến lớn) D : theo ngày tháng và giờ (từ trước đến nay)
  41. G : theo nhóm thư mục trước * Tạo thư mục mới (Make Directory - MD) Tạo một thư mục mới trong ổ đĩa hoặc thư mục hiện hành. Cú pháp: MD [drive :][path] * Ðổi thư mục (Change Directory - CD) Cú pháp: CD [drive :] {path} Ví dụ 4.5 C:\>CD PASCAL sẽ có C:\PASCAL>_ Ghi chú: - Từ thư mục con, muốn trở về thư mục cha, ta gõ: CD - Nếu muốn về thẳng thư mục gốc, ta gõ: CD\ - Ðể hiển thị đường dẫn hiện hành, ta gõ: CD * Xem nội dung tập tin trên màn hình (TYPE) Cú pháp: TYPE [drive:][path] Ghi chú: - Lệnh TYPE dùng hiển thị một tập tin văn bản chứa mã ASCIIï mới đọc được. - Các file chứa mã nhị phân của chương trình như các file *.EXE, *.COM, *.BIN, thì khi gõ lệnh TYPE sẽ không đọc bình thường được. * Xóa thư mục (Remove Directory - RD) Xoá bỏ một thư mục con rỗng (không chứa các tập tin và thư mục con). Cú pháp: RD [drive :] * Sao chép tập tin (COPY) Cú pháp 1: sao chép tập tin sang một vị trí khác. COPY [drive1 :][path1] [drive2:][path2][ ] Ghi chú:
  42. - Muốn copy một nhóm tập tin, ta có thể dùng các ký tự đại diện của tập tin là dấu * hoặc ? trong - Nếu không viết thì máy sẽ hiểu là sao chép mà không đổi tên tập tin. Khi đó ổ đĩa [drive1:] phải khác [drive2:] hoặc đường dẫn khác - Khi không chỉ rõ Ổ đĩa và đường dẫn thì máy sẽ hiểu đang thực hiện trên ổ đĩa và thư mục hiện hành. Cú pháp 2: cho phép nối các tập tin có sẵn thành một tập tin mới chung. COPY + [+ + ] [ ] Ghi chú: - Nếu không đặt tên tập tin mới thì tất cả các tập tin sẽ ghép chung vào - Nếu đã có thì nội dung cũ sẽ được thay bằng nội dung mới. - Tên không được trùng với tên các tập tin cần ghép. Cú pháp 3: sao chép tập tin ra máy in. COPY PRN Cú pháp 4: dùng lệnh COPY để tạo ra một tập tin văn bản đơn giản. COPY CON Ghi chú: - Sau khi gõ Enter, ta có thể đánh vào một vài đoạn văn trên bàn phím tùy ý. Muốn kết thúc, đánh tổ hợp phím Ctrl+Z hay F6 và Enter để lưu trữ. - Khi gõ Enter để xuống dòng, ta không di chuyển con trỏ trở lên dòng trên được. - Lỗi văn bản sai không thể sửa nội dung trực tiếp khi đã lưu, ngoại trừ phải dùng các trình soạn thảo văn bản khác. * Xoá tập tin (Delete - DEL) Cú pháp: DEL [drive:][path] [/P] Ghi chú: - Có thể xoá một loạt nếu dùng các ký tự * và ? - [/P] tạo nhắc để xác định từng tập tin muốn xóa - Xóa tất cả các tập tin thì dùng lệnh DEL *.* khi đó máy sẽ hỏi lại :
  43. All files in directory will be deleted ! (Tất cả các tập tin sẽ bị xóa ! Are you sure (y/n) ? _ Bạn có chắc không (y/n) ?) Gõ y (yes) nếu muốn xóa tất cả và n (no) khi không muốn dùng lệnh xóa tất cả. - Lệnh DEL không xóa các tập tin ẩn (hiden) và tập tin chỉ đọc (read only). Muốn xoá các tập tin này ta phải dùng lệnh ATTRIB ngoại trú để thay đổi thuộc tính của nó. - Nếu DEL một thư mục thì xóa hết các tập tin trong thư mục đó. * Ðổi tên tập tin (Rename - REN) Cú pháp: REN [drive:][path] Ghi chú: - : tên tập tin cũ cần đổi : tên tập tin mới - Trường hợp tập tin mới đã có tên rồi hoặc không có tập tin cũ, máy sẽ báo: Duplicate file name or file not found * Xóa màn hình (ClearScreen - CLS) Cú pháp: CLS * Dấu đợi lệnh (PROMPT) Cú pháp: PROMPT [$text] Ghi chú: - Lệnh này định dạng lại dấu đợi lệnh của MS-DOS theo ý riêng của người sử dụng. - $text là chuỗi các ký tự liên tiếp nhau, trước mỗi ký tự có ký hiệu $ $P : ổ đĩa và thư mục hiện hành $G : dấu > $L : dấu < $Q : dấu = $T : giờ hiện hành $D : ngày hiện hành
  44. $N : ổ đĩa hiện hành $V : phiên bản của MS-DOS $_ : xuống hàng * Xem và chỉnh thời gian (TIME) Cú pháp: TIME [hh:mm:ss] Ghi chú: - Sau khi Enter, trên màn hình sẽ xuất hiện giờ phút giây hiện tại của hệ thống. Ví dụ 4.5: TIME Current Time is 9 : 30 : 15 Enter new time : _ - Nếu không cần thay đổi thời gian, ta nhấn Enter để xác nhận. - Muốn chỉnh thời gian, ta nhập giờ : phút : giây phù hợp tại vị trí con trỏ. * Xem và chỉnh ngày tháng (DATE) Cú pháp: DATE [mm-dd-yy] Ghi chú: - Sau khi gõ Enter, trên màn hình sẽ hiện ngày tháng năm hiện tại của hệ thống. - Kiểu ngày tháng năm do người sử dụng thiết lập. Ví dụ 4.6: DATE Current date is Sun 09-15-96 Enter new date (mm-dd-yy) : _ - Nếu không muốn thay đổi ngày tháng của hệ thống, ta gõ Enter để xác nhận. - Nếu muốn thay đổi ngày tháng, ta gõ theo thứ tự số : tháng-ngày-năm Lưu ý: khi gõ sai, máy sẽ báo : Invalid date (ngày tháng không hợp lệ). Khi đó ngày tháng của hệ thống vẫn giữ nguyên và ta phải dùng lệnh DATE để nhập lại ngày tháng cho hệ thống. Các máy tính Pentium hiện nay đều thể hiện phần năm là 4 con số, ví dụ :
  45. Current date is Fri 08-04-2000 b. Lệnh ngoại trú ( external command) Lệnh ngoại trú cũng là những lệnh chứa các chức năng nào đó của điều hành nhưng ít được sử dụng hơn lệnh nội trú nên được để trên đĩa hay thư mục riêng để đỡ tốn bộ nhớ. Các lệnh ngoại trú phải được nạp từ đĩa vào trong bộ nhớ mới chạy được. Khi thực hiện xong câu lệnh, vùng bộ nhớ có chứa câu lệnh ngoại trú đó sẽ bị thu hồi. Các tập lệnh ngoại trú có phần mở rộng là EXE hay COM hoặc BAT. Khi gọi lệnh mà máy không tìm thấy trên màn hình hình sẽ xuất hiện câu báo lỗi Bad command or file name (Sai lệnh hoặc không có tên tập tin). Các lệnh ngoại trú như: · Các lệnh liên quan đến ổ đĩa: FORMAT, LABEL, CHKDSK, DISKCOPY, · Các lệnh liên quan đến tổ chức hệ thống: SYS, TREE, DELTREE, · Các lệnh liên quan đến tập tin: UNDELETE, ATTRIB, FIND, · Các lệnh khác: PRINT, GRAPHICS, SORT, Một số lệnh ngọai trú thường dùng: * Tạo khuôn đĩa (FORMAT) Lệnh FORMAT có tác dụng khởi tạo khuôn cho một đĩa mới hay tạo lại dạng khuôn cho đĩa cũ. Khi thực hiện lệnh FORMAT xong thì toàn bộ dữ liệu trong đĩa cũ hoàn toàn bị xoá sạch. Cú pháp: FORMAT [drive :][/S][/U][/Q][/V[:label]] Ghi chú: - Tham số /S dùng để tạo ra đĩa hệ thống. DOS sẽ tạo dạng và chép vào đĩa 3 file hệ thống là COMMAND.COM (file hiện), IO.SYS và MSDOS.SYS (file ẩn). - Tham số /U thực hiện format không điều kiện (Unconditional) - Tham số /Q thực hiện format nhanh (Quick) - Tham số /V[:label ] để chỉ định tên nhãn (label) của đĩa Ví dụ 4.7: muốn format bình thường ổ đĩa A: C:\>format A: Insert new diskette for drive A : (Ðưa đĩa mới vào ổ A: and press ENTER when ready và ấn phím Enter khi sẵn sàng ) Sau đó là quá trình format. Ta có thể quan sát quá trình này qua số % đã thực hiện. Khi format xong, máy sẽ hiển thị dòng yêu cầu cho tên đĩa và bạn có thể cho tên đĩa với tối đa 11 ký tự và được quyền sử dụng ký tự trống, nếu không cần đặt tên, ta có thể nhấn Enter cho qua luôn.
  46. Checking existing disk format (Kiểm tra sự tồn tại đĩa định dạng Saving UNFORMAT information Lưu các thông tin UNFORMAT Verifying 1.44 M Thử 1.44 M (90% persent completed) (90% phần trăm đã hoàn tất) Format complete. Hoàn tất định dạng Volume label (11 characters, Enter for none) ?Tên nhãn (11 chữ, Enter nếu không)? 1,457,644 bytes total disk space 1,457,644 tổng số bytes trên đĩa 1,457,644 bytes available on disk 1,457,644 bytes dùng được trên đĩa 512 bytes in each allocation unit 512 bytes trên mỗi đơn vị allocation 2,847 allocation units avalable on disk 2,847 đơn vị allocation còn trống trên đĩa Volume Serial Number is 2264 - 14E2 Số sơ-ri của đĩa là 2264 - 14E2 Format another (Y/N) ? Ðịnh dạng đĩa khác không (Y/N) ? Gõ Y nếu muốn định dạng dĩa khác, N nếu muốn trở về. * Thay đổi thuộc tính của file (ATTRIB) Mỗi tập tin đều có 4 thuộc tính (attribute) : R, S, H, A. Read Only : Thuộc tính chỉ đọc, không thể thay đổi nội dung System : Thuộc tính hệ thống, hệ điều hành DOS sẽ chú ý đặc biệt. Hidden : Thuộc tính ẩn, khi dùng lệnh DIR sẽ không thấy. Archive : Thuộc tính lưu trữ, thường dùng với các lệnh như BACKUP, XCOPY để tạo ra các file dự phòng. Cú pháp: ATTRIB [-R|+R] [-S|+S] [-H|+H] [-A|+A] [drive:][path] Với dấu | là hoặc, hoặc chọn đặt (+) thuộc tính hoặc xóa (-) thuộc tính của tập tin. * Liệt kê cây thư mục TREE Cú pháp: TREE [dirve :] [path] [/F] [/A] Ghi chú:
  47. /F : Thể hiện tên các tập tin trong từng thư mục /A: Dùng ASCII thay cho các ký tự mở rộng * Xóa cây thư mục DELTREE Lệnh này xóa thư mục được chỉ định và tất cả cac thư mục con, tập tin của nó. Cú pháp: DELTREE [/y] [dirve :] [path] Ghi chú: directory name là tên thư mục đại diện cho một cây (nhánh) thư mục cần xóa. Nếu có tùy chọn /y có nghĩa là người sử dụng đã xác nhận việc xóa cây thư mục này là chắc chắn. * Phục hồi file đã bị xóa (UNDELETE) Ta có thể khôi phục lại các file đã lỡ bị xóa do dùng lệnh DEL, miễn là vùng chứa file này trong đĩa chưa bị các file khác chép chồng lên và nhất thiết ta phải nhớ ký tự đầu tiên của tên file. Cú pháp: UNDELETE [drive:][path] * Di chuyển file MOVE Ðể dời file từ nơi này sang nơi khác (thay vì dùng COPY và DEL) Cú pháp 1: Di chuyển tập tin MOVE [drive:][path] Với destination là nơi di chuyển các files đến. Cú pháp 2: Ðổi tên thư mục MOVE [drive:][path] * In văn bản ra máy in (PRINT) Có thể in trực tiếp các file văn bản chứa mã ASCII ra máy in. Cú pháp: PRINT [drive:][path] Nếu muốn in trực tiếp các thông tin hiển thị trên màn hình ta có thể dùng tổ hợp phím Shift + PrintScreen sau khi bật máy in lên. Tùy chọn Device dùng để khai báo cổng máy in COM1, COM2, hoặc LPT1, LPT2,
  48. BÀI ÐỌC THÊM TO TẬP LỆNH XỬ LÝ THEO LÔ (BATCH FILE) VÀ TẬP LỆNH CẤU HÌNH MÁY (CONFIG.SYS) oOo I. TẬP LỆNH XỬ LÝ THEO LÔ Ðể tránh việc phải gõ đi gõ lại một chuỗi lệnh mất thì giờ, MS-DOS cho phép ta đặt các chuỗi lệnh trong một tập tin, gọi là tập lệnh xử lý theo lô (Batch File) còn gọi là file BAT vì đều có phần mở rộng của file là BAT. Khi sử dụng ta chỉ cần gọi tên file BAT và nhấn Enter thì một loạt các chuỗi lệnh trong nó sẽ tuần tự thi hành. Trong file BAT, ta có thể dùng các lệnh nội trú và ngoại trú của DOS, các câu lệnh, tham số của BAT và các chương trình khác. Ta có thể sử dụng các lệnh hoặc chương trình tạo văn bản của DOS như COPY CON, EDIT.COM, SIDEKICK, WINWORD, để tạo ra các file BAT. Ví dụ: Dùng lệnh của MS-DOS C:\>COPY CON NHAPDATA.BAT hay dùng chương trình EDIT : C:\>EDIT NHAPDATA.BAT Tập tin AUTOEXEC.BAT trong đĩa hệ thống là một file BAT đặc biệt. Khi khởi động máy, tuần tự các lệnh chứa trong nó sẽ được thi hành. Tập tin AUTOEXEC.BAT thường có các lệnh báo đường dẫn, thiết lập cấu hình, tạo dấu nhắc, báo ngày giờ và một số thông báo nhắc nhở người sử dụng. Ta có thể tạo ra một tập tin AUTOEXEC.BAT đơn giản sau: A:\>COPY CON AUTOEXEC.BAT REM TAP TIN KHOI DONG MAY ECHO OFF TIME DATE PATH C:\; C:\DOS; C:\NC; C:\PASCAL; C:\WINDOW; PROMPT $P$G
  49. ECHO == PHONG MAY TINH CHAO CAC BAN == Gõ phím chức năng F6 (hoặc Ctrl + Z) 1 file(s) copied Lập trình cho file BAT : Ta có thể lập trình cho file BAT bằng cách sử dụng các lệnh FOR, GOTO, IF, với các tham số hình thức %0, 1%, 2%, (cho phép sử dụng 10 tham số hình thức từ %0 đến %9). Nếu ta dùng ký hiệu % như một thành phần trong file BAT thì phải ghi dấu % hai lần. Tham số %0 tương ứng với tên file BAT đang được thực hiện và %1, %2, tương ứng với các tham số được đưa vào. Ví dụ: Tạo một file BAT đơn giản như sau: A:\>COPY CON VANBAN.BAT ECHO %0 MD %1 CD %1 COPY C:\%2.TXT DIR A: Gõ phím F6 (hoặc Ctrl + Z) 1 file(s) copied Khi dùng lệnh: A:\>VANBAN TEXT BAOCAO Sau khi Enter, tên VANBAN sẽ thay vào %0, tên TEXT sẽ thay vào vị trí %1 và BAOCAO sẽ vào vị trí %2. Do vậy, máy sẽ hiểu cần thi hành tuần tự các công việc sau: - Hiển thị câu: VANBAN - Mở thư mục: MD TEXT - Vào thư mục: CD TEXT - Chép file BAOCAO.TXT từ ổ đĩa C - Liệt kê tất cả các file trong đĩa A
  50. Các câu lệnh chính dùng trong file BAT: Trong file BAT cho phép sử dụng dấu @ (a sign), nếu đặt @ trước một lệnh thì lệnh đó không hiển thị ra màn hình mà chỉ thi hành lệnh. ECHO Cú pháp: ECHO [on/off] Ghi chú: - Lệnh Echo cho phép đưa ra (on) hay không đưa ra (off) màn hình câu lệnh. - xuất hiện không cần để ý trạng thái của Echo là on/off CALL Cú pháp: CALL [drive:][path] [argument] Ghi chú: - Lệnh Call cho phép ta gọi một file BAT khác chạy trong file BAT hiện tại. - là tên tập tin BAT khác mà ta muốn gọi. - [argument] là lệnh sẽ thi hành tiếp theo sau khi file BAT được gọi. PAUSE Cú pháp: PAUSE [comment] Ghi chú: - Lệnh Pause tạm thời dừng thi hành file BAT - [comment] dòng chú thích hiển thị ra màn hình, không dài quá 123 ký tự. - Các lệnh sau lệnh Pause sẽ tiếp tục khi ta gõ một nút bất kỳ trên bàn phím. REM Cú pháp: REM [comment] Ghi chú: - Lệnh REM(remark) ghi các nhắc nhở [comment ] dài không quá 123 ký tự. - Các comment này sẽ xuất hiện trên màn hình nếu trước đó ta có ECHO ON và ngược lại, chúng sẽ không xuất hiện khi có ECHO OFF. IF
  51. Cú pháp 1: IF [NOT] EXIST [drive:][path] Ghi chú: - Lệnh IF là lệnh điều kiện với ý nghĩa: NẾU thì thi hành - IF [NOT] là phủ định (not tùy chọn): NẾU KHÔNG thì thi hành Ví dụ: Trong 1 file BAT ta có dòng: COPY C:\DOS\*.COM A: IF EXIST A: EDIT.COM EXIT DIR A: Lệnh trên có nghĩa là copy ở C:\DOS tất cả các file .COM vào đĩa A. Nếu đĩa A đã có file EDIT.COM thì thôi không thực hiện nữa (để khỏi mất thì giờ) và thoát ra (EXIT) thực hiện dòng tiếp là liệt kê các file ở đĩa A. Cú pháp 2: IF [NOT] String1 == String2 Ghi chú: Nếu chuỗi ký tự String1 giống chuỗi ký tự String2 thì được thực hiện. Ví dụ: IF %1 == IN ECHO MO MAY IN RA ! Nghĩa là nếu chương trình chứa tham số %1 đúng là IN thì hiển thị (ECHO) dòng chữ MO MAY IN RA !. Ngược lại, nếu tham số %1 không là IN thì không thi hành lệnh ECHO theo sau. Cú pháp 3: IF [NOT] ERRORLEVEL # Ghi chú: Lệnh điều kiện này để báo mức độ lỗi. Tùy theo mức độ lỗi đã định mà thực hiện tương ứng. Ví dụ: COPY C:\PRG\*.PAS A: IF ERRORLEVEL 1 ECHO KHONG COPY DUOC Nghĩa là copy tất cả các file .PAS ở C:\PRG qua A. Vì một lý do nào đó ta không copy được (không có đĩa A, hay điã A bị hư hay đĩa A đã đầy ) thì chương trình sẽ báo dòng chữ KHONG COPY DUOC. FOR Cú pháp: FOR %% IN (Tập hợp) DO [Tham số Lệnh} Ghi chú: - Lệnh FOR thực hiện vòng lặp với từng file trong tập hợp file.
  52. - Nghĩa là, (variable) sẽ lần lượt nhận các giá trị trong (Set) để thực hiện (comamnd) theo [Tham số Lệnh] (Command parameters). Ví dụ: FOR %%T IN (C:\VANBAN\*.TXT) DO COPY %%T A:\ Sao chép lần lượt tất cả các file .TXT trong C:\VANBAN vào A:\ GOTO CÚ PHÁP: GOTO : Ghi chú: - Lệnh GOTO là lệnh di chuyển tới dòng lệnh đứng sau (Label). - Trước phải có dấu hai chấm (:), chiều dài có giá trị của chỉ có 8 ký tự mặc dầu ta có thể viết dài hơn tùy ý. - Nếu không xác định được trong file BAT thì khi thi hành lệnh GOTO máy sẽ báo: Label not found (Nhãn không tìm thấy) Ví dụ: FORMAT A:/S IF ERRORLEVEL 0 GOTO ECHO KHONG FORMAT A: DUOC SHIFT Cú pháp: SHIFT Ghi chú: - Lệnh SHIFT dùng để thay đổi vị trí tham số có thể thay thế được trong .BAT - File BAT có tối đa 10 biến có thể thay thế từ %0 đến %9, khi dùng SHIFT thì sẽ có một sự thay đổi biến như sau: %0 mất đi, %1 chép đè lên %0, và %2 chép đè lến %1, và %3 chép đè lên %2, - Lệnh SHIFT có thể dùng quá 10 tham số. Ví dụ: Ta có file mang tên SAPCHU.BAT trong ổ A với nội dung sau: ECHO OFF ECHO %0 %1 %2 %3 SHIFT ECHO %0 %1 %2 %3 SHIFT
  53. ECHO %0 %1 %2 %3 SHIFT Khi cho chạy thử với dòng lệnh: A:\>SAPCHU Toi thich an kem lam Kết quả hiện ra màn hình là: A:\> ECHO OFF SAPCHU Toi thich an Toi thich an kem Thich an kem lam II. TẬP LỆNH CẤU HÌNH MÁY CONFIG.SYS Tập tin CONFIG.SYS là file tạo cấu hình hệ thống, nó cho phép ta thay đổi các cấu hình chuẩn (default) của MS-DOS. Hầu hết các máy vi tính hiện nay đều có 2 tập tin đồng thời là AUTOEXEC.BAT và CONFIG.SYS. Hai file này chứa các thông tin liên quan đến cấu hình hệ thống và đặt tại thư mục gốc của đĩa khởi động máy. Tập tin CONFIG.SYS có thể tạo bằng lệnh COPY CON CONFIG.SYS, hoặc các trình lập văn bản như EDIT.COM, WINWORD, Sau khi khởi động máy, DOS sẽ tìm CONFIG.SYS trong thư mục gốc đĩa khởi động hệ thống của nó. Nếu không tìm thấy CONFIG.SYS, DOS sẽ lập cấu hình của máy theo trị mặc nhiên. Một số lệnh trong CONFIG.SYS BREAK Cú pháp: BREAK = ON/OFF Ghi chú: Lệnh BREAK dùng để định chế độ kiểm tra bàn phím, BREAK = ON cho phép ta dùng tổ hợp phím Ctrl +C (hay Ctrl+Break) để ngưng việc thi hành lệnh, muốn tắt chế độ BREAK ta sử dụng lệnh BREAK = OFF. BUFFERS Cú pháp: BUFFERS = Ghi chú: - Lệnh BUFFERS là lệnh cấp phát bộ nhớ đệm, nghĩa là định số sectors cho vùng nhớ đệm của hệ thống. Vùng nhớ đệm dùng để lưu trữ nội dung của file mà chương trình hiện hành đang dùng.
  54. - là giá trị vùng nhớ đệm có thể có giá trị từ 2 đến 255. Khi cấu trúc thư mục trở nên phức tạp, thì nên tăng cường số buffers để tạo hiệu quả thêm cho DOS. Tuy nhiên, quá nhiều buffers thì vùng nhớ trống còn lại của chương trình và dữ liệu sẽ ít đi. - Thông thường, giá trị vùng nhớ đệm được khai báo là buffers = 30. COUNTRY Cú pháp: COUNTRY = xxx[,[yyy],[drive:] ] Ghi chú: - Lệnh COUNTRY chỉ định các thông tin cho MD-DOS về ngày, giờ, tiền tệ, phù hợp với mỗi quốc gia. Lệnh này cũng chỉ ra bộ mã ký tự của nước đó. - xxx là mã điện thoại quốc tế của một nước : 001 của Mỹ, 084 của Việt nam, - yyy là trang mã (code page) của một nước. - filename là tập tin thông tin quốc gia, nếu không có DOS sẽ sử dụng COUNTRY.SYS của hệ thống. FILES Cú pháp: FILES = Ghi chú: - Lệnh Files dùng để xác định số tập tin mà MS-DOS có thể mở ra đồng thời để xử lý. Trường hợp, số files mở ra nhiều hơn số đã định thì gặp dòng thông báo: Too many files open (Mở quá nhiều tập tin) - Số file có thể từ 8 đến 255. Giá trị mặc nhiên là 8, thường thì Files = 30 DEVICE Cú pháp: DEVICE = [drive:][path] [argument] Ghi chú: - Lệnh DEVICE dùng để cài module điều khiển các thiết bị cho MS-DOS - là tên tập tin dùng để điều khiển thiết bị, thí dụ như: ANSI.SYS DISPLAY.SYS DRIVER.SYS CONFIG.SYS PRINTER.SYS RAMDRIVE.SYS (VDISK.SYS) - [argument] chỉ ra các thông tin của dòng lệnh mà chương trình điều khiển thiết bị yêu cầu.
  55. Ví dụ: Lệnh cho phép xác định một phần bộ nhớ của máy tính như là một ổ cứng, vùng bộ nhớ này gọi là RAM disk và làm việc như một ổ đĩa aỏ (virtual disk) : DEVICE = C:\DOS\RAMDRIVE.SYS 100/E câu lệnh trên sẽ tạo ra một đĩa ảo có kích thước 100 KB nằm trong vùng nhớ mở rộng (/E : Expanded Memory). Tên đĩa ảo sẽ là tên alphabetic tiếp theo tên của đĩa cứng. Ví dụ đĩa cứng chia thành 2 ổ có tên là C: và D: thì đĩa ảo sẽ có tên là E: SHELL Cú pháp: SHELL =[drive:][path] Ghi chú: - Lệnh SHELL cho phép sử dụng bộ xử lý lệnh cấp cao (top-level command processor) thay thế lệnh COMMAND.COM. - là tên của chương trình xử lý lệnh. CHƯƠNG 5 CÁC PHẦN MỀM HỖ TRỢ I. PHẦN MỀM TIỆN ÍCH NORTON COMMANDER. 1. Giới thiệu. 2. Các thao tác căn bản trong NC. II. VIRUS TIN HỌC VÀ CÁCH PHÒNG CHỐNG. 1. Virus tin học là gì?. 2. Cách phòng chống Virus. 3. Các chương trình kiểm tra và diệt Virus thông dụng. I. PHẦN MỀM TIỆN ÍCH NORTON COMMANDER 1. Giới thiệu TO Norton Commander (viết tắt là NC) là một trong những chương trình tiện ích chạy trong môi trường DOS. NC được sử dụng nhiều ở Việt nam và nhiều quốc gia khác. Ưu điểm của NC là đơn giản, dễ sử dụng và không chiếm nhiều không gian, bộ nhớ mà vẫn đủ các chức năng cơ bản và nâng cao. Sử dụng được NC, ta dễ dàng khai thác các trình ứng dụng tương tự như Norton Utilities, PC Tools, Xtree Gold, File Manager trong Windows, v.v
  56. Phiên bản Norton Commmander được dùng phổ biến hiện nay tại Việt nam là NC version 4.0 và version 5.0. Chúng ta có thể cài đặt toàn bộ hay một phần chương trình. Hai file quan trọng nhất của NC là NC.EXE và MCMAIN.EXE. Thường NC được cài trong phần Path của Autoexec.bat. Ðể đi vào NC, từ dấu nhắc của DOS, ta gõ NC rồi nhấn Enter. Khi đó, trên màn hình sẽ xuất hiện hai cửa sổ gọi là Panels, như sau: Hình 5.1: Panel làm việc của Norton Commander Panel có viền sáng được gọi là cửa sổ làm việc hiện thời. Muốn chuyển cửa sổ làm việc ta dùng phím Tab. Trên các panels, có thể đọc được các thông tin: · Nội dung của các thư mục và files hiện thời · Cấu trúc thư mục trên đĩa · Các thông tin về chương trình, bộ nhớ, file trống trên đĩa hiện hành · Dòng cuối cùng là các phím nóng (HotKey) chỉ dẫn các thao tác nhanh. F1 Help : Hướng dẫn F2 Menu : Gọi Thực đơn của người sử dụng F3 View : Xem nội dung file có vệt sáng hiện hành F4 Edit : Soạn thảo, sửa chữa nội dung file F5 Copy : Sao chép files sang nơi khác F6 RenMov : Di chuyển files hoặc đổi tên F7 Mkdir : Tạo thư mục con F8 Delete : Xóa files hoặc thư mục F9 PullDn : Mở menu làm việc của NC
  57. F10 Quit : Thoát khỏi chương trình Tổ hợp phím: Ctrl + F1 : dùng để ẩn/ hiện Panel trái Ctrl + F2 : dùng để ẩn/ hiện Panel phải phím Tab : chuyển đổi vệt sáng giữa các cửa sổ 2. Các thao tác căn bản trong NC TO * Xem cây thư mục Nhấn F9 - ta có dòng Menu ở hàng trên, vào Right (Left) nếu muốn cây thư mục xuất hiện ở Panel Phải (Trái tương ứng), gõ Enter. Một bảng như sau xuất hiện: Trong bảng này có nhiều option cho ta lựa chọn, muốn vào mục nào ta kéo vệt sáng (highlight) xuống dòng đó (hoặc nhấn phím chữ có đánh dấu màu) rồi nhấn Enter. Ví dụ, muốn xem cây thư mục (Tree) thì ta kéo vệt sáng xuống vị trí Tree (hoặc nhấn phím T) rồi nhấn Enter. Hình 5.2: Option của Thực đơn Right Trên màn hình sẽ cho ta hình ảnh sau:
  58. Hình 5.3: Hình ảnh cây thư mục ở Panel phải * Chọn thư mục làm việc hoặc file Thư mục (Directory) và file là 2 đối tượng chính của NC. Thư mục thể hiện bằng chữ in hoa, trong khi file thể hiện bằng chữ thường. Ta có thể dùng các phím di chuyển trên bàn phím như , PageUp, PageDown để đi đến các thư mục và file để chọn. Vệt sáng nằm ở thư mục hay file nào là NC đang làm việc tại thư mục hay file đó. Khi đưa vệt sáng đến các files có phần mở rộng là .BAT, .COM và .EXE và nhấn Enter thì NC sẽ thực hiện ngay lệnh đó trong môi trường của nó. Khi hoàn tất việc thực thi các file đó, chương trình quay trở về NC. * Chọn một nhóm files Muốn chọn một nhóm files hoặc từng thư mục, ta di chuyển vệt sáng đến các files hoặc thư mục đó và gõ vào nút trên bàn phím để chọn, khi đó tên file đã chọn sẽ đổi sang màu sáng trên màn hình panel. Trường hợp muốn hủy việc chọn lựa, ta cũng di chuyển vệt sáng đến chỗ file cần hủy chọn và nhấn một lần nữa, khi đó màu sáng của file biến mất. * Chọn một nhóm hoặc tất cả các files Muốn chọn tất cả các files trong một panel hiện hành hoặc một nhóm các files dựa trên ký hiệu đại diện, ta gõ nút ở vùng phím số, khi đó trên màn hình sẽ xuất hiện hộp thoại: Khi gõ Enter, tất cả các file trong panel sẽ được chọn và đồng loạt đổi sang màu sáng. Nếu ta chỉ muốn chọn một nhóm tập tin có cùng một kiểu đặt tên nào đó thì có thể sử dụng các ký tự đại diện như ? hay * và gõ Enter khi đã định xong. * Sao chép, di chuyển và xoá files
  59. Khi các nhóm file đã được chọn thì ta có thể sao chép, di chuyển hoặc xóa bỏ tùy ý. Ở chế độ mặc định, files hoặc thư mục sẽ theo câu lệnh mà sao chép hoặc di chuyển sang thư mục đối diện. Có thể dùng các thao tác sau : Nhấn F5 (Copy) : sao chép files qua thư mục khác Nhấn F6 (RenMov) : đổi tên hay di chuyển files Nhấn F8 (Delete) : xóa files hay thư mục Ðể chọn thư mục đích, ta dùng phím Alt-F10 và các phím mũi tên để chỉ định đường dẫn hay gõ trực tiếp tên đường dẫn. Ðể bảo vệ files khi bị xóa hoặc chép đè lên, NC luôn đưa ra các thông báo cần thiết để người sử dụng khẳng định lại ý đồ của mình. * Tạo thư mục Dùng phím F7 để tạo thư mục (Make Directory), sau đó gõ tên thư mục và nhấn Enter. Trường hợp, gõ tên thư mục mà không gõ đường dẫn thì NC mặc nhiên tạo thư mục con trong thư mục của panel hiện hành. * Chuyển thư mục Cách đơn giản nhất là đưa vệt sáng đến thư mục cần chuyển và ấn Enter. Tổ hợp phím sẽ hiện thị cây thư mục và ta dùng các phím mũi tên để di chuyển đến thư mục cần chuyển và gõ Enter. * Chuyển ổ đĩa Dùng tổ hợp phím và các phím mũi tên để chọn ổ đĩa thích hợp và gõ Enter, khi đó nội dung ổ đĩa vừa chọn sẽ xuất hiện ở panel bên trái. Khi dùng tổ hợp phím thì nội dung ổ đĩa sẽ ở panel phải màn hình. * Tìm kiếm file Ðể tìm kiếm nhanh một file nào đó trong thư mục hiện hành, ta nhấn giữ phím Alt và đồng thời gõ các ký tự đầu tiên của tên file. Nếu cho các ký tự đầu của tên file càng nhiều thì mức độ tìm kiếm càng nhanh. Trường hợp không rõ thư mục chứa file hoặc tên file nằm ở các thư mục khác nhau, ta có thể sử dụng tổ hợp phím , sau đó gõ tên file cần tìm và nhấn Enter. Khi gõ tên file ta có thể sử dụng các ký tự ? hoặc * như trên DOS. NC sẽ tìm kiếm cho đến khi ta chọn Stop và Enter để ngưng. Các phím mũi tên được dùng để chọn một file nào đó trong nhóm vừa tìm thấy. Nếu chọn tiếp ChDir và Enter, chương trình sẽ đưa ta vào làm việc với thư mục chứa file vừa tìm được. Chức năng New search của NC cho phép bắt đầu lại việc tìm kiếm. Chức năng Change drive dùng để chuyển ổ đĩa cần tìm kiếm.
  60. * Cài đặt thuộc tính cho files Trong MS-DOS, các files có thể có các thuộc tính (attributes) sau : Archive : thuộc tính lưu trữ Read Only : thuộc tính chỉ đọc Hidden : thuộc tính ẩn System : thuộc tính hệ thống NC có thể giúp ta thay đổi thuộc tính cho file hoặc một nhóm file. · Ðánh dấu các files cần đặt/hủy thuộc tính · Nhấn lần lượt phím F9 và các thực đơn con /File/File attributes. Hộp thoại như sau sẽ xuất hiện: · Dùng các phím mũi tên và phím chọn SPACE để đánh dấu. Cột set là thiết lập, cột clear là hủy bỏ thuộc tính. · Chọn chức năng set ở hàng dưới cùng để thực hiện lệnh. II. VIRUS TIN HỌC VÀ CÁCH PHÒNG CHỐNG 1. Virus tin học là gì ? TO Virus tin học hay còn gọi là virus máy tính (computer virus) là một đoạn chương trình ẩn, có kích thước nhỏ, có khả năng tự sao chép, sinh sôi nẩy nở như một virus sinh học, lây lan nhanh và có thể gây nguy cơ phá hoại các phần mềm hệ của hệ điều hành, xóa một phần hay toàn bộ các tập tin dữ liệu, tạo ra các tập tin vô nghĩa chiếm lấy không gian bộ nhớ của máy, hoặc chỉ đơn thuần trêu chọc hay đe dọa suông người sử dụng, Thoạt đầu, virus tin học là vũ khí của những người viết phần mềm muốn bảo vệ sản phẩm của họ chống việc sao chép bất hợp pháp. Sau một số người tạo ra các virus khác nhằm mục đích phá hoại hay đơn thuần chỉ để tự khẳng định mình và cấy vào trong các máy khác gây lây nhiễm trên một diện rộng. Năm 1987, virus Lehigh lần đầu tiên được phát hiện trên máy IBM PC. Cùng lúc đó, virus Brain từ Pakistan xâm nhập vào các trường Ðại học của Mỹ. Một virus khác từ Ðại học Hebrew, Israel cũng xuất
  61. hiện. Từ đó đến nay, hàng ngàn chủng loại virus được thông báo phát hiện gây phá hoại, tê liệt nhiều hệ thống máy trên toàn thế giới gây thiệt hại nhiều triệu dollars. Virus được chia thành 2 nhóm chính: + B-virus (Boot-virus) : là các virus chuyên tấn công lên các Boot sector hay Master boot, điển hình như : Brain, Nops, Clock, Stone, Sàigòn 01/91, + F-virus (File-virus) : là các virus chỉ tấn công lên các file .COM và .EXE, điển hình như : Friday 13th, Yankee Doodle, DataLock, Keypress, VN01, Hay một số chuyên phá hoại các file có phần mở rộng .DB* của các chương trình dBase, FoxBase hay chuyên phá hoại các file văn bản có phần mở rộng là .DOC như virus Concept, Macro, Ngoài ra, một số virus vừa mang cả 2 tính phá hoại Boot và File như virus Dark Avenger Người ta còn lo ngại một số người đang cố tình tạo ra các virus còn có thể xâm nhập vào các hệ thống mạng máy tính qua đường truyền thư điện tử (E-mail) hoặc mạng Internet, mạng của các ngân hàng lớn gây đảo lộn các số liệu tài khoản, hoặc xâm nhập vào các hệ thống máy tính quân sự tạo nên những báo động giả rất nguy hiểm Hiện nay, một số nước đã ra những điều luật xem những kẻ cố tình tạo ra các virus tin học phá hoại, lấy cắp mật mã, (gọi chung là những kẻ tin tặc - hackers) như là những tội phạm hình sự. 2. Cách phòng chống virus TO - Không chép các chương trình mà bạn không rõ nguồn gốc và đặc biệt chưa qua thủ tục kiểm tra virus. - Các file dữ liệu quan trọng cần phải được COPY lưu trữ dự phòng và có thể dùng các chương trình PKZIP.EXE hay ARJ.EXE để nén lại, tiết kiệm đĩa. - Có thể sử dụng nhiều phần mềm BACKUP để lưu. - Dùng lệnh BACKUP và RESTORE của DOS như sau: Mẫu lệnh: BACKUP source destination - drive : [Option] Các option là: /S : lưu trữ cả thư mục con /M : chỉ lưu các file bị đổi so với lần lưu cuối cùng /A : lưu thêm các file vào đĩa lưu trữ /F :[ size] : chỉ định kích thước đĩa cần định dạng /D: date : Chỉ lưu trữ các file bị thay đổi kể từ ngày /T : time : Chỉ lưu trữ các file bị thay đổi kể từ thời điểm
  62. /L[:[drive:][path]logfile ] : Tạo nên một file nhật ký vào đầu vào để ghi các thao tác lưu trữ Ví dụ muốn lưu trữ thư mục DOS và các thư mục con của nó vào ổ B, ta gõ: C:\>BACKUP C:\DOS B:/S Máy sẽ thông báo dòng tin: Insert backup diskette 01 in drive B : WARNING ! Files in the target drive B:\ root directory will be erased Press any key to continue Sau khi lưu trữ vào B, ta có thể xem trên dĩa có nội dung: C:\>dir B: Volume in drive B is BACKUP 001 Volume Serial Number is 001F- 012B Directory of B:\ BACKUP 001 1, 432, 246 04-20-96 6:20p 1 file(s) 1, 432, 246 bytes 7, 754 bytes free Chương trình RESTORE là chương trình khôi phục các file trong BACKUP Mẫu lệnh như sau: RESTORE drive1 : drive2 : [path[filename]] [Option] trong đó: drive1 : chỉ ổ đĩa chứa file backup drive2 :[path[filename]] : chỉ rõ các file cần phục hồi các options là: /S : Phục hồi tất cả file trong các thư mục con trong đường dẫn /P : Báo cho ta biết trước khi khôi phục các read-only-files hoặc các file đã thay đổi từ lần backup cuối cùng (nếu các thuộc tính phù hợp được thiết lập).
  63. /M : Chỉ khôi phục các file có thay đổi kể từ lần backup cuối /N : Chỉ khôi phục các file không có trên đĩa nhận /D : Hiển thị các file trên đĩa backup phù hợp với đặc tả /B:date: Chỉ khôi phục các file có thay đổi kể từ trước ngày /A:date: Chỉ khôi phục các file có thay đổi kể từ sau ngày /E:time: Chỉ khôi phục các file có thay đổi kể từ trước thời điểm /L:time: Chỉ khôi phục các file có thay đổi kể từ sau thời điểm Với ví dụ trên, muốn khôi phục thư mục DOS, ta gõ: C:\>RESTORE B: C : /S Insert backup diskette 01 in drive B : Press any key to continue Files were backed up 04 - 20 - 96 Restoring files from drive B : Diskette : 01 Chú ý: Chúng ta không cần chỉ định rõ thư mục con. 3. Các chương trình kiểm tra và diệt virus thông dụng TO Ta cần có một số đĩa khác phòng ngừa sự mất mát hệ thống: · Chương trình NORTON UTILITIES có file RESCUE.EXE giúp bạn tạo một đĩa cấp cứu lưu trữ các bảng FAT, Boot Sector, CONFIG.SYS của máy vi tính. · Tạo một đĩa khởi động máy, chứa các tập tin: COMMAND.COM IO.SYS MSDOS.SYS AUTOEXEC.BAT CONFIG.SYS SYS.COM
  64. NDD.EXE · và một số đĩa chứa chương trình quét và diệt virus có phiên bản (version) mới nhất, như: - SCAN.EXE và CLEAN.EXE của Công ty Mc-Afee, Mỹ - VSAFE.EXE của MS-DOS, Mỹ - MSAV.EXE của MS-DOS, Mỹ - NORTON ANTIVIRUS CủA NORTON, Mỹ - ATV.EXE của Ngô Anh Vũ và Phạm Dũ Liêm, ÐH Kinh tế TP. HCM - TAV.EXE của Dương Hồng Tấn, Trần Thanh Sơn, Unisoft, TP. HCM - D2.COM của Trương Minh Nhật Quang, ÐH Tại chức TP. Cần Thơ - BKAV của Ðại học Bách khoa Hà Nội - v.v CHƯƠNG 6 CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL I. GIỚI THIỆU. II. CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ PASCAL. 1. Bộ KÝ Tự. 2. Từ khóa. 3. Tên chuẩn. 4. Danh hiệu tự đặt. III. CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL. IV. CÁC KIỂU DỮ LIỆU CƠ SỞ : INTEGER, REAL, BOOLEAN, CHAR. 1. Khái niệm. 2. Kiểu số nguyên (Integer type). 3. Kiểu số thực (Real type). 4. Kiểu logic (Boolean type). 5. Kiểu ký tự (Char type). V. CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, 1. Hằng. 2. Biến.
  65. 3. Kiểu. 4. Biểu thức. VI. CÁC THỦ TỤC XUẤT/NHẬP. 1. Câu lệnh. 2. Cấu trúc tuần tự. 3. Cấu trúc rẽ nhánh. 4. Cấu trúc lặp. BÀI ÐỌC THÊM NHẬP & XUẤT DỮ LIỆU TRONG TURBO PASCAL. I. GIỚI THIỆU TO Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal được giáo sư Niklaus Wirth ở trường Ðại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến nhà Toán học và Triết học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra một máy tính cơ khí đơn giản đầu tiên của con người. Ngôn ngữ Pascal được dùng hiện nay có nhiều điểm khác biệt với chuẩn Pascal nguyên thủy của Giáo sư Wirth. Tùy theo quốc gia hoặc công ty đã phát triển cho ra đời các chương trình biên dịch ngôn ngữ Pascal như: · ISO PASCAL (International Standards Organization) của Châu Âu · ANSI PASCAL (American National Standards Institute) của Mỹ · TURBO PASCAL của hãng BORLAND (Mỹ) · IBM PASCAL của hãng Microsoft (Mỹ) · v.v Ðến nay, ngôn ngữ Pascal đã phát triển đến phiên bản Turbo Pascal Version 7. Các diễn giải và ví dụ trong giáo trình này chủ yếu sử dụng chương trình Turbo Pascal 5.5 - 7.0, hiện đang được sử dụng rộng rãi ở Việt Nam. II. CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ PASCAL 1. Bộ ký tự - Bộ 26 chữ Latin: Chữ in: A, B, C, , X, Y, Z Chữ thường: a, b, c, , x, y, z - Bộ chữ số thập phân: 0, 1, 2, 3, , 8, 9 - Ký tự gạch nối dưới: _
  66. - Các ký hiệu toán học: +, -, *, /, =, , (, ), [, } 2. Từ khóa TO Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa. - Từ khóa chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION - Từ khóa để khai báo: CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL - Từ khóa của lệnh lựa chọn: IF THEN ELSE, CASE OF - Từ khóa của lệnh lặp: FOR TO DO, FOR DOWNTO DO, WHILE DO, REPEAT UNTIL - Từ khóa điều khiển: WITH, GOTO, EXIT, HALT - Từ khóa toán tử: AND, OR, NOT, IN, DIV, MOD 3. Tên chuẩn TO Tên chuẩn là tên đã được định nghĩa sẵn trong Pascal, nhưng người ta có thể định nghĩa lại nếu muốn. Trong Pascal ta có các tên chuẩn sau đây: Boolean, Char, Integer, Word, Byte, Real, Text False, True, MaxInt Abs, Arctan, Chr, Cos, Sin, Eof, Eoln Exp, Ln, Odd, Ord Round, Trunc, Sqr, Pred, Succ Dispose, New, Get, Put, Read, Readln, Write, Writeln
  67. Reset, Rewrite 4. Danh hiệu tự đặt Trong Pascal để đặt tên cho các biến, hằng, kiểu, chương trình con ta dùng các danh hiệu (identifier). Danh hiệu của Pascal được bắt đầu bằng một chữ cái, sau đó có thể là các chữ cái, chữ số hay là dấu nối, không được có khoảng trắng và độ dài tối đa cho phép là 127. Ví dụ 6.1: Sau đây là các danh hiệu: x; S1; Delta; PT_bac_2 Pascal không phân biệt chữ thường và chữ hoa trong một danh hiệu. Ví dụ 6.2: aa và AA là một; XyZ_aBc và xyZ_AbC là một Khi viết chương trình ta nên đặt các danh hiệu sao cho chúng nói lên các ý nghĩa của đối tượng mà chúng biểu thị. Ðiều này giúp chúng ta viết chương trình dễ dàng và người khác cũng dễ hiểu nội dung chương trình. III. CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL TO Hình 6.1: Sơ đồ cấu trúc chương trình Pascal Ví dụ 6.3: PROGRAM Hello; { Dòng tiêu đề } USES Crt; { Lời gọi sử dụng các đơn vị chương trình } VAR Name : string; { Khai báo biến } PROCEDURE Input; { Có thể có nhiều Procedure và Function } Begin ClrScr; { Lệnh xóa màn hình }
  68. Write(' ‘Hello ! What is your name ? ‘');Readln(Name); End; BEGIN { Thân chương trình chính } Input; Writeln (' ‘Welcome to you, ‘, Name') ; Writeln (' ‘Today, we study PASCAL PROGRAMMING ‘'); Readln; END. Một chương trình Pascal có các phần: * Phần tiêu đề: Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chương trình và chấm dứt bằng dấu chấm phẩy (;) Tên chương trình phải được đặt theo đúng qui cách của danh hiệu tự đặt. Phần tiêu đề có hay không cũng được. * Phần khai báo dữ liệu: Trước khi sử dụng biến nào phải khai báo biến đó, nghĩa là xác định rõ xem biến đó thuộc kiểu dữ liệu nào. Một chương trình Pascal có thể có một số hoặc tất cả các khai báo dữ liệu sau: CONST : khai báo hằng TYPE : định nghĩa kiểu dữ liệu mới VAR : khai báo các biến * Phần khai báo chương trình con: Phần này mô tả một nhóm lệnh được đặt tên chung là một chương trình con để khi thân chương trình chính gọi đến thì cả nhóm lệnh đó được thi hành. Phần này có thể có hoặc không tùy theo nhu cầu.
  69. * Phần thân chương trình: Phần thân chương trình là phần quan trọng nhất và bắt buộc phải có, phần này luôn nằm giữa 2 từ khoá là BEGIN và END. Ở giữa là lệnh mà các chương trình chính cần thực hiện. Sau từ khóa END là dấu chấm (.) để báo kết thúc chương trình. * Dấu chấm phẩy (;): Dấu ; dùng để ngăn cách các câu lệnh của Pascal và không thể thiếu được. * Lời chú thích: Lời chú thích dùng để chú giải cho người sử dụng chương trình nhớ nhằm trao đổi thông tin giữa người và người, máy tính sẽ không để ý đến lời chú thích này. Lời chú thích nằm giữa ký hiệu: { } hoặc (* *) IV. CÁC KIỂU DỮ LIỆU CƠ SỞ: INTEGER, REAL, BOOLEAN, CHAR 1. Khái niệm TO Dữ liệu (data) là tất cả những gì mà máy tính phải xử lý. Theo Niklaus Wirth: CHƯƠNG TRÌNH = THUẬT TOÁN + CẤU TRÚC DỮ LIỆU Một kiểu dữ liệu (data type) là một qui định về hình dạng, cấu trúc và giá trị của dữ liệu cũng như cách biểu diễn và cách xử lý dữ liệu. Trong Pascal các kiểu dữ liệu gồm các loại sau: - Kiểu đơn giản (Simple type): bao gồm kiểu số nguyên (Integer), kiểu số thực (Real), kiểu logic (Boolean), kiểu ký tự (Char). - Kiểu có cấu trúc (Structure type): bao gồm mảng (Array), chuỗi (String), bản ghi (Record), tập hợp (Set), tập tin (File). - Kiểu chỉ điểm (pointer): Trong chương này, chúng ta chỉ xét các kiểu dữ liệu đơn giản. 2. Kiểu số nguyên (Integer type) TO a. Kiểu số nguyên thuộc Z chứa trong Turbo Pascal Ðược định nghĩa với các từ khóa sau: TỪ KHÓA SỐ BYTE PHẠM VI BYTE 1 0 255 SHORTINT 1 - 128 127
  70. INTEGER 2 - 32768 + 32767 WORD 2 0 65535 LONGINT 4 - 2147483648 2147483647 b. Các phép toán số học đối với số nguyên KÝ HIỆU Ý NGHĨA + Cộng - Trừ * Nhân / Chia cho kết quả là số thực DIV Chia lấy phần nguyên MOD Chia lấy phần dư SUCC (n) n + 1 PRED (n) n - 1 ODD (n) TRUE nếu n lẻ và FALSE nếu n chẵn 3. Kiểu số thực (Real type) TO Ở Turbo Pascal, kiểu số thực thuộc tập hợp R chứa trong 6 bytes, được định nghĩa với từ khóa REAL: R =([2.9 x 10-39 , 1.7 x 1038 ] Hay viết theo dạng số khoa học: R = ( [2.9E-39, 1.7E38] Số thực có thể viết theo kiểu có dấu chấm thập phân bình thường hoặc viết theo kiểu thập phân có phần mũ và phần định trị. Các phép toán số học cơ bản +, -, * , /dĩ nhiên được sử dụng trong kiểu real. Bảng dưới đây là các hàm số học cho kiểu số thực: KÝ HIỆU Ý NGHĨA ABS (x) |x| : lấy giá trị tuyệt đối của số x SQR (x) x2 : lấy bình phương trị số x SQRT(x) : láúy càn báûc 2 cuía trë säú x SIN(x) sin (x) : lấy sin của x COS (x) cos (x) : lấy cos của x ARCTAN arctang (x) (x) LN (x) ln x : lấy logarit nepe của trị x (e ( 2.71828) EXP (x) ex TRUNC (x) lấy phần nguyên lớn nhất không vượt quá trị số x ROUND (x) làm tròn giá trị của x, lấy số nguyên gần x nhất 4. Kiểu logic (Boolean) TO Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1 byte ở Turbo Pascal và chỉ có thể nhận được một trong hai gía trị logic là TRUE (đúng) và FALSE (sai).
  71. Qui ước: TRUE > FALSE Các phép toán trên kiểu Boolean: A B NOT A A AND B A OR B A XOR B TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE Nhận xét: · Phép AND (và) chỉ cho kết quả là TRUE khi cả 2 toán hạng là TRUE · Phép OR (hoặc) chỉ cho kết quả là FALSE khi cả 2 toán hạng là FALSE · Phép XOR (hoặc triệt tiêu) luôn cho kết quả là TRUE khi cả 2 toán hạng là khác nhau và ngược lại. Các phép toán quan hệ cho kết quả kiểu Boolean: KÝ HIỆU Ý NGHĨA khác nhau = bằng nhau > lớn hơn = lớn hơn hoặc bằng < = nhỏ hơn hoặc bằng 5. Kiểu ký tự (Char type) TO Tất cả các dữ liệu viết ở dạng chữ ký tự được khai báo bởi từ khóa CHAR. Một ký tự được viết trong hai dấu nháy đơn ( ). Ðể tiện trao đổi thông tin cần phải sắp xếp, đánh số các ký tự, mỗi cách sắp xếp như vậy gọi là bảng mã. Bảng mã thông dụng hiện nay là bảng mã ASCII (xem lại chương 3). Ðể thực hiện các phép toán số học và so sánh, ta dựa vào giá trị số thứ tự mã ASCII của từng ký tự, chẳng hạn: 'A' < 'a' vì số thứ tự mã ASCII tương ứng là 65 và 97. Trong Turbo Pascal mỗi ký tự được chứa trong 1 byte. Các hàm chuẩn liên quan đến kiểu ký tự: KÝ HIỆU Ý NGHĨA ORD(x) Cho số thứ tự của ký tự x trong bảng mã CHR(n) hay #n Cho ký tự có số thứ tự là n PRED(x) Cho ký tự đứng trước x SUCC(x) Cho ký tự đứng sau x
  72. V. CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, 1. Hằng (constant) TO a. Ðịnh nghĩa Hằng là một đại lượng có giá trị không đổi trong quá trình chạy chương trình. Ta dùng tên hằng để chương trình được rõ ràng và dễ sửa đổi. b. Cách khai báo CONST = ; Ví dụ 6.4: CONST Siso = 100; X = ‘xxx ‘; 2. Biến (variable) TO a. Ðịnh nghĩa Biến là một cấu trúc ghi nhớ có tên (đó là tên biến hay danh hiệu của biến). Biến ghi nhớ một dữ liệu nào đó gọi là giá trị (value) của biến. Giá trị của biến có thể được biến đổi trong thời gian sử dụng biến. Sự truy xuất của biến nghĩa là đọc giá trị hay thay đổi giá trị của biến được thực hiện thông qua tên biến. Ví dụ 6.5: Readln (x) ; Writeln (x) ; x := 9 ; Biến là một cấu trúc ghi nhớ dữ liệu vì vậy nó phải tuân theo qui định của kiểu dữ liệu : một biến phải thuộc một kiểu dữ liệu nhất định. b. Cách khai báo VAR : ; Ví dụ 6.6: VAR
  73. a : Real ; b, c : Integer ; TEN : String [20] X : Boolean ; Chon : Char ; Cần khai báo các biến trước khi sử dụng chúng trong chương trình. Khai báo một biến là khai báo sự tồn tại của biến đó và cho biết nó thuộc kiểu gì. 3. Kiểu (Type) TO a. Ðịnh nghĩa Ngoài các kiểu đã định sẵn, Pascal còn cho phép ta định nghĩa các kiểu dữ liệu khác từ các kiểu căn bản theo qui tắc xây dựng của Pascal. b. Cách khai báo TYPE = ; Ví dụ 6.7: TYPE SoNguyen = Integer ; Diem = Real; Tuoi = 1 100 ; Color = (Red, Blue, Green) ; Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; và khi đã khai báo kiểu gì thì ta có quyền sử dụng để khai báo biến như ở ví dụ sau: Ví dụ 6.8: VAR i, j : SoNguyen ; Dtb : Diem ; T : tuoi ;