1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo trình Tin học đại cương - Đỗ Thị Mơ

190 35 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 190
Dung lượng 2,83 MB

Nội dung

- RAM (Random Access Memory): Là bộ nhớ mềm, có thể thay ñổi, truy nhập một cách ngẫu nhiên. RAM dùng ñể ghi chương trình của hệ ñiều hành nạp vào từ ñĩa khởi ñộng, chương trình [r]

(1)

TRƯỜNG ðẠI HỌC NÔNG NGHIỆP I BỘ MÔN CÔNG NGHỆ PHẦN MỀM

*************************

Các Tác giả: Đỗ Thị mơ (Chủ biên)

TS Dơng Xuân Thành, Ths Nguyễn Thị Thuỷ, Ths Ngô TuÊn Anh

GIÁO TRÌNH

TIN HỌC ðẠI CƯƠNG

DÙNG CHO KHỐI A



(2)

MỤC LỤC

Phần I: ðại cương Tin học

Chương I: Giới thiệu chung

1 Thông tin tin học

1.1 Khái niệm thông tin

1.2 Khái niệm tin học

2 Hệ ñếm máy vi tính

2.1 Hệ 10

2.2 Hệ

2.3 Hệ 16

2.4 Biểu diễn số máy tính đơn vị thơng tin

2.5 Chuyển ñổi hệ ñếm

2.6 Các phép toán hệ

3 Tệp thư mục 10

3.1 Tệp 10

3.2 Thư mục 10

4 Mã hoá 11

4.1 Khái niệm mã hoá 11

4.2 Mã ASCII 12

5 ðại số logic 12

5.1 Khái niệm mệnh ñề Logic, biến Logic, hàm Logic 12

5.2 Các toán tử Logic 13

Bài tập -Câu hỏi ôn tập 15

Chương II: Cấu trúc máy vi tính 16

Chức sơ đồ cấu trúc máy vi tính 16

1.1 Chức máy vi tính 16

1.2 Sơ ñồ cấu trúc máy vi tính 16

Các phận máy vi tính 17

2.1 Bộ xử lý trung tâm 17

2.2 Bộ nhớ 18

2.3 Thiết bị ngoại vi 18

Tổ chức phịng máy tính cách bảo quản 21

3.1 Tổ chức phịng máy 21

3.2 Bảo quản đĩa từ, hình, bàn phím 21

(3)

Chương III: Hệ ñiều hành 23

1 Khái niệm hệ ñiều hành 23

1.1 Khái niệm hệ ñiều hành 23

1.2 Phân loại hệ ñiều hành 23

1.3 Một số hệ ñiều hành thông dụng 23

2 Hệ ñiều hành Microsoft windows 98/2000 25

2.1 Khới ñộng máy thành phần 25

2.2 Tạo, thay ñổi biểu tượng mục chọn cho nội dung 28

2.3 Sử dụng hộp thoại CONTROL PANEL 29

2.4 Sử dụng chương trình Windows Explorer 35

Bài tập - Câu hỏi ôn tập 39

Chương IV: Hệ soạn thảo văn Microsoft Word 40

1 Giới thiệu chương trình MS-Word 40

1.1 Giới thiệu chung 40

1.2 Cách sử dụng chuột 40

1.3 Khởi ñộng khỏi Word 41

1.4 Mô tả thành phần hình Word 42

2 Các phím gõ tắt (Shortcut-Key) 47

2.1 Các phím gõ tắt bắt đầu phím ALT 47

2.2 Các phím gõ tắt bắt đầu phím CTRL 47

2.3 Các phím gõ tắt bắt đầu phím SHIFT 47

3 Các thao tác định dạng 48

3.1 Phương pháp tiếng Việt 48

3.2 ðịnh dạng kí tự 49

3.3 ðịnh dạng ñoạn văn 51

3.4 ðịnh dạng trang giấy 51

4 Kẻ bảng biểu 47

4.1 Chèn bảng biểu văn 52

4.2 Một số thao tác sửa chữa bảng biểu 54

4.3 đánh số thứ tự cột 55

4.4 Tạo bảng băng bút chì 56

5 Các thao tác thường gặp 56

5.1 Viết chữ ñầu tiên 56

5 Chia trang ñoạn văn thành nhiều cột 56

5 Thuật ngữ viết tắt 57

5 Tạo ñoạn văn mẫu 58

(4)

5 Chèn vào văn kí tự đặc biệt 59

6 Tự động hố q trình soạn thảo 59

6.1 Tạo dòng TAB 59

6.2 Tạo Style 60

6.3 Tạo Macro 62

7 ðồ hoạ 65

7.1 Các thao tác vẽ 65

7.2 Chữ nghệ thuật 68

8 Trộn tài liệu tạo thành văn 71

8.1 Tạo mẫu giấy mời 71

8.2 Tạo danh sách 71

9 Các thao tác hỗ trợ 72

9.1 Khôi phục công cụ 72

9.2 Hiện dấu công cụ 73

9.3 Thêm bớt chức công cụ 74

9.4 Bảo mật văn 75

Bài tập - Câu hỏi ôn tập 78

Chương V: Internet cách sử dụng Internet 83

Giới thiệu chung 83

1.1 Mạng máy tính 83

1.2 Nhà cung cấp dịch vụ Internet 84

1.3 Kết nối Internet 85

Sử dụng trình duyệt Internet Explorer (IE) 86

2.1 Khới ñộng Internet Explorer 86

2.2 Ra khỏi Internet Explorer 86

2.3 Tìm kiếm thông tin 86

Cách lưu trữ ñịa cách tổ chức lại ñịa 87

2.5 Một số tuỳ chọn Internet Explorer 87

2.6 Lưu trang Web vào máy tính 88

2.7 Lưu ảnh 88

2.8 In trang Web 88

Thư ñiện tử (E-mail) 89

3.1 Giới thiệu Email 89

3.2 Các mơ hình hoạt động dịch vụ Email 90

3.3 Tạo hịm thư miễn phí với Yahoo 90

3.4 Gửi nhận thư với Yahoo 90

(5)

3.6 Download số ñịa Internet 94

Bài tập - Câu hỏi ôn tập 95

Chương VI: Giải thuật 96

Khái niệm giải thuật 96

Các yêu cầu với giải thuật 97

Các cách diễn tả giải thuật 97

Thiết kế giải thuật 99

Giải thuật xếp 100

Giải thuật tìm kiếm 101

7.Giải thuật ñệ quy .102

Bài tập chương VI 105

Phần II: Ngơn ngữ lập trình Turbo Pascal 106

Chương I: Cấu trúc chương trình Pascal 106

Giới thiệu ngôn ngữ lập trình 106

Yêu cầu phần mềm cách khởi ñộng 107

Những quy định cách viết biểu thức chương trình 108

Cấu trúc chung chương trình Pascal 109

Câu hỏi ơn tập chương I .109

Chương II: Các kiểu liệu sở cách khai báo .111

Khái niệm liệu, kiểu liệu 111

Các kiểu liệu ñơn giản 111

Cách khai báo 115

Biểu thức câu lệnh 117

Bài tập chương II 117

Chương III:.Các thủ tục vào liệu cấu trúc ñiều khiển 118

Phép gán 118

Các thủ tục Vào-Ra liệu 118

Các câu lênh ñiều kiện 123

Các lệnh lặp 126

Bài tập chương III 134

Chương IV: Kiểu liệu có cấu trúc: kiểu mảng, kiểu xâu kí tự, kiểu tập hợp 135 Kiểu mảng 135

(6)

Kiểu tập 146

Bài tập chương IV 150

Chương V: Chương trình con: Hàm thủ tục 151

Cấu trúc hàm thủ tục 151

Biến toàn cục, biến cục truyền liệu 154

Tính đệ quy chương trình 154

Một số chương trình Turbo Pascal 156

Bài tập chương V Chương VI: Kiểu liệu có cấu trúc: Kiểu ghi kiểu tệp 157

Kiểu ghi 157

Kiểu tệp 159

Bài tập chương VI 171

Chương VII:.ðồ họa âm 172

ðồ họa 172

Âm 182

Bài tập chương VII .185

(7)

MỞ ðẦU

Tin học ngành khoa học ñược dạy tất trường ñại học, nhiên nội dung dạy có khác Tuỳ theo yêu cầu ngành mà định số tiết, ngành nơng nghiệp chia làm hai khối, khối A khối B, thường dạy 60 tiết cho khối A 45 tiết cho khối B

Giáo trình Tin học ựại cương ựược viết cho sinh viên đại học Nông nghiệp thuộc chuyên ngành khối A Nội dung viết theo ựề cương mơn học khung chương trình ựào tạo kỹ sư Nông nghiệp Bộ Giáo dục đào tạo năm 2004

Giáo trình cung cấp cho sinh viên kiến thức Tin học, kiến thức lập trình ngơn ngữ Pascal số phần mềm ñược ứng dụng rộng rãi nay, từ giúp sinh viên nâng cao hiểu biết tin học vận dụng kiến thức Tin học vào môn học chuyên ngành, vận dụng Tin học vào cơng việc

Giáo trình viết cho người học, dạy giáo viên cần tham khảo thêm sách viết cấu trúc máy tính, hệ điều hành, hệ soạn thảo văn Mirosoft Word, mạng máy tính, Internet, cấu trúc liệu thuật giải, lập trình Turbo Passcal

ðể nắm vững kiến thức trình bày sách khơng có cách tốt xem kỹ thí dụ, làm đủ tập, trả lời câu hỏi ôn tập tăng cường thực hành máy tính, ngồi cịn phải có trình độ tiếng Anh tối thiểu trình độ B

Nội dung giáo trình chia phần; Phần I bao gồm chương nêu lên kiến thức ñại cương Tin học Phần gồm chương nêu lên cách lập trình Turbo Pascal Sau chương có phần tập câu hỏi ôn tập Các tập chọn lọc mức độ trung bình ñể sinh viên qua ñó hiểu thêm giảng thu hoạch thêm số nội dung mở rộng gắn với thực tế

Chương I - Phần trình bày khái niệm chung Tin học Chương giới thiệu khái niệm cần thiết Tin học như: Thông tin Tin học, hệ đếm sử dụng máy tính, mã hố, đại số Logic, tệp thư mục Các khái niện trình bày cách ngắn gọn Chỉ nêu phần cần thiết Tin học ñể phù hợp với thời lượng môn học Cuối chương tập câu hỏi ơn tập để củng cố kiến thức

Chương II - Phần trình bày cấu trúc máy vi tính Chương giới thiệu thành phần máy vi tính ñó là: Bộ xử lý trung tâm, nhớ thiết bị ngoại vi Ngồi cịn giới thiệu cách tổ chức bảo quản phịng máy tính Chương giới thiệu khối máy vi tính bao gồm cấu trúc chức năng, tránh ñi vào cấu tạo chi tiết làm cho sinh viên khó hiểu sinh viên khơng thuộc chun ngành Tin học nên thiếu kiến thức kỹ thuật ñiện tử kỹ thuật số

(8)

Chương IV - Phần trình bày hệ soạn thảo văn Microsoft Word 2000 Trong quan trọng lệnh soạn thảo văn bản, trình bày văn bản, kẻ bảng biểu, lệnh tệp, lệnh vẽ Chú trọng thực hành nhiều máy ñể củng cố kiến thức tăng cường kỹ soạn thảo

Chương V - Phần trình bày Internet Chương cung cấp cho người học kiến thức Internet, cách sử dụng Internet, cách sử dụng thư ñiện tử dịch vụ khác Internet

Chương VI - Phần trình bày giải thuật Chương cung cấp cho người học kiến thức giải thuật, giải thuật xếp tìm kiếm

Chương I - Phần trình bày cấu trúc chương trình Turbo Pascal Chương nêu lên cấu trúc chương trình bước lập trình

Chương II - Phần trình bày kiểu liệu sở Chương cung cấp kiến thức kiểu liệu ñi sâu vào kiểu liệu ñơn giản

Chương III - Phần nêu kiến thức tổ chức thủ tục vào, liệu cấu trúc ñiều khiển Pascal

Chương IV - Phần trình bày kiểu liệu có cấu trúc, bao gồm kiểu mảng, kiểu xâu kí tự, kiểu tập hợp

Chương V - Phần nêu cách tổ chức chương trình hàm thủ tục, cách sử dụng biến toàn cục biến cục bộ, vấn đề truyền liệu tính đệ quy chương trình

Chương VI - Phần trình bày kiểu liệu có cấu trúc bao gồm kiểu ghi kiểu tệp

Chương VII - Phần trình bày kiến thức ñồ họa âm Pascal Khi biên soạn chúng tơi cố gắng đưa bố cục sách cho bám sát ñược ñề cương chi tiết môn học, với hy vọng giáo trình bổ ích cần thiết sinh viên đại học Nơng nghiệp ngành khác

Giáo trình viết bới thầy cô khoa Công nghệ thông tin Thầy Dương Xuân Thành viết chương IV phần chương VII phần Cô Nguyễn Thị Thủy viết chương I, chương II chương III phần Thầy Nguyễn Tuấn Anh viết chương VI phần Cô ðỗ Thị Mơ viết chương I, chương II, chương III, chương V phần chương IV, chương V, chương VI phần

Trong q trình biên soạn sách chúng tơi nhận ñược nhiều ý kiến ñóng góp quý báu giáo viên môn Công nghệ phần mềm mơn khoa học máy tính - Khoa cơng nghệ thơng tin trường đại học Nơng nghiệp I Hà nội Chúng tơi xin chân thành cảm ơn

Tuy cố gắng nghĩ sách cịn nhiều thiếu sót, mong góp ý bạn ñọc Xin chân thành cảm ơn

(9)

PHẦN I: ðẠI CƯƠNG VỀ TIN HỌC CHƯƠNG I: GIỚI THIỆU CHUNG

ðể tìm hiểu sâu phần giáo trình trước tiên phải có kiến thức ban ñầu Chương cung cấp khái niệm, kiến thức Tin học Nội dung chương bao gồm phần: Khái niệm Thông tin Tin học, hệ ñếm ñược sử dụng máy tính, mã hố, đại số logic, tệp thư mục

1 – Thông tin Tin học 1.1 - Khái niệm Thông tin

* Thơng tin tập hợp dấu hiệu, đặc ñiểm, tính chất cho ta hiểu biết đối tượng

* Thơng tin biểu diễn nhiều dạng phong phú biểu tượng, kí tự, hình ảnh, âm v.v Thi dụ biển đăng kí xe tơ, xe máy bao gồm kí tự dạng chữ số, cho ta biết thơng tin xe xe thuộc tỉnh nào, xe công hay xe tư, Trên bưu kiện có hình cốc hình để báo cho biết thùng có vật dễ vỡ phải che để khơng bị thấm nước

* Nói tới thơng tin phải đề cập tới q trình xử lý thông tin Ngày xã hội phát triển nên lượng thơng tin cần xử lý lớn, độ phức tạp trình xử lý cao, xử lý thông tin thủ công, giới khơng thể đáp ứng u cầu tự động hố q trình xử lý thơng tin Tin học đời ñể ñáp ứng yêu cầu ñó

1.2 – Khái niệm Tin học

Từ "Tin học" (Informatique) ñược người Pháp tên Phillipe Dreyfus dùng ñầu tiên vào năm 1962 để định nghĩa cho mơn khoa học mẻ lĩnh vực xử lí thơng tin Sau ñó vào năm 1966 viện hàn lâm khoa học Pháp ñã ñưa ñịnh nghĩa sau: "Tin học môn khoa học xử lí hợp lí thơng tin, ñặc biệt thiết bị tự ñộng, thông tin chứa đựng kiến thức lồi người lĩnh vực kĩ thuật, kinh tế xã hội "

Vậy ta coi mơn học Tin học mơn học nghiên cứu việc tự động hố q trình xử lý thơng tin

ðịnh nghĩa cho phép ta phân Tin học thành hai lĩnh vực sau:

- Phần mềm (Soft Ware): Xây dựng thuật tốn, chương trình máy tính ñể xử lý thông tin

- Phần cứng (Hard Ware): Thiết kế, lắp đặt, bảo trì thiết bị tự động để xử lí thơng tin

Ngày nay, kĩ thuật viên tin học vừa có khả hoạt ñộng lĩnh vực phần cứng phần mềm

2- Hệ đếm máy vi tính

2.1- Hệ 10 ( Hệ thập phân: Decimal)

Hệ 10 hay hệ thập phân hệ ñếm sử dụng để đếm tính tốn đời sống hàng ngày

Hệ 10 sử dụng 10 kí hiệu chữ số 0,1,2,3,4,5,6,7,8,9 để biểu diễn số Do sử dụng 10 chữ số nên hệ ñếm có số 10

(10)

Ví dụ: 209210; 789,1210 ; 1027D; 125,47D

Ta biểu diễn số theo số hệ ñếm Ví dụ biểu diễn số N hệ 10 theo số sau:

8623,5610 = 8×103 + 6×102 + 2×101 + 3×100 + 5×10-1 + 6×10-2

Tổng quát biểu diễn số hệ ñếm số b qua số hệ ñếm sau:

Giả sử có số Nb có n+1 chữ số phần nguyên anan-1 … a1a0 m chữ số phần lẻ

c1c2 … cm Số ñược viết tổng quát sau Nb = anan-1 … a1a0, c1c2 … cm

Số Nb ñược biểu diễn theo số b sau:

Nb = anan-1 … a1a0, c1c2 … cn = an×bn + an-1×bn-1 +…+ a1×b1 + a0×b0 + c1×b-1+c2×b-2+…+cm×b-m (*)

Cơng thức (*) nêu sử dụng để chuyển ñổi số hệ ñếm 2.2- Hệ (Hệ nhị phân: Binary)

Hệ hay hệ nhị phân hệ ñếm sử dụng chữ số 0, ñể biểu diễn số

Bit ñơn vị thông tin theo hệ thống số nhị phân ( Binary digit) Các mạch ñiện tử máy tính phát khác hai trạng thái (dịng điện mức cao dịng điện mức thấp) biểu diễn trạng thái dạng hai số nhị phân Vì việc chế tạo mạch điện tin cậy phân biệt ñược khác tương ñối dễ dàng rẻ tiền, máy tính có khả xử lý nội thơng tin nhị phân cách xác, theo tiêu chuẩn, mắc lỗi nội 100 tỉ thao tác xử lý

Do sử dụng tập chữ số nên hệ có số Số N hệ ñược kí hiệu N2

hoặc viết chữ B vào sau số

Ví dụ: 100112 ; 110101112 ; 1110011B ; 10100001B

Biểu diễn tương ñương hệ 10 hệ sau:

Hệ 10 10 11 12 13 14 15 …

Hệ 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 …

Trong máy tính sử dụng hệ Như thơng tin đưa vào máy tính ñược mã hoá chuyển sang hệ Hệ máy tính sử dụng lý kỹ thuật: chế tạo lịnh kiện có trạng thái (ứng với số số 1) đơn giản có tính ổn định cao Nếu sử dụng hệ 10 linh kiện phải có 10 trang thái tương ứng với 10 chữ số khó khăn phức tạp

2.3- Hệ 16 (Hexadecimal)

Hệ 16 sử dụng 16 kí hiệu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ñể biểu diễn số Do sử dụng 16 kí hiệu nên hệ có số 16 Mỗi chữ số hệ 16 tương ứng với nhóm bít hệ Số N hệ 16 kí hiệu N16 viết chữ H vào sau số

Ví dụ: 10EF16 ; AE9F16 ; 2EFBH ; 45CDH

Biểu diễn tương ñương hệ 10, hệ 16 hệ sau:

Hệ 10 10 11 12

Hệ 16 A B C

Hệ 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

Hệ 10 13 14 15 16 17 …

Hệ 16 D E F 10 11 …

(11)

Hệ 16 ñược dùng ñể ghi ñịa nhớ nhớ máy tính, ñịa cổng vào / máy tính

2.4- Biểu diễn số máy tính ñơn vị thông tin a) Biểu diễn số máy tính

* Trong máy tính số ñược biểu diễn theo khuôn thống nhất, ñộ dài khn bít 16 bít 32 bít, …

Có thể biểu diễn số theo dạng dấu phẩy tĩnh dạng dấu phẩy ñộng Trong phần ta xét cách biểu diễn số nguyên theo dạng dấu phẩy tĩnh

* Biểu diễn số nguyên dấu phẩy tĩnh: Số biểu diễn theo khn thống nhất, bít trái (bít cao nhất) dùng để biểu diễn dấu: dấu dương (+) ứng với 0, dấu âm (-) ứng với Các bít cịn lại dùng để biểu diễn giá trị số Giả sử dùng khuôn bít sau:

Dấu(0 hặc 1) Phần giá trị

Ví dụ: Biểu diễn số +610 khn bít Trước tiên phải đổi 610 sang hệ 1102 ,

kết sau:

0 0 1

* Biểu diễn số nguyên âm dấu phẩy tĩnh theo phương pháp bù 2:

Qui tắc biểu diễn số nguyên âm theo phương pháp bù 2: Trước tiên biểu diễn số nguyên dương có giá trị tuyệt số khn qui ước, sau đảo bít ( đổi thành 0, ñổi thành 1), cuối công với +1 (sẽ giải thích sau phần phép cộng hệ 2)

Ví dụ: biểu diễn số – khn bít sau: - Biểu diễn + :

- ðảo bít: - Cơng +1

- Kết - :

b) ðơn vị thông tin

* BIT đơn vị nhỏ thơng tin, biểu thị phần tử nhớ máy tính Các thiết bị máy tính xây dựng linh kiện điện tử có hai trạng thái khác mã hố hai số 0/1 (gọi số nhị phân), qui ước gọi trạng thái trạng thái (thí dụ cơng tắc điện đóng=1/ngắt=0 ; bóng đèn sáng=1/tắt=0)

0 0 0 1 1 1 0 0 0 0

(12)

Các thơng tin đưa vào máy phải chuyển hố thành xung điện có mức điện cao (gọi mức Logic1) mức ñiện thấp (mức Logic 0) Mỗi phần tử nhớ máy tính ñược thiết lập trạng thái nên phần tử gọi BIT (Binary digiT=chữ số nhị phân)

* BYTE (đọc Bai) nhóm BIT Máy tính dùng phần tử nhớ để ghi nhớ kí tự Vậy kí tự ứng với BYTE (8 bit) Bít thấp có số thứ tự

Ví dụ: Kí tự “A” có mã ASCII 6510 tương ứng với 10000012, ñược biểu diễn

byte sau

* WORD (Từ) nhóm gồm Byte (với máy tính dùng mạch vi xử lí 80286 trở trước từ ñơn gồm Byte, phù hợp với loại ghi 16 Bit ; với máy tính dùng mạch vi xử lí từ 80386 sau từ kép gồm Byte phù hợp với ghi 32 Bit)

* Cũng ñơn vị ño lường khác, đơn vị đo lường thơng tin có đơn vị bội sau:

1 Bít = 1 Byte= Bít

1 Kilobyte (KB) = 210 Bytes= 1024 Bytes MegaByte (MB) = 1024 KB

1 GigaByte (GB) = 1024 MB TeraByte (TB) = 1024 GB 2.5- Chuyển ñổi số hệ ñếm

a) Chuyển ñổi số từ hệ ñếm số b sang hệ 10

* Qui tắc: Muốn chuyển ñổi số từ hệ ñếm số b sang hệ 10 ta dùng công thức (*) mục 2.1 chương sau:

Nb = anan-1 … a1a0, c1c2 … cm

Nb = an ×bn + an-1×bn-1 +…+ a1×b1 + a0×b0 + c1×b-1+c2×b-2+…+cm×b-m

Ví dụ : ðổi số 1101012 sang hệ 10, b=2

N10 = × 25 + 1×24 + ×23 + 1×22 + 0×2 + ×20 = 32+16+4+1 = 5310

Ví dụ 2: ðổi số 110101,112 sang hệ 10

N10 =1 × 25 + 1×24 + ×23 + 1×22 + 0×2 + ×20 + 1×2-1 + 1×2-2 = 52+ 0,5 + 0,25= 52,7510

Ví dụ 3: : ðổi số 10F16 sang hệ 10, ñây b=16

N10 = 1×162 + 0×16 + 15×160 = 256+15 = 27110

b) Chuyển ñổi số từ hệ ñếm 10 sang hệ ñếm số b

* Chuyển ñổi số nguyên dương từ hệ 10 sang hệ ñếm số b:

- Qui tắc: Lấy số hệ 10 chia nguyên liên tiếp cho số b, kết số hệ ñếm số b số dư phép chia lấy theo thứ tự ngược lại ( số dư phép chia cuối số lớn nhất)

Chú ý: Chia nguyên liên tiếp cho số b có nghĩa thương phép chia trước lại ñược lấy chia nguyên tiếp cho b dừng lại thương =

(13)

Ví dụ 1: ðổi số 3010 sang hệ 2, ta nên tạo bảng chia nguyên liên tiếp ñể theo dõi số dư cho dễ

dàng sau

Số bị chia Số chia (b) Thương Số dư

30 15 0

15 1

7 1

3 1

1 1

Kết N2 = 111102

Ví dụ 2: ðổi số 17210 sang hệ 16, ñây b=16

Số bị chia Số chia (b) Thương Số dư

172 16 10 12

10 16 10

Kết N16 = AC16 ( 10 ứng với A, 12 ứng với C )

* Chuyển ñổi phần lẻ từ hệ 10 sang hệ ñếm số b :

- Qui tắc: Lấy phần lẻ nhân liên tiếp với số b, kết lấy phần nguyên phép nhân theo ñúng thứ tự thực Nếu phần lẻ dừng; phần lẻ khác 0, muốn lây chữ số ta thực hiên phép nhân

Ví dụ1: ðổi số 6,2510 sang hệ 2, ñây b=2

610 ñổi sang hệ 1102

0,2510 ñổi sang hệ cách thực phép nhân liên tiếp sau:

0,25 × = 0,50 0,50 × 2= 1,0

Như 0,2510 hệ 0,012

Kết 6,2510 ñổi sang hệ là: 110,012

Ví dụ 2: ðổi số 7, 3710 sang hệ 2, ñây b=2

710 ñổi sang hệ 1112

0,3710 ñổi sang hệ sau:

0,37 ×2 = 0, 74 0,74 ×2 = 1,48 0,48 ×2 = 0,96 0,96 ×2 = 1,92

Ta dừng phép nhân với chữ số phần lẻ, vây 0,3710 sang hệ 0,01012

Kết 7,3710 ñổi sang hệ 111,01012

c) Chuuyến ñổi số từ hệ 16 sang hệ từ hệ sang hệ 16 * Chuyển ñổi số từ hệ 16 sang hệ 2:

- Quy tắc: Thay chữ số hệ 16 nhóm bít hệ tương ứng Ví dụ: ðổi số 105EF16 hệ

(14)

* Chuyển ñổi số từ hệ sang hệ 16:

- Quy tắc: Thay nhóm bít hệ bằng1 chữ số hệ 16 tương ứng, việc nhóm bít hệ thực từ phải qua trái, nhóm cuối khơng đủ bit thêm bít vào trước Vì hệ 16 dùng ñể ghi ñịa nên dùng số ngun khơng có phần lẻ

Ví dụ: ðổi số 11100101011102 sang hệ 16

Ta thêm số vào trước cho đủ nhóm bít sau: N2 = 0001 1100 1010 1110

tương ứng với N16 =1CAE16

2.6- Các phép toán hệ a) Phép cộng

* Quy tắc cộng bít sau: Thực theo bảng cộng ( gọi bảng chân lý) sau ñây, Carry bít nhớ chuyển sang bít cao

A B A+B Carry

0 0

0 1

1

1 1

- Cách thức thực phép cộng hai số hệ có nhiều bít sau: cộng cặp bít có thứ tự hai số với nhau, sau cộng bít kết vừa thực với bít nhớ chuyển sang từ bít thấp

Ví dụ : A =0 1 B =0 1 1 A+B = 0 0 1

b) Phép trừ

* Quy tắc trừ bít sau: Thực theo bảng trừ sau đây, Carry bít nhớ chuyển sang bít cao số trừ

A B A-B Carry

0 0

1

1 0

0 1

- Cách thức thực phép trừ hai số hệ có nhiều bít ta thực trừ cặp bít theo bảng trừ trên, làm tương tự hệ 10

Ví dụ: A=1101011 B=1001101 A-B=0011110

(15)

Ví dụ: Thực hiên phép tính 1510 – 610 khn bít

Trong ví dụ phải biểu diễn số -610 khn bít

( lấy kết ví dụ mục 2.4 a)

1510 biểu diễn khn bít:

-610 biểu diễn khn bít :

Kết cộng byte ( 1510 – 610 ) :

Khi cộng hệ ta theo quy tắc trên, ý bít trái bít dấu nên cộng khơng nhớ sang bít cao

c) Phép nhân

* Qui tắc nhân bít: Thực theo bảng nhân sau ñây

A B A×B

0 0

1 0

0

1 1

- Cách thức thực phép nhân hai số hệ có nhiều bít ta thực tương tự hệ 10 với bảng nhân trên, phép nhân ñược thực kết hợp phép dịch trái phép cộng

Ví dụ: a= 100112 b= 10112 , thực a×b sau:

10011 × 1011 10011 + 10011 00000 10011 Kết quả: 1101 0 01 d) Phép chia

Trong phần xét phép chia nguyên

* Cách thực hiện: Phép chia ñược thực tương tự hệ 10 Ví dụ: A=1100 B=100 A: B = 11

Cách khác thực phép chia: Lấy số bị chia trừ liên tiếp cho số chia, hiệu số dương thương cộng với Dừng thực hiệu số âm

(16)

Ví dụ: a=1210 b= 610 thực a: b hệ với khuôn bít

a=1210 biểu diễn khn bít sau: 00001100

b=610 -610 biểu diễn sau: 11111010

Thực phép trừ liên tiếp cho thương sau: Bước 1: 12= 00001100 thương=0

-6= 11111010

Bước 2: Hiệu 00000110 thương= 0+1=1 -6= 11111010

Hiệu 00000000 thương=1 +1=10 Dừng thực Vậy 00001100 : 00000110 = 10

3- Tệp thư mục 3.1- Tệp ( File)

* ðịnh nghĩa tệp: Tệp tập hợp thơng tin có liên quan với lưu trữ nhớ ngồi, nhớ ngồi thơng dụng đĩa từ Các thơng tin ta đưa vào máy tính chương trình, văn bản, liệu, ñều ñược lưu trữ ñĩa từ dạng tệp

Ví dụ: Một thơ, bảng điểm, chương trình lưu trữ đĩa từ dạng tệp Mỗi tệp ñược ñặt tên nhất, hai tệp mục khơng trùng tên

* Tên tệp: Tên tệp gồm hai phần tên cách dấu chấm (.) - Tên nhóm ký tự thường khơng chứa dấu chấm (.), tên dùng ñể phân biệt tệp, tên tệpthường ñược chọn phù hợp với nội dung tệp Bắt buộc phải có tên tên tệp

- Phần tệp ( phần mở rộng tệp: Extension) thường chứa kí tự khơng chứa dấu chấm(.) ði tệp dùng để phân loại tệp Tệp khơng thiết phải có

Các tệp có EXE , COM , BAT , PRG tệp kiểu chương trình DAT , DBF tệp liệu

TXT , DOC tệp kiểu văn PIC , GIF tệp ñồ hoạ ảnh

Ví dụ tên tệp : DIEM.DBF ; BAOCAO.DOC ; TINHLUONG.PRG

- Trong tên tệp cho phép dùng kí hiệu gộp (kí hiệu thay thế) : dấu? thay cho kí tự dấu * thay cho nhóm kí tự Các kí hiệu gộp dùng số lệnh tìm kiếm, thay thế, xố,…

Ví dụ : Trong lệnh tìm kiếm ta muốn tìm tệp có tên LOP1.DAT, LOP2.DAT, LOP3.DAT, đặt tên gộp LOP?.DAT dấu ? ñại diện cho kí tự 1,2 ñứng sau chữ LOP

*.DOC tên nhóm tệp văn WORD *.* tên nhóm đại diện cho tất tệp 3.2 Thư mục (Directory hay folder)

ðể tìm kiếm thơng tin nhanh quản lý tốt tệp thiết bị lưu trữ thơng tin máy tính người ta tổ chức thông tin theo thư mục

(17)

Mỗi thư mục ñược ñặt tên thư mục khơng trùng tên Tên thư mục đặt giống phần tên tệp

* Tổ chức thư mục ñĩa từ: Thư mục tổ chứa theo mơ hình phân cấp ( mơ hình : TREE): Mỗi ngăn chứa gọi thư mục (Directory), ngăn to bao trùm tồn đĩa gọi thư mục gốc (ROOT), thư mục gốc có chứa thư mục ( ngăn con) tệp, thư mục lại có chứa thư mục ( thư mục cháu) tệp,

Một mơ tả đầy đủ cấu trúc tổ chức thư mục kể từ thư mục gốc ñến thư mục bên gọi thư mục (TREE)

Ví dụ: Thư mục HOCSINH có cấu trúc sau HOCSINH KHOI12 LOPA

LOPB KHOI11 LOPA1

LOPA2 KHOI10 LOPA

LOPB LOPC 4 Mã hoá

4.1- Khái niệm mã hoá

* Mã hố thuật tốn nhằm gán cho đối tương nhóm số

(18)

4.2- Mã ASCII (American Standard Code for Information Interchange)

* Bảng mã ASCII bảng mã chuẩn Mỹ sử dụng thơng dụng Mã ASCII dùng mã nhi phân khn bít Bảng mã đánh số thứ tự cho kí tự sau:

Các kí tự Mã số

Các kí tự điều khiển : -> 31 Khoảng cách (Space Bar) : 32

Dấu ! " # $ % & ' ( ) + , - / 33 -> 47 Các số từ ñến : 48 -> 57 Dấu : ; < = > ? @ 58 -> 64 Các chữ to A -> Z : 65 -> 90 Dấu [ \ ] ^ _ ` 91 -> 96 Các chữ nhỏ a > z : 97 -> 122 Dấu { | } ~ <DEL> 123 -> 127 Các kí tự đặc biệt , kí tự kẻ khung : 128 -> 255

ñây ta sử dụng số hệ 10 ñể viết cho gọn dễ nhớ, máy số ñược biểu diễn bằng nhóm bít hệ

Ví dụ: Kí tự "A" có mã 6510, biểu diễn máy tính 0010000012

Kí tự "B" có mã 6610, biểu diễn máy tính 0010000102

5 ðại số logic

5.1- Khái niệm mệnh ñề logic, biến logic, hàm logic

* Mệnh đề logic: Mệnh đề logic câu nói câu viết có tính chất khẳng định phủ ñịnh kiện Mỗi mệnh ñề logic ñều đặt câu hỏi có khơng có sai không

- Các câu cảm thán, câu mệnh lệnh hiệu không gọi mệnh ñề logic Các câu chung chung chẳng ñúng mà chẳng sai khơng gọi mệnh đề logic

Ví dụ : "Tơi già" ; "Anh A học giỏi" mệnh ñề logic "Hãy làm cho tơi việc này" khơng phải mệnh đề logic

"Ơi hơm trời đẹp q" câu cảm thán khơng gọi mệnh đề logic

- Mỗi mệnh ñề nhận giá trị "ñúng" ( TRUE) "sai" (FALSE) tương tự mạch điện "đóng" "tắt" Mơn logic mệnh đề khơng quan tâm đến câu cú ngữ pháp mệnh ñề mà xét ñến tính ñúng sai mệnh ñề

- Từ mệnh ñề ñơn giản ta xây dựng lên mệnh đề phức tạp nhờ phép liên kết "Không", "Và" , "Hoặc"

Ví dụ: Các mệnh đề đơn A = "Hà nội đơng dân "

B = "Hà nội có nhiều xanh " X = "An liệt sĩ "

Y = "An bơi đội "

Phép "Và" liên kết A B cho C = "Hà nội đơng dân có nhiều xanh", Phép “Khơng” với X cho Z= “ Không phải An liệt sĩ”

Phép "Hoặc" liên kết X Y cho Z = “An liệt sĩ An ñội”

(19)

* Hai giá trị TRUE ( ñúng) FALSE ( sai) logic, với TRUE > FALSE * Biến logic: Là biến nhận giá trị logic ñúng (TRUE) sai ( FALSE)

Ví dụ: X= "Số m số âm " , ví dụ X biến logic nhận giá trị TRUE FALSE tuỳ theo giá trị m, giả sử m=-5 X nhận giá trị TRUE, m=7 X nhận giá trị FALSE

* Hàm logic:

- Những toán Logic thường phát biểu dạng câu nói câu viết xác ñịnh yêu cầu ràng buộc hệ thống mà tốn giải Ta biểu diễn liên kết mệnh ñề biểu thức Logic ñược gọi hàm Logic

- Hàm logic hàm biến logic Kết hàm trả giá trị logic Ví dụ: Biến X="Sinh viên có hộ Hà nội"

Biến Y="Sinh viên có tuổi > 20 "

Hàm F= X "và" Y hay F= X AND Y có nghĩa F = "Sinh viên có hộ Hà nội có tuổi > 20 " Như ứng với giá trị X, Y khác hàm F cho giái trị khác mơ tả theo bảng sau:

X Y X AND Y

FALSE FALSE FALSE

FALSE TRUE FALSE

TRUE FALSE FALSE

TRUE TRUE TRUE

Các giá trị hàm logic ñược biểu diễn dạng bảng, bảng ñược gọi bảng chân lý Hàm logic có n biến bảng chân lý có 2n giá trị hàm

5.2- Các toán tử logic

Các phép toán đại số logic gọi tốn tử logic Sau trình bày tốn tử logic theo thứ tự ưu tiên toán tử, tốn tử logic khác biểu diễn qua toán tử

* Tốn tử NOT ( phủ định hay đảo) Bảng chân lý:

X NOT X

FALSE TRUE

TRUE FALSE

* Toán tử AND (và ) Bảng chân lý:

X Y X AND Y

FALSE FALSE FALSE

FALSE TRUE FALSE

TRUE FALSE FALSE

(20)

* Toán tử OR (hoặc ) Bảng chân lý:

X Y X OR Y

FALSE FALSE FALSE

FALSE TRUE TRUE

TRUE FALSE TRUE

TRUE TRUE TRUE

* Toán tử XOR (hoặc loại trừ ) Bảng chân lý:

X Y X XOR Y

FALSE FALSE FALSE

FALSE TRUE TRUE

TRUE FALSE TRUE

TRUE TRUE FALSE

* Thứ tự ưu tiên toán tử là: NOT, AND, OR, XOR

* Biểu thức logic: Là kết hợp logic, biến logic, hàm logic toán tử logic Kết biểu thức logic logic ( TRUE FALSE)

Có thể tính gía trị biểu thức logic theo thứ tự sau: - Thay giá trị vào biến có

- Thực phép tính số học, phép tính so sánh có - Thực toán tử logic theo thư tự ưu tiên nêu

Các phép tính số học phép so sánh số ta ñã biết, ý so sánh xâu kí tự

* So sánh xâu kí tự: Khi so sánh xâu kí tự ta tiến hành so sánh mã ASCII cặp kí tự tương ứng từ xâu, kết phép so sánh theo trường hợp sau:

- Nếu gặp cặp có mã khác xâu chứa kí tự có mã nhỏ xâu nhỏ - Nếu hai xâu có tất cặp kí tự có mã xâu

- Nếu qúa trình so sánh xâu hết kí tự, xâu cịn kí tự xâu kí tự xâu nhỏ

Ví dụ: “ABCD” < “AX” “ABCD” = ”ABCD” “ABC” < ”ABCDE”

Ví dụ: Tính giá trị biểu thức logic sau

(“AB” > “1234”) OR ( sinx >2) AND NOT ((X2 +Y2+ 2XY) ≥ ) = TRUE OR FALSE AND NOT TRUE

(21)

Bài tập chương I Bài 1: Chuyển ñổi số hệ ñếm

a, Chuyển 3310 , 3510 sang số hệ 2,hệ 16

b, Chuyển 101110012, 10011012 hệ 10, hệ 16

c, Chuyển 20A16, 3EB16 sang hệ 2, hệ 10

Bài 2: Thực phép tính hệ a, x=3610, y=1810 Tính x+y, x-y, x*y, x/y

b, x=2010, y=510 Tính x+y, x-y, x*y, x/y

Bài 3: Tính giá trị biểu thức logic sau

a, NOT (LOAI < 'C') AND ( GIA >= 500000) OR (LOAI <= 'B') AND (GIA <=200000) Tính : 1- LOAI='D' , GIA= 500000

2- LOAI='A' , GIA= 300000 3- LOAI='B' , GIA= 100000

b, NOT (DT>8) AND (KV=3) AND (DIEM>=16) OR (DT>8) AND (KV=1) AND (DIEM>=15)

Tính : 1- DT=6, KV=3, DIEM=17 2- DT=9, KV=1, DIEM=16 3- DT=6, KV=3, DIEM=15

c, (TEN='H*' ) AND (TINH='T*') OR NOT(TEN='D*') AND (TINH < > 'H*') Chú ý: Dấu * thay cho dãy kí tự

Tính : 1- TEN='HA' , TINH= 'THAI BINH' 2- TEN='DUNG', TINH=' HA NOI' 3- TEN='MAI', TINH='THAI NGUYEN'

d, (SIN2 X <2) OR NOT( 'ABC' > 'AXY') AND ( (X+Y)2 ≥ 2XY )

e, ( ( COS X + SIN X ) > ) OR ( 'ABC' < 'XY' ) AND NOT ((3<7) = (‘1’>’a’))

f, NOT ((lg100 + 1!) >2) AND ((3!+2)<6) AND NOT ((‘123’<'ABC') > (‘abc’<’ABC’)) Câu hỏi ôn tập chương I

1 Tin học gì?

2 Trong máy tính dùng hệ đếm nào? Biểu diễn số máy tính nào? Trình bày đơn vị thơng tin sử dụng Trình bày cách chuyển đổi số hệ đếm Trình bày phép tính hệ

7 Trình bày cách đặt tên tệp, tên thư mục

8 Bảng mã thông dụng tin học bảng mã nào? Trình bày bảng mã Trình bày tốn tử logic theo thứ tự ưu tiên

(22)

CHƯƠNG II: CẤU TRÚC MÁY VI TÍNH

ðể sử dụng tốt máy vi tính phục vụ cho chun mơn trước tiên phải hiểu chức cấu tạo máy vi tính ðây giáo trình Tin học dạy cho sinh viên khơng phải chun ngành Tin học khơng sâu vào cấu tạo chi tiết máy vi tính mà giới thiệu cấu trúc máy vi tính hay khối máy vi tính Chương cung cấp kiến thức sau: Chức sơ đồ cấu trúc máy vi tính, CPU, nhớ, thiết bị ngoại vi, cách tổ chức phòng máy

1- Chức sơ ñồ cấu trúc máy vi tính 1.1- Chức máy vi tính

Máy vi tính máy vi điện tử hoạt động theo chương trình có chức sau đây:

* Tiếp nhận thơng tin vào đưa thơng tin ( Vào / Ra : Input / Output) Với chức người sử dụng giao tiếp với máy vi tính

* Xử lý thơng tin hay biến đổi thơng tin, ñây chức quan trọng máy vi tính, thực nhiệm vụ tự động hố xử lý thông tin thay cho người

* Lưu trữ thông tin Các thông tin sử dụng máy vi tính cần lưu trữ để trao đổi sử dụng cho nhiều lần sau

1.2- Sơ ñồ cấu trúc máy vi tính

ðể ñảm nhận ñược chức trên, máy vi tính thiết kế với khối theo sơ ñồ cấu trúc sau (Hình 1.2)

Hình 1.2 Trong sơ đồ dùng kí hiệu:

ðơn vị vào

(Input) ðơn vị (Output)

ðơn vị tính tốn số học logic (ALU)

ðơn vị ñiều khiển (Control unit ) Người

sử dụng

Người sử dụng

Bộ nhớ (Memory)

(23)

* Các tín hiệu thơng tin từ người sử dụng qua đơn vị vào ( bàn phím, chuột, ổ ñĩa, ) ñược ñưa vào nhớ, từ nhớ thơng tin chuyển vào đơn vị tính tốn số học logic để xử lý, xử lý xong kết ñược chuyển vào nhớ, từ nhớ chuyển ñến ñơn vị ( hình, máy in, máy vẽ, ) tới người sử dụng

* Các tín hiệu điều khiển thiết lập ñơn vị ñiều khiển khối khác dàn máy vi tính để chuyển tín hiệu ñiều khiển ñơn vị ñiều khiển tới khối khác chuyển tín hiệu phản hồi từ khối khác ñơn vị ñiều khiển

* Các khối máy vi tính nối với cáp truyền dẫn ( BUS), gồm loại cáp cáp địa (Bus Address), cáp Dữ liệu (Bus Data) cáp ñiều khiển (Bus Control)

* Trong máy vi tính khối quan trọng đơn vị tinh tốn số học logic, ñơn vị ñiều khiển nằm vỏ mạch vi xử lí (Micro Processor), gọi đơn vị xử lý trung tâm (CPU : Central Processor Unit) hay vi xử lý(Micro Processor)

* CPU nhớ nằm thân máy ðơn vị vào/ nằm bên ngồi máy gọi chung thiết bị ngoại vi, ngày thiết bị ngoại vi máy vi tính phong phú đa dạng

* Ngồi khối kể trên, máy vi tính hoạt động cần có nguồn nối với máy

2- Các phận máy vi tính

2.1- Bộ xử lý trung tâm(CPU: Central Processor Unit ) a) Chức CPU

CPU huy máy vi tính, có chức sau:

- Thực việc nhận lệnh, giải mã lệnh ñiều khiển khối khác thực lệnh - Thực phép tính số học, logic phép tính khác

- Sinh tín hiệu địa máy b) Cấu tạo CPU

CPU bao gồm phần sau:

* ðơn vị ñiều khiển (Control unit): Thực việc nhận lệnh, giải mã lệnh ñiều khiển khối khác thực lệnh sinh tín hiệu địa máy ñể quản lý nhớ

* ðơn vị tính toán số học logic (Arithmeric – Logic Unit): Bao gồm vi mạch tính để thực phép tính số học, logic phép tính khác

* Thanh ghi (Register) cấu trúc gồm 16 bít (hoặc 32 bit) nhớ liền kề thiết lập mạch vi xử lý Các ghi phân thành nhóm theo mục đích sử dụng sau:

- Nhóm 1: ghi đa kí hiệu AX,BX,CX,DX sử dụng cho nhiều mục đích khác

- Nhóm 2: ghi địa đoạn (Segment) nhớ, ghi CS (Code segment) chứa ñiạc ñoạn mã lệnh, ghi DS (Data Segment) chứa ñịa ñoạn liệu, ghi SS (Stack Segment) chứa ñịa ñoạn ngăn xếp, ghi ES (Extra Segment) chứa ñịa ñoạn liệu mở rộng

(24)

ñoạn DS, Thanh ghi DI (Destination Index) trỏ tới chứa liệu đích đoạn DS, Thanh ghi SP (Stack Pointer) trỏ tới ô chứa liệu ñoạn ngăn xếp SS ghi BP (Base Pointer) trỏ tới liệu đoạn chứa liệu mở rộng ES

Nhóm 4: ghi cờ (Flag) ñể ghi trạng thái (ta gọi cờ) xảy phép toán số học

2.2- Bộ nhớ ( Memory)

Bộ nhớ hay gọi nhớ ( nhớ ) máy vi tính

* Chức nhớ: Bộ nhớ dùng ñể chứa thơng tin cần thiết chương trình, liệu q trình máy hoạt động

* Tổ chức nhớ:

- Các thông tin ñược cất nhớ dạng mã nhị phân ( bít 1) - Một nhóm bít 16 bít 32 bít, gọi nhớ Mỗi nhớ đánh số thứ tự hệ 16 gọi ñịa ô nhớ Thông tin ghi bên ô nhớ nội dung nhớ Dùng địa ñể truy nhập vào ô nhớ ñể ñọc nội dung ghi nơi dung vào nhớ

- Kích thước nhớ hay dung lượng nhớ số lượng thơng tin mà nhớ có khả chứa ñược, thường dùng ñơn vị MB GB

* Phân loại nhớ: Theo tính chất thơng tin chứa nhớ người ta chia thành nhớ ROM RAM

- ROM ( Read Only Memory): nhớ cố ñịnh cho phép ñọc thơng tin mà khơng ghi thơng tin vào ROM nhớ cứng hãng chế tạo cài ñặt sẵn chương trình bên trong, bao gồm chương trình kiểm tra chương trình sở cốt lõi máy vi tính Các thơng tin ROM khơng bị ta tắt nguồn máy

- RAM (Random Access Memory): Là nhớ mềm, thay đổi, truy nhập cách ngẫu nhiên RAM làm từ mạch vi mạch (gọi Chip nhớ) RAM dùng để ghi chương trình hệ ñiều hành nạp vào từ ñĩa khởi ñộng, chương trình liệu người sử dụng Có thể ñọc ghi thông tin vào RAM Thông tin RAM bị ñi ta tắt nguồn máy, ta phải lưu trữ thông tin nhớ

2.3- Thiết bị ngoại vi a) Bàn phím (Keyboard)

* Bàn phím thiết bị vào thơng dụng máy vi tính Dùng bàn phím đưa vào máy lệnh điều khiển, chương trình, liệu

* Nguyên tắc bàn phím: ấn phím gây tiếp ñiện dây dọc dây ngang tạo xung ñiện , xung ñiện qua chương trình điều khiển bàn phím đưa vào máy mã ASCII kí tự phím

* Bàn phím gồm khu vực sau:

- Khu phím máy chữ gồm phím chữ, phím dấu phím số phím bàn phím máy chữ có phím cách (Space bar)

- Khu phím chức F1,F2, F12 có tác dụng thực chức hồn chỉnh ta gõ phím ñó, tác dụng ñược cài ñặt tuỳ theo chương trình Thí dụ DOS dùng phím F1 để nhắc lại kí tự câu lệnh vừa gõ trước, F3 để nhắc lại tồn câu lệnh vừa gõ

(25)

- Khu phím dịch chuyển trỏ hình gồm phím dịch lên, dịch xuống, dịch trái, dịch phải, dịch đầu hình (Home), dịch xuống cuối (End), dịch lên trang (PgUp), dịch xuống trang (PgDn), Dịch trái xoá (Back space), phím TAB dịch trỏ khoảng cột (gọi tab)

- Khu phím điều khiển:

ESC để khỏi chương trình lệnh ñang thực

CapsLock ñể chuyển ñổi thường xuyên kiểu chữ nhỏ sang to ngược lại Shift có tác dụng chuyển tạm thời chữ to thành nhỏ ngược lại ñè giữ phím gõ chữ Với phím có kí tự gõ kí tự dưới, đè shift gõ cho kí tự

Insert - chèn kí tự vào vị trí trỏ Delete - xố kí tự vị trí trỏ Print Screen - In hình

Scroll Lock - bật tắt trạng thái hình Pause/Break - Chờ ngắt chương trình

Ctrl Alt dùng ñể mở rộng chức bàn phím

Num Lock - để kích hoạt bàn phím số, bàn phím số có tác dụng ñèn Num Lock sáng

b) Màn hình ( Display)

* Màn hình thiết bị thơng dụng tối thiểu may vi tính Các kí hiệu ta gõ vào từ bàn phím, kết xử lý, thông báo máy vi tính hình

* Màn hình có cấu tạo vật lý giống hình vơ tuyến thơng thường gồm có ống phóng tia điện tử, mạch qt ngang qt dọc, tia điện tử đập vào hình tạo thành điểm sáng, điều khiển CRT tạo tín hiệu bật tắt tia điện tử theo tín hiệu lấy từ nhớ hình hay 0, tia ñiện tử quét từ trái sang phải tạo thành dòng, từ dòng xuống dòng tạo thành mành Tần số quét mành 60Hz nghĩa giây đồng hồ hình làm lại từ ñầu 60 lần, thời gian hồi dọc ñể tia ñiện tử chuyển góc trái 1,25ms

* Có kiểu hình: kiểu hình văn hình đồ hoạ:

- Màn hình văn (Text mode) phân thành chế độ: 80 cột ( kí tự) 25 dịng dạng chuẩn 40 cột ( kí tự) 25 dịng

- Màn hình ðồ hoạ (Graphic Mode) ñược thiết kế gồm nhiều ñiểm sáng (Pixel) theo hai chiều ngang dọc Màn hình đồ hoạ phân thành nhiều chế ñộ khác tuỳ theo ñộ phân giải, chẳng hạn chiều ngang 640 pixel chiều dọc 200 pixel (640x200), 640x350, 640x480, 1024x768 Màn hình có độ phân giải cao hình ảnh

- Mầu hình tạo pha trộn yếu tố sau: mầu ñỏ (Red), xanh (Green), xanh da trời (Blue) độ chói Với tổ hợp mầu độ chói khác mầu mà máy tính tạo tới 256 mầu khác

c) Ổ ñĩa ñĩa từ

Ổ ñĩa ñĩa từ thiết bị vào / : Có thể đọc thơng tin từ đĩa từ ghi thơng tin vào đĩa từ

(26)

- ổ ñĩa cứng ñược lắp thân máy, máy có ổ ñĩa cứng tên ổ ñĩa C: , máy có ổ đĩa cứng tên C: , D: ổ ñĩa cứng chứa ñĩa cứng có dung lượng lưu trữ lớn từ 40 MB đến hàng chục GB

- ổ ñĩa mềm lắp bên ngồi vỏ máy, ổ mềm có tên A: , B: , ổ ñĩa mềm chứa đĩa mềm có dung lượng lưu trữ nhỏ ñĩa cứng, thông dụng 1,44MB

* ðĩa từ có hình dạng trịn cấu tạo chất dẻo ( đĩa mềm ) nhơm ( đĩa cứng) có phủ hạt sắt từ bề mặt để lưu trữ thơng tin dựa theo đặc tính nhiễm từ hạt sắt từ Các thông tin lưu trữ ñĩa từ dạng mã nhi phân ( bít 1)

- Mỗi đĩa từ mềm gồm có hai mặt từ hố đánh số mặt 0/1, có đầu từ tiếp xúc để đọc ghi thơng tin, mặt phân thành nhiều rãnh (Track) ñánh số từ trở ñi ,rãnh ngồi gần mép đĩa rãnh số 0, mặt ñược phân thành nhiều cung (sector) ñược ñánh số từ trở ñi, (ñĩa 1,2M phân thành 80 rãnh và15 sectơ, ñĩa 1,44 M phân thành 80 rãnh 18 sectơ ), cung chứa 512 byte

- ðĩa cứng gồm nhiều mặt ñĩa trục quay tạo thành khối trụ gọi cylinder, số mặt tuỳ theo dung lượng ổ ñĩa, chẳng hạn ổ ñĩa có đầu từ (Head) đánh số từ đến gồm mặt ñĩa, mặt ñĩa cứng ñược phân thành 17 sectơ, mặt gồm nhiều rãnh (ðĩa cứng XT gồm 305 rãnh, ñĩa cứng AT gồm 615 rãnh ), rãnh cung chứa 1024 byte

d) Máy in (Printer)

* Máy in thiết bị máy vi tính, dùng ñể in kết xử lý, liệu, chương trình, thơng báo máy vi tính

* Máy in dùng máy tính gồm nhiều loại khác hoạt ñộng theo nguyên lý khác Ta phân thành loại sau:

- Máy in mầu (Ploter) gồm bút vẽ màu khác hoạt ñộng nguyên tắc bút vẽ - Máy in Lazer hoạt ñộng nguyên tắc dùng tia Laeser ép nóng chẩy bột mực khơ bám lơ

- Máy in kim (9 kim 24 kim) hoạt ñộng nguyên tắc kim phun bắn vào băng mực tạo giấy nốt chấm ñen

Hiện máy in Laser ñược sử dụng rộng rãi có ưu điểm in nhanh chất lượng tốt giá ñắt máy in kim Máy in kim giá rẻ bền chất lượng không cao in chậm

e) Thiết bị chuột

Chuột thiết bị vào máy vi tính Có thể chọn lệnh, chọn đối tượng, di chuyển thay đổi kích thước đối tượng chuột

Thơng thường chuột có nút bấm Nút trái dùng cho phần lớn thao tác, nút phải tuỳ theo chương trình mà có chức khác nhau, thơng thường nhấn nút phải để lệnh thực vị trí vừa chọn chuột lệnh tuỳ thuộc phần mềm ñang sử dụng

f) Các thiết bị khác

(27)

(Scaner), Tất thiết bị ngoại vi giúp cho việc đưa thơng tin vào máy nhiều dạng từ kí tự đến âm thanh, hình ảnh

3- Tổ chức phịng máy tính cách bảo quản 3.1- Tổ chức phòng máy

Khi thiết lập phịng máy tính, cần chọn vị trí thống mát, tránh ánh nắng mặt trời, tránh nơi có nam châm từ trường Khơng nên đặt máy gần cửa sổ, nhà bếp Nên đặt máy vi tính cách xa tường ñể tránh ẩm nên ñể máy cho người ngồi làm máy không quay lưng vào máy Nhìn chung, máy tính nên chạy qua ổn áp ñể tránh thay ñổi ñột ngột ñiện áp làm ảnh hưởng ñến máy tính Nên lắp điều hồ, máy hút ẩm phịng máy để đảm bảo nhiệt độ độ ẩm phịng chuẩn Tốt từ 200 C đến 250C Trong phịng máy nên trải thảm cách ñiện máy nên nối ñất ñể khử tĩnh ñiện

Trong phòng máy phải dùng biện pháp ñể ngăn chặn bụi bặm thâm nhập vào máy tính Vì vậy, khơng nên giày, dép vào phịng máy tính, khơng hút thuốc phịng máy, khơng để chất hay gây cháy nổ phịng máy Khơng để kiến, gián loại trùng khác vào phịng máy tính

3.2 Bảo quản đĩa từ, hình, bàn phím *ðối với ñĩa từ :

- ðĩa cứng: Tuổi thọ ñĩa cứng thường từ 8.000 ñến 20.000 ðầu máy phải đặt bàn phẳng, vững chắc, khơng lung lay Khi máy vận hành, vơ ý đập manh vào đầu máy, vơ ý làm lung lay mạnh đầu từ đập mạnh vào đĩa cứng làm bong lớp từ phủ ngồi đầu từ bị vỡ lệch dẫn đến tình trạng ổ cứng khơng sử dụng

Khi nhiệt độ tăng cao lớp từ tính mặt đĩa bị bong ñĩa bị cong Trong trường hợp này, liệu đĩa cứng khơng thể lấy bạn khơng truy nhập thơng tin lên đĩa

Khi di chuyển ñầu máy, ñể ñảm bảo an tồn cho đĩa cứng, bạn cần chạy chương trình “Park” ñể di chuyển ñầu từ mé ñĩa cứng vị trí khơng có liệu

Nhìn chung, bạn nên thường xuyên kiểm tra tình trạng đĩa cứng chương trình tiện ích Scandisk, NDD…

Khi mở máy, bạn phải tuân thủ nguyên tắc vận hành máy sau: cắm ổn áp vào nguồn lưới, bật ổn áp, bật cơng tắc đầu máy Khi tắt máy, bạn làm ñộng tác ngược lại: tắt máy tính, tắt ổn áp, rút phích cắm ổn áp khỏi điện lưới

- ðĩa mềm thường có chất lượng khơng tốt đĩa cứng, Vì vậy, bạn lưu trữ liệu đĩa mềm cần phải thường xun kiểm tra tình trạng đĩa liệu lưu trữ đĩa Khi dùng đĩa, bạn khơng chạm tay vào phần phía đĩa mà cầm phần vỏ nhựa bên ngồi Khơng để bụi rơi vào phần lõi nhựa bên trong, khơng để đĩa gần nơi có từ tính, tránh xa nơi có tia X quang Khơng để vật nặng đè lên đĩa, khơng ñược ñể ñĩa bị cong, tránh tuyệt ñối ñể ñĩa mềm nơi ẩm ướt, nhiệt ñộ cao Tránh va chạm mạnh vào ổ đĩa Khi di chuyển máy, cần có ñĩa giả ñưa vào ổ ñĩa ñể ñầu từ không bị lắc, rung Khi ñĩa bị bẩn bụi, bạn khơng nên đưa đĩa vào ổ làm bẩn đầu từ chí làm hỏng ñầu từ

(28)

xuyên lau chùi bụi bặm khe rãnh thông Bạn cần lưu ý rằng: làm việc, hình ñầu máy phát nhiệt nhiều nên hút bụi mạnh

Khi làm việc, điện hình lên tới hàng nghìn vơn nên gây chết người giây lát Vì vậy, máy làm việc, bạn khơng mở nắp nhựa, tránh để nơi ẩm thấp Bạn khơng nên để hình vị trí bị nước mưa hắt vào Khơng đụng chạm mạnh vào phía trước hình Khi vận chuyển hình khỏi khu vực làm việc, bạn bắt buộc phải cho hình vào hộp có đệm xốp

* Bàn phím: phím có lị xo để đàn hồi gõ phím Vì vậy, bạn khơng nên gõ mạnh lên mặt phím Phải đậy bàn phím khơng dùng tới Khơng để bàn phím bị bụi bẩn, chất lỏng nước hắt vào làm bàn phím bị kẹt, khơng sử dụng dược Khi bảo quản bàn phím, bạn nên dùng cồn để lau mặt bàn phím khơng ñược ñể cồn chảy xuống phía bàn phím

Câu hỏi ôn tập chương II Nêu chức máy vi tính

2 Tại CPU lại não máy vi tính? Các thành phần CPU

3 ðể chứa thơng tin cần thiết máy làm việc cần có phận nào? Tại phải lưu trữ thơng tin nhớ ngồi?

4 Tại lại gọi thiết bị ngoại vi? Trình bày thiết bị ngoại vi thông dụng máy vi tính

(29)

CHƯƠNG III: HỆ ðIỀU HÀNH

ðể sử dụng máy vi tính trước tiên phải hiểu biết sử dụng chương trình điều khiển hoạt động chung máy vi tính Bộ chương trình hệ điều hành Chương tình bày kiến thức hệ ñiều hành: Khái niệm hệ ñiều hành, hệ ñiều hành thơng dụng nay, hệ điều hành Microsoft Windows 98/2000, khởi ñộng thành phần windows 98/2000, thay ñổi biểu tượng mục chọn Windows 98/2000, sử dụng Windows Explorer windows 98/2000

1 - Khái niệm hệ ñiều hành 1.1 - Khái niệm hệ ñiều hành

* Hệ ñiều hành hệ thống chương trình ñiều khiển hành vi dàn máy vi tính Chỉ hệ điều hành nạp vào nhớ máy tính hoạt động

Hệ điều hành mục đích giúp người sử dụng máy tính dễ dàng hiệu * Chức Hệ ñiều hành:

- Hệ ñiều hành ñiều khiển tất hoạt ñộng máy tính thiết bị ngoại vi - Hệ ñiều hành người thông dịch, cầu nối người sử dụng máy vi tính 1.2 - Phân loại hệ điều hành

Có thể chia hệ điều hành thành loại: Hệ điều hành máy tính cá nhân, hệ điều hành mạng

* Hệ điều hành máy tính cá nhân hệ ñiều hành viết ñể ñiều khiển máy tính riêng lẻ cịn gọi máy tính cá nhân

Các hệ điều hành máy tính cá nhân thông dụng như: MS-DOS, WINDOWS 95, WINDOWS 98, WINDOWS 2000, WINDOWS XP

* Hệ ñiều hành mạng hệ ñiều hành viết ñể ñiều khiển mạng máy tính bao gồm máy chủ kết nối với máy trạm, hệ ñiều hành ñược cài ñặt máy chủ

Theo khoảng cách ñịa lý phân loại mạng máy tính sau: Mạng cục bộ, mạng thị, mạng diện rộng, mạng toàn cầu

- Mạng cục ( LAN - Local Area Network ): mạng ñược cài ñặt phạm vi tương ñối nhỏ hẹp tồ nhà, xí nghiệp với khoảng cách lớn máy tính mạng vịng vài km trở lại

- Mạng thị ( MAN - Metropolitan Area Network ): mạng ñược cài ñặt phạm vi đồ thị, trung tâm văn hố xã hội, có bán kính tối đa khoảng 100 km trở lại

- Mạng diện rộng ( WAN - Wide Area Network ): mạng có diện tích bao phủ rộng lớn, phạm vi mạng vượt biên giới quốc gia chí lục địa

- Mạng toàn cầu ( GAN - Global Area Network ): mạng có phạm vi trải rộng tồn cầu Internet

Các hệ điều hành mạng thơng dụng là: WINDOWS NT, UNIX, WINDOWS 2000 SERVER

1.3 - Một số hệ điều hành thơng dụng * Hệ ñiều hành MS-DOS

Hệ ñiều hành MS DOS hệ ñiều hành ñời cách ñây lâu phổ dụng trước có sản phẩm hãng hệ điều hành WINDOWS ñời

(30)

* Hệ ñiều hành WINDOWS 98/2000

Hệ ñiều hành WINDOWS 98/2000 hãng phần mềm MICROSOFT phát hành ðây hệ điều hành theo phong cách hồn tồn nhanh chóng trở thành hệ điều hành phổ dụng u thích

Trước ñể làm việc ñược với hệ ñiều hành MS DOS, cần phải nhớ nhiều lệnh với cú pháp dài dòng rắc rối, với việc phải đối diện với hình tối om làm cho công việc trở nên nhàm chán Hệ điều hành WINDOWS đời, tương thích với hệ ñiều hành MS DOS, ñã mang lại nhiều tiện lợi việc sử dụng Hệ điều hành WINDOWS sử dụng giao diện đồ họa dễ sử dụng Một số ñặc ñiểm trội WINDOWS 98/2000

- Cung cấp giao diện ñồ hoạ người-máy thân thiện (GUI- Graphic User Interface)

- Cung cấp phương pháp ñiều khiển thống cho ứng dụng môi trường WINDOWS 95

- Hoạt ñộng chế ñộ ña nhiệm

- Môi trường Nhúng - Liên kết ñối tượng (OLE - Object Linking and Embeding) - Tự động nhận dạng cài đặt trình điều khiển thiết bị (Plus and Play)

- Hỗ trợ mạng

* Hệ ñiều hành WINDOWS NT

Windows NT hệ ñiều hành mạng ñược người dùng tin cậy Qua sử dụng, chứng tỏ hệ điều hành mạng tích hợp nhiều tính giao thức truyền tin chuẩn, tính tìm ñường (routing), truy cập từ xa, tốc ñộ, bảo mật mức C2, giao diện ñơn giản, dễ quản trị, ñặc biệt ñây hệ ñiều hành tảng cho nhiều chương trình ứng dụng phổ biến MS SQL Server MS Mail Server, MS Exchange Server 4.0, Internet Infomation Server (bao gồm FTP Server, Gopher Server, W.W.W Server), MS Proxy Server,

Windows NT hệ điều hành 32 bit, đa nhiệm có ưu tiên nhằm khai thác hết khả vi xử lý Intel x86, RISC hệ thống ña xử lý ñối xứng (symmetric multiproccessing system)

Bên giao diện người sử dụng giống Windows, Windows NT ñã ñược thiết kế lại phần hạt nhân (kernel) cần thiết với hệ ñiều hành ñã có Windows NT thực ñược hầu hết chương trình chạy họ máy tính x86 RISC MS-DOS, Windows, MS OS/2 version 1.x ứng dụng với chức phát triển bảo mật quản trị

Tính mở: ðể trì tương thích ví dụ với ứng dụng viết UNIX theo chuẩn POSIX Tuy nhiên ñể tận dụng hết khả WINDOWS NT ta cần thực ứng dụng viết riêng cho hệ ñiều hành 32 bit mà MS SQL Server ví dụ

* Hệ điều hành UNIX

UNIX hệ ñiều hành mạng ña nhiệm, ña người dùng UNIX với sức mạnh tính tin cậy truyền thống, cộng thêm khả mũi nhọn truyền thơng, kết nối mạng qua TCP/IP, thư điện tử, sở liệu, tính an tồn cao ðặc biệt, ứng dụng chun nghiệp viết hồn thiện UNIX

(31)

một trình phát triển ngày hồn thiện Khi hệ điều hành UNIX phát triển, nhiều máy tính vấn cịn chạy chế độ đơn nhiệm, nghĩa máy tính phục vụ ñược người khoảng thời gian, người sử dụng khơng khai thác hết ñược lực tốc ñộ máy tính Hơn nữa, mơi trường làm việc lập trình viên bị lập với lập trình viên khác ðiều tạo nên khó khăn việc chia xẻ liệu chương trình, điều giảm suất làm việc người làm việc dự án hay mục đích Hệ ñiều hành UNIX ñời ñã cung cấp ba tiến chủ yếu so với hệ thống ñơn nhiệm cũ là:

- UNIX cho phép nhiều người sử dụng máy tính nhiều chương trình xử lý lúc (đa nhiệm)

-UNIX cho phép cá nhân thơng tin trực tiếp với máy tính khác thơng qua thiết bị ñầu cuối

- Cuối UNIX làm cho chia xẻ liệu chương trình cá nhân với dễ dàng

Hệ ñiều hành UNIX ñược xây dựng bốn phần bao gồm:

Phần lõi (kernel)

Hệ thống tệp (file system) Phần vỏ (shell)

Các lệnh (commands)

Hiện có nhiều hệ điều hành UNIX nhiều hãng phát triển 2 - Hệ ñiều hành Microsoft windows 98/2000

2.1 - Khởi ñộng máy thành phần a) Khởi ñộng hệ ñiều hành

(32)

Hình 1.3

- Phía biểu tượng trình ứng dụng Khi muốn mở trình ứng dụng ta việc kích đúp chuột vào biểu tượng

- Dưới ứng dụng TASKBAR

b) Thanh ứng dụng TASKBAR Thanh ứng dụng Taskbar sau:

Thanh ứng dụng chứa nút Start danh sách ứng dụng kích hoạt Tất cửa sổ ứng dụng ñưa chế ñộ cực tiểu ñều xuất Taskbar Khi này, bạn cần nháy ñúp chuột lên biểu tượng

- Di chuyển Taskbar

Thanh Taskbar thay đổi vị trí khác hình Muốn thay đổi vị trí, bạn cần thao tác nháy kéo lên Taskbar Tại nơi xuất mũi tên hai chiều, bạn nháy kéo lên biên phía để thay đổi kích thước Taskbar

- Các thao tác

Khi bạn nháy nút phải chuột lên Taskbar xuất bảng chọn Các mục chọn bảng chọn có ý nghĩa sau:

+ Toolbars: Khi đưa trỏ đến mục chọn hộp thoại xuất

(33)

Nếu chọn New Toolbar hộp thoại New Toolbar xuất Giả sử bạn chọn Printer hộp thoại Printer xuất theo dạng rút gọn Taskbar

+ Cascade Windows: Các cửa sổ ñang mở xếp lợp lên

+ Tile Windows Horizontally: Các cửa sổ ứng dụng xếp lợp lên theo chiều ngang

+ Tile Windows Vertically: Các cửa sổ ứng dụng xếp cạnh theo chiều ñứng + Minimize All Windows: Cực tiểu hóa cửa sổ mở đưa Taskbar

+ Properties: ðịnh nghĩa cách thể Taskbar thay ñổi thành phần Start Menu Programs Khi chọn mục này, hộp thoại Taskbar Properties xuất Các mục

chọn hộp thoại có chức sau:

Always on top: Taskbar ln xuất hình tất ứng dụng Auto hide: Taskbar bị che dấu ñến trỏ chuột di chuyển đến vị trí Show small icon in Start menu: Thay đổi kích thước biểu tượng bảng chọn Start

Show Clock: Hiện hay ẩn ñồng hồ Taskbar c) Nút Start

Nút Start thực nhiều chức quan trọng: Thực ứng dụng, mở tệp, gọi cửa sổ trợ giúp, tìm tệp, khỏi Windows 98, … cơng cụ thiết lập cấu hình khác

Khi bạn nháy chuột nút Start, hình xuất bảng chọn Start Menu Programs Tùy theo việc cài ñặt mà bảng chọn Start xuất mục khác

Bảng chọn Start có dạng sau (Hình 2.3)

Hình 2.3

Các mục chọn bảng chọn có chức sau: - Programs: Thực chương trình ứng dụng Windows - Documents: Mở tài liệu văn bản, ñồ họa

- Settings: Thiết lập cấu hình Control Panel, máy in, Taskbar - Find / Search: Tìm kiếm tệp thư mục

- Help: Mở cửa sổ trợ giúp - Run: Chạy tệp chương trình

(34)

Shut down Tắt máy

Restart Khởi ñộng lại hệ ñiều hành Windows

Stand by Khởi ñộng lại Windows vào chế độ MS – DOS d) Mở trình ứng dụng

ðể mở trình ứng dụng ta thực cách sau:

Cách 1: Kích đúp chuột vào biểu tượng trình ứng dụng hình Windows

Cách 2: Chọn nút START/ chọn mục PROGRAMS/ chọn trình ứng dụng

Cách 3: Chọn nút START/ chọn mục RUN / chọn BROWSE/ chọn thư mục trình ứng dụng/ chọn OK

e) Tắt máy

Chọn nút START/ SHUTDOWN / SHUTDOWN/ OK Sau tắt hình

f) Kkởi động lại

Trong q trình làm việc máy bị treo (khơng hoạt động tiếp), ñể khởi ñộng lại máy ta ấn nút RESET ( ấn đồng thời phím CTRL, ALT, DEL)

2.2 - Tạo, thay ñổi biểu tượng mục chọn cho nội dung

a) Tạo biểu tượng mục chọn cho chương trình độc lập

ðối với chương trình độc lập, chẳng hạn như: Microsoft Excel, Microsoft Word, Foxpro, ta tạo mục chọn nằm bảng chọn tạo biểu tượng hình Windows ñể chọn mục chọn biểu tượng tương ứng chương trình thực mà khơng phải thực thao tác tìm kiếm phức tạp

Trình tự thực sau: - Nhấn nút Start

- Chọn mục Settings Khi này, bảng chọn xuất

- Chọn Taskbar Khi bảng chọn Taskbar Properties xuất

- Chọn Start menu Programs, nhấn nút Add… khung Customize Start Menu Khi hộp Create Shortcut xuất

- Nhấn nút Browse…

- Chọn thư mục chứa chương trình - Chọn tệp chương trình

- Chọn Next Khi này, bảng chọn Select Program Folder xuất

- Trong khung Select folder to place shortcut in, ta phải chọn vị trí để chứa biểu tượng: + Nếu ta nhấn chuột Desktop, biểu tượng xuất hình Windows

+ Nếu chọn Programs, biểu tượng xuất khung Programs + Nếu chọn Start Menu, mục chọn ñược ñặt khung Start

(35)

+ Nếu chọn New Folder, Windows tạo bảng chọn bảng chọn Programs ñể chứa biểu tượng chương trình

- Sau chọn xong, bảng chọn Select a title for the Program xuất

- Trong khung Select a name for the Shortcut, ta cần đưa tên cho mục chọn này, ta khơng ñưa tên vào khung Windows ñưa tên ngầm ñịnh

- Nhấn nút Finish kết thúc

b) Thay ñổi biểu tượng tên biểu tượng * Thay ñổi biểu tượng:

Giả sử cần thay đổi biểu tượng cho chương trình đặt bảng chọn Programs, bước tiến hành sau:

- ðưa trỏ ñến biểu tượng

- Nhấn chuột phải Khi này, hộp thoại Properties xuất

- Nhấn chuột phải vào nút Change Icon ñể thay ñổi biểu tượng Khi này, hộp thoại Change Icon xuất hiện:

Chọn biểu tượng cần thiết nhấn nút Browse để tìm biểu tượng thích hợp thư mục khác Các tệp biểu tượng có phần mở rộng *.ICO Cũng cần lưu ý rằng, thư mục System Windows có tệp Shell32.dll tệp chứa nhiều biểu tượng Bạn mở tệp chọn biểu tượng cần thiết

Xin lưu ý: Có thể tự tạo biểu tượng cách tạo sửa hình ảnh ñặt tên tệp có phần mở rộng *.ICO Khi này, hình ảnh tạo làm biểu tượng cho mục chọn

* Thay đổi tên biểu tượng

ðể thay ñổi tên biểu tượng tiến hành sau:

- Nếu biểu tượng nằm hình Windows (Desktop) nhấn chuột vào tên biểu tượng Khi này, trỏ nằm tên biểu tượng sửa lại tên Cũng tiến hành

Vào bảng chọn chứa biểu tượng, chọn biểu tượng cần sửa lại tên, nhấn chuột phải Khi này, bảng chọn xuất

Chọn mục Rename Khi này, hộp thoại xuất Sửa lại tên biểu tượng (mục chọn) khung New name

Xin lưu ý: Trong bảng chọn cịn có mục sau:

+ Chọn mục Delete xóa mục chọn (biểu tượng) chọn + Chọn open thực nội dung mục chọn

+ Chọn mục Create Shortcut tạo biểu tượng cho mục chọn hình Windows (Desktop)

2.3 - Sử dụng hộp thoại control panel

Hộp thoại Control Panel hộp thoại quan trọng dùng ñể cài ñặt tham số liên quan ñến giao diện Windows, phần mềm ứng dụng, phần cứng máy …

ðể mở hộp thoại Control Panel, tiến hành bước sau: - Vào bảng chọn Start, chọn mục Settings

(36)

Hình 3.3

a) Thiết lập tốc độ bàn phím trỏ hình Trong hộp thoại Control Panel, chọn biểu tượng: Hộp thoại xuất hiện:

- Trong khung Repeat rate: Chọn tốc ñộ bàn phím cách kéo trượt khung Tốc độ gõ phím, kéo trỏ phím mũi tên sử dụng NC, nhanh kéo gần đến vị trí Fast ngược lại, chậm dần kéo trượt ñến gần với Slow

- Trong khung Cursor blink rate: Thay ñổi tốc ñộ nhấp nháy trỏ Khi trượt gần đến vị trí cuối (Fast) tốc độ nhấp nháy nhanh Ngược lại, gần đến vị trí đầu (Slow) tốc ñộ chậm

-

b) Thiết lập tham số cho hình

Trong hộp thoại Control Panel, chọn biểu tượng:

Khi này, hộp thoại Display Properties xuất hiện: Ta chọn mục sau:

* Mục Background

Mục chọn ảnh màu cho hình

Khi chọn khung này, hộp thoại Display Properties có dạng hình sau

(37)

Hình 4.3 * Mục Screen Saver

Mục chọn hình ảnh xuất khơng sử dụng chuột hay bàn phím cài đặt mật

Khi chọn mục hộp thoại Display properties xuất

-Trong khung Screen Saver hộp thoại chọn hình ảnh Hình ảnh xuất sau khoảng thời gian không sử dụng chuột hay bàn phím Khoảng thời gian tính phút ñược xác ñịnh khung Wait

- Khi chọn nút Password protected, chọn ñược nút Password protected chọn hình ảnh khung Screec Saver (nếu chọn mục None khơng chọn nút này) Nhấn chuột vào nút này, hộp thoại xuất hiện.Khi ñưa mật vào khung New password, cần nhắc lại mật lần khung Confirm new password Khi ñã thiết lập chế ñộ này, sau thời gian xác ñịnh khung Wait mà ta khơng sử dụng đến máy tính cách tác động lên chuột phím bàn phím, hình ảnh ñã ñược chọn khung Screen Saver xuất Nếu ấn phím nhấn chuột hộp thoại xuất hiện.Ta cần phải ñưa vào mật ñã cài đặt để làm việc với máy tính Nếu mật đưa vào khơng đúng, ta khơng thể tiếp tục cơng việc

- Khi cần xóa mật sửa ñổi lại mật khẩu, bạn vào hộp thoại Change Password thực tương tự

- Chọn mục Power xuất hiện:

Khung Turn off monitor, xác ñịnh khoảng thời gian mà sau khoảng thời gian khơng sử dụng đến máy tính (khơng nhấn phím bàn phím nhấn chuột) hình tự động tắt

Tương tự với thao tác ñối với ổ cứng chọn thời gian khung Turn off hard disks

* Mục Appearance

(38)

Khi chọn khung này, hộp thoại Display Properties xuất

-Trong khung Scheme, chọn cặp màu cho hình giao diện Windows ứng dụng khác: Microsoft Excel, Microsoft Word …

-Trong khung Item, chọn phông chữ, kích thước chữ, màu sắc chữ cho bảng chọn, dịng thơng báo, biểu tượng, …Khi nhấn chuột lên mũi tên xuống khung này, hộp thoại xuất

+ Chọn đối tượng cần chọn phơng chữ, kích thước chữ hộp thoại Một số ñối tượng mục chọn bảng chọn, nội dung văn cửa sổ, … ñược miêu tả hộp thoại Display Properties bạn nhấn chuột lên ñối tượng ñể chọn thay cho việc chọn chúng khung Item

+ Chọn phông chữ khung Font (khung trở thành sáng nét ñã chọn ñối tượng)

+ Chọn kích thước chữ khung Size chọn màu khung Color cho ñối tượng ñã lựa chọn

* Mục Effects

Hộp thoại dùng ñể thay ñổi biểu tượng (Icon) giao diện Windows (Desktop)

Khi chọn khung này, hộp thoại Display Properties xuất - Nhấn chuột vào biểu tượng cần thay ñổi

- Nhấn chuột vào biểu tượng Change Icon

Khi này, hộp thoại danh sách biểu tượng xuất Chọn biểu tượng cần thiết

* Mục Web

Khung ñể cài ñặt tham số cho trang Web máy bạn ñược nối với Internet

* Mục Settings

Mục khai báo số màu nàm hình độ phân giải hình Khi chọn khung này, hộp thoại Display Properties xuất

- Trong khung Color palette, chọn số màu cho hình Số màu có cịn phụ thuộc vào Card hình mà bạn sử dụng

- Thanh trượt khung Desktop area dùng ñể chọn ñộ phân dải cho hình - Nhấn chuột vào khung Advanced Properties để xem thơng tin Card hình hình Trong trường hợp cần thiết, bạn thay đổi Card hình chọn nút

Cuối chộn OK kết thúc

Xin lưu ý: Thay cho việc chọn biểu tượng Display hộp Control Panel, thao tác sau: Trên hình Windows, nhấn chuột phải, chọn Properties

c) Thay ñổi ngày tháng thời gian cho hệ thống Trong hộp thoại Control Panel, chọn biểu tượng:

Hoặc nhấn chuột vào vị trí ghi thời gian bên phải đáy hình Khi này, hộp thoại Date/Time Properties xuất

(39)

- Trong khung Time: Chọn thời gian Bạn cần chọn ba lần cho giá trị: giờ, phút giây

- Trong Time zone: chọn múi

Sau ñã thiết lập xong tham số, nhấn nút Apply phía hộp thoại để chấp nhận giá trị

d) Cài ñặt máy in

Khi sử dụng máy in mới, bạn cần cài ñặt chương trình ñiều khiển máy in máy in sử dụng ñược Các bước tiến hành sau: Trong hộp thoại Control Panel, chọn biểu tượng:

Khi này, hộp thoại Printers xuất Trong hộp thoại Printers, nhấn chuột lên biểu tượng

Hộp thoại Add Printer Wizard xuất Nhấn chuột vào nút hộp thoại Add Printer Wizard trở thành hình sau (Hình 5.3)

Hình 5.3 Chọn hai phương án:

- Local printer: Cài ñặt máy in cục (ñược nối trực tiếp vào máy tính sử dụng) - Network printer: Máy in cài ñặt mạng

(40)

Hình 6.3

Trong khung Manaufacturers, chọn nhóm máy in Khi này, cửa sổ bên trái xuất máy in nhóm hình Chọn máy in cần cài ñặt Nhấn chuột vào nút

Khi này, hộp thoại Install From Disk xuất

Nhấn chuột vào nút OK để cài đặt chương trình ñiều khiển máy in

Khi mua máy in, nhà cung cấp ñưa cho bạn một, chí vài đĩa chương trình điểu khiển máy in Nếu ñĩa mềm bạn cần ñưa ñĩa vào ổ A nhấn chuột vào nút Nếu chương trình điều khiển đặt thư mục ổ ñĩa khác, bạn nhấn chuột vào nút chọn thư mục nhấn chuột vào mũi tên xuống khung Copy manufacture’s files from ñể chọn ổ ñĩa cần thiết Có số máy in, Windows tự cài đặt chương trình điều khiển bạn cần chọn thư mục Windows (là thư mục cài ñặt chương trình Windows ) hộp thoại Các hệ Windows sau khẳ lớn Khi chọn vị trí chứa chương trình điều khiển, nhấn chuột vào

e) Thiết lập chế ñộ hiển thị liệu

ðể thiết lập chế ñộ hiển thị liệu (dạng số, tiền tệ, thời gian, …), bạn tiến hành sau:

- Trong hộp thoại Control Panel, chọn biểu tượng

(41)

Hình 7.3

- Trong khung Decimal symbol, chọn ký hiệu biểu thị phân cách phần thập phân Bạn chọn dấu phảy (,) này, ứng dụng Windows Microsoft Excel, Microsoft Word… sử dụng ký hiệu phép tốn, cơng thức, trình bày kết quả… liệu kiểu số

- Trong khung No.of digits after decimal: Xác ñịnh số chữ số thập phân

- Trong khung Digit grouping symbol: Xác ñịnh ký hiệu dùng làm dấu phân cách số hàng nghìn, triệu, tỷ …

- Trong khung No of digits in group: Xác định số chữ số tạo thành nhóm ñược phân cách ký hiệu mục Thông thường, số lượng

Các khung cịn lại dùng để thiết lập cách thể số âm Bạn chọn số âm viết:

-123.456,78

(123.456,78)

bằng cách chọn khung Negative number format

Bạn nhấn chuột lên khung Currency, Time Date hộp thoại Regional Settings Properties ñể xác lập chế ñộ hiển thị cho liệu kiểu tiền tệ, thời gian ngày tháng 2.4 - Sử dụng chương trình Windows Explorer

Chương trình Windows Explorer chương trình tiện ích nằm Windows 95/98/2000, … dùng ñể quản lý ñĩa Bạn sử dụng chương trình để chép, xóa, đổi tên tệp, tạo thư mục …

a) Khởi ñộng chương trình Windows Explorer

(42)

- Cách 1: Kích đúp chuột vào biểu tượng Windows Explorer Desktop - Cách 2: Chọn nút Start / chọn mục Program/ chọn Windows Explorer

- Cách 3: Chọn nút Start / chọn mục Run / chọn nút Browse / chọn thư mục chon chương trình ứng dụng

Sau khởi động ba cách trên, cửa sổ làm việc Windows Explorer có dạng hình sau:

Hình 8.3

Cửa sổ làm việc Windows Explorer ñược chia thành hai cửa sổ con: Khi ñưa trỏ ñến thư mục hay ổ ñĩa cửa sổ bên trái cửa sổ bên phải xuất nội dung thư mục hay ổ ñĩa

b) Ra khỏi Windows Explorer Chọn mục FILE/ chọn mục EXIT

c) Các ứng dụng Windows Explorer * Tạo thư mục

ðể tạo thư mục mới, bạn tiến hành bước sau:

- Trên cửa sổ bên trái, ñưa trỏ ñến ổ ñĩa thư mục cần tạo thư mục Nếu trỏ nằm ổ ñĩa thư mục tạo nằm trực tiếp ổ ñĩa Nếu trỏ nằm thư mục thư mục nằm trực tiếp thư mục

- Vào bảng chọn File, chọn New Khi này, hộp thoại xuất

- Chọn Folder Khi này, cửa sổ bên phải xuất biểu tượng hình sau:

(43)

* Xem thông tin

- Giả sử, bạn ñưa trỏ vào thư mục Giaotrinh cửa sổ bên trái cửa sổ bên phải xuất nội dung thư mục Giaotrinh

- Khi ấn vào phím + bên trái thư mục, thư mục trực thuộc thư mục (nằm trực tiếp thư mục) xuất phía để xem tiếp nội dung thư mục

- Khi muốn xem thư nội dung thư mục thư mục đưa trỏ ñến thư mục nhấn chuột Nội dung ñược xuất cửa sổ bên phải bao gồm tệp thư mục trực thuộc Trên cửa sổ bên trái, thư mục xuất danh mục thư mục xuất thư mục trực thuộc

- Khi cần quay trở thư mục mẹ nhấn chuột lên dấu trừ ( - ) bên cạnh thư mục, danh mục thư mục phía thư mục cửa sổ bên trái biến

* Sao chép

Giả sử cần chép thư mục Excel thư mục Giaotrinh sang thư mục Sach, tiến hành theo hai cách sau:

• Cách 1:

- ðưa trỏ ñến thư mục Excel, nhấn chuột phải Khi này, hộp hội thoại xuất

- Chọn Copy

- Nhấn chuột vào thư mục Sach, nhấn chuột phải, chọn Paste

• Cách 2:

- Trên cửa sổ bên trái, ñưa trỏ ñến thư mục Giaotrinh Khi này, cửa sổ bên phải xuất nội dung thư mục Giaotrinh

- Nhấn chuột vào thư mục Excel Khi này, thư mục ñổi màu Chú ý: Nếu bạn nhấn ñúp chuột xuất hịên nội dung thư mục cửa sổ bên phải

- Vào bảng chọn Edit, chọn Copy, nhấn chuột thư mục Giaotrinh, vào bảng chọn Edit, chọn Paste nhấn Ctrl+V

Xin bạn lưu ý

ðể chọn nhóm thư mục tệp để chép dịch chuyển, trước chọn tệp thư mục mới, nhấn giữ phím Ctrl

* Dịch chuyển

Dịch chuyển thư mục, tệp nhóm thư mục tệp thực tương tự chép khác chép chọn Copy bảng chọn cịn dịch chuyển thay mục chọn Cut bảng chọn

Cũng tiến hành cách kéo chuột sau:

- Chọn thư mục cần dịch chuyển (có thể cửa sổ bên phải bên trái)

- Nhấn giữ chuột, kéo thư mục ñến thư mục cần dịch chuyển nhả chuột (khi này, thư mục ổ ñĩa cần dịch chuyển ñến ñổi màu)

* Xóa tệp thư mục

Nhấn chuột vào thư mục tệp cần xóa thực ba cách sau: - Nhấn chuột phải, chọn mục Delete chọn Menu Edit/ Delete

- Nhấn chuột vào biểu tượng Delete - Nhấn phím Delete bàn phím

(44)

* ðổi tên

Nhấn chuột vào tệp thư mục cần ñổi tên, nhấn chuột phải chọn Rename * Mở tệp thư mục

- Chọn tệp thư mục cần mở Nhấn chuột phải Khi này, hộp thoại xuất - Chọn Open

+ Nếu thư mục tạo cửa sổ ñể chứa nội dung thư mục + Nếu tệp chương trình thực chương trình

+ Nếu tệp ứng dụng ñược tạo từ chương trình hệ thống Microsoft Excel, Microsoft Word … khởi động chương trình đồng thời mở tệp định

* Xem thơng tin tệp thư mục

Chọn tệp thư mục cần xem thông tin, nhấn chuột phải Khi này, hộp thoại xuất Chọn Properties

* Tìm kiếm thơng tin

Tìm kiếm thơng tin Windows 98 Windows 2000 có khác - Tìm kiếm Windows 98:

ðể tìm kiếm thông tin, tiến hành bước sau:

+ Vào bảng chọn Tools, chọn mục Find Khi này, bảng chọn phụ xuất + Chọn mục Find Files and Folder Khi hộp thoại Find xuất

+ Chọn mục Name & Location: Trong khung Named, chọn tên tệp cần tìm Bạn sử dụng nhiều ký hiệu dấu (*) cho nhóm ký tự dấu hỏi (?) cho ký tự

+ Trong khung Containing text, ñưa vào đoạn văn có chứa tệp cần tìm + Trong khung Look in, ñưa tên ổ ñĩa thư mục cần tìm kiếm

+ Nhấn nút Find Now đưa thơng tin Bạn tìm theo tiêu tên tệp ñoạn văn chứa tệp (khi này, tiêu để trống) kết hợp hai tiêu tìm kiếm nêu

+ Trong hộp hội thoại Find, nhấn chuột vào khung Date để chọn điểu kiện tìm kiếm theo ngày tháng Một hộp thoại xuất

+ Chọn nút Find all files Nhấn chuột vào mũi tên xuống khung để chọn chế độ tìm kiếm theo thời gian sửa ñổi hay thời gian tạo tệp

Bạn chọn ba nút sau:

+ between … and … : Giữa khoảng thời gian + during the previous … month(s): Trước số tháng + during the previous … day(s): Trước số ngày

Sau khai báo xong tham số trên, nhấn chuột lên nút Find Now

+ Trong hộp thoại Find, nhấn chuột lên khung Advanced để chọn chế độ tìm kiếm theo kích thước tệp

- Tìm kiếm Windows 2000:

ðể tìm kiếm thơng tin đĩa, bạn tiến hành bước sau:

+ Nhấn chuột vào biểu tượng Search công cụ Khi hộp thoại Search xuất

+ ðưa tên tệp thư mục cần tìm kiếm vào khung Search for files or folders named + ðưa đoạn văn có tệp tìm kiếm

(45)

+ Khi đưa tham số cần thiết, nhấn chuột vào nút Search now để bắt đầu tìm kiếm

Trong khung Search Results xuất kết thư mục tệp thỏa mãn điều kiện tìm kiếm tham số chúng

* Format ñĩa:

Giả sử cần format ñĩa mềm (ổ A), ñưa vệt sáng ñến ổ A cửa sổ bên trái , nhấn nút chuột phải Khi này, hộp thoại xuất Chọn mục Format

Câu hỏi ôn tập chương III

1 Nêu khái niệm hệ ñiều hành, chức hệ ñiều hành

2 Nêu khác hệ điều hành máy tính cá nhân hệ ñiều hành mạng Nêu số hệ ñiều hành ñang ñược sử dụng rộng rãi hiên nước ta

3 Nêu cách khởi ñộng, mở trình ứng dụng, khởi động lại, tắt máy hệ ñiều hành Windows 2000

(46)

CHƯƠNG IV: HỆ SOẠN THẢO VĂN BẢN MIROSOFT WORD Một trọng ứng dụng thông dụng máy vi tính để soạn thảo văn Hệ soạn thảo văn chương trình giúp cho người sử dụng soạn thảo văn máy vi tính Hệ soạn thảo văn ñược sử dụng rộng rãi hệ soạn thảo văn Microsoft Word Trong chương giới thiệu hệ soạn thảo văn Microsoft Word Nội dung đề cập tới vấn ñề: Khởi ñộng Word, thành phần hình word, soạn thảo văn bản, định dạng liệu, lệnh tệp, kẻ bảng biểu, thao tác thường gặp Word

1 - Giới thiệu chương trình Ms-Word 1.1 - Giới thiệu chung

MS-Word trình soạn thảo văn hãng MicroSoft thiết kế MS-Word hoạt động mơi trường Window Hệ điều hành WINDOWS có giao diện đồ hoạ người sử dụng máy vi tính, lệnh WINDOWS ñược thể qua biểu tượng ñồ hoạ hình việc lệnh cho máy tính chọn biểu tượng thực ñơn phù hợp thơng qua bàn phím thiết bị chuột

Các máy tính nước ta phổ biến dùng hệ ñiều hành Window 98 Window 2000

Chương trình MS-WORD hệ soạn thảo văn nằm chương trình Tin học văn phịng (MicroSoft Office), gặp phiên khác Word Word6.0 Office 4.3 Word 97; Word 2000 Những phiên ñược bổ xung thêm số tính đồ hoạ, bảng biểu mà phiên trước khơng có

Trong mơi trường WINDOWS tìm thấy bảng tính điện tử Excel, hệ quản trị liệu Access, công cụ vẽ Powerpoint số trình ứng dụng khác Trong phần ñề cập ñến MS-WORD

Bộ chương trình Windows cài đặt ổ cứng máy vi tính Với phiên 3.1 (là phiên làm việc mơi trường DOS) sau khởi động từ dấu nhắc hệ thống C:\> ta cần gõ lệnh WIN bấm tiếp phím Enter chương trình ñược khởi ñộng Các phiên Windows 95 trở ñi việc khởi động hồn tồn tự động

1.2 - Cách sử dụng chuột

Trước làm việc với MS-WORD ta cần phải biết cách sử dụng thiết bị chuột (Mouse) Mouse có phím (Hình 1.4) Khi di chuyển mouse bàn làm việc trỏ mouse hình di chuyển theo, tuỳ thuộc vào vị trí Mouse hình mà hình dạng thay đổi Phần lớn thao tác mouse sử dụng phím trái (Left) tài liệu nói bấm mouse có nghĩa bấm phím trái, trường hợp bấm phím phải có ghi riêng

Có thao tác bấm phím mouse:

- Bấm ñơn: ñưa mouse ñến biểu tượng vị trí cần thiết bấm phím trái

- Bấm kép: ñưa mouse ñến biểu tượng vị trí cần thiết bấm phím trái hai lần liên tiếp

- Bấm rê: ñưa mouse ñến vị trí cần thiết bấm giữ phím trái sau ñó di mouse bàn, thao tác bấm rê nhằm bơi đen vùng văn di chuyển ñối tượng từ chỗ sang chỗ khác

(47)

Hình 1.4

Một số chuột phím thay bánh xe Quay bánh xe hình cuộn lên hay xuống

1.3 - Khởi ñộng khỏi Word a) Khởi động Word

Có thể khởi ñộng Word theo cách sau:

- Cách 1: Kích đúp chuột vào biểu tượng Word Desktop

- Cách 2: Chọn nút Start / chọn mục Program/ chọn Micrsoft Word

- Cách 3: Chọn nút Start / chọn mục Run / chọn nút Browse / chọn thư mục chon chương trình ứng dụng

Sau khởi động ba cách trên, cửa sổ làm việc Micrsoft Word có dạng hình sau (Hình 2.4)

Hình 2.4

Theo thứ tự từ xuống hình bao gồm phần sau:

- Thanh tiêu ñề: Thanh cho biết tên cửa sổ ñang làm việc (Micrsoft Word) tên văn ñang soạn thảo

- Thanh thực đơn (Menu): Thanh trình bày thực ñơn ngang, mục chọn thực ñơn ngang cho tiếp thực ñơn dọc

- Thanh công cụ (Toolbars): Trên công cụ nút (Button), nút công cụ giao tiếp thay cho việc chọn thực ñơn Menu

Left Center Right

(48)

- Thanh ñịnh dạng (Format): Thanh gồm nút phục vụ cho việc ñịnh dạng văn bản, chức ñịnh dạng văn thực có thực đơn Format, nhiên ñịnh dạng Format nhanh tiện dụng

- Thước (Ruler): Chỉ lề trái , lề phải, vị trí cột bảng

- Phần văn bản: Gồm nhiều dòng, ñể văn mà ta gõ vào

- Cuối trạng thái: Chỉ thơng tin thời tệp văn soạn thảo: Trang thời (Page), đoạn (Sec), dịng (Ln), cột (Col), …

Có thể dùng chức Tools - Customize để thay đổi nút cơng cụ dùng View-Toolbars ñể thêm bớt

b) Ra khỏi Word

Chọn mục FILE/ chọn mục EXIT nhấn đồng thời hai phím Alt F4 1.4 - Mô tả thành phần hình Word

a) Thanh tiêu đề (Title Bar)

Phần tiêu ñề tên cửa sổ ñang mở ( Microsoft Word) tên tệp văn ñang soạn thảo, bắt ñầu làm việc với MS-WORD 6.0 tên tệp văn ñược ñặt ngầm ñịnh Document1, ghi văn vào đĩa với tên khác tên thay cho Document1 Bên trái tiêu ñề nút ñiều khiển ( Ctrol menu box) Khi bấm mouse vào nút ta thấy lên menu dọc gồm Menu con:

Restore (Khôi phục cửa sổ trạng thái trước), Move (Dịch chuyển cửa sổ đến vị trí mới), Size (Thay đổi kích thước cửa sổ),

Minimize (Thu cửa sổ thành biểu tượng), Maximize (Phóng to cửa sổ),

Close (đóng cửa sổ soạn thảo),

Switch To (Kích hoạt chương trình ứng dụng vừa bị đóng) Nút ñiều khiển

Thanh tiêu đề Thanh thực đơn Thanh cơng cụ Thanh định dạng Hình 3.4

Phía bên phải tiêu đề có ba nút

Thu nhỏ hình làm việc thành dịng

Thu nhỏ phóng to cửa sổ

(49)

b) Thanh thực ñơn (Menu Bar)

Thanh thực ñơn gồm danh mục thực ñơn xếp theo hàng ngang ðể chọn ứng dụng Menu ngang ta bấm đơn phím trái mouse vào menu bấm tổ hợp phím nóng phím ( đè phím ALT gõ tiếp chữ gạch chân menu ) Mỗi menu ngang lại gồm nhiều mục dọc (Menu popup), ñể chọn mục dọc ta làm hoàn toàn tương tự chọn menu ngang Các menu ngang mục dọc tương ứng ñược liệt kê đây:

* File (các lệnh xử lí tệp):

New (mở cửa sổ ñể soạn thảo văn ) Open (mở văn ñang lưu đĩa hình) Save (cất văn ñang soạn thảo vào tệp ñĩa) Save as (cất văn vào tệp với tên khác)

Close (đóng văn soạn thảo) Find file (tìm tệp đĩa)

Summary Information (tạo thơng tin tóm tắt văn bản) Templates (Chọn khn mẫu trình bầy văn bản)

Page Setup (ñịnh dạng trang văn , chọn cỡ giấy, lề in ) Print Preview ( xem toàn cảnh văn trước in ) Print (in văn bản)

* Edit (các lệnh phục vụ việc soạn thảo): Undo (bỏ thao tác vừa làm)

Repeat (lặp lại thao tác vừa làm)

Cut (xố đối tượng chọn đoạn văn bơi đen)

Copy (chép đối tượng chọn đoạn văn bơi đen vào vùng đệm clipboard)

Paste (dán đối tượng có vùng đệm vào vị trí mới)

Paste Special (dán ñối tượng theo phương pháp ñặc biệt, chuyển cột thành hàng hàng thành cột, nâng cao mật độ in)

Clear (xố đoạn văn ñã chọn)

Find (tìm kiếm từ ngữ ñoạn văn văn bản) Replace (tìm thay thế)

Goto (nhẩy tới trang số )

AutoText (Tạo đoạn văn mẫu để gọi lúc nào) Bookmark (ñánh dấu ñịnh vị văn bản)

* View (chọn chế độ hiển thị văn hình): Normal (bình thường)

Layout (hiện lề ngồi văn văn kèm theo hình vẽ) PageLayout (hiện lề trang văn bản)

Master Document (tạo văn với văn con) Fulscreen (mở cửa sổ văn rộng kín tồn hình)

Toolbars (Cho khơng cơng cụ, định dạng, đường viền )

Ruler (cho khơng thước kẻ ñầu cửa sổ văn bản) Header and Footer (cho tiêu ñề ñầu cuối trang)

(50)

Annotation (Cho thích văn bản) Zoom (Thay đổi kích thước cửa sổ soạn thảo)

* Insert ( chèn ñối tượng khác vào văn bản): Break ( chèn dấu ngắt trang)

Page Number (ñánh số trang) Annotation (thêm lời thích) Date and Time (Ngày giờ)

Field (chèn mã trường có chứa thơng tin xác định vào văn bản), Symbol (chèn kí tự đặc biệt α,β dấu hoa văn ) Form Field (biểu mẫu ñịnh sẵn)

Foonote (chú giải cuối trang)

Caption (chèn thêm giải cho nội dung ñã chọn)

Cross reference (chèn ñối tượng qua tham khảo chéo hộp liệt kê) Index and Table (chèn bảng mẫu)

File (chèn tệp)

Frame (chèn khung để đóng gói văn tranh)

Picture (chèn thêm tranh có sẵn thư viện vào văn vào khung) Objects (chèn ñối tượng khác bảng tính, dấu tốn học )

Database (chèn sở liệu)

* Format ( chức ñịnh dạng văn bản):

Font :định dạng chữ bao gồm kiểu chữ: (Font); kích thước: (Font size); màu sắc: (Color) ; dáng chữ: (Style)

Pragraph (ñịnh dạng ñoạn văn bản: khoảng cách dịng, độ thụt dịng, lề, khoảng cách đoạn văn bản)

Tabs (ñịnh dạng bước nhẩy cột gõ phím Tab)

Borders and Shading (định dạng đường bao bóng khung, bảng) Columns (phân chia ñoạn văn trang giấy thành cột )

Change-Case (biến chữ to thành nhỏ ngược lại, định dạng nhóm từ kiểu tên riêng )

Drop cap (ñịnh dạng chữ ñầu tiên ñoạn văn bản) Bullets and Numbering (ñịnh dạng nét gạch ñánh số ñầu mục) Heading Numbering (ñánh số tiêu ñề)

Autoformat (thiết lập chế ñộ ñịnh dạng tự ñộng)

Style gallery (ñịnh dạng theo mẫu ñã ñược thiết kế Windows )

Styles (lựa chọn tổ chức kiểu trình bầy có sẵn cho đoạn văn cho kí tự) Frame (định dạng khung bao)

Picture (định dạng lại hình ảnh chèn vào văn bản) Drawing object (ñịnh dạng ñối tượng vẽ )

* Tools (Các công cụ trợ giúp)

Spelling (kiểm tra lỗi tả tiếng anh) Grammar (chỉnh lí văn phạm)

Thesaurus (tìm từ đồng nghiã)

Hyphenation (đặt gạch nối từ cách tự ñộng hay tay) Language (Chọn ngôn ngữ viết văn bản)

(51)

Autocorrect (thiết lập tên cho cụm từ tiêu đề mà nội dung tự động chỉnh lỗi tả)

Mail Merge (trộn liệu vào văn chính, liệu tạo Word phần mềm khác Foxpro, Lotus, Foxbase , nhằm mục đích tạo văn mới)

Envelopes and labels (tạo bao thư cho văn bản) Protect Document (bảo vệ tài liệu)

Revions (hiệu đính)

Macro (tạo lập vĩ lệnh, hiểu Macro tập hợp tất lệnh ñược gõ từ bàn phím trừ thao tác chuột)

Customize (tạo nút công cụ menu riêng)

Options (các phương án lựa chọn tổng hợp trình bầy hình văn bản) * Table (Thực đơn tạo lập bảng):

Insert table (chèn thêm bảng vào vị trí trỏ) Delete cells (xố bơi đen)

Merge cells (liên thơng đứng gần theo hàng ngang thành ơ) Split cells (phân chia nhóm ô thành nhiều ô)

Select row (chọn hàng) Select column (chọn cột) Select table (chọn bảng)

Table Autoformat (tự dộng ñịnh dạng bảng theo khn có sẵn) Cell Height and Width (định kích thước ô hàng, cột) Headings (nhập tiêu ñề cho cột)

Convert Text to Table (chuyển văn dạng bảng thành bảng liệu ðiều kiện cần liệu phải ngăn cách dấu phẩy

Sort Text (Xếp bảng liệu theo cột số cột chữ) Formula (tính tốn với số liệu có bảng) Split table (phân chia bảng thành bảng)

Gridlines (cho không cho lưới kẻ bảng) * Window (các lệnh xử lí sổ văn bản):

New (mở cửa sổ văn mới)

Arrange all (cho ñồng thời hình cửa sổ văn mở) Split chia cửa sổ hành thành hai phần

* Help (xem hướng dẫn lệnh)

c) Thanh cơng cụ (Tools Bar) (hình 4.4)

Hình 4.4

Các nút cơng cụ tính từ trái qua phải gồm:

(52)

Print Preview: quan sát toàn cảnh văn trước in

Spenlling and Grammar: dị lỗi tả ngữ pháp tiếng Anh Cut: xoá phần văn bơi đen hình

Copy: chép phần bơi đen vào Clipad (vùng ñệm nhớ )

Paste: dán có Clipad vào vị trí thời hình Format Painter: chép định dạng ñoạn văn

Undo Typing: bỏ thao tác vừa thực (khơi phục lại tình trạng ttrước đó) Redo cut: khơi phục lại vừa bị xoá

Isert Hyperlink: thêm siêu liên kết

Web Toolbar: công cụ kết nối Internet Tables and Border: tạo bảng biểu bút vẽ Insert Table: tạo bảng biểu

Isnert Microsoft Excel Worksheet: chèn vào văn trang tính Excel Columns: chia văn thành nhiều cột

Drawing: công cụ vẽ

Document Map: sơ ñồ ñề mục văn Show/Hide: tắt ký hiệu xuống dòng Zoom: Thay đổi tỷ lệ kích thước hình Office Assistant: trợ giúp

Thanh công cụ chứa biểu tượng dạng nút giúp lựa chọn nhanh chức Thanh cơng cụ chuẩn Office 97 Office 2000 (Standard Tools bar) gồm các nút hình

Các nút cơng cụ sử dụng cách ñưa chuột ñến nút bấm ñơn, thao tác tương tự chọn chức thực đơn chọn chức có tên tương ứng Ví dụ để ghi văn có hình vào đĩa ta việc bấm chuột vào nút Save thay phải chọn thực đơn File thực ñơn Save Menu File d) Thanh ñịnh dạng (Formating Bar) ( Hình 5.4 )

Hình 5.4

Thanh gồm có nút dùng ñể ñịnh dạng văn bản, tính từ trái qua phải bao gồm: Style (Kiểu trình bầy)

Font (chọn kiểu chữ) Font size ( chọn cỡ chữ) Bold (chữ ñậm)

Italic (chữ nghiêng) Under Line (gạch chân) Align Left (dóng thẳng lề trái) Align Right (dóng thẳng lề phải) Justify (dãn ñều lề )

Numbering (ñánh số thứ tự ñoạn văn bản) Bullets (Dùng biểu tượng ñánh dấu ñoạn văn bản) Decrease Indent (dịch chuyển ñoạn văn sang trái) Increase Indent (dịch chuyển ñoạn văn sang phải) Border (ñịnh dạng ñường viền khung)

(53)

2 - Các phím gõ tắt (ShortCut-Key )

Các phắm gõ tắt thường tổ hợp phắm ngầm ựịnh Windows phắm người sử dụng cài ựặt ựể thực nhanh công việc ựó thơng qua việc gõ bàn phắm Các phắm gõ tắt bắt ựầu phắm chức phụ Ctrl, Shift, Alt kết hợp với hai phắm khác Dưới ựây bảng liệt kê phắm gõ tắt có sẵn Windows chức tương ứng Cách bấm phắm gõ tắt sau: đè phắm thứ bấm tiếp phắm thứ hai ựè phắm thứ nhất, ựè tiếp phắm thứ hai tiếp phắm thứ sau ựó bng tất

Ví dụ: ghi tổ hợp phím Alt + F có nghĩa đè phím Alt sau gõ phím F, cịn ghi Ctrl+Shift+W có nghĩa đè hai phím Ctrl Shift sau gõ phím W bng tay 2.1 - Các phím gõ tắt bắt đầu phím Alt

Alt+F Chọn thực ñơn File Menu Alt+E Chọn thực ñơn Edit Menu Alt+V Chọn thực ñơn View Menu Alt+I Chọn thực ñơn Insert Menu Alt+O Chọn thực ñơn Format Menu Alt+T Chọn thực ñơn Tools Menu Alt+A Chọn thực ñơn Table Menu Alt+W Chọn thực ñơn Window Menu Alt+H Chọn thực ñơn Help Menu Alt+N Chọn thực ñơn Font Menu 2.2 - Các phím gõ tắt bắt đầu phím Ctrl

- Bơi đen đoạn văn sau bấm:

Ctrl+C Sao chép ñoạn văn ñã bơi đen vào Cliboard Ctrl+V Dán đoạn văn có Cliboard vào vị trí Ctrl+B In ñậm, chữ béo

Ctrl+I In nghiêng

Ctrl+U Chữ có gạch chân

Ctrl+Shift+W Gạch chân từ Ctrl+Shift+D Gạch chân nét kép Ctrl+= Viết số ( x1, m2, )

Ctrl+Shift+= Viết số trên, số mũ ( a2, b sinx, )

Ctrl+ Shift+K Chữ in hoa nhỏ Ctrl+ Shift+A Tất chữ in hoa Ctrl+ Shift+H Cho ẩn văn Ctrl+ Shift+C Copy ñịnh dạng Ctrl+ Shift+V Dán kiẻu ñịnh dạng Ctrl+Spacebar Loại bỏ định dạng 2.3 - Các phím gõ tắt bắt đầu phím Shift

Shift+End Bơi đen đoạn văn từ vị trí thời đến cuối dịng Shift+Home Bơi đen đoạn văn từ vị trí thời đến đầu dịng Shift+ ↓ Bơi đen dịng văn

(54)

3 - Các thao tác ñịnh dạng 3.1 - Phương pháp viết tiếng Việt

Hiện có hai phương pháp viết tiếng Việt ựang ựược sử dụng phương pháp viết kiểu TELEX phương pháp viết kiểu đánh máy Trong phạm vi chương trình học phương pháp TELEX Bộ phông chữ tiếng Việt sử dụng chương trình phơng VietKey, nước ta tồn nhiều phông chữ ABC, Freecode, Vietwear, Vni, Với máy kết nối Internet phải dùng phơng Unicode

Cách gõ chữ Việt theo kiểu Telex:

Kiểu Telex cách gõ tiếng Việt thuận tiện dễ nhớ, đảm bảo có tiếng Việt tả, đồng thời bỏ cách đặt dấu sai tồn thành thói quen

Cách gõ ký tự ñặc biệt tiếng việt sau: Gõ vào Nhận ñược Gõ vào Nhận ñược aw ă Aw Ă ow Ow Ơ uw Uw Ư aa â AA Â oo ô OO Ô ee ê EE Ê dd ñ DD ð

Gõ dấu: f: huyền ; s: sắc ; r: hỏi ; x: ngã ; j: nặng

Ví dụ : để có dịng chữ " Trường ðại học Nông nghiệp I" ta phải gõ sau: Truwowngf DDaij hocj Noong nghieepj I

* Lưu ý : - Dấu phải gõ vào cuối chữ , nghĩa viết xong chữ ñánh dấu Ví dụ: Truwowngf Trường, DDieenj ðiện, baos báo

- Phím xố dấu : muốn xố dấu đánh từ ta ñưa trỏ ñến sát ký tự cuối từ gõ phím z

- Chữ hay liền nên chúng cịn ñược bố trí phím ] [, ñây hai phím liền bàn phím kiểu QWERTY, gõ nhanh

] [ } Ư { Ơ Thí dụ : tr][ngf Trường dd][cj ñược - Gõ ooo nhận oo cooongs cng

- Nếu bạn muốn gõ dấu [ ] bạn việc gõ lần phím

Khi gõ Telex, Vietkey tự động bỏ dấu tả tiếng Việt Nếu bạn gõ nhầm dấu, bạn việc gõ dấu vào mà công xố dấu cũ

(55)

Hình 6.4 3.2 - ðịnh dạng ký tự

a) Sử dụng thực đơn

- Bơi đen đoạn văn muốn ñịnh dạng - Chọn chức Format

- Trong Format chọn Font, hộp thoại Font xuất ( Hình 7.4) Trong hộp có hai mục chọn Font (kiểu chữ) Character Spacing ( vị trí chữ ) Trong mục chọn Font có nút ñịnh dạng sau:

+ Font: kiểu chữ, phía kiểu chữ lựa chọn Với phông chữ tiếng Việt chuẩn Vietkey (phơng bắt đầu hai ký tự Vn) tận chữ H phơng chữ in

+ Font Style: dáng chữ, có dáng Regular, Bold, Italic, Bold Italic Chọn dáng quan sát khung Preview ñể xem hiệu

+ Size: kích thước chữ, chọn kích thước từ đến 72, ngầm định 12 + Underline: chữ có gạch chân

+ Color: chọn màu cho chữ

(56)

Strikethruogh: tạo nét gạch xuyên qua từ Supescript: ñưa chữ lên cao, tạo số mũ

Subscript: đưa chữ xuống dưới, tạo số

Hidden: cho ẩn chữ , muốn cho lại bấm tổ hợp phím Ctrl+Z Small Caps: Biến chữ hoa thành chữ thường

All Caps: Biến tất thành chữ hoa

+ Preview: quan sát hiệu ñịnh dạng

- Trong mục chọn Character Spacing có nút ñịnh dạng sau: + Spacing : cách thức chữ dịng, có khả lựa chọn:

Normal: bình thường

Expanded: ký tự viết dãn cách Condensed: ký tự viết sát vào

+ Position: vị trí ký tự dịng

Normal: bình thường Raised: đưa chữ lên cao Lowered: đưa chữ xuống thấp

Sau lựa chọn xong ñặc tính cần thiết cho chữ bấm chuột vào OK bấm phím Enter để quay hình soạn thảo văn

b) Sử dụng Format

Trong trường hợp cần định dạng kiểu chữ, kích thước chữ, dáng ñậm, nghiêng, gạch chân ta dùng nút định dạng Phương pháp tiến hành sau: bơi đen đoạn văn cần định dạng, sau muốn có chữ đậm việc bấm chuột vào nút , cần chữ nghiêng bấm nút , cần chữ gạch chân bấm nút , muốn ñưa ñoạn văn vào trang giấy bấm tiếp nút cịn muốn văn dãn hai bên mép giấy bấm nút

Lưu ý:

* Việc chọn màu cho ký tự trường hợp a có ý nghĩa quan sát hình, khơng thể in giấy (trừ trường hợp có máy in màu)

* Văn có hình văn in giấy không giống Muốn chắn văn in ta phải chọn chức quan sát toàn cảnh Print Preview tức là chọn nút Những quan sát qua Print Preview in giấy giữ nguyên 100%.

c) Sao chép ñịnh dạng

Sau ñã làm thủ tục định dạng đoạn văn ta chép ñịnh dạng sang ñoạn văn khác, thao tác sau:

- Bôi ñen ñoạn văn ñã ñịnh dạng

- Chọn nút Format Painter , di chuột vào phần hình chứa văn chuột có thêm chổi bên trái

- Bấm rê chuột đoạn văn cần định dạng sau bng tay ra, ñoạn văn ñược ñịnh dạng theo cách ñoạn ban ñầu

(57)

3.3 ðịnh dạng ñoạn văn

ðoạn văn (Paragraph) hiểu tồn từ nằm hai lần bấm phím Enter

Thao tác định dạng ñoạn văn làm trước sau viết văn Nếu ta ñã viết xong văn định dạng phải bấm Ctrl+A để bơi ñen toàn văn

Các bước tiến hành:

* Bơi đen văn số đoạn muốn ñịnh dạng

* Chọn nút Format - chọn tiếp Paragraph, hộp thoại Paragraph xuất ( Hình 8.4)

Hình 8.4 + Indents and Spacing: vị trí đoạn văn + Text Flow: liên kết ñoạn

Trong mục Indents and Spacing có thơng số lựa chọn sau: Left: Khoảng cách từ ñoạn văn ñến lề trái

Right: Khoảng cách từ ñoạn văn ñến lề phải Befor: ðoạn thời cách ñoạn After: ðoạn thời cách ñoạn Special: Special có hai chức

First line: Vị trí dịng viết lùi vào Hanging: Các dòng lại viết lùi vào

Line Spacing: Khoảng cách dòng, bao gồm khả Single: cách bình thường theo kích thước chuẩn

1.5 Line: dòng cách gấp rưỡi Double: dịng cách gấp đơi

At least Exactly: dòng cách theo lựa chọn người sử dụng Multiple: Cách gấp ( chữ thường bị dấu )

3.4 - ðịnh dạng trang giấy

(58)

Chọn chức File chọn tiếp Page Setup Hộp thoại Page Setup lên ( Hình 9.4) với khai báo:

Hình 9.4 Margins: lề trang giấy, Margins có:

Top: khoảng cách từ mép giấy phía đến vị trí dịng Bottom: khoảng cách từ mép giấy phía đến vị trí dòng cuối Left: lề bên trái

Right: lề bên phải

Gutter: khoảng cách cột trang giấy chia thành nhiều cột From Edge: khoảng cách tính từ mép giấy, bao gồm:

Header: khoảng cách từ mép giấy phía ñến vị trí viết tiêu ñề số trang Footer: khoảng cách từ mép giấy phía đến vị trí viết dịng thích đáy trang Paper Size : kích thước trang giấy

Trong mục chọn chọn cỡ giấy chuẩn : A4, A3, Letter tự định kích thước mục

Width: chiều rộng

Height: chiều cao trang giấy Orientation: ñịnh hướng in :

Portrait: in văn theo chiều dọc trang giấy Landscape: in văn theo chiều ngang trang giấy

Paper Source: Nguồn lắp giấy, thông thường nên chọn giấy rời lắp tay nghĩa chọn Manual Feed

4 - Kẻ bảng biểu

4.1 - Chèn bảng biểu vào văn

Có hai phương pháp ñưa vào văn bảng biểu, dùng chức Table thanh thực ñơn dùng nút Insert Table công cụ

(59)

Mục Number of Columns cho phép chọn số cột bảng biểu, bấm vào mũi tên phía bên phải số ngầm định (số 2) ñể tăng giảm số cột

Mục Number of Rows cho phép chọn số hàng bảng biểu, bấm vào mũi tên phía bên phải số ngầm ñịnh (số 2) ñể tăng giảm số hàng

Hình 10.4

Mục Fixed Columns Withs cho phép chọn ñộ rộng cột bảng biểu tính theo Inch cm, ñể ngầm ñịnh Auto MS-WORD tự ñộng chọn cột có độ rộng chiểu rộng trang giấy chia cho số cột ñã chọn

Mục AutoFormat dùng ñể chọn dạng bảng biểu ñã thiết kế sẵn Word MS-WORD 2000 ñã thiết kế 42 kiểu bảng biểu gọi 42 style Các style chủ yếu khác dòng tiều đề phía đỉnh bảng biểu Ví dụ bảng biểu hình 11.4 dạng chuẩn có tên Grid

Hình 11.4

Bảng biểu lựa chọn cửa sổ Insert Table lên vị trí trỏ thời văn bản, bảng biểu tượng trưng, in giấy khơng có đường kẻ Muốn đường kẻ ta phải bơi đen tồn bảng chọn chức Format - Borders and Shading Hộp thoại Table Borders and shading lên có phần sau:

Phần Bordrs (đường bao) có số lựa chọn: None: khơng tạo đường kẻ

Box: tạo ñường bao xung quanh bảng

(60)

ðể chọn nét vẽ ñó cho bảng, ta chọn nét trước mục Style, màu sắc nét vẽ chọn mục Color, ñộ dày mảnh nét vẽ chọn mục Width, sau ñã chọn xong bấm chuột vào nét vẽ tượng trưng mục Preview chọn OK

Page Border: Tạo ñường viền cho trang văn

Shading: chức shading dùng ñể tạo hoa văn cho vùng bơi đen bảng biểu, đồng thời với việc chọn hoa văn cịn chọn màu cho hoa văn song với máy in thông dụng ta in đen trắng.Trong cửa sổ Table Borders and shading ta thấy có nut Show Toolbar Nút dùng để lên cơng cụ Borders Sử dụng nút Borders ta tạo nên đường viền theo ý muốn

4.2 - Một số thao tác sửa chữa bảng biểu

Trong số trường hợp cần tạo nên bảng biểu phức tạp theo yêu cầu ví dụ chia số thành nhỏ nối thông số ô với Ta làm việc thơng qua chức có thực đơn Table

Hình 12.4 a bảng biểu ban đầu ðể có hình 12.4.b ta bơi đen hai sau chọn chức Table - Merge cells ðể có hình 12.4.c ta bơi đen 3,4,5, sau chọn Table - Split cells hộp thoại split cells xuất (Hình 13.4) Mục chọn Number of Columns cho phép chia bơi đen thành số tuỳ ý Bấm vào mũi tên lên xuống ñể chọn số mà ta định chia ra, cụ thể ñây chia

1

3

5

7

a b c Hình 12.4

Hình 13.4

Với hệ soạn thảo Word 2000 công cụ thấy nút vẽ bảng tên nút Tables and Borders

Bấm ñơn ñể chọn nút hình xuất cơng cụ vẽ bảng chuột có hình dạng bút chì, dùng bút chì vẽ khung ñồng thời vẽ thêm nét ngang dọc nghĩa thêm vào bảng cột hàng

Trường hợp vẽ sai bấm ñơn vào viên tẩy chuột biến thành viên tẩy Bấm rê chuột nét vẽ xố nét vẽ

(61)

Hình 14.4 4.3 - đánh số thứ tự cột

Giả sử cần ñánh số thứ tự từ đến 50 50 cột - Bơi đen số muốn đánh số thứ tự

- Chọn Format - chọn Bullets and Numering xuất cửa sổ hình 15.4

- Chọn Numbered cửa sổ, chọn tiếp dạng số mà ta muốn ñiền vào cột, ví dụ dạng ñầu bên phải số có dấu chấm ðể bỏ dấu chấm chọn Modify ta có cửa sổ hình 16.4

Hình 15.4

(62)

Dưới mục Text After máy ñể ngầm ñịnh dấu chấm, xố dấu chấm chọn OK

4.4 - Tạo bảng bút chì

Sử dụng nút Tables and Borders chọn Table - Draw Table thực đơn ta có cơng cụ vẽ bảng, hình 14.4

Lúc chuột biến thành bút chì, cách bấm rê chuột ta vẽ nên bảng tuỳ ý, nét vẽ sai dùng tẩy cơng cụ ñể tẩy nét vẽ ñi, cách thức tiến hành là:

Bấm ñơn chuột vào viên tẩy, chuột có hình dạng tẩy, bấm rê chuột nét vẽ sai buông tay nét vẽ biến

5 - thao tác thường gặp 5.1 - Viết chữ ñầu tiên

Chữ đoạn viết to chữ khác , chí viết hai, ba dịng

Ví dụ:

Bơng lau trắng rừng xanh

Mong manh trước gió , mong manh trước ñời Mùa ñổ, mùa mưa rơi

Phất phơ lau trắng ven đồi sương bng Các thao tác:

* ðặt trỏ hình vào ñầu dòng muốn ñiều chỉnh chữ

* Chon chức Format - Drop Cap hộp thoại xuất hình 17.4

Hình 17.4 Các khả lựa chọn:

None: Chữ viết bình thường , khơng viết to

Dropped: Viết chữ to nằm gọn khuôn khổ văn In Margin: chữ viết to năm lề văn

Font: Chọn phông chữ cho chữ viết to

Lines to Drop: Chữ viết dòng

Distance from Text: khoảng cách chữ văn 5.2 - Chia trang ñoạn văn thành nhiều cột

Chọn Format - Columns Hộp thoại xuất hình 18.4 mục chọn: One: Trang giấy có cột

Two: Trang giấy chia thành cột Three: Trang giấy chia thành cột

(63)

Hình 18.4

Right: Trang giấy chia thành cột , cột bên trái có kích thước lớn cột phải Numbers of Columns: Số lượng cột cần có

Width and Spacing:

Width: ðộ rộng cột Spacing: Khoảng cách cột

Cần ý sau chọn kích thước giấy lề trang giấy MS-WORD tự động xác định độ rộng cột tuỳ thuộc vào số lượng cột khoảng cách cột mà ta ñã chọn

5.3 - Tạo thuật ngữ viết tắt

Nhiều thuật ngữ ñặc biệt tiếng La tinh dùng y học tên riêng hay gặp soạn thảo viết tắt theo phương pháp:

Chọn Tools - AutoCorrect Hộp thoại AutoCorrect xuất hình 19.4 Giả sử muốn viết tắt dịng chữ " Cộng hồ xã hội chủ nghĩa Việt nam " cách bấm hai chữ

Dưới mục chọn Replace ta viết chữ "vn"

Dưới mục chọn With ta viết dòng chữ Cộng hoà xã hội chủ nghĩa Việt nam sau ñó bấm chuột vào nút Add chọn OK

Trong văn từ trở ñi ta gõ bấm phím khoảng cách tồn dịng chữ Cộng hoà xã hội chủ nghĩa Việt nam xuất thay cho chữ

(64)

Hình 19.4 5.4 - Tạo đoạn văn mẫu

Nếu hàng phải thương xun gửi cơng văn nơi phần tiêu đề cơng văn tạo sẵn lưu máy sau việc gọi ñiền nội dung vào

Giả sử cần tạo tiêu đề mẫu sau đây: Cộng hồ xã hội chủ nghĩa việt nam ðộc lập - Tự - Hạnh phúc

Công văn

Hà nội, ngày tháng năm 199 Các bước thực hiện:

* Viết ñoạn tiêu đề cơng văn * Trình bày kiểu chữ theo ý muốn * Bơi đen đoạn tiêu đề

* Chon Tools - Autocorect - AutoText

* Trong hộp thoại Autocorect (Hình 20.4) mục Enter Autotext entries here ta viết tên cho ñoạn văn Tên cần chọn cho ñễ nhớ ñược viết tiếng Việt khơng dấu Tiếp bấm đơn vào nút Add

Khi cần ñiền ñoạn tiêu ñề vào trang văn ta thực bước:

Chọn Insert - AutoText, tìm khung lựa chọn tên ñoạn văn cần thiết, bấm ñơn vào tên cho nằm xanh tiếp chọn tiếp nút Insert

(65)

Hình 20.4 5.5 - Viết số mũ số

* Viết số mũ: ví dụ x3

ðầu tiên viết chữ x sau bấm tổ hợp phím Ctrl+ Shift + =, trỏ lúc chuyển lên vị trí cao ñể ta gõ số 3, gõ lại lần nữ tổ hợp phím trỏ trở lại bình thường

* Viết số: ví dụ x1

Gõ chữ x sau bấm tổ hợp phím Ctrl + =, trỏ dịch xuống vị trí thấp ta bấm tiếp số bấm lại tổ hợp phím lần

5.6 - Chèn vào văn ký tự ñặc biệt

Chọn Insert - Symbol ta có bảng ký tự ñặc biệt, ký tự thường nhỏ khó nhận dạng, muốn nhìn rõ bấm đơn vào ký tự ñó Muốn chèn ký tự vào văn bấm kép vào ký tự bám vào nút Insert phía Xong việc bấm Close

6 - Tự động hố q trình soạn thảo 6.1 - Tạo dịng Tab

Khi bấm phím Tab bàn phím trỏ tự động dịch chuyển đoạn, Word ngầm ñịnh ñoạn 1,27 Cm (1/2 Inch) Khi dịch chuyển trỏ để lại dòng dấu chấm, nét gạch ngang Giả sử ta cần tạo dòng văn sau:

Họ Tên: Ngày sinh: Dân tộc: … cm cm cm

(66)

Chọn Format - Tab ta có cửa sổ (Hình 21.4)

Hình 21.4

Tab Stop Psition : gõ Alignment : chọn Left Leader : chọn None Chọn Set

Tiếp lặp lại thao tác Tab Stop Psition : gõ Alignment : chọn Left Leader : chọn số Chọn Set

Tab Stop Psition : gõ Alignment : chọn Left Leader : chọn số Chọn Set

Tab Stop Psition : gõ Alignment : chọn Left Leader : chọn số Chọn Set

Chon OK để trở sổ soạn thảo, dòng thước kẻ (Rule) xuất số ký hiệu thể vị trí Tab

Dịng Tab vừa tạo có tác dụng ta tạo dòng Tab 6.2 - Tạo STYLE

Style ñược hiểu tập hợp thao tác ñịnh dạng cho ñoạn văn người sử dụng lựa chọn, chúng ñược lưu trữ tên gọi sử dụng lúc Khi Style gọi tồn phần văn viết sau định dạng theo Style Phần ñịnh dạng ñưa vào Style kiểu chữ, dạng chữ, kích thước, màu sắc chữ, khoảng cách dòng, giũa cột , ñoạn

Giả sử cần tạo Style có tên St1, St2, St3 Trong St1 ñưa vào ñịnh dạng:

(67)

Kiểu chữ: Vnaritote , kích thước: 16, màu xanh Trong St1 ñưa vào ñịnh dạng:

Kiểu chữ: VnGothich , kích thước: 16, màu tím, chữ nghiêng ñậm a) Tạo Style

Chọn Format - Style xuất cửa sổ (Hình 22.4)

Chọn tiếp New muốn tạo Style mới, sửa Style cũ chọn Modyfi, giả sử ta chon New, xuất cửa sổ hình 23.4

Dưới mục Name ( tên Style ) ta gõ St1 Mục Style Type có hai lựa chọn:

Character ñể ñịnh dạng chữ, Paagraph ñể ñịnh dạng ñoạn văn bản, ngầm ñịnh Paragraph

Giả sử ta chọn Paragraph, sau chọn nút Format xuất hộp thoại bao gồm: Font: ñịnh dạng chữ

Paragraph: ñịnh dạng ñoạn

Tabs: định dạng bước nhảy bấm phím Tab Border: ñịnh dạng ñường bao ( bảng biểu) Language: chọn ngơn ngữ

Frame: định dạng khung Numbering: ñịnh dạng kiểu số

Hình 22.4

Chọn chức hộp thoại ví dụ chọn Font ta quay cửa sổ quen thuộc ñể làm thao tác ñịnh dạng, cụ thể ta chọn: Kiểu chữ: VnTimeH, kích thước:14, màu đỏ, chữ nghiêng

Sau ñã lựa chọn xong chọn OK ñể quay bước trước đó, cuối chọn Close để trở hình văn thời Nếu muốn ứng dụng Style vừa tạo chọn Apply

Tên Style vừa tạo ñược ñể ñịnh dạng Nếu muốn ứng dụng Style ta việc kích chuột vào mũi tên bên phải nút Style tên Style lên hộp lựa chọn

(68)

Hình 23.4 6.3 - Tạo Macro

Macro tạm hiểu vĩ lệnh, giống máy ghi, ghi lại tồn thao tác mà người sử dụng ñã tiến hành Khi gọi tên Macro thao tác ñược lặp lại từ ñầu cho ñến thao tác cuối

Macro lưu trữ cơng cụ, bàn phím (với phiên trước window2000 để Macrro Menu.)

a) Tạo Macro ToolsBar Các bước tiến hành:

- Chọn Tools

- Chọn Macro - Record new macro, xuất cửa sổ (Hình 24.4 ) - Trong mục Macro Name ta ghi tên ví dụ M1

- Trong mục Assign Macro to (ñặt macro vào) chọn Toolbars có cửa sổ tiếp theo, cách chọn có nghĩa Macro lưu thành nút cơng cụ, chọn KeyBoard Macro lưu bàn phím

- Dưới mục Commands bấm di dịng chữ Normal.NewMacros.Macro1 lên cơng cụ tạo nên nút mới, bên nút chưa có biểu tượng mà có dịng chữ ñã nói ðể thu bé biểu tượng chọn tiếp Modify Selection xuất cửa sổ hình 25.4

Bên phải mục Name hộp thoại xoá bớt số ký tự có điền vào tên mà ta lựa chọn Cần lưu ý khơng thể xố bỏ tất ký tự mà phải ñiền vào ký tự

(69)

Hình 24.4

Hình 25.4

Chọn Close để quay cửa sổ soạn thảo, lúc hình xuất công cụ gồm hai nút:

Stop: dùng ñể dừng Macro

Pause: dùng ñể tạm ngừng ghi Macro

Con trỏ chuột hình xuất thêm biểu tượng giống băng cát xet Kể từ thời ñiểm thao tác bàn phím ghi lại gửi vào biểu tượng vừa tạo công cụ

(70)

Chú ý :

* Khi thực thao tác tạo Macro, ta bôi ñen văn thiết bị chuột mà phải dùng phím Shift mũi tên dịch chuyển

* ðể gọi Macro ta việc bấm vào biểu tượng ñã tạo công cụ

* ðể xố Macro có cơng cụ ta ñè phím Alt ñồng thời bấm rê kéo biểu tượng Macro vào vùng soạn thảo, biểu tượng biến

* ðể xoá tên Macro chọn: Tools - Macro - chọn tên Macro chọn Delete b) Tạo Macro bàn phím (KeyBoard)

Các bước tiến hành: - Lặp lại bước 1a - 1c

- Chọn KeyBoard xuất cửa sổ (Hình 27.4)

Trong mục chọn Press New Shortcut Key ta bấm tổ hợp phím ví dụ Ctrl - Alt - A, - Chọn Assign, tổ hợp phím ñược ghi vào vùng Current Key

- Chọn Close ñể trở hình soạn thảo Các thao tác lặp lại mục

(71)

Hình 27.4 c) Gọi Macro

ðể gọi Macro tiến hành thao tác sau: * ðặt trỏ đầu dịng trống

* Chọn Tools - Macro - Macro xuất cửa sổ * Chọn tên Macro danh mục sau chọn Run 7 - ðồ hoạ

7.1 - Các thao tác vẽ

ðồ hoạ phần công cụ phụ trợ Winword, ñây bao gồm chức bản, muốn sử dụng cơng cụ đa ta dùng PowerPoint ứng dụng ñộc lập với Winword ñược cài ñặt Windows

Chọn nút Drawing công cụ ta có thêm cơng cụ mới, thường bố trí đáy hình (Hình 28.4) Nếu máy cài ñặt Office 97 office 4.3 cơng cụ vẽ khác đơi chút phiên cũ

Hình 28.4

Thanh cơng cụ đồ hoạ bao gồm nút có tên sau ( theo thứ tự từ trái sang phải ): Draw : Kẻ lưới, quay hình, chọn thứ tự hình …

Select Object : Chọn ñối tượng vẽ Free Rotace : Quay hình tự

AutoShapes : Chọn hình mẫu có sẵn Line : Vẽ ñường thẳng Arrow : Vẽ mũi tên

(72)

Fill Color : Chọn màu cho hình khép kín Line Color : Chọn màu nét vẽ

Line Style : Chọn dạng nét vẽ Font Color : Chọn màu cho chữ Dash Style : chọn kiểu nét vẽ Arow Style : Chọn kiểu mũi tên Shadow : Chọn hình có bóng

3-D : Chọn hình khơng gian chiều

Trong mục chọn Draw tìm ñược chức sau (có thể vài chức bị xố):

Bring to Front : Chuyển hình vẽ lên phía Send to Back : Chuyển hình vẽ xuống Bring in Front of Text : ðưa hình che lên văn

Send Behind Text : Cho văn lên hình Group : Gộp số hình thành nhóm

Ungroup : Tách nhóm hình thành phần riêng rẽ Flip Horiontal : Chuyển hình bên trái sang bên phải

Flip Vertical : Chuyển hình phía xuống phía Rotate Right : Quay hình 90o theo chiều kim đồng hồ Reshape : Sửa bẻ gãy nét vẽ tự (Freedom) Snap to Grid : Kẻ lưới ñối tượng vẽ

Align Drawing Objects : Canh lề hình vẽ ( dóng thẳng lề theo hình ) Create Picture : Tạo ( sửa chữa vẽ có)

Insert Frame : Chèn thêm khung (chứa văn vào vẽ) - Chọn năm dạng nét vẽ ( Line, Rectangle, Ellipse ) cách bấm đơn vào biểu tượng nét vẽ đó, chuyển chuột vào vùng soạn thảo, chuột biến thành hình dấu "+"

- Bấm di chuột để tạo hình có kích thước mong muốn

- đánh dấu hình: đưa chuột ựến gần hình chuột xuất hiên thêm biểu tượng hai mũi tên vng góc Bấm ựơn ựể ựánh dấu hình (xuất khối vng ựen bao quanh hình)

- Tơ màu:

* Nếu nét vẽ khơng khép kín tơ màu nét vẽ, chọn Line Color - chọn màu

* Nếu nét vẽ khép kín ( hình vng , trịn, tam giác ) việc chọn màu nét vẽ mục 3, ñể chọn màu chọn Fill Color - chọn màu

- Chọn dạng nét vẽ: đánh dấu hình chọn nút Line Style - sau ựó chọn nét thắch hợp

- Muốn đưa dịng thích mũi tên vào vị trí đó: + Chọn AutoShapes

+ Chọn Callout

+ ðặt chuột ( dấu "+") vào vị trí cần mũi tên

+ Bấm di chuột tạo hình để ghi thích bên

Một số điều cần lưu ý:

* Chọn nhiều hình lúc

đè phắm Shift ựánh dấu hình * Chuyển vị trắ hình

Khi vẽ hình, hình vẽ sau che lên hình vẽ trước Muốn thấy hình vẽ trước ta thực hiện:

(73)

- Chọn Draw - Order - Chọn nút Send to Back

Ngược lại hình vẽ sau đưa lên trước cách đánh dấu hình chọn nút Bring to Front

* Nếu có hai hình nằm theo hàng ngang hai hình đánh dấu ta có thể: quay hình ñi 90o ( nút Rotate Right), chuyển hình trái sang phải (Flip Horizontal)

* Nếu có hai hình nằm theo hàng dọc hai hình đánh dấu ta có thể: quay hình 90o ( nút Rotate Right), chuyển hình xuống (Flip Vertical)

* Viết chữ hình:

- Chọn nút Text Box vẽ hình khung, khung có trỏ để viết văn

- Nếu khơng có Text Box ta viết trực tiếp hình, chữ viết khơng nhình thấy nằm bên hình, muốn chữ lên:

- đánh dấu hình

- Chọn nút: Send Behind text

Chú ý: ðể đưa trỏ vào hình vẽ, trước vẽ cần đưa trỏ xuống đáy hình Việc dịch chuyển trỏ sang ngang phải dùng phím Space (phím khoảng cách)

* Dóng vị trí ( canh lề) hình:

-Vẽ hai hình vị trí hình, - đánh dấu hai hình

- chọn Align Drawing Objects, xuất cửa sổ (Hình 29.4)

Hình 29.4 Horizontal: (theo chiều ngang) None : Không canh lề

Left : Dóng thẳng theo cạnh trái hình Center : ðặt hình vào theo chiều ngang Right : Dóng thằng theo cạnh phải hình Vertical: (theo chiều dọc)

(74)

Bẻ gẫy nét vẽ:

Chọn AutoShapes - Lines - freedom vẽ nét bao gồm số ñoạn thẳng ñoạn cong (Hình 30.4), đánh dấu nét vẽ

*Chọn Draw - Edit Poitns nét vẽ ñược ñánh dấu ñiểm giao (Hình 31.4)

Hình 30.4

Hình 31.4

Trên nét vẽ đoạn thẳng đánh dấu hai đầu, cịn ñoạn cong ñược ñánh dấu liên tục ký hiệu ñánh dấu ðưa chuột vào ký hiệu ñánh dấu bấm rê chuột ta uốn ñược nét vẽ theo ý muốn Nếu muốn bẻ gãy nét vẽ vị trí đoạn thẳng ( khơng có ký hiệu đánh dấu) ta làm sau:

- ðưa chuột ñến vị trí cần bẻ gãy

- Bấm rê chuột, nét vẽ bị bẻ tạo cho ta vị trí gãy cánh 7.2 - Chữ nghệ thuật

Chữ nghệ thuật ñược hiểu kiểu chữ phi tiêu chuẩn ñã ñược thiết kế sẵn Word Chữ nghệ thuật ñược sử dụng ñể viết hiệu, trang trí hình vẽ v.v Thao tác viết chữ nghệ thuật ñược thực qua bước sau:

Bấm ñơn vào nút ñồ hoạ Drawing cơng cụ để xuất cơng cụ đồ hoạ Bấm đơn vào nút Insert WordArt xuất cửa sổ WordArt Gallery (Hình 32.4) Chọn kiểu chữ nghệ thuật mà bạn muốn bấm OK xuất cửa sổ Edit WordArt Text (Hình 33.4)

(75)

Hình 32.4

Hình 33.4

Trong mục Size chọn kích thước chữ, ngồi bạn chọn kiểu chữ đậm (B), nghiêng (I)

Xố dịng chữ Your Text Here gõ dịng chữ cần trình bày ví dụ : Chúc mừng sinh nhật

Chọn OK

(76)

Hình 34.4 Các nút cơng cụ là:

* Insert WordArt: chọn kiểu chữ * Edit Text: sửa lại chữ cũ

* WordArt Gallery: thư viện kiểu chữ nghệ thuật * Format WordArt: ðịnh dạng nét màu chữ * WordArt Shape: thay đổi kiểu trình bày * Free Rotate: quay tự

* Text Wrapping: cách thức chữ hình

* WordArt Same letter Hights: biến chữ hoa thành chữ thường ngược lại * WordArt Vertical text: chuyển chữ nằm ngang thành thẳng ñứng ngược lại * WordArt Agliment: canh lề chữ

* WordArt Character Spacing: chọn chữ gầy hay béo

Hình 35.4 cho ta dạng chữ nghệ thuật, muốn có chữ kiểu dấu, ta phải gõ vào vùng your text here ba dịng khác Ví dụ:

Trên dịng Trường ðại học Quốc gia Tiếp dịng Bộ mơn Tin học

Dưới dòng Khoa Sư phạm kỹ thuật

Hình 35.4 Chú ý:

* Việc chọn Font chữ chọn màu thực cửa sổ Word Art mà chọn theo cách thông thường

* Muốn sửa lại WordArt có, bấm kép vào vùng chữ ñược tạo ta trở lại cửa sổ WordArt

(77)

8 - Trộn tài liệu tạo thành văn Nội dung:

Trộn liệu bảng biểu có sẵn ( ñã lưu ñĩa cứng với tên ñó ) với văn mẫu ñể tạo thành văn Ví dụ có sẵn mẫu giấy mời danh sách khách mời ta trộn chúng với để có tập giấy mời hoàn chỉnh

Các bước tiến hành:

* Tạo sẵn mẫu giấy mời ghi vào ñĩa với tên GM * Tạo bảng biểu chứa danh sách người mời * Trộn lẫn hai văn thành giấy mời hoàn chỉnh 8.1 - Tạo mẫu giấy mời

cộng hoà xã hội chủ nghĩa việt nam ñộc lập tự hạnh phúc

- Giấy mời

Trân trọng kính mời Ơng/Bà: ðến dự :

Thời gian : ðịa ñiểm :

Rất hân hạnh ñược ñón tiếp Ngày tháng năm 1996

* Ghi giấy mời vào ñĩa với tên GM 8.2 - Tạo danh sách khách mời

* Chọn nút NEW ñể mở sổ che lên cửa sổ chứa giấy mời

* tạo bảng chứa danh sách khách mời, ví dụ bảng có bảng cột dịng theo mẫu ñây

Hoten noidung thoigian diadiem

Nguyễn Văn Tâm Dự họp tổng kết 8h30 Hội trường 204 Trần Thanh Bình Dự liên hoan chia tay 11h30 Nhà hàng Hương sen Cao Thị Vân Học nghị 7h30 Phòng 12 - A1 đào Hoàng Lâm Họp thi ựua 7h30 Phòng hội thảo

Phạm Minh Hồng Dự cưới 10h30 Nhà riêng

Lưu ý:

Dịng bảng biểu Tiêu đề khơng viết tiếng việt có dấu, khơng viết chữ cách - Khơng trang trí đường viền bảng biểu

* Ghi bảng biểu vào với tên DS (danh sách)

* Chọn FILE - CLOSE ñóng cửa sổ bảng biểu lại, lúc cửa sổ chứa giấy mời lại

(78)

* Chọn tiếp GET DATA - OPEN DATA SOURSE Khi ñó lên tên tệp lưu ñĩa cứng máy, chọn tên tệp DS OK

* Trên hình xuất thêm cơng cụ ( Hình 36.4)

Hình 36.4

ta quan tâm ñến hai nút nút ñầu tiên bên trái (Insert Merge field) nút thứ tính từ phải qua trái (Merge to New document)

* ðưa chuột đến sau dấu hai chấm dịng Trân trọng sau chọn Insert Merge field, xuất khung nhỏ chứa tiêu ñề cột bảng biểu - nháy chuột vào Hoten Lúc bên cạnh dấu hai chấm xuất nhóm ký tự lạ

* Tiếp tục thao tác với dòng Thời gian, ðịa ñiểm

* Cuối nháy chuột vào nút Merge to New document ta có số giấy mời cần thiết

* Ghi văn vào đĩa đóng cửa sổ lại khơng ghi Chú ý:

Nếu muốn trình bày kiểu chữ cho văn trộn ta việc bơi đen cụm ký tự vừa điền vào giấy mời sau chọ Format - Font làm thao tác ñã trình bày phần đầu

Sau trộn giấy mời nằm trang giấy Muốn ghép số giấy mời vào trang ta cần ñể trỏ giấy mời ( cách , hai dịng ) sau bấm hai lần phím Delete , giấy mời phía kéo lên trang thời

9 - Các thao tác hỗ trợ

9.1 - Khôi phục công cụ

(79)

Vị trí bấm di chuột

Hình 37.4

ðể đưa ñịnh dạng xuống ta việc ñưa chuột vào vị trí trống nút nhóm nút sau đè phím trái chuột, lúc đường viền biến thành nét ñứt Bấm di xuống phía Khi định dạng nằm trùng lên cơng cụ bng nút trái chuột

9.2 - Hiện giấu công cụ

Ngầm định hình có cơng cụ Standard Formating tức cơng cụ chuẩn định dạng Một số nút Standard nút Drawing (ñồ hoạ), nút Table and Border (vẽ bảng) chọn lại cho lên công cụ tương ứng Việc cho giấu cơng cụ thực theo bước sau ñây: - Khi nút ứng với có màu trắng (nghĩa chọn) cơng cụ tương ứng xuất hình Bấm đơn vào nút công cụ tương ứng biến nút trở thành màu xám Bấm tiếp vào nút công cụ lại

- Nếu hình khơng có cơng cụ nào, thiếu cơng cụ cần thiết, đưa chuột vào vị trí thực đơn, bấm phím phải chuột xuất hộp thoại (Hình 38.4)

(80)

Bấm đơn vào tên cơng cụ muốn chọn xuất hình, thao tác tương tự với khác

Chú ý:

- Nếu phía bên trái tên cơng cụ có ký hiệu đánh dấu (Hình 39.4 ) mà hình khơng thấy cơng cụ cần tìm xem nằm hình, có nhìn thấy phần nhỏ cơng cụ, phần cịn lại nằm khuất ngồi phạm vi hình Chỉ cần đưa chuột vào phần nhỏ bấm rê vào hình

- Khơng nên cho lên q nhiều cơng cụ hình khơng cịn khơng gian để làm việc Khi dùng xong công cụ không cần thiết nên cất

9.3 - Thêm bớt chức công cụ

Mỗi cơng cụ Word có số biểu tượng (nút) thể số chức năng, tuỳ ý thêm bớt chức vào chuyển nút từ sang khác

a) Xoá chuyển vị trí nút

đè phắm Alt bàn phắm sau ựó bấm rê nút muốn xố vào vùng soạn thảo, bng hai tay nút bị xố

Nếu lơi nút đến cơng cụ khác bng tay nút nằm thanh cơng cụ

b) Thêm nút vào công cụ

Giả sử bạn ln phải định dạng chữ, thêm vào Standard nút thể Font chữ hay dùng Cách thức tiến hành sau:

Chọn Tools - Customize (hoặc đưa chuột lên cơng cụ bấm phím phải sau chọn Customize) xuất cửa sổ

Trong cửa sổ Customize chọn chức Command, kéo phía để tìm chức Fonts bấm đơn vào phía bên phải xuất tồn font chữ có Word Bấm rê font lên cơng cụ, tiếp bấm vào Modify Selection ñể thay ñổi chữ nút chọn biểu tượng cho nút (xem lại phần Macro)

Khi nút thể font chữ có cơng cụ việc định dạng chữ trở nên đơn giản, cần bơi đen chữ bấm vào nút font có

c) Hồi phục trạng thái ngầm định cơng cụ

đơi tị mị hay vơ tình bạn phá hỏng cơng cụ, ựể khơi phục lại dạng ngầm ựịnh ựó làm sau:

(81)

Hình 40.4

Chọn chức Toolbars tên cơng cụ xuất phía Bấm đơn vào dịng chữ tên cơng cụ để nằm màu xanh (Nhớ không bấm vào hình vng bên trái) sau bấm đơn vào nút Reset phía bên phải cửa sổ, lúc xuất cửa sổ nhỏ Trong cửa sổ Reset Toolbars chọn OK, cơng cụ chọn khơi phục lại nguyên dạng ngầm ñịnh mà Word ñã thiết kế

9.4 - Bảo mật văn

Những văn quan trọng khơng thể người khác tự ñộng mở cần ñược bảo vệ mật Bảo mật văn có hai cấp:

* Cho phép đọc khơng sửa chữa * Khơng cho phép đọc

Thao tác tiến hành:

(82)

Hình 41.4

- Trong cửa sổ Save As chọn Tools - chọn tiếp General Options, xuất cửa sổ hình 42.4

Mục Password to Open: Mật cho phép mở văn bản, tuỳ chọn mật Nên chọn khoảng 5-6 ký tự cần lưu mật vào sổ để đề phịng sau thời gian bị quên Với mật mở văn xem thêm bớt vào văn

Mục Password to Modify: Mật cho phép sửa chữa văn bản, chọn mật giống Mục Password to Open chọn khác ñi Chọn xong bấm OK máy xuất cửa sổ yêu cầu nhắc lại mật lần Gõ lại ñúng mật ñã chọn Bấm OK thoát

(83)(84)

Bài tập Chương IV Bài 1: Soạn thảo văn kẻ bảng ñây:

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM ðộc lập - Tự - Hạnh phúc

GIẤY CAM ðOAN BẢO VỆ MÔI TRƯỜNG ðIỆN NƯỚC

Kính gửi :

Tên là : Công tác : Nơi :

Tơi làm giấy xin cam đoan trình cải tạo, nâng cấp hộ gia đình, khơng làm điều ảnh hưởng tới hệ thống ñiện, nước chung khu vực

Tơi xin cam đoan đảm bảo vệ sinh mơi trường, khơng để vật liệu ảnh hưởng đến đường quang cảnh chung khu Trong trình xây dựng khơng làm ảnh hưởng đến móng, tườmg nhà hộ bên cạnh, xảy điều tơi hồn tồn chịu trách nhiệm

Hà nội, ngày tháng năm

Người viết ñơn

BẢNG ðIỂM THI HỌC KỲ II NĂM HỌC 2003 - 2004

Lớp 12 B trường PTTH Trần Hưng ðạo

Stt Họ tên Ngày sinh ðiểm thi Hạnh kiểm

ðiểm Tin ðiểm Toán ðiểm Lý

1 Lê Thu An 20-10-83 5 Tốt

2 Trần Thi Hà 15-01-82 Tốt

3 ðỗ Văn Minh 22-11-84 Tốt

4 Ngô Thị Thái 18-03-83 Khá

(85)

Bài 2: Soạn thảo văn kẻ bảng ñây:

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

ðộc lập - Tự - Hạnh phúc - o O o -

ðỀ CƯƠNG NGHIÊM CỨU KHOA HỌC CẤP TRƯỜNG

Tên ñề tài : Một số chương trình quản lý hệ thống thơng tin ñất

Chủ nhiệm ñề tài:

Những người tham gia:

1- Mục đích:

Xây dựng chương trình để quản lý thơng tin đất cách tự động nhiệm vụ

quan trọng kỹ sư ngành Quản lý ñất ñai thời kỳ nay ðối với sinh viên

ngành Quản lý ñất ñai nắm ñược cách tổ chức sở liệu cách tổ chức chương trình thơng tin đất có hệ thống việc làm vơ cần thiết ðiều củng cố kiến thức Tin học Chun mơn, gắn chặt lý thuyết học với yêu cầu thực tế lĩnh vực chuyên môn

Xây dựng chương trình quản lý hệ thống thơng tin đất đáp ứng u cầu địi hỏi thực tế chun ngành Quản lý ñất ñai

Xuất phát từ vấn đề chúng tơi tiến hành ñề tài : “ Một số chương trình quản lý

hệ thống thơng tin đất “

BẢNG DANH SÁCH LÊN LƯƠNG NĂM 2000 Trường ðại học Nông nghiệp I – Hà nội

STT HỌ VÀ TÊN ðƠN VỊ BẬC LƯƠNG GHI CHÚ

Mới

1 Trần Ngọc Anh Phòng HC 3.37 3.62

2 Lê Văn Khanh Phòng ðT 2.95 3.37

3 Bùi Ngọc Bình Phịng ðT 4.12 4.42 Phó phịng

4 Ngơ Bình Minh Phịng QT 5.05 5.37 Trưởng phòng

(86)

Bài 3: Soạn thảo văn kẻ bảng ñây:

TRƯỜNG ðẠI HỌC NÔNG NGHIỆP I HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Phòng HCKH-VT ðộc lập - Tự - Hạnh phúc Số : /CV-HC

V/v làm danh bạ ñiện thoại

Hà nội, ngày 25 tháng 11 năm 2000

Kính gửi : Các đơn vị toàn trường

Trong hai năm qua danh bạ điện thoại trường góp phần không nhỏ vào phát triển thông tin liên lạc Nhà trường Hiện danh bạ khơng cung cấp ñầy ñủ số máy cá nhân tập thể trường

Vì vậy, phịng HCKH-VT phát hành "Danh bạ ñiện thoại Trường ðại

học Nông nghiệp I - năm 2001" ðể cơng việc hồn thành trước tết dương lịch, kính ñề nghị

các cá nhân, tập thể cung cấp ñầy ñủ xác số ñiện thoại cho phịng HCKH-VT trước ngày 05/12/1999

Chúng tơi mong nhận ñược cộng tác chặt chẽ ñơn vị cá nhân toàn trường

Xin trân trọng cảm ơn

Trường phịng

Hành Chính kế hoạch - Vật tư

BẢNG THỐNG KÊ THUÊ NĂM 2000

STT Tên hợp tác xã Quí Quí

(87)

Bài 4: Soạn thảo văn kẻ bảng ñây:

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM ðộc lập - Tự - Hạnh phúc

ðƠN XIN HỢP ðỒNG

Kính gửi :

Tên là: Ngày sinh: Chỗ nay: Trình độ văn hố:

Hiện Bộ môn thiếu cán kỹ thuật nên đề nghị khoa phịng Tổ chức cán cho tơi ký hợp đồng làm việc mơn từ 1-1-2000 đến 1-1-2001

Nếu thu nhận tơi xin cam đoan tuyệt đối chấp hành nội qui học tập lao ñộng Tuyệt đối phục tùng phân cơng học tập, bố trí tổ chức đơn vị sử dụng Nếu vi phạm nội qui, kỷ luật tự ý thôi, bỏ học, bỏ việc phải bồi thường hồn tồn học phí, tổn thất ñã gây theo quy ñịnh Nhà nước nhà trường đơn vị cơng tác

Kính mong cấp giải

Hà Nội, ngày tháng năm

Người làm đơn

Thời khố biểu năm học 2000-2001

THỨ THỨ THỨ THỨ THỨ

Sáng Chiều Sáng Chiều Sáng Chiều Sáng Chiều Sáng Chiều

Toán Anh Triết Sinh Tin Anh Triết Luật Toán Anh

Toán Anh Triết Sinh Tin Anh Triết Luật Toán Anh

Toán Anh Triết Sinh Tin Anh Triết Luật Toán Anh

Tin Luật Toán Sinh Tin

Tin Luật Toán Sinh Tin

(88)

Bài 5: Soạn thảo văn kẻ bảng đây:

ðỀ THI CHẤT LƯỢNG MƠN TOÁN

(Thời gian 90 phút)

Câu 1: Cho hàm số : y = x3 + 3x2 + (m+1)x + 4m (1)

1/ Khảo sát vẽ ñồ thị (1) m =-1

2/ Với giá trị m hàm (1) ñồng biến khoảng ( -1, )

Câu 2: Trong mặt phẳng toạ ñộ Oxy cho ñiểm F1(-3,0); F2(3,0)

1/ Viết phương trình tắc elíp nhận F1; F2 tiêu điểm trục lớn có độ

dài 10

2/ Tìm elíp nói điểm M(xo,yo) cho khoảng cách từ tới đường thẳng cho phương trình : x + y = nhỏ

Hà nội, ngày 20 tháng năm 2000

Chủ tịch hội ñồng thi

BẢNG THỐNG KÊ HÀNG NHẬP

Kho A Kho B

Số tt Tên hàng

Ngày nhập Số lượng ðơn giá Ngày nhập Số lượng ðơn giá

1 Vải hoa 1/1/98 100 10000 12/1/98 200 10000

2 Vải lụa 1/1/98 200 15000 11/1/98 300 14000

3 Khăn 2/1/98 50 7000 21/1/98 150 8000

4 Bột giặt 3/1/98 100 6500 30/1/98 400 6000

(89)

CHƯƠNG V: INTERNET VÀ CÁCH SỬ DỤNG INTERNET

Internet mạng thơng tin tồn cầu, đóng vai trò quan trọng lĩnh vực xã hội Hiện Internet ñược sử dụng rộng rãi giới nước ta Mọi người cần phải hiểu biết sử dụng Internet ñể phục vụ cho chun mơn

Chương cung cấp kiến thức mạng Internet thư ñiện tử Nội dung bao gồm vấn ñề : Thế mạng Internet, Internet có chức nào, cài đặt Internet, trình duyệt Internet Explorer, E-mail mơ hình hoạt động E-mail, cách tạo gửi nhận thư với Yahoo với Outlook Express

1 - Giới thiệu chung 1.1 - Mạng máy tính

* Mạng máy tính: nhóm máy tính nối kết với theo cách Về nhận thức, giống kiểu mạng truyền hình radio nối kết nhóm trạm truyền hình radio lại với cho chúng chia sẻ chương trình Các mạng truyền hình gửi thơng tin tương tự ñến trạm vào lúc, mạng máy tính, thơng điệp thường dẫn đến máy tính cụ thể Khác với mạng truyền hình, mạng máy tính ln hai chiều cho máy tính A gửi thơng điệp tới máy tính B B trả lời lại cho A

Một số mạng máy tính bao gồm máy tính trung tâm nhóm trạm từ xa báo cáo máy tính trung tâm, ví dụ máy tính dịch vụ giữ chỗ hàng khơng trung tâm có hàng ngàn kênh sân bay ñại lý du lịch

* Mạng Internet: Là mạng máy tính tồn cầu, xác mạng mạng ðể máy tính nối lại giao tiếp với nhau, người ta dùng thiết bị gọi modem Modem chương trình ứng dụng dùng để chuyển đổi từ tín hiệu tương tự

(analog) ñường dây ñiện thoại máy tính thành tín hiệu số (digital) để đưa vào máy tính Ngược lại, modem cịn chuyển tín hiệu số máy tính thành tín hiệu tương tự để truyền dẫn ñường dây ñiện thoại Như vậy, máy tính muốn kết nối truy nhập thơng tin phải có modem nối vào cổng máy tính Về vị trí lắp đặt , chia modem thành hai loại: loại lắp máy tính (internal) lắp ngồi máy tính (external)

* Xuất xứ Internet

Tổ tiên Internet ARPANET, dự án Quốc phòng Hoa ki khởi ñầu năm 1969 vừa thực nghiệm việc kết mạng cách ñáng tin cậy, vừa kết nối Quốc phòng nhà thầu nghiên cứu khoa học quân lại với nhau, bao gồm số lớn trường ñại học tiến hành nghiên cứu quân ñược tài trợ (ARPA viết tắt chữ Advanced Research Projects Agency: Cơ quan Các Dự án Nghiên cứu Cao cấp, phận thuộc Quốc phòng phụ trách việc cấp phát tài trợ

(90)

người sử dụng khu vực với NSFNET nối mạng khu vực NSFNET hoạt ủộng hiệu quả, từ năm 1990 hầu hết mạng kết nối vào NSFNET, NSF ủó ủược xỏc lập vững trờn Internet

Các mạng độc lập liờn kết với nhờ vào chương trỡnh kỹ thuật ủược gọi IP (Internet Protocol: Giao thức Internet) NSFNET cho phộp lưu thụng liờn quan ủến nghiờn cứu giỏo dục, ủú dịch vụ mạng IP ủộc lập cho phộp lưu thụng ủược dẫn từ mạng sang mạng khỏc cần Mọi mạng nối IP ủều sử dụng IP ủể giao tiếp nờn chỳng ủều cú thể trao ủổi cỏc thụng ủiệp với

Các mạng thương mại nối với mạng khu vực theo cách tương tự kết nối NSFNET cung ứng kết nối trực tiếp ñến khách hàng

Bên Hoa Kỳ, mạng IP xuất nhiều nước, cơng ty điện thoại địa phương tài trợ nhà cung ứng quốc gia khu vực ñộc lập Hầu hết số họ ñều ñược kết nối trực tiếp gián tiếp với mạng Hoa Kỳ, có nghĩa tất trao đổi lưu thơng với

* Mạng Internet có chức sau đây:

- Th ủin t: éõy chc chn dịch vụ ñược sử dụng rộng rãi - bạn trao đổi thư điện tử với hàng triệu người khắp giới Các danh sách thư ñiện tử cho phép bạn tham gia vào thảo luận nhóm gặp người khác Net Các mail server (những chương trình đáp lại thơng điệp thư điện tử) cho phép bạn truy tìm loại thơng tin

- Truy tìm thơng tin: Internet giúp bạn tìm kiếm thơng tin mạng Nhiều máy tính có file chứa thơng tin cho phép lấy miễn phí Các file bao gồm file văn bản, file hình ảnh số hóa số lượng lớn phần mềm từ trò chơi hệ thống điều hành Hàng núi thơng tin sẵn có Internet bạn mục mục "Navigate" (Tìm đường) đến phần giúp bạn lưu thơng mạng

- Bảng thơng báo điện tử (Bulletin Board): Một hệ thống tên USENET bảng thơng báo điện tử vĩ đại với 40 triệu ký tự thơng điệp bao gồm 2.000 nhóm chủ đề khác tiếp nối hàng ngày Các chủ ñề bao gồm từ vấn ñề máy tính hóc búa trị giải trí ñua xe ñạp, từ ý kiến tranh luận trị khơng kết thúc vấn đề b×nh thường Nhóm USENET đọc rộng rãi mẩu chuyện vui ñược chọn lọc, số chuyện thực buồn cười

- Trò chơi tán gẫu: Một trò chơi ñược gọi MUD (Multi-User Dungeon) dễ dàng thu hút toàn thời gian bạn - bạn thi tài với người chơi khác nơi giới

Internet Relay Chat (IRC) ñường dây theo nhóm, qua bạn có ñàm thoại thú vị với người sử dụng khác khắp nơi IRC dường ñược sử dụng nhiều häc sinh, sinh viên, bạn khơng biết người nói chuyện với bạn

1.2 - Nhà cung cấp dịch vụ Internet

ðể máy tính cá nhân nối vào ñược mạng Internet, bạn phải ñăng ký thuê bao nhà cung cấp dich vụ Internet (Internet Service Provider - ISP) ISP vị trí trung gian chuyển tiếp để máy tính bạn nối với trang Web ñịa mạng

Hiện có nhiều nhà cung cấp dịch vụ Internet VNN, FPT, VCD, Phươngnam, Saigonnet, Netnam … Mỗi ISP có khả khác Khi chọn ISP, bạn nên quan tâm ñến số vấn ñề sau:

(91)

- Giá ñăng ký thuê bao Hiện giá nhà cung cấp dịch vụ không giống

- Vị trí ISP ðây vấn đề cần quan tâm chọn nhà cung cấp dịch vụ Internet Ví dụ, bạn Hà Nội nên chọn VNN FPT lúc trả tiền điện thoại, bạn phải tốn theo giá ñiện thoại nội hạt Nếu bạn chọn ISP khác khơng có dịch vụ kết nối mạng tiền điện thoại phải tốn từ vị trí gọi ñến ñịa ñiểm ñặt máy chủ mạng Bạn cần lưu ý rằng, sử dụng Internet có ba loại tiền cần tốn:

* Tiền điện thoại: Trong thời gian sử dụng Internet, tiền ñiện thoại tính gọi điện bình thường

* Tiền truy cập mạng: Số tiền tính theo thời gian truy cập thời ñiểm truy cập Hầu hết ISP tính giá tiền cho thời gian truy cập vào ban ñêm ngày nghỉ thấp ban ngày Số tiền bạn phải toán cho ISP Các nhà cung cấp dịch vụ Internet khác số tiền khác

* Tiền lấy thông tin mạng: Hầu hết trang Web nước nhiều trang Web nước cung cấp thơng tin miễn phí, tức bạn trả tiền cho thông tin ứng dụng mạng Tuy nhiên, có số bạn phải trả tiền

1.3 - Kết nối Internet

* ðiều kiện gia nhập mạng Internet: ðể gia nhập mạng Internet bạn phải có các mục sau:

- Máy vi tính - ðường điện thoại - Modem

- Tài khoản ñăng ký truy nhập với nhà cung cấp ( ISP): ðể truy cập Internet, bạn cần ACcount hay tài khoản Internet, bao gồm:

+ User name tên ñăng ký với ISP, tên khơng thể thay đổi Ví dụ User name máy môn Tin hoc là: bmthnn1

+ Password mật , lần kết nối ta phải gõ vào mật khẩu, mật thay đổi

* Tạo biểu tượng kết nối Internet:

Từ hình Windows chọn mục sau:

My Computer / Control panel / Network and Dial Up Networking / Make New Connection

Sau xuất hộp thoại ta khai báo mục sau:

- Gõ tên biểu tượng vào hộp Type a name for the computer you are dialing - Chọn Next

- Gõ mã vùng vào hộp Are code

- Gõ số ñiện thoại nhà cung cấp vào Telephone Number - Chọn tên nước hộp Country code

- Chọn Next - Chọn Finish * Cách kết nối

Nháy ñúp chuột vào biểu tượng kết nối Khi xuất cửa sổ Connect to, ta khai báo mục sau:

- User name: Gõ tên ñăng ký với ISP - Paswword: Gõ mật

(92)

- Chọn connect thực kết nối

Sau kết nối ñược, biểu tượng kết nối có máy tính liên kết nằm góc phải, phía hình, Taskbar Windows

* Huỷ kết nối

- Nháy chuột vào biểu tượng kết nối trên Taskbar - Chọn Disconnect

2 Sử dụng trình duyệt Internet Explorer (IE) 2.1 - Khởi động

- Kích chuột vào START/ chọn PROGRAM/ chọn INTERNET EXPLORER - Màn hình IE xuất sau:

Hình 1.6 Lần lượt từ xuống phần sau:

+ Dịng tiêu đề (Title bar): Hiện tên trang Web, tên trình duyệt Web + Dịng Menu (Menu bar: thực đơn): Bao gồm mục trình duyệt Web

+ Dịng cơng cụ (Tool bar): Bao gồm biểu tượng lệnh hay dùng, muốn chọn lệnh ta việc kích chuột vào biểu tượng

+ Dịng ñịa (Address): Hiện ñịa trang Web ñang ñược truy cập Ta gõ trực tiếp ñịa vào ñây nhấn vào mũi tên bên phải mục ñể chọn ñịa ñã lưu

+ Phần vùng hiển thị: Là phần nội dung trang Web truy cập, phần chiếm nhiều dịng

+ Thanh trạng thái : Dòng cuối cùng, thông tin thời 2.2 - Ra khỏi Internet Explorer

- Chọn mục File - Chọn Close

2.3 - Tìm kiếm thơng tin

* Cách tìm kiếm thơng tin có địa xác:

- Gõ địa cần truy nhập vào ñịa (thanh Address) - Enter (Hoặc kích chuột vào GO)

(93)

2.4 - Cách lưu trữ ñịa cách tổ chức lại ñịa * Cách lưu địa ưa thích vào FAVORITES:

Những ñịa thường xuyên truy cập, lần truy cập ta phải gõ lại địa chỉ, thay việc ñó ta lưu lại ñịa ñể lần truy cập vào trang web cần kích chuột chọn ñịa bên menu Favorites

Cách lưu:

- Mở trang WEB cần lưu - Vào menu Favorites - Chọn Add to Favorites - OK

* Tổ chức lại ñịa chỉ:

Mỗi lần lưu lại địa menu Favorites dài thêm Do ñể tiện sử dụng ta tổ chức lại menu Favorites sau:

- Vào menu Favorites/ chọn Organize Favorites/ hình xuất hiện: Trong đó:

+ Create Folder: Tạo Folder + Move to Folder: Di chuyển ñịa + Rename: ðổi tên Folder

+ Delete: Xố Folder xố địa 2.5 - Một số tuỳ chọn Internet:

* Thay ñổi ñịa trang khởi tạo: - Vào menu Tool chọn Internet Option - Chọn General

- Gõ ñịa cần ñặt vào hộp Address chọn nút mục là: Lấy ñịa trang tại, lấy ñịa mặc ñịnh, lấy trang trắng

- Chọn Apply - Chọn OK

* Thay ñổi số ngày lưu trang web: - Vào menu Tool chọn Internet Option

- Gõ vào số ngày hộp Days to keep page in history - OK

* Xố địa lưu hộp History: - Xố tồn trang:

+ Vào menu Tool chọn Internet Option + Chọn Clear History

+ OK

- Xoá trang: + Mở History

+ Nháy chuột phải vào trang cần xoá + Chọn Delete

(94)

- Chọn Text size: Largest: Cỡ chữ lớn nhất, Larger: Cữ chữ lớn, Medium: Cỡ chữ trung bình, Small: Cỡ chữ nhỏ, Smallest: Cỡ chữ nhỏ

2.6 - Lưu trang web vào máy tính - Vào menu File

- Chọn Save as - Chọn vị trí cần lưu - Chọn Save

2.7 - Lưu ảnh

- Nháy chuột phải vào ảnh - Chọn Save Picture As - Chọn vị trí cần lưu - Chọn Save

2.8 - In trang web

* Thiết kế trang in - Chọn File

- Chọn Page Setup Màn hình xuất

Hình 2.6 - Size : khổ giấy

- Source: khay giấy

- Header: Tiêu ñề ñầu trang - Footer: Tiêu ñề cuối trang

- Orientation : Hướng in, Portrait theo chiều dọc, Landscap theo chiều ngang - Margins : Lề trang in, Left lề trái, Right lề phải, Top phía trên, Bottom phía * Xác định Header and footer

Internet Explore in tiêu ñề ñầu trang tiêu ñề chân trang theo cách sau:

(95)

- Center header - Tiêu ñề nằm ñầu trang Theo ñịnh sẵn vùng trắng

- Right header - Tiêu ñề nằm bên phải đầu trang Theo định sẵn vùng chứa số trang tài liệu

- Left footer - Tiêu đề nằm bên trái phía trang Theo định sẵn vùng chứa ngày tháng tài liệu

- Center footer - Tiêu đề nằm phía trang Theo định sẵn vùng trắng

- Right footer - Tiêu đề nằm ở phía trang Theo định sẵn vùng chứa thời gian in tài liệu

Bạn sử dụng mã đặc biệt để lấy thơng tin từ tài liệu (chẳng hạn số trang) hay từ hệ thống (chẳng hạn ngày, giờ) Các mã sau ñây bắt ñầu dấu & theo sau ký tự Chú ý chữ hoa hay chữ thường quan trọng Bằng cách sử dụng mã bạn in tiêu ñề theo ý mình:

Nhập vào Sẽ in

&w Tựa ñề tài liệu &u ðịa trang

&d Ngày dạng tắt xác ñịnh Regional Setting/ Control Panel &D Ngày dạng ñầy ñủ xác ñịnh Regional Setting/ Control

Panel

&t Giờ dạng xác ñịnh Regional Setting/ Control Panel &T Giờ theo dạng 24

&p Số trang &P Tổng số trang && Một dấu & &b Vị trí xác ñịnh

Dấu cuối (&b) cho phép bạn xác ñịnh mục ñã cho in header hay footer Sau ñây cách thức làm việc nó:

- Nếu bạn sử dụng mã lần bên trái &b in bên trái phần bên phải in bên phải

Chẳng hạn, &w&b&p in tựa ñề tài liệu bên trái số trang in bên phải - Nếu bạn sử dụng mã hai lần phần bên trái &b thứ in bên trái, phần hai &b in phần bên phải &b in bên phải

Chẳng hạn, &d&b&p&b&t in ngày bên trái, trang in thời gian bên phải

- Bạn kết hợp văn mã Chẳng hạn, bạn gõ Page %p of &p Internet Explore trang tổng số trang: Page of 10

* In tài liệu

- Chọn File, chọn Print ấn Ctrl + P 3 - Thư ñiện tử ( E- mail)

3.1 - Giới thiệu E-mail

(96)

ở ñây “thư” tệp dạng text, hành ñộng chuyển thư ñược thực theo phương thức truyền gửi tệp ñường truyền dẫn mạng Trong nhiều trường hợp thư có từ đồng nghĩa thơng điệp (message), thơng điệp cần hiểu thư ngắn khơng vượt câu

E- mail dịch vụ phổ thông mạng, tảng để xây dựng văn phịng khơng giấy (paperless office)

3.2 - Các mơ hình hoạt động dịch vụ E-mail:

- Mơ hình thơng điệp trực tiếp: Theo mơ hình này, thơng điệp ñược gửi trực tiếp, tới máy hoạt động mạng LAN

- Mơ hình hộp thư lưu: Là mơ hình khách – chủ dịch vụ thư điện tử, theo chương trình thực dịch vụ ñược viết thành hai phần chương trình chạy độc lập tương đối:

+ Chương trình phía Client (khách) chạy máy trạm làm việc mạng phần phía Server (chủ) chạy máy chủ mạng Người dùng soạn thảo thư, ấn ñịnh ñịa nhận “ra lệnh” gửi thông qua chương trình client máy chủ mạng

+ Chương trình Server đón nhận thư gửi từ Client, lưu trữ vào hộp thư lưu + Mỗi người dùng nhận đọc thư cách dùng chương trình phía client duyệt danh sách thư gửi cho đọc thư quan tâm

+ Chương trình Server phát tín hiệu báo có thư cho người ñang làm việc mạng

- Mơ hình Internet Mail: Là mơ hình liên kết hộp thư lưu Internet, hộp thư lưu cho vùng Nếu tất liên kết ñang ñược thực hiện, thư ñược chuyển ñến hộp thư lưu đích vài giây, trường hợp ngược lại chuyển bước qua hộp thư lưu ñường liên kết ñang thực ñể ñến đích cuối

3.3 - Tạo hịm thư miễn phí với Yahoo

Có nhiều địa trang web ta tạo địa thư miễn phí Yahoo.com, hotmail.com, vietfun.com, …

* Cách tạo hịm thư miễn phí với Yahoo:

- Gõ ñịa www.yahoo.com (hoặc gõ ñịa mail.yahoo.com) - Chọn Email Chekmail

- Chọn Sign Up Now

Kết xuất hiên cửa số ta phải khai báo mục sau:

+YahooID: Gõ tên hòm thư cần tạo (Không dấu, không cách)

+ Password: Gõ mật (ít ký tự, phải tắt chế ñộ gõ tiếng việt) - Retype password: Gõ lại mật

- Sercurity Question: Chọn câu hỏi tuỳ chọn (chọn bất kỳ) - Your answer: Gõ vào câu trả lời (ít có ký tự) - Birthday: Gõ ngày tháng năm sinh

- Gender: Chọn giới tính - Fist/Last name: Gõ họ tên đệm

- Langgue: Chọn ngôn ngữ

- Zip Code: Gõ mã nước

- Industry: Chọn nghề nghiệp (chọn bất kỳ) - Title: Chọn chức vụ (chọn bất kỳ) - Enter the word: Gõ từ hiển thị hộp Chọn Submit this form ðệ trình Form

(97)

- Gõ ñịa www.yahoo.com ( gõ ñịa mail.yahoo.com) - Chọn Email Mail

- Gõ ñịa thư vào hộp Yahoo ID - Gõ mật vào Password - Chọn Sign In

Kết xuất cửa sổ:

Hình 3.6

* Chọn Chek mail: ðể nhận thư Kết qủa có cửa sổ sau:

Hình 4.6

- Sender : Người gửi - Subject : Tiêu ñề thư - Date : Ngày gửi - Size : Kích cỡ file

- Muốn đọc thư nháy chuột vào thư

(98)

Hình 5.6 - To : ðịa người nhận

- Cc : ðịa ñồng gửi tới - Bcc : ðịa ñồng gửi tới - Subject : Tiêu ñề thư

- Attachmets [Attech Files ] : Gửi kèm file

- Phần cửa sổ trắng phía chứa nội dung thư ta gõ vào - Chọn nút Send ñể gửi thư ñi

3.5 - Gửi nhận thư Outlook Express * Khởi động Outlook Express

- Kích chuột vào Start - Chọn Program

- Chọn Outlook Express Kết qủa có cửa sổ sau:

Hình 6.6

- Inbox : Nơi lưu thư ñược tải xuống đến bạn chuyển nơi khác

- Outbox : Nơi lưu tạm thời thư chưa ñược chuyển

- Delete Items : Lưu thư xố Inbox (Tương tự Recycle Bin, muốn xoá hẳn thư nằm thư mục bạn phải: Nháy chuột phải biểu tượng thư mục chọn Empty Forder)

- Sent Items : Lưu thư ñã gửi ñi

- Drafts : Nếu bạn soạn thư cần phải thực số việc khác trước hoàn tất thư cần đóng thư lưu trữ lại Outlook Express lưu thư thư mục Drafts (bản nháp)

* Khai báo Accounts

- Vào menu Tool/ Chọn Accounts/ Chọn Mail/ Chọn Add/ Chọn Mail - Gõ tên vào hộp Display name

- Chọn Next

(99)

+ Thuê bao FPT : imail.fpt.vn + Thẻ VNN : fmail.hn.vnn + Thẻ FPT : pop3.cardvn.net

- Khai báo máy chủ gửi thư vào hộp Outgoing mail : + Thuê bao VNN: mail.hn.vnn.vn

+ Thuê bao FPT : omail.fpt.vn + Thẻ VNN : fmail.hn.vnn + Thẻ FPT : smtp.cardvn.net - Chọn Next

- Gõ tên Account vào hộp Account name - Gõ mật vào Password

- Chọn Next - Chọn Finish - Chọn Close * Gửi thư:

Bạn gửi thư theo ba cách: - Soạn thư

- Hồi ñáp thư cũ

- Chuyển thư ñã nhận * Soạn thư mới:

- Chọn New Mail ( chọn menu Message/ New Message ) Cửa sổ New Message xuất Các thao tác tương tự gửi thư yahoo

* Trả lời thư (Hồi ñáp thư cũ): - Chọn Inbox

- Chọn thư ñọc

- Có hai cách trả lời sau:

+ Reply : Nếu bạn chọn lựa chọn thư hồi đáp bạn tới có địa e – mail dòng From phần tiêu đề Khơng có gửi tới người phần danh sách ñược xác ñịnh mục Cc: Của thư ban ñầu

+ Reply All : Nếu bạn chọn lựa chọn thư bạn tới khơng tác giả mà cịn tới tất người danh sách Cc

* Gửi chuyển tiếp thư ñã nhận: - Chọn thư cần chuyển

- Chọn Forward Message {Hoặc chọn menu Message (hoặc Compose), chọn Forward hay ấn Ctrl + F}

- Gõ vào ñịa cần gửi ñi - Chọn Send

Hoặc chuyển thư hình đính kèm * Nhận thư đến:

Chọn Inbox/ Chọn Send and Receive/ Nhập mật (Password) vào , ấn OK * ðọc thư ñến:

Chọn Inbox: Nếu có thư đến, thấy hiển thị tên người gửi Bạn việc nhấn chuột vào tên thư muốn đọc nội dung phía

* Tải thư (Download) máy tính: - Chọn thư muốn tải

- Chọn File/ Save As

(100)

- Chọn vị trí muốn lưu file - ðặt tên file bấm OK

3.6 Download số ñịa Internet * Download :

- Là thực tải phần mềm chương trình mạng máy tính máy tính

- Có thể Download từ trang cụ thể (nếu có mục Download) từ ñịa sau: + Microsoft Free Product Downloads (): ðối với người sử dụng Win dows nơi bạn tìm thấy fonts, trị chơi, chương trình hỗ trợ cho Internet Explore Microsoft Office…

+ Download.com Shareware.com (www.shareware.com): ðây nơi cho phép bạn tìm kiếm sở liệu 190.000 chương trình miễn phí chia xẻ

* Một số ñịa Internet:

www.hau1.edu.vn Trang chủ Trường ðH Nông nghiệp I www.express.net Trang web Việt nam Thông xã www.ptcenter.net Trang web trung tâm tin học PT

www.home.vnn.vn Trang web VDC

www.msn.com Trang web hãng Microsoft

www.fpt.vn Trang FPT

www.vnn.vn Trang VASC

www.quochoi.gov.vn Trang Quốc hội

www.vtv.org.vn Trang Truyền hình Việt Nam

www.nxbgd.com.vn Trang Nhà xuất giáo dục www.ykhoa.com.vn Trang Y khoa Tiếng Việt www.laodong.com.vn Trang báo Lao ñộng

www.nhandan.org.vn Trang báo Nhân dân www.vietnamtourism.com.vn Trang Du lịch Việt

www.hut.edu.vn Trang chủ Trường ðH Bách Khoa HN

www.dec.edu.vn Trang web Trường ðH Cần Thơ

www.fao.org Trang web tổ chức FAO

www.manguon.com Trang web công ty Mắt bão CNTT www.real-english.com Trang web học tiếng Anh trực tuyến www.caycanhvietnam.com Trang web giới thiệu cảnh Việt nam www.bkav.com.vn Trang web Trung tâm Phần mềm Giải

pháp An ninh mạng ðH Bách khoa HN www.hoahoctro.com Trang báo Hoa học trị

www.loveclub.saigonnet.vn Câu lạc tình u, nhân gia đình

www.yahoo.com Trang chủ Yahoo

www.google.com Trang để tìm kiếm

www.download.com Trang chủ ñể tải phần mềm

www.cnn.com Trang chủ hãng CNN

(101)

Câu hỏi ôn tập chương V

1 Mạng Internet gì? Các chức mạng Internet

2 ðể máy tính nhân kết nối vào mạng Internet cần có ? Trình duyệt Internet Explorer có chức gì?

(102)

CHƯƠNG VI: GIẢI THUẬT 1 Khái niệm giải thuật (Algorithms)

- Khi cần giải toán thực tế với trợ giúp máy tính điện tử ta thường phải biết liệu vào tốn (Input) gì? tốn yêu cầu liệu (Output) gì? Bước ta phải thiết lập ñược bước thao tác cụ thể để từ Input ta có Output Cơng việc tin học gọi xây dựng giải thuật

- Giải thuật toán dãy câu lệnh (Statements) chặt chẽ rõ ràng xác định trình tự thao tác số đối tượng cho sau số bước hữu hạn thực ta thu ñược kết mong muốn

- Với ñịnh nghĩa ta thấy ñối với tốn cụ thể có nhiều giải thuật khác tất nhiên giải thuật phải cho kết theo ñúng yêu cầu toán

- Khi nghiên cứu giải thuật thường ta phải biết giải thuật tác ñộng lên liệu Việc lựa chọn cấu trúc liệu (Data structures) phù hợp việc thiết lập ñược giải thuật ñúng ñắn có cấu trúc tốt hiệu vấn ñề mấu chốt cơng việc thiết lập phần mềm Chính mà Niklaus Wirth người sáng lập ngơn ngữ lập trình Pascal ñã tổng kết: Giải thuật+Cấu trúc liệu= Chương trình

Ví dụ: Xây dựng giải thuật tìm UCLN số nguyên dương a b, ký hiệu (a,b) + ðối với tốn ta có

Input: số nguyên dương a, b Output: (a,b)

+ Giải thuật xây dựng dựa tính chất Nếu a=b (a,b)=a

Nếu a>b (a,b)=(a-b,b) Nếu a<b (a,b)=(a,b-a)

+ Cụ thể giải thuật toán sau:

Bước 1: So sánh a b, Nếu a=b dừng giải thuật thơng báo (a,b)=a Nếu a≠b chuyển sang bước

Bước 2: Nếu a>b thay a a-b, a<b thay b b-a Quay lại thực bước

Minh hoạ: a=20, b=32

Bước thực a b Kiểm tra ñiều kiện a=b

Bước 20 32 Sai

Bước 20 12

Bước 20 12 Sai

Bước 12

Bước 12 Sai

Bước

Bước Sai

Bước 4

Bước 4

(103)

2 Các yêu cầu với giải thuật

Giải thuật toán phải thoả mãn yêu cầu sau:

Yêu cầu 1: Tính dừng

Giải thuật phải dừng sau số hữu hạn thao tác, ñây yêu cầu quan trọng với giải thuật

u cầu 2: Tính đắn

Ta phải đặt câu hỏi "Liệu giải thuật lời giải tốn khơng?" Thơng thường cài đặt giải thuật dạng chương trình cho thực máy tính với số liệu đó, sau so sánh với kết mà ta ñã biết Nhưng cách thử khẳng định tính sai chưa thể khẳng định tính đắn giải thuật Bằng cách sử dụng cơng cụ tốn học ta khẳng định tính đắn giải thuật thường cơng việc phức tạp

u cầu 3: Tính đơn giản hiệu

Ta thường mong muốn xây dựng ñược giải thuật ñơn giản, dễ hiểu, dễ lập trình Nhưng đơi thuật giải đơn giản lại gây lãng phí thời gian nhớ Do ñó mục tiêu phải xây dựng ñược giải thuật có thời gian thực nhanh, hạn chế tối ña dung lượng nhớ dành cho việc lưu trữ kết trung gian

3 Các cách diễn tả giải thuật 3.1 Cách 1: Liệt kê bước

Ví dụ: Có 31 que diêm, người máy thay bốc Mỗi lần bốc từ ñến que Ai phải bốc sau thua Hãy xây dựng thuật giải cho máy bốc trước thua

Bước 1: Máy bốc ngẫu nhiên x que diêm (1≤x≤4)

Bước 2: Người bốc (5- x) que, tổng số que diêm giảm ñi que Nếu số que diêm lại

là que chuyển sang bước 3, khơng quay lại thực bước

Bước 3: Tuyên bố người thắng

3.2 Cách 2: Sử dụng lưu đồ

Sử dụng phương tiện hình học cách tốt ñể minh hoạ giải thuật tốn Trong lưu đồ người ta sử dụng hình sau, với kí hiệu + đúng, - sai

- +

Kh i i u ki n Kh i l nh

Kh i b t u k t thúc

(104)

gt1

K

a Cấu trúc rẽ nhánh

- Rẽ nhánh dạng khuyết: if <đk thoả mãn> then <thực lệnh> (hình 1) - Rẽ nhánh dạng ñủ: if <ñk thoả mãn> then <thực lệnh 1>

else <thực lệnh 2> (hình 2)

- Cấu lệnh lựa chọn:

case <biểu thức nhận>

Giá trị 1: Thực lệnh Giá trị 2: Thực lệnh Giá trị n: Thực lệnh n else Thực lệnh (n+1) end

- - -

+ + +

Hình

b Cấu thúc lặp

+ Lặp số lần ñịnh trước:

Dạng 1: for i:=m to n <lệnh>

Thực lệnh với i nhận giá trị nguyên tăng từ m tới n với bước nhảy

Dạng 2: for i:=n downto m <lệnh>

Tương tự dạng bước nhảy giảm + Lặp với ñiều kiện trước: while <ñiều kiện > < lệnh>

Khi điều kiện cịn cịn thực lệnh, q trình lặp kết thúc điều kiện sai (hình 1)

+ Lặp với ñiều kiện sau: repeat <lệnh> until <điều kiện>

Khi điều kiện cịn sai cịn thực lệnh, q trình lặp kết thúc điều kiện (hình 2)

- +

-

+

L nh

gt2 gtn

L nh n

L nh (n+1)

L nh

L nh

K L nh L nh

L nh

L nh L nh

K

K

L nh

Hình Hình

+

(105)

3.3 Cách 3: Sử dụng giả ngơn ngữ có cấu trúc tựa ngơn ngữ lập trình bậc cao

Là phương pháp diễn tả giải thuật dựa vào cấu trúc điều khiển, với từ khố ngơn ngữ lập trình bậc cao Trong giáo trình ta sử dụng ngơn ngữ tựa Pascal ñể diễn tả giải thuật Cách diễn ñạt ñã tiếp cận gần với ngơn ngữ lập trình

Ví dụ: Với thuật giải tìm UCLN ta diễn đạt sau while a≠b

begin

if a>b then thay a a-b else thay b b-a end

write ước chung lớn a 4 Thiết kế giải thuật

4.1 Mơ-đun hố việc giải toán

Những toán ta gặp thực tế thường phức tạp, trường hợp người ta thường chia tốn thành toán nhỏ dễ giải Nghĩa coi tốn ban đầu Mơ- đun chính, ta chia thành Mơ- đun con, Mơ- đun lại chia thành Mơ- đun nhỏ Cách giải toán người ta thường gọi chiến thuật "Chia để trị"(divide and conquer)

Trong lập trình việc chia chương trình thành chương trình thể tính có cấu trúc ngơn ngữ lập trình mặt chương trình

4.2 Tinh chỉnh bước giải thuật

Tinh chỉnh bước phương pháp thiết kế giải thuật gắn liền với lập trình Bước đầu giải thuật minh hoạ ngơn ngữ tự nhiên, bước sau ngôn ngữ tự nhiên thay ngơn ngữ tự nhiên pha lẫn ngơn ngữ lập trình mà ta gọi giả ngơn ngữ

Ta có sơ đồ sau: Ngôn ngữ tự nhiên→ Giả ngôn ngữ→ Ngôn ngữ lập trình 4.3 Phân tích thuật giải

Phân tích giải thuật phải vào tiêu chuẩn ñối với giải thuật: Tính dừng, tính đắn, tính ñơn giản hiệu

Việc kiểm tra giải thuật phần quan trọng, lý tưởng khẳng định cách hình thức tính đắn giải thuật Tuy nhiên thực tế thời gian cơng sức để viết cách cẩn thận ñầy ñủ tất chi tiết chứng minh tính đắn giải thuật phức tạp thường khơng cho phép Người lập trình thường áp dụng biện pháp sau:

- Chứng minh cách suy diễn bước giải thuật ñúng ñắn Nghĩa giải thuật bắt ñầu khẳng ñịnh (giả thiết) liệu vào dùng phương pháp suy luận lơgic để việc thực giải thuật cho khẳng ñịnh (kết luận) ñầu

(106)

- Có đơi lúc viêc kiểm tra chương trình phải thực thủ công, kiểm tra bước, thủ tục chương trình Kỹ thuật gọi “đi qua chương trình”(Walking through the program)

- Quan tâm ñặc biệt tới thời gian thực chương trình, thời gian thực phụ thuộc nhiều vào việc tổ chức liệu đưa vào (kích thước liệu)

5 Giải thuật xếp (Sorting)

Sắp xếp số yêu cầu thường xuyên xuất trình xử lý số liệu Bản chất thuật giải xếp bố trí lại vị trí số liệu theo thứ tự tăng dần giảm dần Có nhiều giải thuật xếp tin học, giáo trình ñề cập ñến số thuật giải ñơn giản ñó xếp lựa chọn (selection sort), xếp chèn (insertion sort) xếp bọt (bubble sort) ðể ñơn giản giả sử yêu cầu toán là: Sắp xếp dãy số cho trước a1, a2, , an theo thứ tự tăng dần

5.1 Sắp xếp lựa chọn (selection sort)

Thuật giải chọn ñược diễn tả sau: Tìm phần tử nhỏ dãy số hốn vị với phần tử đầu tiên, tìm phần tử nhỏ hốn vị với phần tử thứ hai Tiếp tục trình đến tồn dãy số xếp

procedure Selection_Sort; begin

for i:=1 to n-1 begin

m:=i

for j:=i+1 to n if aj<am then m:=j

if m≠i then ñổi chỗ ai am

end end Ví dụ

Dãy số ban ñầu : -2

i=1 -2

i=2 -2

i=3 -2

i=4 -2

5.2 Sắp xếp chèn (insertion sort)

(107)

procedure Insertion_Sort begin

for i:=2 to n begin

k:=ai

j:=i

while aj-1>k begin aj:=aj-1, j:=j-1 end

aj:=k

end end Ví dụ

Dãy số ban ñầu : -2

i=2 -2

i=3 -2

i=4 -2

i=5 -2

5.3 Sắp xếp bọt (bubble sort)

Thuật giải cịn có tên gọi khác xếp cách ñổi chỗ trực tiếp (exchange sort), thuật giải bọt ñược diễn tả sau: Duyệt dãy số theo thứ tự từ phải sang trái hai phần tử kề cận ngược thứ tự đổi chỗ cho Như sau lượt duyệt ñầu tiên phần tử ñầu tiên phần tử nhỏ nhất, sau lượt thứ hai phần tử nhỏ thứ hai chuyển lên vị trí thứ hai dãy số ñược xếp tăng dần

procedure Bubble_Sort begin

for i:=1 to n-1

for j:=n downto i+1

if aj<aj-1 then ñổi chỗ aj aj-1

end Ví dụ

Dãy số ban ñầu : -2

i=1 -2

i=2 -2

i=3 -2

i=4 -2

6 Giải thuật tìm kiếm (Searching)

(108)

6.1 Tìm kiếm (sequential searching)

ðây thuật giải tìm kiếm đơn giản nhất, ta duyệt dãy số, thuật giải kết thúc tìm thấy phần tử giá trị X duyệt hết dãy số phần tử có giá trị X

procedure Sequential_Searching begin

i:=1

while ai≠ X i:=i+1

if i=n+1 then phần tử cần tìm else vị trí phần tử cần tìm i end

6.2 Tìm kiếm nhị phân (binary searching)

Giả sử dãy số ñã ñược xếp tăng dần a1≤a2≤ ≤an (trường hợp xếp giảm dần

tương tự), thuật giải nhị phân gần giống ta tìm từ từ điển ðể tìm phần tử X trước tiên ta so sánh với phần tử vị trí dãy số X nhỏ X nửa trước dãy ngược lại X nủa sau dãy Lặp lại q trình tìm kiếm đến tìm thấy dãy số trở nên rỗng (khơng tìm thấy)

procedure Binary_Searching begin

left:=1 right:=n repeat

mid:=[(left+right)/2] (*Kí hiệu [a] nghĩa lấy phần nguyên số thực a*) if X<amid then right:=mid-1

else left:=mid+1 until (X=amid) or(left>right)

if X=amid then vị trí cần tìm mid

else khơng có phần tử cần tìm end

Ví dụ: Tìm phần tử 28 dãy số sau

[4 15 28 33 67 99 103]

Lặp lần [4 15 28]

Lặp lần [28]

7 Giải thuật ñệ quy 7.1 Khái niệm ñệ qui

Một ñối tượng ñược gọi ñệ qui bao gồm phần hay định nghĩa

Trong thiết kế giải thuật ta thường thiết kế dạng mô- ñun Khi giải thuật ñược cài ñặt thành chương trình thí mơ- đun tương ứng với chương trình (hàm-function thủ tục- procedure),

Chương trình ñược gọi ñệ qui thân có lời gọi trực tiếp gián tiếp đến thân

(109)

Ví dụ 1: ðịnh nghĩa số tự nhiên + số tự nhiên

+ Số số tự nhiên số tự nhiên Ví dụ 2: ðịnh nghĩa n!

+ 0!=1

+ n!=n*(n-1)! n>0

- ðịnh nghĩa phép ñệ qui gồm có phần

+ Trường hợp suy biến: Giúp cho q trình đệ qui kết thúc

+ Phần đệ qui (hay phần qui nạp): Trong tác ñộng cần ñược thực cho giá trị thời tham số ñược ñịnh nghĩa tác ñộng hay giá trị ñược ñịnh nghĩa trước ñây

Trong ví dụ định nghĩa n! trường hợp suy biến ñịnh nghĩa 0!, phần qui nạp ñịnh nghĩa n! qua giá trị n giá trị (n-1)!

Dễ nhận xét, (n-1)! tính n! dễ dàng tính Với cách suy diễn tương tự, (n-1)! tính (n-2)! tính cuối 1! tính ñược 0! ñã tính ñược Ta thấy 0! ñã cho ñịnh nghĩa Do ñi ngược từ cuối, 0! tính nên 1! tính ñược, ,sau (n-1)! ñã có ta nhận ñược n!

Minh hoạ: Tính 3! 3!=3*2!=3*2=6

2!=2*1!=2*1=2 1!=1*0!=1*1=1

Giải thuật ñược viết dạng thủ tục hàm (tựa Pascal) sau: function giaithua(n)

begin

if n=0 then giaithua:=1 (* trường hợp suy biến*) else giaithua:=n*giaithua(n-1) (* phần ñệ qui*) end

Chú ý: Khơng phải lúc tính đệ qui cách giải toán thể rõ nét dễ phát ví dụ Do muốn biết giải thuật tốn thiết kế dạng giải thuật ñệ qui ñược hay khơng? Có thể thấy câu trả lời qua việc trả lời câu hỏi sau : + Có thể ñịnh nghĩa ñược toán dạng toán loại “nhỏ” khơng?

+ Kích thước tốn giảm bước gọi ñệ qui nào? + Trường hợp tốn coi trường hợp suy biến?

7 Ví dụ giải thuật đệ qui : Bài toán tháp Hà Nội

Bài toán Tháp Hà Nội ví dụ cổ điển cho thấy thuật tốn đệ qui đặc biệt thích hợp Có thể giải toán cách dễ dàng dùng đệ qui, cách giải khơng đệ qui tương đối khó

Nội dung tốn: Tại cọc A có n đĩa, đĩa to dưới, đĩa nhỏ Chuyển ñĩa từ cọc A sang cọc C nhờ cọc B làm vị trí trung chuyển theo quy tắc sau:

- Mỗi lần ñược chuyển ñĩa phải ñĩa - ðĩa lớn khơng phép nằm ñĩa nhỏ

(110)

- Khi chuyển đĩa, phải đặt vào cọc Hãy thứ tự bước chuyển

A B C

Một truyền thuyết cho thầy tu ðiện Bramah cho tốn đố với vàng có kim vàng cọc có 64 đĩa vàng Khi họ chuyển đĩa vàng theo luật toán trên, giây chuyển đĩa họ bắt đầu cơng việc từ năm 0, đến hồn thành cơng việc ngày tận

Những người bắt đầu giải tốn cách dễ dàng với số ñĩa bé, họ khó khăn số đĩa tăng lên 7,8 lớn Tuy nhiên với nhà lập trình giải tốn cách khơng khó khăn

Cách giải: Nếu có đĩa, chuyển từ cọc A sang cọc C Bài tốn giải với n=1 Giả sử tốn có nghiệm với n-1 ñĩa , nghiệm với n ñĩa nhận ñược cách dễ dàng nhờ dùng phép ñệ quy:

+ Chuyển n-1 ñĩa cọc A sang cọc B, dùng cọc C làm trung chuyển + Chuyển ñĩa lại cọc A sang cọc C

+ Chuyển n-1 từ cọc B sang cọc C, dùng cọc A làm trung chuyển Ta viết giải thuật toán Tháp Hà Nội sau: procedure Move(n,A,B,C)

(* Chuyển n ñĩa từ cọc A sang cọc C, dùng cọc B làm trung chuyển*) begin

if n=1 then chuyển ñĩa từ A sang C else

begin

Move(n-1,A,C,B)

(* Chuyển n-1 ñĩa từ A sang B, dùng C làm trung chuyển*) Move(1,A,’ ‘,C)

(* Chuyển ñĩa từ cọc A sang cọc C*) Move(n-1,B,A,C)

(* Chuyển n-1 ñĩa từ B sang C, dùng A làm trung chuyển*) end

(111)

Bài tập chương VI: Thuật giải Viết giải thuật cho tốn sau:

1 Tính n giai thừa: n! =1.2 n với n>1 Tính tổng: S=1/2 + 1/4 + + 1/(2k)

Q=1.1!+2.2!+ +n.n!

3 Tìm in tất số phương nhỏ số cho trước, cho biết có số phương

4 Viết chương trình giải tốn cổ: " Vừa gà vừa chó, bó lại cho tròn, ba mươi sáu con, trăm chân chẵn Hỏi có gà, chó?"

5 Viết chương trình tìm ước số chung lớn số nguyên dương cho trước Tính Ex=1

1

2

+ x + x + +x +

n n

! ! ! với độ xác ε=10

-4 ( ABS(xn/n!) < ε ), giá trị x

ñược nhập vào từ bàn phím chạy chương trình

7 Cần có 50000 đ từ loại giấy bạc 1000đ, 2000đ 5000đ Tìm tất phương án

8 Chuyển số thập phân nguyên dương thành số nhị phân, in hình dạng X10 = Y2

9 Tính tích phân xác ñịnh hàm số ñoạn cho trước

10 Viết chương trình tìm in hình số nguyên tố nhỏ số cho trước 11 Cho dãy số sau: a1,a2, ,an Viết chương trình tìm phần tử lớn nhất, phần tử nhỏ

của dãy số

12 Cho dãy số sau: a1,a2, ,an Viết chương trình xếp dãy theo thứ tự tăng dần

13 Cho dãy số sau: a1,a2, ,an Viết chương trình đếm số phần tử dương xố phần tử

thứ m dãy (m<=n)

14 Cho dãy số sau: a1,a2, ,an Viết chương trình tìm phần tử có giá trị x nhập vào từ

bàn phím

15 Cho dãy số sau: a1,a2, ,an Viết chương trình thêm phần tử có giá trị x, vào vị trí m

trong dãy Sau tính tổng phần tử dãy

16 Viết chương trình in số nguyên tố khoảng từ → n

17 Cho ma trận có m dịng n cột, phần tử nguyên Tìm phần tử nhỏ ma trận

(112)

PHẦN II

NGƠN NGỮ LẬP TRÌNH TURBO PASCAL

CHƯƠNG I: CẤU TRÚC CỦA CHƯƠNG TRÌNH PASCAL

1 Giới thiệu ngơn ngữ lập trình 1.1 Ngơn ngữ lập trình ?

Ngơn ngữ lập trình hệ thống kí hiệu, hệ thống quy tắc cú pháp thị (hay cịn gọi câu lệnh) dùng để viết thuật toán giải toán thành chương trình máy tính Những chương trình đưa vào máy "chạy" để tính tốn, xử lí tốn

Ngơn ngữ lập trình đời với đời MTðT MTðT đời đương nhiên người ta phải nghĩ đến việc xây dựng ngơn ngữ cho chúng Các hệ MTðT liên tục phát triển, ngơn ngữ lập trình phát triển theo Có nhiều loại ngơn ngữ lập trình khác nhau, từ ngôn ngữ bậc thấp chuyển lên ngôn ngữ bậc cao

+ Ngôn ngữ bậc thấp (ngôn ngữ máy): Chỉ sử dụng kí hiệu để mã hố đại lượng phép tốn Ngơn ngữ có ưu điểm chương trình chạy nhanh, khơng phải qua khâu dịch Tuy nhiên chương trình viết ngôn ngữ cồng kềnh, viết nhiều thời gian, dễ sai sót, khó kiểm tra; mặt khác loại máy có ngơn ngữ máy riêng

+ Ngôn ngữ tập hợp: Khắc phục số nhược ñiểm người ta nghĩ cách thay số mã nhị phân chữ cho đời ngơn ngữ tập hợp (cịn gọi ngơn ngữ kí hiệu) Ưu điểm việc lập trình dễ dàng hơn, nhiên cần phải có chương trình dịch từ ngôn ngữ tập hợp ngôn ngữ máy, phụ thuộc vào từ máy

+ Ngơn ngữ bậc cao: Chương trình viết gần với ngơn ngữ tự nhiên người, dễ dàng cho người lập trình, nhiên chương trình chạy chậm Năm 1958, ALGOL - ngôn ngữ lập trình bậc cao đời Năm 1960 bổ sung, chỉnh lí có ảnh hưởng sâu sắc đến ngơn ngữ lập trình bậc cao sau FORTRAN, C, BASIC, PASCAL,

1.2 Turbo Pascal

PASCAL ngơn ngữ lập trình bậc cao tác giả Niklaus Wirth (giáo sư người Thuỵ sĩ), cơng bố vào đầu năm 1970 Tên PASCAL để kỉ niệm nhà Tốn học người Pháp B Pascal

PASCAL ngơn ngữ lập trình có tính cấu trúc tính hệ thống: kiểu liệu ña dạng, cấu trúc ñiều khiển chặt chẽ, cấu trúc khối chương trình rõ ràng

PASCAL ngơn ngữ lập trình có định kiểu rõ ràng: ñại lượng (biến hằng) ñã ñược khai báo ñể sử dụng với kiểu liệu khơng thể đem dùng lẫn với kiểu khác

(113)

dịch nhanh, khơng ngừng cải tiến ñáp ứng yêu cầu người sử dụng TURBO PASCAL ñã ñược phát triển qua phiên ngày mở rộng phức tạp Việc khai thác sâu tính phiên khả nhu cầu người lập trình Giáo trình chọn version 5.0 làm chuẩn để minh hoạ, nhiên người đọc áp dụng cho phiên sau 6.0, 7.0

2 Yêu cầu phần mềm cách khởi ñộng

2.1 Yêu cầu phần mềm

Phần mềm TURBO PASCAL có nhiều File, nhiên để bước ñầu học sử dụng ñược, ñĩa cần có tối thiểu file sau:

TURBO.EXE file chính, chứa chương trình dịch, hệ soạn thảo dịch vụ gỡ rối

TURBO.TPL thư viện chương trình mẫu có sẵn TURBO PASCAL Nếu có sử dụng đồ hoạ cần chép thêm ñơn vị GRAPH.TPU số file phụ trợ khác tuỳ theo kiểu hình kiểu chữ sử dụng

2.2 Khởi động TURBO PASCAL

Thơng thường file nói nằm thư mục TP (hoặc TURBO hay TP5, TP7 tuỳ theo phiên hay người sử dụng)

Ta chuyển vào thư mục lệnh CD TP↵, sau gõ TURBO ↵ Màn hình sau:

File Edit Run Compile Options Debug Break/Watch Line Col Insert Indent Unindent C:NONAME.PAS |

F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu

Dịng 1: dịng menu chính, có ghi mục để người sử dụng chọn cách ấn đồng thời Alt+ chữ đầu mục Ví dụ: Alt+F ñể mở mục File

Dòng 2: dòng trạng thái, cho người dùng biết số thông số soạn thảo toạ ñộ trỏ, chế ñộ soạn thảo viết chèn hay viết ñè, tên tệp ñang làm việc

Dòng cuối dòng hướng dẫn, nhắc người sử dụng số phím chức Phần hình rộng phần soạn thảo ñể ta nhập chạy chương trình

Người học lập trình nên ghi nhớ phím chức năng:

(114)

F3 mở tệp

Alt+F9 dịch chương trình

Ctrl+F9 dịch cho chạy chương trình Alt+X Kết thúc PASCAL trở hệ điều hành

3 Những quy ñịnh cách viết biểu thức chương trình

3.1 Bộ kí tự

TURBO PASCAL sử dụng chữ viết sau: - Bộ 26 chữ Latinh: A, B, , Z ; a, b, , z - Bộ chữ số: 0, 1, ,

- Các kí hiệu Toán học: +, -, * , /, =, <, >,

- Dấu gạch nối, dấu chấm, dấu ngoặc kí hiệu đặc biệt khác: _ , ; ? [ ] ( ) $ % 3.2 Từ khóa

Từ khố số từ dành riêng TURBO PASCAL, từ ñã ñược gán sẵn chức đặc biệt, ta khơng dùng vào việc đặt tên hay cơng việc khác Sau ñây số từ quan trọng, bạn ñọc biết từ khoá chức từ qua học

- Các từ khoá chung: Program, begin, end

- Các từ khố để khai báo: uses, const, type, label, var procedure, function array, string, record, - Các từ khoá lệnh:

if then else case of for to while repeat until - Một số tên chuẩn:

Boolean, char, integer, real, read, readln, write, writeln, abs, cos, sin, sqrt, exp 3.3 Tên

Tên dãy kí tự dùng để tên ñại lượng tên hằng, tên biến, tên kiểu hay tên chương trình

Tên đặt theo quy tắc sau: bắt ñầu chữ cái, đến chữ số hay dấu gạch nối khơng dài q 127 kí tự (!) Tên thường đặt mang tính gợi nhớ TURBO PASCAL khơng phân biệt chữ hoa chữ thường viết từ khoá hay tên

Ví dụ : viết chương trình giải phương trình bậc 2, ta đặt tên chương trình GIAI_PHUONG_TRINH_BAC2, ñặt tên biến chứa biệt thức ∆ delta (khơng dùng kí hiệu ∆), đặt tên nghiệm X1 X2,

- Dấu chấm phảy (;) dùng ñể ngăn cách câu lệnh chương trình

(115)

4 Cấu trúc chung chương trình PASCAL

Ta hiểu chương trình máy tính dãy lệnh, thị hướng dẫn máy thực nhiệm vụ, xử lí tập kiện vào cho kết

Một chương trình PASCAL có cấu trúc chung sau: PROGRAM Tên_ chương_trình;

USES Danh sách đơn vi.; LABEL Danh sách nhãn; CONST Danh sách hằng; TYPE Danh sách kiểu; VAR Danh sách biến; PROCEDURE Khai báo thủ tục; FUNCTION Khai báo hàm; BEGIN

{ Các câu lệnh; } END

Một chương trình PASCAL điển hình gồm phần: Phần tiêu ñề, phần khai báo, phần thân chương trình

4.1 Phần tiêu đề Phần có dạng

PROGRAM Tên_ chương_trình;

bắt đầu từ khố PROGRAM, dấu cách đến tên chương trình, kết thúc dấu chấm phảy (;) Tên_ chương_trình ta ñặt ra, mang ý nghĩa nội dung chương trình, dấu ; bắt buộc phải có

Ví dụ : Program Giai_PT_bac2;

Phần tiêu đề tuỳ chọn, có hay khơng được, có phải đủ thành phần

4.2 Phần khai báo

Phần mơ tả đối tượng tốn mà chương trình xử lí Các khai báo khác nhau ñược viết cách dấu ; Gồm:

Khai báo ñơn vị uses

Khai báo nhãn label

Khai báo hằng: const

Khai báo kiểu: Type

Khai báo biến: Var

Khai báo chương trình con: Procedure Function

Các khai báo phần tuỳ thuộc toán cụ thể mà có hay khơng, có một vài khai báo Cách khai báo sử dụng cụ thể ñược giới thiệu phần sau

(116)

Phần ñược bắt đầu từ khố BEGIN , kết thúc từ khoá END dấu chấm (.) hết ðặt BEGIN END lệnh chương trình , lệnh ñược viết cách dấu ; sau:

BEGIN

Lệnh 1; Lệnh 2; Lệnh n; END

Phần bắt buộc phải có chương trình, chứa lệnh xử lí liệu mơ tả phần khai báo ðây phần chương trình để giải tốn Người lập trình phải bỏ nhiều cơng sức để thiết kế thuật giải viết chương trình cho phần

4.4 Các bước lập trình

Trước viết chương trình giải tốn đó, người lập trình phải biết cách giải tốn hay xác phải biết thuật giải để giải tốn trình bày thuật giải ngơn ngữ lập trình

Bước 1: Soạn thảo chương trình

ðây bước viết chương trình, viết giấy trước nhập vào máy, sửa lỗi, cập nhật Các chương trình gọi chương trình nguồn, tên chúng tự động gán PAS Ta dùng hệ soạn thảo văn đó, thường hệ soạn thảo văn TURBO PASCAL

Bước 2: Dịch chương trình (Alt+F9)

Gọi chương trình dịch (compiler) dịch chương trình nguồn viết bước sang dạng mã máy, kết thường tạo tệp dạng *.EXE, *.OBJ Bước cho phép ta phát lỗi ñể sửa Thường lỗi cú pháp thiếu dấu ; viết sai từ khố, sai tên thơng báo Ta phải sửa hết lỗi chuyển sang bước

Bước 3: Chạy chương trình thử (Ctrl+F9)

Nếu kiện cung cấp xác mà chương trình cho kết sai ta phải xem lại thuật giải ðây lỗi ñặc biệt nghiêm trọng khơng thể ngồi qua thơng báo lỗi làm sai tồn tốn Ta phải quay lại bước để sửa chạy lại

Câu hỏi ôn tập chương I

(117)

CHƯƠNG II

CÁC KIỂU DỮ LIỆU CƠ SỞ VÀ CÁCH KHAI BÁO

1 Khái niệm liệu, kiểu liệu

1.1 Khái niệm liệu

Dữ liệu tất thơng tin có thật máy tính xử lí Chúng có nhiều dạng khác nhau, thể qua ñối tượng cần xử lí văn bản, số liệu, âm thanh, hình ảnh,

1.2 Kiểu liệu

Kiểu liệu tập hợp tất giá trị mà đại lượng thuộc kiểu nhận được, xác định số phép tốn

ðiều có nghĩa đại lượng (biến, hằng, ) nhận tập hợp giá trị định (chứ khơng phải giá trị có) tập hợp giá trị có xác định số phép tốn Chẳng hạn kiểu số nguyên thông thường nhận giá trị phạm vi -215

đến 215-1, có phép tốn số học +, -, *, /, div, mod phép so sánh =,<,> 1.3 Phân loại kiểu liệu

TURBO PASCAL phân loại kiểu liệu sau Kiểu liệu

Kiểu vơ hướng đơn giản Kiểu liệu có cấu trúc Con trỏ Kiểu sở Kiểu người dùng

ñịnh nghĩa Kiểu

logic Bool

Kiểu số nguyên

Kiểu số thực

Kiểu kí tự

Kiểu liệt kê

Kiểu khoảng

Mảng Bản ghi

Tập hợp

Tệp Kiểu xâu kí tự 2 Các kiểu liệu ñơn giản

2.1 Kiểu số nguyên

Kiểu số nguyên bao gồm tất số nguyên biểu diễn máy tính Từ khố : Integer

Phạm vi biểu diễn: từ -32768 ñến 32767 , tức -215 ñến 215-1 ( dùng byte=16 bit ) Như kiểu integer ñoạn tập số nguyên

(118)

+ Các phép toán số học: + ( cộng) , - ( trừ ), * ( nhân ) , / ( chia ) , DIV ( phép chia lấy phần nguyên, ví dụ: div 3=2), MOD ( phép chia lấy phần dư, ví dụ: mod 3=1)

+ Các phép so sánh: = ( ) , < ( nhỏ ) , <= ( nhỏ ), > ( lớn hơn) , >= ( lớn ), <> ( khác )

Trong TURBO PASCAL, kiểu số ngun khai báo với từ khố integer nói cịn có kiểu số ngun khác ( xem bảng ) phục vụ cho mục đích tính toán khác

Kiểu ( từ khoá )

Phạm vi biểu diễn Kích thước (byte)

Byte 255

Shortint -128 127

Integer -32768 32767

Word 65535

Longint -2147483648 2147483647 2.2 Kiểu số thực

Kiểu số thực tập hợp tất số thực biểu diễn máy tính Khơng phải tất số thực biểu diễn máy tính mà độ lớn độ tinh xác phụ thuộc vào máy chương trình dịch

- Kiểu số thực khai báo với từ khoá real - Phạm vi biểu biễn: từ 1.9x10-39 đến 1.7x1038

- Các phép tốn: Kiểu real thực với tất phép tốn số thực thơng thường: +, -, *, / phép so sánh ( khơng có phép div mod dành cho số thực )

- Cách viết số thực dạng dấu phảy ñộng:

Trong máy tính số thực viết dùng dấu chấm để ngăn phần nguyên phần lẻ thập phân Trong dạng dấu phảy ñộng số thực ñược viết theo dạng: AE+b, A gọi phần định trị, E+b gọi phần mũ

Ví dụ: Ta xem xét cách viết khác số 824.12345=8.2412345x102 hay 8.2412345E+2

=824123.45x10-3 hay 824123.45E-3

Trong TURBO PASCAL, ngồi kiểu số thực khai báo với từ khố real nói cịn có kiểu số thực khác ( xem bảng ) phục vụ cho mục đích tính tốn với độ lớn độ xác khác

Kiểu

( từ khoá ) Phạm vi biểu diễn

Chữ số có nghĩa Kích thước ( byte )

Single 1.5E-45 3.4E+38 7-8

Real 2.9E-39 1.7E+38 11-12

Double 5.0E-324 1.7E+308 15-16

(119)

* Các hàm số học chuẩn dùng cho kiểu số nguyên số thực: ðây hàm ñược ñịnh nghĩa sẵn TURBO PASCAL, ta sử dụng cơng cụ để tính tốn

Tên hàm ( TP ) Cho kết ( hàm) ABS(X) | X (giá trị tuyệt ñối X) SQR(X) X2 ( X bình phương)

SQRT(X) X (căn bậc X )

LN(X) lnX (Logarit Nepe)

EXP(X) eX

SIN(X) sinX ; X cho radian

COS(X) cosX; X cho radian

ARCTAN(X) arctangX

SUCC(n) n+1 ( số n ) , n nguyên PRED(n) n-1 ( số kề trước n ) , n nguyên TRUNC(X) cắt, cho phần nguyên X

ROUND(X) Làm trịn phần lẻ X 2.3 Kiểu kí tự

Kiểu kí tự tập hợp tất kí tự bảng mã máy tính ( ASCII ) Từ khố Char

Có thể sử dụng phép tốn so sánh kiểu kí tự, kí tự đứng trước theo thứ tự bảng mã máy tính coi nhỏ hơn, kí tự đứng sau xem lớn

Ví dụ: 'a' < 'b'

Hằng kí tự ñược viết cặp dấu nháy ' ' Các hàm dùng cho kiểu kí tự:

Tên hàm ( TP ) Cho kết ( hàm)

ORD(C) cho số thứ tự kí tự C bảng mã CHR(n) cho kí tự có số thứ tự n

SUCC(C) cho kí tự đứng kề sau PRED(C) cho kí tự đứng kề trước 2.4 Kiểu logic (Boolean)

Từ khoá Boolean

Các phép toán logic: NOT , AND, OR, XOR Các phép toán so sánh: =, <, >,

(120)

2.5 Kiểu liệt kê (Enumerated scalar type)

Là kiểu cho phépngười lập trình tự định nghĩa kiểu vô hướng cách liệt kê giá trị kiểu vô hướng thông qua tên người lập trình tạo Danh sách giá trị ñược ñặt ngoặc ñơn mơ tả tên kiểu phần mơ tả (Phần TYPE)

Từ khố: TYPE Ví dụ:

TYPE

Boolean=(False, True);

Color=(Red, Blue, Green, While, Black);

Một biến vô hướng định nghĩa thơng qua kiểu ñược mô tả phần TYPE sau:

VAR

Ketqua: Boolean; Mau1, Mau2: Color;

Hoặc khai bái trực tiếp với mô tả kiểu liệu: VAR

Gioitinh: (Nam, nu);

Ngay: (Chunhat, Hai, Ba, Tu, Nam, Sau, Bay); Ví dụ:

Ketqua:= True; Mau1:=Blue; Gioitinh:=Nam; Ngay:=Chunhat;

2.6 Kiểu khoảng (Sub- range Type)

Là kiểu vơ hướng dụng biến ñược láy giá trị khoảng (xác ñịnh cận cận dưới)

• Quy tắc định nghĩa:

Hang_can_duoi Hang_can_tren;

Trong đó: Hang_can_duoi < Hang_can_tren, kiểu Tác dụng: - Tiết kiệm ô nhớ

- Có thể kiểm tra giá trị biến chạy chương trình khơng vượt khỏi giới hạn khoảng

Ví dụ: TYPE

Ngay= (Chunhat, Hai, Ba, Tu, Nam, Sau, Bay); Chu_cai_hoa='A' 'Z';

VAR

ch: Chu_cai_hoa;

(121)

3 Các khai báo

3.1 Khai báo ñơn vị

ðơn vị kiểu tổ chức chương trinh Pascal, có chương trình con, nhằm thực một chức ñó Ta khai báo ñơn vị sử dụng chương trình theo cú pháp sau:

Uses Tên_đơn_vi;

CRT ñơn vị chuẩn quản lý hình, bàn phím; GRAPH đơn vị đồ họa PRINTER ñơn vị khai báo máy in, máy in ñược cài đặt tên LST

Ví dụ 1: Uses crt;

Ví dụ 2: Uses crt, graph, printer;

3.2 Khai báo nhãn

Nhãn tên Pascal Nhãn dùng đánh dấu câu lệnh chương trình để có thể chuyển điều khiển tới Khai báo nhãn chương trình theo cú pháp sau:

Label Tên_nhãn;

Cách ñánh dấu nhãn cho câu lệnh sau: Tên_nhãn : Câu lệnh;

Ví dụ:

Label Tiep;

Tiep : Readln(x);

3.3 Khai báo

Hằng ñại lượng khơng thay đổi giá trị q trình xử lí Ta khai báo theo cú pháp:

const Tên_hằng=Giátrị ;

ở đó: Tên_hằng ta đặt ra, Giátrị giá trị mà tên nhận giữ khơng đổi suốt q trình xử lí

Ví dụ: const n=10; { khai báo số nguyên n=10} pi=3.1416; { khai báo số pi }

ki_tu='Y'; { khai báo kí tự ki_tu nhận kí tự Y} 3.4 Khai báo kiểu

Khai báo kiểu ñịnh nghĩa kiểu liệu người sử dụng tạo Khai báo kiểu có cú pháp sau:

Type Tên_kiẻu = Mô_ tả_kiểu;

Ví dụ: Type Mau = (do, xanh, vang, tim, nau);

Type Phuong_tien_GT = (xe_dap, xe_may, o_to, tau_hoa); Type Tuoi_nguoi = 300;

(122)

3.5 Khai báo biến

Biến đại lượng thay đổi giá trị q trình xử lí Biến chương trình tên ô nhớ cất giữ liệu Muốn sử dụng biến ta phải khai báo trước biến cách viết tên biến phần khai báo ñầu chương trình sau từ khố Var

Cú pháp:

Var Tên_biến:Kiểu_dữ_liệu;

ở đó: Tên_biến ta đặt ra, Kiểu_dữ_liệu tên kiểu liệu TURBO PASCAL, dấu hai chấm bắt buộc phải có để ngăn phần khai báo, dấu chấm phảy kết thúc dịng khai báo Các biến có kiểu khai báo cách viết tên biến cách dâú phảy (,), nhóm biến khác kiểu viết cách dấu ;

Ví dụ: Var i:integer; { khai báo biến có tên I, biến có kiểu nguyên} x,y,z:real; { khai báo biến x,y,z nhận giá trị có kiểu thực } t: char; { khai báo biến t có kiểu kí tự }

kiem_tra:boolean; { khai báo biến logic } Tuoi: 300;

ðối với tốn, phân tích thuật tốn, ta phải xác định rõ chương trình cần phải nhập vào kiện ? kết trung gian cần phải ñược chứa, liệu gì? để từ có phần khai báo xác, khơng bị thiếu mà khơng thừa gây lãng phí nhớ (!)

4 Biểu thức câu lệnh

4.1 Biểu thức

Biểu thức cơng thức tính tốn để có giá trị theo cơng thức tốn học Một biểu thức bao gồm toán tử kết hợp với toán hạng

Các toán tử TURBO PASCAL gồm: phép toán số học ( +, -, *, / ), phép so sánh ( =, <, >, ), phép toán logic ( NOT, AND, OR);

Các toán hạng: gồm hằng, biến, hàm ñược dịnh nghĩa TURBO PASCAL Thứ tự ưu tiên phép toán sau:

1 dấu ngoặc ( ) nội dung viết dấu ngoặc ñược ưu tiên thực trước phép lấy ñối ( - ), phép NOT

3 phép tính loại nhân, chia: *, /, DIV, MOD, AND phép tính loại cộng, trừ: +, -, OR

5 phép so sánh: +, <>, <, >,

Chú ý: Biểu thức Pascal viết dong phải ý dùng dấu ( ) ñể viết cho xác

Ví dụ: Biểu thức tốn học viết là:

ab ac b + − Trong Pascal viết là: (b*b- 4*a*c)/(1+sqrt(2*a*b)) Biểu thức toán học viết là:

1 sin cos sin + + + x x x

(123)

4.2 Câu lệnh

Câu lệnh xác định cơng việc, thao tác mà chương trình phải thực để xử lí liệu mô tả, khai báo Các lệnh viết cách dấu (;), TURBO PASCAL phân loại lệnh sau:

- Lệnh đơn: lệnh khơng chứa lệnh khác

- Lệnh có cấu trúc: thường chứa nhiều lệnh ñơn, bao gồm khối lệnh, lệnh thử rẽ nhánh, lệnh lặp

- Lệnh hợp thành ( gọi lệnh phức hay lệnh ghép ): gồm nhóm lệnh đặt cặp từ khoá begin end; ( dấu chấm phảy (;) kết thúc dấu chấm ) sau:

begin

lệnh1; lệnh2; lệnhn; end;

Dạng lệnh cho ta thấy tính có cấu trúc TURBO PASCAL Một nhóm lệnh giải trọn vẹn cơng việc tổ chức khối lệnh dạng này, công việc tốn lớn giao cho người làm trước ghép lại để giải tốn tổng thể Chúng ta ñề cập kĩ vấn đề phần chương trình ( thủ tục hàm )

Bài tập chương

Hãy viết khai báo biến cho tốn sau:

1 Tính n giai thừa: n! =1.2 n với n>1 Tính tổng: S=1/2 + 1/4 + + 1/(2k)

Q=1.1!+2.2!+ +n.n!

3 Tìm in tất số phương nhỏ số cho trước, cho biết có số phương

4 Viết chương trình giải tốn cổ: " Vừa gà vừa chó, bó lại cho trịn, ba mươi sáu con, trăm chân chẵn Hỏi có gà, chó?"

5 Viết chương trình tìm ước số chung lớn số nguyên dương cho trước Tính Ex=1

1

2

+ x + x + +x +

n n

! ! ! với độ xác ε=10

-4 ( ABS(xn/n!) < ε

), giá trị x nhập vào từ bàn phím chạy chương trình

7 Cần có 50000 đ từ loại giấy bạc 1000đ, 2000đ 5000đ Tìm tất phương án Chuyển số thập phân nguyên dương thành số nhị phân, in hình dạng

(124)

CHƯƠNG III

CÁC THỦ TỤC VÀO RA DỮ LIỆU VÀ CÁC CẤU TRÚC ðIỀU KHIỂN

1 Phép gán

Phép gán dùng ñể gán giá trị biểu thức cho biến Kí hiệu phép gán := Cú pháp

Tên_biến:=Biểu thức;

Ý nghĩa: Khi gặp lệnh này, trước hết máy tính giá trị biểu thức vế phải gán giá trị tính cho biến vế trái

Chú ý: kiểu liệu biểu thức phải phù hợp với kiểu liệu biến vế trái

Ví dụ: Với biến khai báo thích hợp đầu chương trình, thân chương trình ta viết

x:=5; nghĩ biến x nhận giá trị

x:=x+1; giá trị biến x ñược thay giá trị tăng thêm delta:=b*b-4*a*c; tính giá trị delta chương trình giải phương trình bậc doan:= true;

chu_cai:= 'A';

2 Các thủ tục Vào- Ra liệu

2.1 Các thủ tục vào liệu

Các biến chương trình nhận giá trị thơng qua phép gán chương trình, nhiên, để gán giá trị cho biến thơng qua thiết bị nhập chuẩn bàn phím ta dùng thủ tục sau

read( danh sách tên biến); readln(danh sách tên biến);

ý nghĩa: nhập giá trị cho biến danh sách tên biến cách gõ vào từ bàn phím Các biến danh sách tên biến viết cách dấu phảy (,) Khi nhập giá trị cụ thể, giá trị phải phù hợp với biến danh sách số lượng biến, kiểu biến vị trí biến danh sách Các giá trị số viết cách dấu khoảng trắng (dấu cách)

Các biến thủ tục cho phép kiểu sau: Nguyên, thực, kí tự, xâu kí tự, khoảng con, Khơng kiểu logic

Ví dụ: với khai báo (bài 2.III), ta viết read(x,y,z);

readln(t);

khi chạy chương trình ta gõ: ↵

N↵

(125)

Hai cách viết read readln có ý nghĩa tác dụng nhập liệu, khác sau thực xong chức lệnh readln đưa trỏ đầu dịng tiếp theo, cịn lệnh read khơng

Ngồi cách viết cịn có thủ tục readln; khơng có tham số cho phép dừng chương trình chờ gõ phím trước tiếp tục

Chú ý: Khi vào liệu cho biến kí tự biến xâu kí tự ta dùng thủ tục Readln( ) biến thủ tục

Ví dụ: ðầu chương trình khai báo biến Var t: string; p: char; i,j,k : integer;

Trong thân chương trình vào liệu cho biến viết sau: Readln(t); readln(p); readln(i,j,k);

2.2 Các thủ tục liệu

Có cách viết liệu hình: write( mục cần ghi ); writeln( mục cần ghi );

- ý nghĩa: ñưa hình kết tính tốn chương trình, giá trị biến, hay tất nằm cặp dấu nháy ' '

- Ví dụ: write(x,y); In hình giá trị x y, kết hình 36 Có thể viết thành

write(x); write(y); hay rõ

write('x=',x);write('y=',y); kết x=3 y=6

các kí tự 'x=' 'y=' nằm cặp dấu ngoặc có tác dụng trình bày, làm phân biệt rõ giá trị ñược viết

Hai cách viết có ý nghĩa việc thể liệu hình, nhiên thủ tục writeln chuyển trỏ xuống đầu dịng sau thực hiện, thủ tuc write giữ nguyên vị trí trỏ

Ngồi dạng cịn có thủ tục writeln; khơng có tham số có tác dụng đưa dịng trắng khơng chứa

2 Kết hợp read, readln write, writeln ñể nhập liệu

Ta kết hợp thủ tục ñể tạo dạng nhập liệu sáng sủa ñẹp mắt theo mẫu: write(' câu nhắc nhập liệu '); readln(biến);

Ví dụ:

write( ' Hãy nhập liệu cho biến x:'); hay write('x=');

readln(x); readln(x);

kết là:

Hãy nhập liệu cho biến x:( ta gõ ) hay x= ( ta gõ )

nên viết câu dẫn nhập gợi ý biến nhập vào, khơng nên bỏ qua viết writeln( ' Hãy nhập liệu cho biến x:'); hay writeln('x=');

read(x); read(x);

vì chạy chương trình trỏ nhập nhảy xuống dịng dịng hướng dẫn, nhìn khơng đẹp mắt

(126)

2.4 Viết liệu có quy cách

Một yêu cầu trình bày liệu hình phải sáng sủa, ñúng quy cách, dễ ñọc, dễ hiểu TURBO PASCAL có quy ñịnh cho kiểu liệu sau

* Viết kiểu số nguyên

write(i:n); writeln(i:n);

trong I số ngun cần ghi ra, n số chỗ dành ñể viết số ngun hình, máy bố trí số nguyên từ phải sang trái, thừa bỏ trống bên trái

Ví dụ: với I=23, j=234 writeln(i);writeln(i:5); writeln(j:5); cho 23

_ _ 23 _ 234

Như viết khơng có quy cách lề trái, viết có quy cách phải

*- Viết kiểu số thực

mẫu 1:

write(r:m:n); writeln(r:m:n);

trong ñó r số thực cần ghi ra, m số chỗ dành cho số thực ( kể dấu chấm ngăn cách phần nguyên phần lẻ, có) n số chỗ dành cho phần lẻ thập phân

mẫu 2:

write(r:n);

trong n số chỗ cho số thực viết dạng e-mũ Ví dụ: với r=123.45

thì writeln(r); writeln(r:8:3); writeln(r:7); cho kết 1.234500000E+02 ( 10 chữ số dành cho phần lẻ ) 123.450

1.2E+00 ( có làm trịn )

*- Viết kiểu kí tự

Với kiểu kí tự, viết khơng quy cách cho kí tự bình thường, kí tự chiếm chỗ, cịn viết có quy cách kí tự bố trí từ phải sang trái, thêm dấu khoảng cách vào bên trái thừa chỗ

Ví dụ: với t='Y'

writeln(t); writeln(t:3); writeln('PASCAL'); writeln('PASCAL':8); cho

Y Y PASCAL PASCAL

*- Viết kiểu boolean

kiểu boolean với giá trị TRUE FALSE ñược viết theo dạng write(ok); writeln(ok:n);

trong ok biến kiểu boolean, n số chỗ ñể viết biến ok

e- In máy in

Các thủ tục write writeln dùng ñể ñưa liệu máy in Muốn vậy, đầu chương trình phải có lời gọi chương trình chuẩn USES PRINTER; đầu chương trình phải có thành phần Lst dấu phảy (,) ñứng trước nội dung cần in

(127)

*- Các thủ tục trình bày hình TURBO PASCAL

ðây thủ tục có sẵn TURBO PASCAL phục vụ cho việc trình bày hình Muốn dùng thủ tục phải có lời gọi chương trình chuẩn USES CRT; đầu chương trình Các thủ tục là:

CLRSCR; xố tồn hình, chuyển trỏ góc bên trái hình CLREOF; xố kí tự bên phải vị trí trỏ thời

GOTOXY(x,y); chuyển trỏ hình đến điểm có toạ độ (x,y) ( hình văn có 25 dịng, 80 cột, thủ tục x toạ độ cột, y toạ độ dịng )

TEXTCOLOR(Mau); thiết lập màu cho văn bản, Mau số nguyên nhận giá trị từ trở lên, giá trị lớn Mau phụ thuộc loại hình máy Ta định Mau chữ tiếng Anh màu ( xem bảng )

Số nguyên màu Tên màu

0 Black

1 Blue

2 Green

3 Cyan

4 Red

5 Magenta

6 Brown

7 LightGrey

8 DarkGrey

9 LightBlue

10 LightGreen

11 LightCyan

12 LightRed

13 LightMagenta

14 Yellow

15 White

TEXTBACKGROUND(Mau); xác lập màu cho văn

Ví dụ: đoạn lệnh chương trình in dịng chữ THU DO HA NOI màu xanh vàng lên hình

uses CRT;

textbackground(14); textcolor(blue);

write(' THU DO HA NOI');

2.5 Các chương trình ứng dụng lệnh ñã học

* Bài toán 1: Tính diện tích chu vi hình trịn

Phân tích tốn :Trong tốn biến vào R; biến là: s (diện tích), cv ( chu vi); biến có kiểu số thực

Tính tốn theo cơng thức sau: s = 3.14* R2 ;

(128)

Chương trình viết sau:

Program Dien_tich_chu_vi_hinh_tron; Uses crt;

Var cv, s, r : real; Begin

Clrscr;

Write(' hay nhap vao ban kinh r: '); Readln(r);

S:= 3.14 * r*r; Cv:=2*3.14*r;

Writeln(' Dien tich = ', s:8:2); Writeln(' Chu vi = ', cv:8:2); Readln;

End

* Bài tốn 2: Bài tốn tính lương, bảo hiểm xã hội, bảo hiểm y tế tiền lĩnh cán cơng chức nhà nước Theo quy định lương = hệ số lương * 350000;

bảo hiểm xã hội = 5% * lương ; bảo hiểm y tế = 1% * lương; tiền lĩnh = lương - bảo hiểm xã hội - bảo hiểm y tế

Phân tích tốn: Trong toán biến vào Ht ( họ ten) kiểu xâu kí tự biến HS (hệ số lương) kiểu số thực Các biến Ht, HS, luong, BHXH ( bảo hiểm xá hội) kiểu thực, BHYT ( bảo hiểm y tế) kiểu thực, TL ( tiền lĩnh ) kiểu thực

Tính tốn theo cơng thức cho

Trong chương trình có sử dung câu lệnh trình bày hình Chương trình sau:

Program Tinh_luong; Uses Crt;

Var HT:string[25]; LUONG, HS, BHXH, BHYT, TL:Real; Begin

Clrscr;

Textcolor(red);

Textbackground(Blue); Gotoxy(10,5);

Write(' Nhap ho va ten: '); Readln(HT); Write(' Nhap he so luong '); Readln(HS); LUONG:= HS * 350000;

HBXH:= LUONG * 0.05; BHYT:= LUONG * 0.01; TL:= LUONG-BHXH-BHYT;

WRITELN(HT:25,HS:6:2,LUONG:10:1,BHXH:10:1,BHYT:10:1,TL:10:1); READLN;

(129)

3 Các lệnh ñiều kiện

Phần ta nghiên cứu lệnh cho phép chương trình rẽ nhánh thực cơng việc dựa giá trị điều kiện Có dạng lệnh điều kiện câu lệnh điều kiện (cho phép rẽ tối ña nhánh) câu lệnh lựa chọn (cho phép rẽ nhiều nhánh)

3.1 Câu lệnh ñiều kiện

a Dạng lệnh

• Dạng đơn giản

IF <điều kiện> THEN < lệnh >;

<điều kiện> biểu thức điều kiện liên hệ tốn tử: =, < , > , <= , >= (hoặc) phép toán logic NOT, AND, OR

< lệnh > câu lệnh đơn giản phức hợp

- ý nghĩa : gặp lệnh này, trước tiên máy kiểm tra <ñiều kiện>, <điều kiện> cho thực < lệnh >, cịn <điều kiện> sai máy bỏ qua < lệnh > chuyển sang công việc

• Dạng tổng quát

IF < ñiều kiện > THEN < lệnh1 > ELSE < lệnh2 >;

- ý nghĩa : gặp lệnh này, trước tiên máy kiểm tra <ñiều kiện>, <điều kiện> cho thực < lệnh1 >, cịn trái lại <điều kiện> sai máy thực <lệnh2 >

Sơ ñồ khối câu lệnh điều kiện sau

b Ví dụ áp dụng

VD1: Viết chương trình nhập vào số a tuỳ ý, kiểm tra a khơng âm in bậc a, trái lại in thông báo 'số âm bậc 2'

Chương trình viết sau: Program canbac2; Uses crt;

Var a: real; Begin

write(' Hay nhap vao so a:'); readln(a);

if a >= then writeln(' Can bac hai cua a la:', sqrt(a)) else writeln(' So am khong co can bac hai'); Readln;

End

LÖnh LÖnh §iỊu kiƯn

(130)

VD2: Viết chương trình giải phương trình bậc hai ax2+bx+c=0

Program GPTB2; Uses crt;

var

a,b,c,x1,x2,dta:real; Begin

clrscr; gotoxy(5,5);

writeln('CHUONG TRINH GIAI PHUONG TRINH BAC HAI'); writeln;

write('Vao cac he so:'); readln(a,b,c);

dta:=b*b-4*a*c; if dta>0 then begin

writeln('Phuong trinh co nghiem thuc:'); X1:=(-b+sqrt(dta))/(2*a);

X2:=(-b-sqrt(dta))/(2*a); writeln('X1=',X1:6:2); writeln('X2=',X2:6:2); end;

if dta=0 then

writeln('Phuong trinh co nghiem kep X=',-b/(2*a):6:2); if dta<0 then

begin

writeln('Phuong trinh co nghiem phuc:'); writeln('X1=',-b/(2*a):6:2,'-',sqrt(-dta):6:2,'i'); writeln('X2=',-b/(2*a):6:2,'+',sqrt(-dta):6:2,'i'); end;

readln; End

Lưu ý: - Câu lệnh phức hợp: chương trình có chỗ TURBO PASCAL cho phép viết lệnh, ta lại muốn viết nhiều lệnh thành phần lệnh thành phần phải đặt cặp từ khoá Begin end; (dấu chấm phảy kết thúc) Chẳng hạn ví dụ trên, ứng với trường hợp dta>0 máy phải thực lệnh cặp từ khố begin end; sau từ khố then, cịn ứng với trường hợp dta=0 máy phải thực lệnh, khơng cần dùng câu lệnh phức hợp

- Các câu lệnh ñiều kiện viết lồng Tức <lệnh1> <lệnh2> lại câu lệnh điều kiện dạng IF THEN IF THEN ELSE cần lưu ý IF ñi với THEN Chẳng hạn xem ñoạn chương trình phân loại kết học tập sau:

IF diem>=5 THEN

IF diem>=7 THEN loai:='Kha gioi' ELSE loai:='TB' ELSE

(131)

3.2 Câu lệnh lựa chọn: CASE OF

Câu lệnh ñiều kiện cho phép ta thực rẽ nhánh ứng với hai giá trị ñúng hay sai biểu thức điều kiện ðể thực rẽ nhiều nhánh ứng với nhiều giá trị khác biểu thức, ta phải sử dụng câu lệnh lựa chọn

a Dạng lệnh

Dạng ñơn giản:

CASE <biểu thức> OF hằng1: <lệnh1>; hằng2: <lệnh2>;

hằngn: <lệnhn>; END;

Dạng tổng quát: CASE <biểu thức> OF

hằng1: <lệnh1>; hằng2: <lệnh2>;

hằngn: <lệnhn> ELSE <lệnh n+1>; END;

Trong <biểu thức> phải có kiểu phải kiểu vơ hướng đếm (các kiểu số ngun kiểu kí tự, kiểu Boolean biết)

ý nghĩa:

Khi gặp câu lệnh rẽ nhánh, <biểu thức> ñã ñược nhận giá trị ñó, giá trị (số kí tự) Nếu <biểu thức> nhận giá trị <lệnh> tương ứng với thực Cịn <biểu thức> nhận giá trị khơng rơi vào máy bỏ qua lệnh ñối với dạng ñơn giản, máy thực <lệnh n+1> sau từ khoá ELSE ñối với dạng tổng quát

Lưu ý: Từ khoá END với dấu chấm phảy (;) câu lệnh ñể kết thúc câu lệnh lựa chọn khơng phải kết thúc chương trình

b Ví dụ áp dụng

VD1: Viết chương trình xem thời khoá biểu ngày tuần Yêu cầu: máy in câu hỏi 'Bạn muốn xem thời khoá biểu thứ mấy?' ta gõ vào ngày thứ (của tuần) muốn xem máy in thời khố biểu ngày hơm

Chương trình viết sau: (giả sử xem thời khoá biểu lớp phổ thơng, bạn đọc hiệu chỉnh theo ý mình)

Program XEM_TKB; Uses crt;

Var thu: 7; {biến thu ñể chứa thứ ngày tuần} Begin

write(' Ban muon xem thoi khoa bieu cua thu may?'); readln(thu);

CASE thu OF

2:writeln('Toan Ly Van'); 3:writeln('Sinh Ki Hoa'); 4: writeln('Toan Hoa Ly'); 5: writeln('Van Sinh The duc'); 6: writeln('Su Dia Chinh tri'); 7: writeln('Van Toan Sinh hoat'); END;

(132)

Bạn đọc áp dụng câu lệnh dạng tổng qt để mở rộng chương trình xem thời khố biểu cho gõ vào số khơng phải thứ tuần (2 7) máy in thơng báo ngày nghỉ

Lưu ý:

- Sau máy thực lệnh Do muốn dùng nhiều lệnh ta phải sử dụng câu lệnh phức hợp

- Các viết gộp lại với Chẳng hạn thứ thứ có thời khố biểu thay phải viết dịng lệnh, ta viết:

3,5: writeln('Sinh Ki Hoa');

- Các câu lệnh lựa chọn lồng Tức câu lệnh lựa chọn lại chứa câu lệnh lựa chọn khác

4. Các lệnh lặp

Trong lập trình giải tốn, ta gặp trường hợp chương trình phải thực lặp lặp lại cơng việc Việc thực lặp phải theo quy luật Số lần lặp xác định trước khơng xác định Sau ñây ta xét lệnh lặp dạng

4.1- Lệnh lặp có số lần lặp xác định

ðây câu lệnh có cấu trúc cho phép thực lặp ñi lặp lại cơng việc (đoạn lệnh) với số lần thực ñược xác ñịnh trước ðể dễ hiểu trước hết ta xét ví dụ đơn giản sau:

Giả sử ta phải viết số từ đến 10, số chiếm dịng hình Ta thực cơng việc 10 lệnh writeln sau:

writeln(1); writeln(2);

writeln(10);

ðây cách viết dài dịng đơn điệu ta thực cơng việc dòng lệnh ngắn gọn:

FOR I:=1 TO 10 DO writeln(I);

ý nghĩa câu lệnh là: cho biến nhận giá trị nguyên I chạy từ ñến n ( biến I nhận giá trị số nguyên từ ñến n), với giá trị I máy thực cơng việc sau từ khố DO in giá trị I

Chi tiết bước thực vòng lặp FOR sau:

ðầu tiên biến I nhận giá trị khởi ñầu (do lệnh gán I:=1), máy kiểm tra giá trị không vượt giá trị cuối 10 nên cho thực lệnh writeln(I) viết giá trị Sau biến I ñược tăng thêm ñơn vị, tức I:=I+1 Bây I=2, chưa vượt qua giá trị cuối 10 nên lệnh writeln(I) lại ñược thực ñể in giá trị I lên hình Rồi I lại tăng lên giá trị cuối I ñể lệnh writeln(I) ñược thực I:=10 Quá trình kết thúc I nhận giá trị 11 vượt giá trị cuối 10

Câu lệnh ví dụ đơn giản lệnh tổng quát sau:

a Dạng lệnh lặp tăng (dạng tiến)

(133)

Trong Biến_ñiều_khiển, Biểu_thức1 Biểu_thức2 phải kiểu liệu phải kiểu vơ hướng đếm (như kiểu số nguyên, kiểu kí tự )

ý nghĩa câu lệnh sau: Trước tiên Biến_ñiều_khiển nhận giá trị khởi tạo Biểu_thức1, máy kiểm tra giá trị khơng vượt q Biểu_thức2 cho thực <Lệnh> Thực xong lệnh này, Biến_ñiều_khiển ñược tăng thêm ñơn vị, máy lại kiểm tra với Biểu_thức2 ñể thực <Lệnh> Qúa trình tiếp diễn ñến Biến_điều_khiển nhận giá trị vượt q Biểu_thức2 dừng

Số lần thực lặp ñi lặp lại <Lệnh> ñược xác ñịnh trước giá trị Biểu_thức1 Biểu_thức2 nên câu lệnh cịn gọi lệnh lặp có số lần lặp xác định

Lưu ñồ lệnh lặp FOR:

* Ví dụ

VD1: Viết chương trình tính tổng n số tự nhiên ñầu tiên S=1+2+ +n theo phương pháp cộng dồn

Phương pháp cộng dồn ñược thực sau: ban ñầu ta khởi tạo S:=0, lấy S cộng với 1, cộng với 2, cộng ñến n Như ta phải sử dụng vịng lặp FOR với biến điều khiển I chạy từ Biểu_thức1 ñến Biểu_thức2 n Ta dùng giá trị biến điều khiển để tính tổng S

Chương trình viết sau: Program Tinh_tong; Uses crt;

Var i,n:integer; S:real; Begin

Write('Cho biet gia tri cua n:'); Readln(n);

S:=0;

For I:=1 to n S:=S+i;

Writeln(' Tong tinh duoc la S:',S:10:2);

BiÕn_®iỊu_khiĨn:=BiĨu_thøc1

DO <LƯnh>

Biến_điều_khiển>Biểu_thức2

Biến_điều_khiển:=Succ(Biến_điều_khiển)

Kết thúc Đúng

(134)

Readln; End

VD2: Một người gửi tiền tiết kiệm với số tiền ban ñầu A ñồng, thời gian gửi t tháng, lãi suất tháng p Hỏi sau t tháng gửi người ñó thu ñược số tiền lãi ñồng?

Phân tích tốn: Ta biết gửi tiết kiệm số tiền thu sau tháng số tiền tháng trước cộng với lãi tháng ñó Nếu gọi S số tiền thu ñược sau tháng, t số tháng gửi ta có:

Ban ñầu S0=A

t=1 > S1=S0 +S0*p (gửi tháng)

t=2 > S2= S1 +S1*p (gửi tháng)

t=n > Sn= Sn-1 +Sn-1*p (gửi n tháng)

ðây quy luật để thực vịng lặp tính số tiền thu Chương trình viết sau:

Program Tinh_tien_lai; Uses crt;

Var i,t:integer; A,P,S:real; Begin

Write('Cho biet so tien gui ban dau: '); Readln(A); Write('Cho biet so thang gui: '); Readln(t);

Write('Cho biet lai suat theo thang: '); Readln(P); S:=A;

For I:=1 to t S:=S+ S*P;

Writeln(' Lai thu duoc la : ',S-A:10:2); Readln;

End

b Dạng lệnh lặp giảm (dạng lùi)

FOR Biến_ñiều_khiển:=Biểu_thức1 DOWNTO Biểu_thức2 DO <Lệnh>; ý nghĩa hoàn toàn tương tự dạng trên, khác Biến_ñiều_khiển nhận giá trị giảm dần khơng phải tăng dần, điều kiện kiểm tra Biến_điều_khiển khơng nhỏ q Biểu_thức2

Lưu đồ lệnh lặp FOR:

BiÕn_®iỊu_khiĨn:=BiĨu_thøc1

DO <Lệnh>

Biến_điều_khiển<Biểu_thức2

Biến_điều_khiển:=Pred(Biến_điều_khiển)

Kết thúc Đúng

(135)

Với dạng câu lệnh FOR ví dụ viết là: For I:=n downto S:=S+i;

Tổng S ñược cộng dồn theo thứ tự từ n ñến 1, tức S=n+(n-1)+ +2+1

Ví dụ: Viết chương trình in kí tự bảng mã ASCII theo thứ tự giảm dần

Các kí tự bảng mã ASCII có mã giảm dần từ 255 đến Ta dùng hàm CHR(n) để nhận kí tự

Chưng trình viết sau: Program In_cac_ki_tu;

Uses crt; Var I:integer; Begin

Clrscr;

For i:=255 downto write(chr(i):4); Readln;

End

c Các lưu ý

1) Sau từ khoá DO viết lệnh, cần thực nhiều lệnh đơn phải sử dụng câu lệnh phức hợp

2) Các lệnh lặp lồng nhau, chẳng hạn dạng: FOR I:=1 TO n DO

FOR J:=1 TO m DO <Lệnh>

Khi với giá trị biến điều khiển vịng lặp ngồi biến điều khiển vịng lặp chạy hết giá trị Tức với giá trị I J chạy từ tới m Xét ví dụ đoạn chương trình sau:

For I:= to For J:=1 to

begin

k:=i+j; writeln(k); end;

sẽ cho kết là:

3 4

3) <Lệnh> sau từ khoá DO khơng tuỳ tiện thay đổi giá trị Biến_điều_khiển, làm ta khơng kiểm sốt ñược giá trị Biến_ñiều_khiển làm rối vịng lặp

(136)

Trong tốn số có chữ số, chữ số hàng trăn nhận giá trị từ đến 9, chữ số hàng chục, chữ số hàng ñơn vị ñều nhận giá trị từ đến ðể quét hết chữ số có chữ số ta dùng vịng lặp lồng nhau, sau ta kiểm tra ñièu kiện tổng chữ số chia hết cho in số

Chương trình ñược viết sau: Program In_cac_so;

Uses crt;

Var t,c,v:integer; Begin

Clrscr;

For t:=1 to For c:=0 to For v:=0 to

If (t+c+v) mod = then writeln(t,c,v); Readln;

End

4.2- Lệnh lặp có số bước lặp khơng xác định

ở ta xét lệnh lặp có số bước lặp xác ñịnh, tức số lần thực cơng việc lặp lặp lại định trước Nhưng lập trình có tốn u cầu thực cơng việc mà số lần lặp khơng thể xác định trước được, mà phụ thuộc vào biểu thức điều kiện Có hai dạng lệnh lặp với số bước lặp khơng xác ñịnh

a Lệnh lặp với ñiều kiện trước

• Dạng lệnh:

WHILE <điều kiện> DO <Lệnh>; ý nghĩa:

Khi gặp câu lệnh này, trước tiên máy kiểm tra <ñiều kiện> Nếu <ñiều kiện> có giá trị (TRUE) <Lệnh> thực Thực xong lệnh máy quay lại kiểm tra <điều kiện> để thực <Lệnh> q trình tiếp diễn đến <điều kiện> sai dừng Sơ đồ

• Ví dụ:

VD1: Một người gửi tiết kiệm khơng kì hạn với số tiền ban đầu A đồng Hỏi sau tháng người thu ñược số tiền B ñồng, biết lãi suất 1.8%?

<LÖnh>

(137)

Phân tích tốn: Ta biết gửi tiết kiệm khơng kì hạn số tiền thu sau tháng số tiền tháng trước cộng với lãi tháng Nếu gọi S số tiền thu sau tháng, t số tháng gửi, ls lãi suất ta có:

nếu t=0 > S0=A (gửi tháng)

nếu t=1 > S1=S0 +S0*ls (gửi tháng)

nếu t=2 > S2= S1 +S1*ls (gửi tháng)

ðây quy luật để thực vịng lặp tính số tiền thu ñược Như ta phải so sánh số tiền thu ñược S sau tháng với số tiền cần ñạt B: S ñạt vượt B ta có kết luận tốn ðây điều kiện dừng vịng lặp Ta sử dụng biến ñếm t ñể ñếm số lần thực lặp, số tháng gửi

Chương trình ñược viết sau: Program Gui_tiet_kiem; Const ls=0.018;

Var A,B,S:real; t:integer; Begin

Clrscr;

Write('Cho biet so tien gui ban dau:'); Readln(A);

Write('Cho biet so tien can dat :'); Readln(B);

S:=A; t:=0;

WHILE S<B DO begin

S:=S+S*ls; t:=t+1; end;

Writeln(' Ban can gui it nhat la ', t, ' thang'); Readln;

End

VD2: Ta viết lại chương trình tính tổng S=1+2+ +n sử dụng lệnh lặp WHILE DO sau:

Program Tinh_tong1; Var i,n:integer;

S:real; Begin

Write('Cho biet gia tri cua n:'); Readln(n);

S:=0; i:=1;

While i<= n begin

(138)

Writeln(' Tong tinh duoc la S:',S:10:2); End

Như ta dùng lệnh lặp có số bước lặp khơng xác định để thay cho lệnh lặp có số bước lặp xác định Tuy nhiên biến điều khiển vịng lặp khơng tự động thay đổi mà ta phải đưa vào thân vịng lặp (biến i VD trên)

b Lệnh lặp với ñiều kiện sau

• Dạng lệnh:

REPEAT <Lệnh> UNTIL <ñiều kiện>; ý nghĩa:

Khi gặp câu lệnh này, trước tiên máy cho thực <Lệnh>, sau kiểm tra <điều kiện> Nếu <điều kiện> có giá trị sai (FALSE) quay lại thực <Lệnh> Thực xong lệnh máy lại kiểm tra <điều kiện> để thực <Lệnh> q trình tiếp diễn đến <điều kiện> dừng

Sơ đồ

Ví dụ: Lấy lại VD gửi tiết kiệm Bây ta viết lại chương trình sử dụng dạng lệnh lặp với điều kiện sau Chương trình cần thay đổi chút lệnh lặp

Program Gui_tiet_kiem; Const ls=0.018;

Var A,B,S:real; t:integer; Begin

Write('Cho biet so tien gui ban dau:'); Readln(A);

Write('Cho biet so tien can dat :'); Readln(B);

S:=A; t:=0; REPEAT

S:=S+S*ls; t:=t+1; UNTILS>=B;

Writeln(' Ban can gui it nhat la ', t, ' thang'); Readln;

§óng §iỊu kiƯn

LƯnh

(139)

End

Ta thấy phần thân vịng lặp lệnh đặt REPEAT UNTIL không cần sử dụng câu lệnh phức hợp begin end;

Bạn đọc sử dụng lệnh để viết lại chương trình tính tổng

c Các lưu ý sử dụng lệnh lặp WHILE REPEAT

1) Trong thân vòng lặp phải có lệnh làm thay đổi giá trị biểu thức điều kiện nhằm dừng vịng lặp Nếu điều kiện ln thoả mãn lệnh rơi vào vịng lập vơ tận Khi cịn cách tắt máy dừng chương trình

Xem ví dụ sau: I:=1;

WHILE I<2 DO write('Stop!');

Vịng lặp chạy vơ tận thân vịng lặp sau từ khố DO có lệnh in xâu chữ 'Stop!', khơng có lệnh làm thay ñổi giá trị I Tức với I ñược khởi tạo ban ñầu nhỏ 2, điều kiện ln thoả mãn

2) Trong lệnh lặp với điều kiện trước WHILE thân vịng lặp (sau từ khoá DO) phải sử dụng câu lệnh phức hợp begin end; cịn lệnh lặp với điều kiện sau khơng cần

3) Trong lệnh lặp với điều kiện trước, máy ln kiểm tra điều kiện trước thực lệnh, điều kiện sai từ đầu lệnh khơng thực lần Cịn lệnh lặp với điều kiện sau, máy thực lệnh lần kiểm tra điều kiện, dù ban đầu điều kiện ñúng Nhớ lệnh lặp với ñiều kiện sau lệnh ñược quay lại thực ñiều kiện sai

4) Các lệnh lặp viết lồng

5) Người ta thường dùng lệnh lặp có số bước lặp khơng xác định để quay vịng thực nhiều lần cơng việc chương trình, cho phép tạo tương tác người sử dụng máy Xem ví dụ mẫu sau:

Program VD; Var tieptuc:char;

{ biến chương trình } Begin

Repeat

{ đoạn chương trình thực cơng việc thay ñổi ñiều kiện kiểm tra}

write(' Ban co tiep tuc nua hay khong (C/K)'); readln(tieptuc);

UNTIL (tieptuc='k') or (tieptuc='K'); End;

d Lệnh nhảy vơ điều kiện GOTO

Lệnh GOTO cho phép chương trình nhảy vơ điều kiện tới vị trí thơng qua tên nhãn Nhãn số nguyên tên ñược khai báo phần LABEL ñầu chương trình Trong chương trình nhãn đặt vào vị trí phù hợp kèm theo mộ dấu hai chấm (:) Xem ví dụ sau:

Program VDNHAN; Uses crt;

(140)

Begin

a:=1; b:=2; N1: a:=a+1;

if a<5 then GOTO N1; N2: s:=a+b;

if s<10 then GOTO N2; writeln('a=', a, 'b=',b); readln;

End

Thường người ta dùng lệnh GOTO chương trình PASCAL phá vỡ tính có cấu trúc chương trình PASCAL Nếu có thể, ta nên tránh dùng lệnh

Bài tập chương III Viết chương trình cho tốn sau:

1 Tính n giai thừa: n! =1.2 n với n>1 Tính tổng: S=1/2 + 1/4 + + 1/(2k)

Q=1.1!+2.2!+ +n.n!

3 Tìm in tất số phương nhỏ số cho trước, cho biết có số phương

4 Viết chương trình giải tốn cổ: " Vừa gà vừa chó, bó lại cho trịn, ba mươi sáu con, trăm chân chẵn Hỏi có gà, chó?"

5 Viết chương trình tìm ước số chung lớn số nguyên dương cho trước Tính Ex=1

1

2

+ x + x + +x +

n n

! ! ! với ñộ xác ε=10

-4 ( ABS(xn/n!) < ε ), giá trị x

ñược nhập vào từ bàn phím chạy chương trình

7 Cần có 50000 ñ từ loại giấy bạc 1000ñ, 2000ñ 5000đ Tìm tất phương án

8 Chuyển số thập phân nguyên dương thành số nhị phân, in hình dạng X10 = Y2

9 Tính tích phân xác định hàm số ñoạn cho trước

(141)

CHƯƠNG IV

KIỂU DỮ LIỆU CÓ CẤU TRUC: KIỂU MẢNG, KIỂU XÂU KÍ TỰ, KIỂU TẬP HỢP 1 - Kiểu mảng

1.1- Khái niệm mảng (array)

a Khái niệm mảng : Mảng kiểu liệu có cấu trúc bao gồm số xác định

phần tử có kiểu, có tên chung Các phần tử mảng truy nhập thơng qua số

Trong khái niệm ta cần ñiểm sau:

- Số phần tử mảng phải số xác đinh, khơng khai báo biến Ta khai báo giá trị cụ thể chẳng hạn 5,10,20,…; khai báo

- Các phần tử mảng phải kiểu Có thể kiểu đơn giản kiểu có cấu trúc

Ví dụ : Mảng A gồm phần tử số nguyên: A[1] A[2] A[3] A[4] A[5] A[6]

Như tên mảng A, số 1,2,3,4,5,6

b Cơng dụng : Mảng dùng để lưu trữ dãy liệu có tính chất Ví dụ

họ tên thí sinh lớp, lương nhân viên quan,

Trong nhớ máy tính phần tử mảng lưu trữ từ máy Trong ví dụ mảng A ñược lưu trữ nhớ từ máy nhau, từ máy có độ dài bytes

1.2- Khai báo mảng

ðể khai báo mảng dùng cụm từ sau:

ARRAY [ Kiểu_chỉ_số 1, Kiểu_chỉ_số 2, ] OF Kiểu_phần_tử ; - Khai báo ñịnh nghĩa kiểu

TYPE

Tên_kiểu_mảng = ARRAY [ Kiểu_chỉ_số1, Kiểu_chỉ_số2, ] OF Kiểu_phần_tử ;

VAR

Tên_biến_mảng : Tên_kiểu_mảng ;

- Khai báo biến mảng trực tiếp qua khai báo VAR:

VAR

Tên_biến_mảng :ARRAY [ Kiểu_chỉ_số1, Kiểu_chỉ_số2, ] OF Kiểu_phần_tử ; Trong đó: Kiểu phần tử kiểu phần tử mảng Kiểu phần tử kiểu

Chỉ số ñể truy nhập ñến phần tử mảng Kiểu số cho phép kiểu ñơn giản sau đây: Kiểu kí tự ( CHAR), kiếu BOOLEAN, kiểu miền ( khoảng con), kiểu liệt kê Kiểu số khơng kiểu REAL INTEGER

Số số số chiều mảng, mảng chiều có số, mảng chiều có số, , mảng n chiều có n số

(142)

Ví dụ

var B: array[ 5] of char ;

ví dụ mảng B có kích thước tối đa Ví dụ

TYPE AB = ARRAY [1 5] OF INTEGER ; COLOR = ( Red, Blue, Green, While, Black ); VAR X,Y,Z : AB;

MAO, MKHAN : COLOR; Ví dụ

VAR DSHodem,DSTen : Array [1 200] of string [20] ;

DSHeso, DSLuong, DSPhucap,DSTong : array [1 200] of real; So_lap : array [ ‘a’ ‘z’] of integer;

1.3- Truy nhập mảng

Có thể truy nhập vào phần tử mảng ðể truy nhập vào phần tử mảng ta viết theo qui cách sau:

Tên_biến_mảng [ chỉ-số1, chỉ_số2, , chỉ_sốn ]

Các phần tử mảng ñược coi biến, tham gia vào thủ tục vào/ra, biểu thức, lời gọi hàm

Ví dụ: Var a:array[1 20] of integer; A[1]:=1;

readln(a[2]; a[3]:=a[1]+a[2]; Writeln(a[3]); 1.4- Mảng chiều

* Khai báo mảng chiều: Dùng cụm từ sau ARRAY [kiểu_chỉ_số] OF kiểu_phần_tử; - Dùng khai báo kiểu:

TYPE Tên_kiểu_mảng = ARRAY [ kiểu_chỉ_số ] OF kiểu_phần_tử ; VAR Tên_biến_mảng: Tên_kiểu_mảng ;

- Dùng khai báo biến :

VAR Tên_biến_mảng : ARRAY [ kiểu-chỉ_số ] OF kiểu_phần_tử ; Mảng chiều có số

* Cách dùng : Mảng chiều thường ñược dùng cho liệu dạng danh sách tuyến tính, ví

dụ dãy số, dãy xâu kí tự,

Ví dụ 1: Một dãy số nguyên a1 , a2 , , an ta khai báo sau

VAR a: ARRAY [ 100 ] OF integer ; Trong khai báo n có giá trị tối đa 100

Ví dụ 2: Một danh sách có n tên học sinh ta khai báo sau: VAR Ten: ARRAY [ 200 ] OF String [ 25] ;

Trong khai báo n có giá trị tối đa 200, tên có tối đa 25 kí tự

Ví dụ 3: Danh sách số lần xuất ( tần số ) chữ viết hoa văn ta khai báo sau:

(143)

Trong khai báo mảng có kích thước tối đa 26 ( 26 chữ hoa bảng chữ tiếng Anh)

* Có thể truy nhập vào phần tử mảng ðể truy nhập vào phần tử mảng chiều ta viết theo qui cách sau:

Tên_biến_mảng [ chỉ-số ]

Ví dụ : Chỉ phần tử thứ ví dụ ta viết a[5] Chỉ tên thứ 10 danh sách tên ta viết Ten[10] Chỉ tần số chữ ‘B’ ta viết Tan_so[ 'B' ] 1.5 Các chương trình dùng mảng chiều

Bài toán 1: Cho dãy n số nguyên viết chương trình nhập liệu vào, tính in trung bình cộng, phần tử lớn nhất, phần tử nhỏ dãy số

-Tư tưởng thuật tốn tìm phần tử max, phần tử : Trước tiên gán phần tử ñầu tiên a[1] cho max min, vị trí max, vị trí Sau duyệt phần tử từ phần tử ñầu phần tử cuối, phần tử ñang xét lớn max gán giá trị phần tử cho max, vị trí cho vị trí max, phần tử xét nhỏ gán giá trị phần tử cho min, vị trí cho vị trí

Chương trình

Program Trung_binh_max_min; Uses crt;

Var a:Array [ 100] of integer ;

i,n,max,min,vtmax,vtmin : integer ; tb : real ; Begin

Clrscr;

{ Nhap du lieu }

Write(' Nhap n: '); readln( n); for i:=1 to n

begin

Write( ' a[', i, ']=' ); readln( a[i]); end;

{ Tinh toán }

tb:=0; max:= a[1]; min:=a[1]; vtmax:=1; vtmin:=1; for i:=1 to n

begin

tb:=tb + a[i];

if max <a[i] then begin max:=a[i]; vtmax:=i; end; if >a[i] then begin :=a[i]; vtmin:=i; end; end;

{ in ket qua }

writeln(' Trung binh = ', tb/n :8:2) ;

writeln(' max= ', max, ' tai vi tri : ', vtmax); writeln(' min= ', min, ' tai vi tri : ', vtmin); readln;

end

(144)

Trong toán ta dùng thuật tốn tìm phần tử nhỏ dãy chưa đưa đứng vị trí ñầu tiên dãy ñó Dãy có n phần tử ta phải thực n-1 lần tìm phần tử lớn

Tư tưởng thuật toán sau:

-Ta so sánh phần tử ñầu tiên dãy chưa với phần tử đứng sau , có phần tử nhỏ ta đổi giá trị cho ðể ñổi giá trị phần tử cho ta dùng phần tử trung gian

- Lặp lại bước cho ñến dãy chưa khơng cịn phần tử Như dãy có n phần tử ta lặp lại n-1 lần

Chương trình

PROGRAM SAP_DAY_TANG; USES CRT;

VAR I,J,N: INTEGER; A:ARRAY[1 100] OF REAL; X:REAL ; BEGIN

CLRSCR;

(* NHAP SO LIEU *)

WRITE(' HAY NHAP SO PHAN TU N ? ');READLN(N); FOR I:=1 TO N DO

BEGIN

WRITE('A[',I,']= '); READLN(A[I]); END;

(* SAP XEP *) FOR I:=1 TO N-1 DO

FOR J:=I+1 TO N DO IF A[I]>A[J] THEN BEGIN X:=A[I];

A[I]:=A[J]; A[J]:=X; END; (* IN KET QUA *)

WRITELN(' DAY DA SAP THEO THU TU TANG'); FOR I:=1 TO N DO WRITELN(A[I]:8:2);

READLN; END

Bài toán 3: Nhập vào xâu kí tự Hãy in tần số xuất chữ cái, không biệt chữ hoa chữ thường In chữ xuất nhiều

Chương trình

program Tan_so_chu_cai ; uses crt;

var s:string; ts: array [‘A’ ’Z’ ] of integer ; n,j,m: integer ; i,vt: char ; Begin

clrscr ;

{ nhap xau ki tu }

Write(‘ Nhap xau ki tu : ‘); readln(s); n:=length(s);

{ Tinh tan so }

(145)

for j:= to n for i:=’A’ to ‘Z’

if upcase(s[j])=i then ts[i]:=ts[i] + 1; for i:=’A’ to ‘Z’ writeln(i,’ co tan so = ‘,ts[i]); { Tin tan so max }

m:=ts[‘A’] ; vt:=’A’ ; for i:=’B’ to ‘Z’ if m<ts[j] then begin

m:=ts[j]; vt:=i ; end ;

Writeln(‘ki tu ‘,vt, ‘co tan so lon nhat la : ‘,m); readln;

end

1.6- Mảng nhiều chiều

Trong phần trình bày mảng chiều, mảng nhiều chiều ñược suy diễn cách tương tư

* Khai báo mảng chiều: Dùng cụm từ sau

ARRAY [kiểu_chỉ_số1, kiểu_chỉ_số2] OF kiểu_phần_tử; - Dùng khai báo kiểu:

TYPE

Tên_kiểu_mảng = array [ kiểu_chỉ_số1, kiểu_chỉ_số2 ] OF kiểu_phần_tử ; VAR Tên_biến_mảng: Tên_kiểu_mảng ;

- Dùng khai báo biến : VAR

Tên_biến_mảng : ARRAY [ kiểu_chỉ_số1,kiểu_chỉ_số2 ] OF kiểu_phần_tử ; Mảng chiều có số

* Cách dùng : Mảng chiều thường ñược dùng cho liệu dạng bảng hay ma trận, ví dụ ma trận số có m dịng ,n cột, Mảng hai chiều có số, số dòng, số cột

Ví dụ1: Một ma trận số ngun a có dịng, cột khai báo sau VAR A: ARRAY [ 2, ] OF integer ;

Trong nhớ máy lưu trữ phần tử mảng A theo thứ tự sau: A[1,1], A[1,2], A[2,1], A[2,2], A[3,1], A[3,2]

Ví dụ 2: Một bảng có dịng, cột, bảng chứa chữ ñược khai báo sau:

VAR Bang: ARRAY [ 8, ] OF char ;

* Có thể truy nhập vào phần tử mảng ðể truy nhập vào phần tử mảng hai chiều ta viết theo qui cách sau:

Tên_biến_mảng [ chỉ_số1, chỉ_số2 ]

Cách viết để phần tử dịng có giá trị số cột có giá trị số

Ví dụ: Var A:array[1 10,1 5] of integer; A[1,1]:= 1;

(146)

Writeln(A[1,2]);

1.7 Các chương trình dùng mảng chiều

Bài tốn 1: Viết chương trình nhập ma trận m dịng , n cột tìm giá trị lớn nhất, giá trị nhỏ nhất, tính tổng phần tử, ñếm số phần tử âm

Chương trình

PROGRAM TINH_MA_TRAN;

(*TIM MAX, MIN, TINH TONG, DEM SO PHAN TU AM *) USES CRT;

VAR I,J,M,N,MAX,MIN,T,SOPTAM:INTEGER; A:ARRAY[1 30,1 20] OF INTEGER;

BEGIN

CLRSCR;T:=0;SOPTAM:=0; (* NHAP SO LIEU *)

WRITE('NHAP SO DONG M, SO COT N ');READLN(M,N); FOR I:=1 TO M DO

FOR J:=1 TO N DO BEGIN WRITE('A[',I,',',J,']=? '); READLN(A[I,J]); END;

(* TINH TOAN *) MAX:=A[1,1]; MIN:=MAX; FOR I:=1 TO M DO FOR J:=1 TO N DO BEGIN

T:=T+A[I,J];

IF A[I,J]<0 THEN SOPTAM:=SOPTAM+1;

IF MAX<A[I,J] THEN MAX:=A[I,J] ELSE IF MIN>A[I,J] THEN MIN:=A[I,J]; END;

(* IN KET QUA *) WRITELN;

WRITELN('TONG T= ',T);

WRITELN('SO PHAN TU AM LA ',SOPTAM); WRITELN('GIA TRI LON NHAT = ',MAX); WRITELN('GIA TRI NHO NHAT = ',MIN); READLN;

END

Bài tốn 2: Nhân ma trận a có m dịng, n cột với ma trận b có n dịng, l cột

Kết ma trận c có m dịng, l cột Các phần tử ma trận c tính theo cơng thức sau:

C[i,j] = a i k b k j

k n

[ , ] * [ , ]

=

1

(147)

Chương trình

(* nhan hai ma tram *) program nhan_ma_tran; uses crt;

type mang=array[1 20,1 30] of integer; var i,j,k,m,l,n:integer; a,b,c: mang; begin

clrscr;

(* nhap ma tran a *)

write('nhap so dong, so cot m,n ? ');readln(m,n); for i:=1 to m

for j:=1 to n begin

write('a[', i, ',' ,j, ']= '); readln(a[i,j]);

end;

(* nhap ma tran b *)

write('nhap so cot l ? ');readln(l); for i:=1 to n

for j:=1 to l begin

write('b(',i,',',j,')= '); readln(b[i,j]); end;

(* Tinh toan *) for i:=1 to m for j:=1 to l begin

c[i,j]:=0;

for k:=1 to n c[i,j]:=c[i,j]+a[i,k]*b[k,j]; end;

(* In ket qua *) writeln(' Ma tran tich '); for i:=1 to m

begin

for j:=1 to l write( ' ',c[i,j]:4 ); writeln;

end; readln; end

2 Kiểu xâu kí tự

2.1 Khai báo kiểu xâu kí tự

(148)

Dữ liệu kiểu xâu khai báo từ khố STRING , độ dài tối đa xâu kí tự 255 kí tự Có thể khai báo độ dài tối đa xâu kí tự dấu ngoặc vng sau từ khố STRING sau: STRING[ ]

Ví dụ: Tên người, q qn, trình độ văn hóa liệu kiểu xâu kí tự

b Khai xâu kí tự

ðể khai báo xâu kí tự dùng từ khóa String khai báo ñộ dài xâu tối ña 255 kí tự, dùng từ khóa String [n] khai báo độ dài xâu tối đa n kí tự

- Khai báo kiểu xâu:

Type Tên_kiểu_xâu = String[n]; - Khai báo biến xâu

Var Tên_biến: String[n];

Trong n số kí tự tối đa xâu, khơng có phần [n] số kí tự tối đa xâu mặc nhận 255

Ví dụ Var Hoten: string[30]; Ngaysinh: string[10]; Quequan: string; Hằng xâu kí tự Pascal ñược viết ' '

Hoten:='Le Thu Ha'; Ngaysinh:='20-10-1960'; Quequan:='Gia lam - Ha noi ';

c Truy nhập xâu kí tự

Mỗi kí tự xâu số thứ tự ñược gọi số viết [ ], kí tự có số Có thể truy nhập tới kí tự xâu theo cách viết sau: Tên_biến[chỉ_số]

Với ví dụ Hoten[2] 'e', Ngaysinh[8]

Xâu kí tự lưu trữ sau: Byte chứa kí tự ñộ dài thực xâu, byte kí tự xâu

Với ví dụ Hoten:='Le Thu Ha'; ñược lưu trữ sau:

30

L e T h u H a

Kí tự đầu chứa độ dài thực xâu kí tự ðộ dài xâu = ORD( Hoten[0])

d Hàm chuẩn Length(St) : Cho ta ñộ dài xâu kí tự Một xâu kí tự khơng chứa kí tự

là rỗng, Length(St)=0, xâu kí tự rỗng kí hiệu '' 2.2 Các thao tác xâu kí tự

a Phép cộng xâu

• Kí hiệu + ghép nối xâu kí tự • Ví dụ Que:= 'Gia lam ' + 'Ha noi'; Cho kết Que= 'Gia lam Ha noi'

b Phép So sánh hai xâu kí tự

Khi so sánh xâu kí tự, so sánh mã ASCI I cặp kí tự tương ứng từ xâu theo trình tự từ trái sang phải, xuất trường hợp sau:

(149)

- Nếu xâu có độ dài khác song cặp kí tự có mã giống đến độ dài xâu ngắn xâu ngắn xâu nhỏ

Kết phép so sánh giá trị logic True False 'hang' < 'hun' cho giá trị True

'Thoa' = 'Thoa' cho giá trị True 'nhu' > 'nhung' cho giá trị Flase

• ðọc xâu kí tự từ bàn phím: Readln(St); ðộ dài thực xâu St số kí tự gõ vào từ bàn phím Nếu khơng gõ kí tự mà gõ Enter ln xâu St rỗng

• Viết xâu kí tự hình: Write(St) Writeln(St) 2.3 Các thủ tục hàm chuẩn xử lý xâu kí tự Giả thiết St xâu kí tự có độ dài chuẩn 255 kí tự a Hàm Length(St)

Hàm cho độ dài xâu kí tự St:='Tin học' ; Length(St) có giá trị

b Thủ tục Delete(St,m,n)

Thủ tục xố n kí tự, bắt đầu tự vị trí m xâu St St:='Cong trinh khoa hoc';

Delete(St,6,5);

Kết St 'Cong khoa hoc'

Nếu m+n > Length(St) xố kí tự nằm Length(St)

c Thủ tục Insert (s1,St,m)

Thủ tục chèn xâu s1 vào xâu St vị trí m St:='Hoc tot';

s1:='Toan '; Insert(s1,St,5);

Kết St 'Hoc Toan tot'

Nếu Length(s1)+Length(St) > ñộ dài cực ñại cho phép xâu kí tự nằm khoảng ñộ dài cực ñại cho phép ñược giữ laị

d Hàm Copy(St,m,n)

Hàm chép n kí tự xâu St từ vị trí m St:='Lao dong';

s1:=Copy(St,5,2); Kết cho s1='do' Nếu m > Length(St) Copy cho xâu rỗng

Nếu m + n > Length(St) Copy nhận kí tự nằm xâu St

e Hàm Concat(St1,St2, ,Stn)

Hàm ghép nối tất xâu kí tự St1,St2, ,Stn thành xâu kí tự theo thứ tự ñã viết

Tổng số chiều dài xâu kí tự khơng lớn 255 St1:='Lao dong ';

St2:='Hoc tap '; St3:='Vui choi';

St:=Concat(St1,St1,St3); Kết St 'Lao dong Hoc tap Vui choi'

f Hàm Pos(s1,St)

Hàm cho vị trí ñầu tiên xâu s1 xâu St Nếu không tìm thấy hàm cho giá trị

(150)

s1:='345'; s2:='35ab';

Pos(s1,St) cho giá trị Pos(s2,St) cho giá trị

g Thủ tục Str(x,St)

Thủ tục biến ñổi giá trị số nguyên thực x thành xâu kí tự St biểu diễn số Cách biểu diễn xâu St ñược qui ñịnh qui cách x

I:=1234;

Str(I:5,St) cho St =' 1234' x:=1234.56789111;

Str(x:9:4,St) cho St='1234.5678'

h Thủ tục Var(St,x,m)

Thủ tục biến đổi xâu kí tự St ( biểu diễn số nguyên thực ) thành số nguyên thực chứa x Biến m biến nguyên chứa mã lỗi, biến ñổi ñúng m=0, biến đổi sai m cho giá trị vị trí kí tự sai

Ví dụ 1: St:='1234.567'; x biến thực, m biến nguyên Var(St,x,m); cho ta x=1234.567 m=0 Ví dụ 2: St:='1234'; x biến nguyên, m biến nguyên Var(St,x,m); cho ta x=1234 m=0

Ví dụ 3: St:='123ab'; x biến thực, m biến nguyên Var(St,x,m); kết sai m≠0

2.4 Các chương trình

Bài tốn 1: Nhập xâu kí tự từ bàn phím, kiểm tra xem xâu có đối xứng khơng

Xâu kí tự S có độ dài n, xâu đối xứng có tất cặp kí tự S[i] = S[n-i+1] với i từ ñến (n Div 2) Chẳng hạn xâu ‘1234321’ xâu ‘abccba’ xâu ñối xứng, xâu ‘12343321’ xâu khơng đối xứng

Chương trình:

Program KT_xau_doi_xung; Uses crt;

Var s: string; i,n : integer; t: boolean; Begin

clrscr;

Witeln('Nhap xau ki tu'); readln(s); n:=length(s);

t:=true;

for i:=1 to n div

if s[i] <> s[n-i+1] then t:=false; if t then writeln(' Xau ki tu doi xung') else writeln(' Xau khong doi xung'); readln;

end

Bài toán 2: Nhập vào xâu kí tự có độ dài Xây dựng xâu chứa kí tự xen

(151)

Chương trình:

Program Ghep_xen_ke_xau_ki_tu; Uses crt;

Var s1,s2,s3,s4: string; i,n : integer; Begin

clrscr;

Witeln('Nhap xau ki tu mot s1: ‘); readln(s1); Witeln('Nhap xau ki tu hai s2: ‘); readln(s2); s3:=’’;

s4:=’’;

n:=length(s1); for i:=1 to n begin

s3:=s3+s1[i]+s2[i]; s4:=s4+s2[i]+s1[i]; end;

Writeln(‘ Cac xau ki tu moi tao’); Writeln(s3);

Writeln(s4); readln; end

Bài toán 3: Chuẩn hoá văn Nơi dung chuẩn hố văn sau: Nhập vào dịng văn từ bàn phìm, chuẩn hố theo qui định :

- Các từ cách khoảng cách - Sau dấu chấm phải viết hoa

- Trước dâu , ; : khơng có khoảng cách - Sau dâu , ; : có khoảng cách

Chương trình

{ xuly tep van ban ve cac dau ,;: } PROGRAM XU_LY_VAN_BAN; USES CRT;

VAR S,T:STRING;TIEP:CHAR; PROCEDURE SUA(VAR P:STRING); VAR I:INTEGER;

BEGIN

{ xoa khoang cach thua } I:=1;

WHILE I<LENGTH(P)-1 DO

IF (P[I]=' ') AND (P[I+1]=' ') THEN DELETE(P,I+1,1) ELSE I:=I+1; { xoa khoang cach truoc cac dau , ; : }

I:=1;

WHILE I<LENGTH(P) DO

IF (P[I]=' ') AND ((P[I+1]=',') OR (P[I+1]=';') OR (P[I+1]=':') OR (P[I+1]='.')) THEN DELETE(P,I,1) ELSE I:=I+1;

{ chen dau khoang sau cac dau neu thieu } I:=1;

WHILE I< LENGTH(P)-1 DO

(152)

THEN BEGIN INSERT(' ',P,I+1); I:=I+1;

END ELSE I:=I+1; { Viet hoa sau dau } I:=1;

WHILE I<LENGTH(P)-2 DO

IF P[I]='.' THEN BEGIN P[I+2]:=UPCASE(P[I+2]); I:=I+1;

END ELSE I:=I+1; END;

{ Than chuong trinh chinh} BEGIN

CLRSCR; TIEP:='C';

WHILE UPCASE(TIEP)='C' DO BEGIN

WRITELN('NHAP XAU KI TU '); READLN(S);

SUA(S); WRITELN(S);

WRITE('CO TIEP TUC KHONG(C/K) '); READLN(TIEP);

END; READLN; END 3 Kiểu tập 3.1.Khái niệm tập

Tập ñối tượng vô hướng kiểu

Mỗi ñối tượng gọi phần tử Tập Tập có tối đa 256 phần tử Nếu phần tử kiểu số cho phép số nguyên có giá trị từ 255

Khái niệm Tập gắn liền với khái niệm Tập hơp trong tốn học Ví dụ: Tập chữ hoa, tập có 26 phần tử

Tập số nguyên dương có chữ số, tập có 90 phần tử 3.2 Khai báo tập

Khai báo Tập dùng cụm từ : SET of Kiểu_phần_tử; Kiểu phần tử phải kiểu vô hướng

- Dùng khai báo kiểủ

Type Tên_kiểu=Set of kiểu _phần_tử; Var Tên_biến: Tên _kiểu;

(153)

Chu_hoa: Set of 'A' 'Z'; Var tuoi : t;

Chu_in: chu_hoa;

- Khai báo trực tiếp khai báo biến

Var Tên_biến: Set of Kiểu_phần_tử; Ví dụ: Type mau=(do,xanh,vang,tin,nau); hinh=(tam_giac,tron,chu_nhat); Var mau_ao: Set of mau;

hinh_ve: set of hinh; chu_so: 9;

3.3- Xây dựng tập

Xây dựng tập cách liệt kê phần tử tập, chúng ñược cách dấu phẩy viết dấu móc vng ( [ ])

Tập rỗng tập khơng chứa phần tử nào, viết [] [1 99] ; tập có 100 phần tử

[ 2,4,6,8 12]; tập có phần tử 2,4,6,8,9,10,11,12 ['a' 'd',' m','n'] ; tập có phần tử 'a', 'b', 'c', 'd', 'm', 'n' [xanh,do,tim,vang];

Các phần tử tập cho biến biểu thức [2*i+j, i*j-2] ; i=2 j=3 tập có phần tử 7, Ta ñược dùng kiểu khoảng ñể phần tử tập 3.4- Các phép toán tập

a Phép gán

Gán tập cho biến kiểu tập Ví dụ

var chu: Set of 'A' 'Z'; tuoi: Set of 200;

Khi ñó thực phép gán sau: chu:=['A', 'C'', 'M' 'P'];

tuoi:=[50 80, 90,100];

Tập rỗng đem gán cho biến kiểu tập khác Chu:=[];

tuoi:=[];

Không thể gán tập kiểu khơng tương thích Chẳng hạn gán chu:=[1 10] sai

b Phép hợp

Phép hợp ñược kí hiệu dấu +

Hợp tập tập có phần tử thuộc hai tập Ví dụ A:=[1,3,5 10];

B:=[2,4,6,8]; C:=[1,5,9];

D:=A+B; tập D [1 10]

E:=B+C; tập E [1,2,4,5,6,8,9]

(154)

Phép giao ñược kí hiệu dấu *

Giao tập tập có phần tử phần tử chung tập M:=A*B; tập M [6,8]

N:=B*C; tạp N=[]

d Phép hiệu

Phép hiệu kí hiệu dấu -

Hiệu tập tập chứa phần tử thuộc tập thứ không thuộc tập thứ G:=A - B ; tập G [1,3,5,7,9,10]

H:=C - A; tập H tập rỗng

e Phép thuộc

Phép thuộc kí hiệu IN

Phép thuộc cho biết phần tử hay tập có thuộc tập khác không ?, kết phép thuộc giá trị kiểu boolean (True False)

In A; kết true B in A; kết qủa False C in A; kết True; Phép so sánh =, <>, <=, >=

Hai tập ñem so sánh phải kiểu

Kết phép so sánh giá trị kiểu boolean

- Hai tập (=) chúng có phần tử đơi Ví dụ: x:=['a' 'd'];

y:=['a' 'd', 'e', 'f']; z:=['a', 'b', 'c', 'd'] x=y; kết False x=z; kết True

- Hai tập khác (<>) chúng có cặp phần tử khác x<> y ; kết True;

x<> z ; kết False

- Tập thứ <= tập thứ tất phần tử tập thứ ñều thuộc tập thứ x <= y; kết true

y <= x; kết False

- Tập thứ >= tập thứ phần tử tập thứ ñều thuộc tập thứ y >= x; kết cho True

z >= y; kết False

3.5- Các chương trình tập

Bài toán : Tạo tập chứa số có tối đa chữ số nguyên dương< 256 chia hết cho 7, in tập Sau nhập số kiểm tra xem có thuộc vào tập khơng

Chương trình

Program thao_tac_tap; uses crt;

var a: set of 99; i,n: byte; lap: char; Begin

(155)

{ Tao tap cac so chia het cho } a:=[];

for i:=7 to 255

if (i mod 7) = then a:=a+[i]; { In tập }

Writeln(' Tap cac so chia het cho 7'); for i:=7 to 255

if i in a then writeln(i);

{ Kiem tra so nhap thuoc tap chi het cho 7} Repeat

write(' Nhap so bat ky '); Realn(n);

if i in a then writeln('Chia het cho 7') else witeln('Khong chia het cho 7'); Write(' Co tiep tuc khong (C/K) ? '); readln(lap);

Until upcase(lap)= 'K'; readln;

end

Bài tập chương Hãy viết chương trình cho tốn sau:

1 Cho dãy số sau: a1,a2, ,an Viết chương trình tìm phần tử lớn nhất, phần tử nhỏ

dãy số

2 Cho dãy số sau: a1,a2, ,an Viết chương trình xếp dãy theo thứ tự tăng dần

3 Cho dãy số sau: a1,a2, ,an Viết chương trình đếm số phần tử dương xố phần tử

thứ m dãy (m<=n)

4 Cho dãy số sau: a1,a2, ,an Viết chương trình tìm phần tử có giá trị x nhập vào từ

bàn phím

5 Cho dãy số sau: a1,a2, ,an Viết chương trình thêm phần tử có giá trị x, vào vị trí m

trong dãy Sau tính tổng phần tử dãy

6 Cho ma trận có m dịng n cột, phần tử nguyên Tìm phần tử nhỏ ma trận Cho ma trận có m dịng n cột, phần tử nguyên Tính tổng trung bình cộng phần tử ma trận

8 Viết chương trình nhập vào xâu ký tự Hãy xây dựng xâu chứa ký tự đảo xâu đó, đếm xem có ký tự 'a ' ‘A’ xâu

9 Viết chương trình nhập vào xâu ký tự Hãy kiểm tra xem xâu có đối xứng khơng In kí tự đầu kí tự cuối xâu ñó

(156)

CHƯƠNG V

CHƯƠNG TRÌNH CON: HÀM VÀ THỦ TỤC 1 - Cấu trúc hàm thủ tục

1.1- Chương trình

Khi lập trình gặp đoạn chương trình cần dùng nhiều lần, để tránh viết lặp lại đoạn chương trình tổ chức thành chương trình cần gọi tới chương trình

Mặt khác xây dựng chương trình cho tốn lớn, phức tạp, để dễ cho việc thiết kế chương trình, hiệu chỉnh chương trình, gỡ rối chạy chương trình, tốn lớn ñược phân thành phần nhỏ, phần xây dựng thành chương trình Chương trình gọi tới chương trình

Trong Pascal có loại chương trình hàm ( Function) thủ tục (Procedure)

a - Cấu trúc hàm ( Function) lời gọi hàm

Hàm có cấu trúc đầy đủ sau:

Function Tên_hàm(Tham_số1 : kiểu; Tham_số2: kiểu; Var tham_số3: kiểu; .): kiểu; Label {Khai báo nhãn }

Const { Khai báo }

Type {ðịnh nghĩa kiểu liệu người sử dụng } Var { Khai báo biến cục bộ}

Begin

{ Thân chương trình } Tên_hàm:= Giá_trị ; End;

Các phần có theo thứ tự ñã nêu

Kiểu tham số kiểu bản, kiểu có cấu trúc kiểu xâu kí tự kiểu mang, kiểu mảng phải khai báo định nghĩa kiểu phần định nghĩa khiểu đầu chương trình chính, khơng khai báo trực tiếp

Kiểu hàm kiểu bản, kiểu xâu kí tự

Các tham số khai báo hàm ñược gọi tham số hình thức • Lời gọi hàm

Trong thân chương trình sử dụng hàm phải có lời gọi hàm Lời gọi hàm ñược viết sau:

Tên_hàm( danh sách tham số thực sự)

Các tham số thực tương ứng số lượng kiểu liệu với tham số hình thức khai báo hàm

Lời gọi hàm coi biến, tham gia vào biểu thức, tham gia vào thủ tục vào/

Ví dụ1: Chương trình có xây dựng Function

(157)

Chương trình

Program Tinh_dien_tich; uses crt;

var a,b,c : real;

Function DT(x,y,z : real) : real; var s,p : real;

begin

p:=(x+y+z)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c)); DT:=s;

end;

begin { than chuong trinh chinh } clrscr;

a:=2;b:=3;c:=2;

writeln(' dien tich tam giac = ', DT(a,b,c):8:2); write('Nhap canh tam giac a,b,c: '); readln(a,b,c);

writeln(' dien tich tam giac = ', DT(a,b,c):8:2); readln;

end

- Hàm ñặt vị trí sau khai báo biến chương trình trước thân chương trình

- Chỉ gọi tới hàm sau ñã khai báo hàm

- Ơ ví dụ ta khai báo hàm có tên DT có kiểu real, tham số hình thức hàm là: x,y,z Trong thân chương trình có lời gọi hàm, chúng ñều nằm lệnh Writeln Trong lời gọi hàm thứ nhất, tham số thực a=2, b=3, c=2 Trong lời gọi hàm thứ hai, tham số thực a,b,c có giá trị nhập vào từ bàn phím

b - Cấu trúc thủ tục (Procedure) lời gọi thủ tục

Thủ tục có cấu trúc đầy ñủ sau:

Procedure Tên_thủ_tục(Tham_số1 : kiểu; Tham_số2: kiểu; Var tham_số3: kiểu; .); Label {Khai báo nhãn }

Const { Khai báo }

Type { ðịnh nghĩa kiểu liệu người sử dụng } Var { Khai báo biến cục bộ}

Begin

{ thân chương trình } End;

Các phần có theo thứ tự nêu

Kiểu tham số kiểu bản, kiểu có cấu trúc kiểu xâu kí tự kiểu mang, kiểu mảng phải khai báo ñịnh nghĩa kiểu phần ñịnh nghĩa khiểu đầu chương trình chính, khơng khai báo trực tiếp

Trong chương trình thủ tục đứng trước thân chương trình chính, sau khai báo biến Các tham số khai báo hàm ñược gọi tham số hình thức

Lời gọi thủ tục

Trong thân chương trình sử dụng thủ tục phải có lời gọi thủ tục Lời gọi thủ tục ñược viết sau:

(158)

Các tham số thực tương ứng kiểu số lượng với tham số hình thức khai báo thủ tục

Lời gọi thủ tục câu lệnh đứng độc lập Ví dụ 2: chương trình có xây dựng Procedure

Bài tốn: Tính tổng trung bình cộng dãy số a1, a2, , an

Chương trình

Program Tinh_tong_tb; uses crt;

type mang= array[ 50 ] of real ; var i,n: integer; a: mang; tg,tb: real;

Procedure tong(m: integer; x: mang; var s, p : real); Var j: integer ; t: real;

begin t:=0;

For j:=1 to m t:=t + x[j] ; s:= t;

p:=t/m; end;

begin { than chuong trinh chinh } clrscr;

write(' nhap so phan tu cua day n '); readln(n);

for i:= to n begin

write(a[', i, ']=' ); readln(a[i]); end;

tong(n,a,tg,tb);

writeln(' tong= ', tg: 8: 2, 'trung binh = ', tb: 8: ); readln;

end

1.2 - Sự khác hàm thủ tục

- Hàm cho giá trị thông qua tên hàm Tên hàm lời gọi hàm coi biến tham gia vào biểu thức, thủ tục vào Cuối thân hàm phải có lệnh gán giá trị cho tên hàm

- Tên thủ tục không cho giá trị

- Các tham số viết sau tên hàm, sau tên thủ tục ñược gọi tham số hình thức Tham số hình thức có loại: + Tham số khơng có từ khố Var kèm trước gọi tham trị

+ Tham số có từ khóa Var kèm trước gọi tham biến

- Trong hàm thường chứa tham trị, chứa tham biến Trong thủ tục thường có tham biến

- Các tham số lời gọi hàm, lời gọi thủ tục gọi tham số thực Các tham số thực phải tương ứng số lượng kiểu với tham số hình thức Các tham số thực tương ứng vơí tham trị để chứa liệu vào Các tham số thực tương ứng vơí tham biến để chứa kết thủ tục

(159)

- Như để lấy kết ta tổ chức hàm thủ tục Nếu muốn lấy nhiều kết phải tổ chức chương trình dạng thủ tục

2 - Biến toàn cục, biến cục truyền liệu 2.1 - Biến toàn cục

Biến toàn cục biến khai báo đầu chương trình Biến tồn cục tồn suốt thời gian làm việc chương trình

Biến tồn cục sử dụng chương trình chương trình Ví dụ mục (tính diện tích tam giac) có a,b,c biến tồn cục

Ví dụ mục ( tính tổng trung bình) có i, n, a, tg, tb biến tồn cục 2.2 - Biến cục

Biến cục biến ñược khai báo ñầu chương trình

Biến cục cấp phát nhớ chương trình gọi tới bị xố khỏi chương trình

Biến cục dùng chương trình

Biến tồn cục biến cục trùng tên chương trình phân biệt biến khác

Trong ví dụ mục (tính diện tích tam giác) có s, p biến cục Trong ví dụ muc ( tính tổng trung bình) có j, t biến cục 2.3 - Truyền liệu

Khi gặp lời gọi chương trình máy thực bước sau:

- Cấp phát nhớ cho tham số cho biến cục chương trình - Truyền giá trị tham số thực cho tham trị truyền ñịa cho tham biến - Thực lệnh thân chương trình

- Thực xong chương trình máy giải phóng tham số biến cục bộ, trở chương trinh

3 - Tính ñệ quy chương trình

Trong Function Procedure có lời gọi tới Tính chất gọi tính đệ qui

Phương pháp ñệ qui ñược áp dụng cho tốn thuật giải mang tính đệ qui

Thuât giải ñệ qui làm cho chương trình ngắn gọn, đẹp đẽ lại tốn thờ gian tính tốn nhớ Có tốn giải xây dựng chương trình đệ quy

Ví dụ1: Bài tốn tính giai thừa

- Trường hợp suy biến: n! = n=0

- Trường hợp tổng quát: n! = (n-1)! n n >= Có thể xây dựng hàm Giaithua có tính chất đệ qui sau: Function Giaithua( n: longint): longint ;

(160)

if n=0 then Giaithua:=

else Giaithua:= Giaithua(n-1) * n ; end;

* Muốn xây dựng chương trình ñệ qui ta phải xác ñịnh ñược trường hợp: - Trường hợp suy biến , trường hợp ñặc biệt mà xác ñịnh ñược giá trị hàm - Trường hợp tổng quát lần thứ n tính dựa vào lần thứ (n-1)

Ví dụ 2: Tìm ước số chung lớn số x y định nghĩa sau (x>y): USCLN(x,y)= x y=0 ( ñây trường hợp suy biến)

USCLN(x,y)= USCLN( y, phần dư x/y) y<>0 ( ñây trường hợp tổng quát) Trong hàm xây dưng với x>y, y>x chương trình tráo ñổi giá trị giữ x y Hàm USCLN ñược viết sau:

Function USCLN(x,y: integer) : integer ; Var t:Integer;

Begin

If y>x then begin t:=x; x:=y; y:=t; end; if y=0 then USCLN:= x

else USCLN := USCLN(y, x mod y) ; end;

4 Một số chương trình turbo pascal

Pascal ñã xây dựng sẵn số hàm thủ thục, Ta gọi tới hàm, thủ tục theo quy cách để sử dụng

Ngồi hàn thủ tục xét phần trên, phần bổ sung thêm số thủ tục sau ñây:

* Procedure GotoXY(Xpos, YPos);

ðưa trỏ(cursor) hình vị trí có toạ độ Xpos Ypos hình Xpos, Ypos kiểu số nguyên

* Procedure ClrScr;

Xố tồn hình đặt trỏ vào vị trí phía trên, bên trái * Procedure ClrEof;

Xố tồn kí tự bên phải trỏ hình Sau xố trỏ chỗ * Procedure Deline;

Xố tồn dịng hình chứa trỏ, sau dồn dòng lên * Procedure InsLine;

Xen dịng trắng vào hình từ vị trí trỏ * Procedure LowVideo NormVideo;

Sau gọi LowVideo kí tự viết hình ñều có ñộ sáng yếu ñi gọi thủ tục NormVideo (Normal Video)

* Procedure Delay(Time);

Tạo thời gian trễ Time (khoảng ms) Time số nguyên Delay thường ñược dùng để làm chậm chương trình lại cho ta quan sát, khảo sát

(161)

Tạo dao ñộng âm với tần số F (F: số nguyên) cho ñến ta gọi NoSound;

Bài tập chương

1 Viết chương trình tính tổ hợp chập m n phần tử: Cmn

Chương trình viết có chương trình

2 Viết chương trình tính Pn(x)=( ( ( an*x+an-1 )*x+an-2 )*x+ +a1)*x+a0

Chương trình có chương trình

3 Cho dãy số sau: a1,a2, ,an Viết chương trình tính tổng, trung bình cộng phần tử

dãy số Chương trình viết có chương trình

4 Lập chương trình tính diện tích chu vi hình: Tam giác biết cạnh a,b,c, hình chữ nhật biết hai cạnh a,b, hình trịn biết bán kính Chọn hình để tính thơng qua câu hỏi ' Ban tính cho hình TG=1, CN=2, TR =3 ' Chương trình viết có sử dụng chương trình

(162)

CHƯƠNG VI

KIỂU DỮ LIỆU CÓ CẤU TRUC: KIỂU BẢN GHI VÀ KIỂU TỆP 1 - Kiểu ghi (record)

1.1 - Khái niệm

Kiểu ghi kiểu liệu có cấu trúc gồm số cố định phần tử có kiểu khác

Kiểu ghi dùng để mơ tả liệu có nhiều thành phần khác kiểu liên kết với liệu bảng, cột bảng thành phần, cột có kiểu liệu khác nhau, cột liên kết với ñể biểu diễn nội dung định

Ví dụ1: Bảng lương bao gồm cột: Số thứ tự, Họ tên, Ngày sinh, Hệ số, Lương, Bảo hiểm xã hội, Tổng lĩnh Mỗi dòng bảng lương thuộc kiểu liệu ghi Các cột thành phần cịn gọi phần tử

1.2 - Khai báo kiểu liệu ghi

Kiểu liệu ghi có phần tử liên kết với Phần tử ñược gọi trường, trường có tên, tên trường giống tên biến Mỗi trường thuộc kiểu liệu Khi báo kiểu liệu ghi ñược viết cụm từ record end;

Trong cụm từ danh sách tên trường kèm theo sau kiểu liệu Khai báo kiểu ghi sau:

Type Tên_kiểu= Record

Tên_trường1 : kiểu; Tên_trường2 : kiểu;

Tên_trườngN : kiểu; End;

Ví dụ 1: Bảng lương ví dụ mục khai báo sau: Type bang_luong = record

Stt : Integer; Hoten : String[25]; Ns : String[10];

Heso,Luong,Bhxh,Tong : Real; End;

Var luong1,luong2:bang_luong;

Ví dụ 2: Danh sách khách hàng bao gồm liệu họ tên, số nhà, phố, quận, Thành phố, số ñiện thoại

Type khach_hang = record hoten : string[25]; sonha : string[20];

Pho, quan, thanhpho : string[30]; tel : longint;

end;

(163)

1.3 - Sử dụng ghi

• Một trường ghi coi biến, ñược sử dụng biểu thức thủ tục vào

• Một trường ghi ñược ñịnh cách viết sau: Tên_biến.Tên_trường

Ví dụ luong1.stt:=1;

luong1.hoten:='Le Thu Ha';

luong1.luong:=luong1.heso * 210000; bangkh1.pho:='Hang Dao';

bangkh1.tel:=8573980; Readln(luong2.hoten); Writeln(banghk2.pho);

Biến ghi khơng tham gia vào biểu thức, thủ tục vào ra, toán tử logic, toán tử quan hệ >, >=, <, <=

Nếu hai biến ghi có kiểu tham gia phép so sánh = (bằng) <> (khác)

Nếu hai biến ghi có kiểu gán giá trị cho luong1:=luong2;

banghk1:=banghk2; 1.4 - Câu lệnh With

Khi ñịnh trường ghi ta phải viết tên biến tên trường, viết tên dài ðể viết tên biến, viết tên trường ta dùng câu lệnh With sau:

With Tên_biến Chuỗi_lệnh;

Trong chuỗi lệnh trường biến nêu tên khơng phải viết tên biến kèm theo

Ví dụ thay cho cách viết ví dụ phần ta sử dụng câu lệnh With With luong1

begin stt:=1;

hoten:='Le Thu Ha'; luong:=heso * 210000; end;

With banghk1 begin

pho:='Hang Dao'; tel:=8573980; end;

With luong2 Readln(hoten); With bangkh2 Writeln(pho); 1.5 - Các chương trình sử dụng ghi

(164)

ngày nhập, số lượng, ñơn giá, tiền tất mặt hàng ñã nhập Sau in tổng số tiền ñã nhập

Chương trình

Program Thong_ke_hang; uses crt;

Type hang=record ten: string[20]; Ngay: string[10]; sl,gia,tien : real; end;

Var bang:array[1 30] of hang; i,n: integer; tong: real; begin

clrscr;

Write)'Nhap so luong mat hang n ? '); readln(n);

tong:=0;

for i:=1 to n with bang[i] begin

Write(' Tên hang '); readln(ten); Write(' Ngay nhap '); readln(ngay); Write(' So luong '); readln(sl); Write(' Gia '); readln(gia); tien:=sl * gia;

tong:=tong+tien; end;

Writeln(' Bang thong ke hang nhap');

Writeln('| Ten hang':20,'| Ngay nhap':12,'| So luong':12,'| Don gia':12,'| Tien':12 ); for i:= to n

with bang[i]

Writeln(ten:20, ngay:12, sl:12:2, gia:12:2, tien:12:2); writeln;

writeln('Tong so tien la: ', tong: 15:2); readln;

end

2 - Kiểu tệp (File) 2.1 - Khái niệm tệp

Tệp liệu tập hợp liệu có liên quan với nhóm lại với tạo thành dãy, lưu trữ nhớ ngồi ví dụ ñĩa từ

Các phần tử tệp kiểu, ñược lưu trữ nhau, làm việc với phần tử tệp có trỏ tệp Khi mở tệp trỏ tệp trỏ vào phần tử tệp Cuối tệp có dấu kết thuc tệp kí hiệu eof(tệp)

Các phần tử tệp f sau:

(165)

eof(f) Con trỏ tệp (cửa sổ tệp) vào phần tử ñầu Phần tử i Kết thúc tệp • Có thể có loại tệp sau:

- Tệp ñịnh kiểu - Tệp văn ( Text) - Tệp khơng định kiểu

Trong phần sau xét tệp ñịnh kiểu tệp văn • Tệp mảng có ñiểm giống khác sau ñây:

* ðiểm giống tệp mảng : tập hợp phần tử kiểu

* ðiểm khác tệp mảng : Mảng khai báo với số phần tử xác định, cịn tệp với số phần tử khơng xác định, tệp chứa số phần tử tuỳ ý theo dung lượng ñĩa

2.2 - Các cách truy nhập tệp

* Truy nhập truy nhập ngẫu nhiên:

- Truy nhập tuần tự: Việc ñọc phần tử tệp bắt buộc phải ñi qua phần tử trước ñấy Còn muốn thêm phân tử vào tệp phải thêm vào cuối tệp

Kiểu truy nhập ñơn giản việc tạo tệp, xử lý tệp, song linh hoạt - Truy nhập tệp trực tiếp( direct access ): Có thể truy nhập vào phần tử tệp thông qua số thứ tự phần tử tệp Tuỳ theo nhớ mà truy nhập trực tiếp hay khơng, đĩa từ truy nhập trực tiếp được, cịn băng từ truy nhập khơng truy nhập trực tiếp ñược Như truy nhập trực tiếp đọc phần tử nào, thêm phần tử phải thêm vào cuối tệp

2.3 - Khai báo tệp ñịnh kiểu

Khai báo tệp ñịnh kiểu dùng cụm từ sau: File of kiểu_phần_tử;

• Khai báo kiểu tệp:

Type tên_kiểu = File of kiểu_phần_tử; • Khai báo biến têp:

Var tên_biến : File of kiểu_phần_tử; Ví dụ type t= file of integer;

var f1,f2 : t; Ví dụ 2: type bang= record ten: string[25]; Ns: string[10]; Que: string[30]; luong,bhxh:real; end;

var f1,f2,f3: file of bang; 2.4 - Tạo tệp ñể ghi liệu

* Mở tệp ñể ghi liệu

Dùng thủ tục ñi liền theo thứ tự sau: - Thủ tục Assign

(166)

Thủ tục gán tên_tệp cho biến_tệp Tên_tệp theo ñúng qui tắc ñặt tên DOS mà ta ñã học phần

- Thủ tục Rewrite Rewrite(biến_tệp);

Thủ tục thực việc mở tệp để ghi

Ví dụ: Mở tệp có tên ‘songuyen.dat’ gán cho biến tệp f ñể ghi liệu ta viết sau: Assign(f,’songuyen.dat’);

Rewrite(f);

Sau mở tệp xong tệp chưa có phần tử nào, tệp rỗng Con trỏ tệp ( cửa sổ tệp ) trỏ vào cuối tệp (eof) Nếu tên_tệp trùng với tệp có tệp bị xố

* Ghi liệu vào tệp dùng thủ tục Write

Write(biến_tệp, biểu_thức1, biểu_thức2, , biểu_thức n);

Các biểu_thức phải có giá trị kiểu với kiểu tệp Giá trị biểu thức ñược ghi vào tệp theo thứ tự ñã viết

Write(f, 2, 4, 6, i*j+3);

* đóng tệp thủ tục Close

Close(biến _tệp);

* Các ví dụ chương trình tạo tệp để ghi liệu

Bài tốn 1: Tạo tệp có tên ‘songuyen.dat’ ghi số nguyên dương <200 mà chia hết cho

Chương trình

Program Tao_tep_so_nguyen; uses crt;

var i : integer; f : file of integer ; Begin

assign(f, ‘songuyen.dat’); rewrite(f);

for i:=3 to 199

if (i mod 3) = then write(f, i); close(f);

readln; end

Bài toán 2: Tạo tệp ‘sach.dat’ để ghi thơng tin cho sách bao gồm liệu tên sách, năm xuất bản, số trang, tác giả

Chương trình

Program Tao_tep_sach; uses crt;

(167)

trang: longint; tacgia: string[25]; end;

Var i,n : integer; f: file of tin; nhap: tin; Begin

clrscr;

assign(f, ‘sach.dat’); rewrite(f);

write(‘ Nhap so sach n : ‘); readln(n); for i:= to n

begin

with nhap begin

write(‘Ten sach : ‘); readln(ten); write(‘Nam xuat ban : ‘); readln(nam); write(‘So trang : ‘); readln(trang); write(‘Ten tac gia : ‘); readln(tacgia); end;

write(f, nhap); end;

close(f); end

2.5 - ðọc liệu từ tệp ñã có

* Mở tệp để đọc

Mở tệp ñể ñọc dùng thủ tục ñi liền theo thứ tự sau: - Thủ tục Assign

assign(biến_tệp, tên_tệp); - Thủ tục Reset

Reset(biến_tệp) ;

Thủ tục thực mở tệp ñể ñọc

Ví dụ1: Mở tệp ‘songuyen.dat’ gắn với biến tệp f ñể ñọc liệu assign(f, ‘songuyen.dat’);

reset(f);

Ví dụ 2: Mở tệp ‘sach.dat’ gắn với biến tệp f1 ñể ñọc liệu assign(f1, ‘sach.dat’);

reset(f1);

* ðọc liệu từ tệp

ðọc liệu từ tệp ñược thực thủ tục Read sau: Read(biên_tệp, biến1, biến2, , biến n);

Thủ tục thực ñọc giá trị vị trí trỏ gán cho biến tương ứng thứ tự ñã viết, ñọc xong trỏ tệp lại chuyển sang phần tử ñọc gán cho biến khác, ñọc cho ñến biến n

(168)

Có thể dùng cấu trúc sau:

- Kiểm tra tệp chưa kết thúc đọc

if not eof(biến_têp) then read(biến_têp, biến); - ðọc tất phần tử tệp

While not eof(biến_têp) Begin

read(biến_tệp, biến);

end;

Nếu trỏ cuối tệp mà đọc máy báo lỗi, sau chương trình dừng lại Do phải kiểm tra trước ñọc

Ví dụ while not eof(f) begin read(f,x); writeln(x); end;

* đóng tệp

Close(biến_tệp);

* Các ví dụ chương trình đọc liệu từ tệp

Bài toán 1: ðọc liệu từ tệp ‘songuyen.dat’ ñã tạo kết hình Chương trình

program Doc_tep_songuyen; uses crt;

var i: integer; f: file of integer; begin

clrscr;

assign(f, ‘songuyen.dat’); reset(f);

while not eof(f) begin

read(f, i); writeln(i); end;

close(f); readln; end

Bài toán 2: Viết chương trình thực tạo tệp ‘diem.dat’ ghí lại điểm thi thí sinh, liệu bao gồm: họ tên thí sinh, điểm tốn, điểm lý, điểm hố ðồng thời thực đọc tệp in thí sinh trúng tuyển, ñiểm chuẩn ñỗ ñược nhập vào từ bàn phím

Chương trình

program Tao_doc_tep_diemts; uses crt;

(169)

var i,n: integer; f: file of hs; nhap: hs; diemc: real; {**************}

procedure tao; { thu tuc tao } begin

clrscr;

assign(f, ‘diem.dat’); rewrite(f);

write(‘ So thi sinh: ‘); readln(n); for i:=1 to n

begin

with hs begin

write(‘ Ho va ten: ‘); readln(ten); write(‘ Diem toan: ‘); readln(toan); write(‘ Diem ly : ‘); readln(ly); write(‘ Diem hoa : ‘); readln(hoa); end;

write(f, hs); end;

close(f);

end; { ket thuc thu tuc tao} { ***************}

Procedure doc; { thu tuc doc } begin

clrscr;

Assign(f, 'Diem.dat' ); reset(f);

write(‘ Diem chuan : ‘); readln(diemc);

writeln(‘ Danh sach thi sinh trung tuyen dai hoc ‘); while not eof(f)

begin read(f,hs); with hs

if toan+ly+hoa >= diemc then writeln(ten:25,toan:10:1,ly:10:1,hoa:10:1); end;

close(f);

end; { ket thuc thu tuc doc} {******************}

{ than chuong trinh chinh} repeat

clrscr;

writeln(‘ 1- Tao tep’); writeln(‘ 2- Doc tep’); writeln(‘ 3- Ket thuc’);

write(‘ Hay chon mot viec ? ‘); readln(i); case i of

(170)

end; until i=3; readln; end

2.6 - Truy nhập tệp trực tiếp

Các phần ñã xét truy nhập tệp có định kiểu Trong phần ta xét cách truy nhập trực tiếp tệp có định kiểu

Sử dụng tất thủ tục lệnh nêu trên, ngồi để truy nhập trực tiếp tệp sử dụng số thủ tục hàm sau

* Thủ tuc Seek ñể dịch chuyển trỏ tệp

Seek( biến_tệp, n);

n có kiểu longint Thủ tục thực chuyển trỏ tệp tới phần tử thứ n Trong tệp phần tử ñầu ñược ñánh thứ tự

* Hàm Filepos

Filepos(biến_tệp)

Hàm cho vị trí thời trỏ tệp Ví trí đầu

* Hàm Filesize

Filesize(biến_tệp)

Hàm cho số lượng phần tử tệp Hàm cho giá trị tệp rỗng

ðể thêm phần tử vào tệp phải thêm vào cuối tệp Như phải dịch trỏ tới cuối tệp thủ tục seek sau:

seek(biến_tệp, Filesize(biến_tệp)-1 );

* Ví dụ chương trình truy nhập tệp trực tiếp

Bài toán 1: Tạo tệp ‘sochan.dat’ ghi số nguyên dương chẵn <=20 Truy nhập ñể sửa phần tử thêm phần tử vào tệp

Chương trình

Program truy_nhap_truc_tiep_tep; uses crt;

var i,j : integer; f: file of byte; { thu tuc tao tep }

procedure tao; begin

clrscr;

assign(f, ‘sochan.dat’); rewrite(f);

for i:=1 to 20

if (i mod 2) =0 then write(f, i); close(f);

readln;

end; {ket thuc thu tuc tao } { thu tuc sua }

procedure sua; begin

(171)

write(‘ sua phan tu thu ? ‘); readln(i); seek(f, i-1);

read(f,j);

witeln(‘ gia trị cu: ‘, j); write(‘ nhap gia tri moi : ‘); readln(j);

seek(f, i-1); write(f, j); close(f);

end; { ket thuc thu tuc sua } { thu tuc them phan tu } procedure them; begin

clrscr; reset(f);

write(‘ gia tri moi them: ‘); readln(j);

seek(f, filesize(f)-1); write(f,j);

close(f); readln;

end; {ket thuc thu tuc sua } { thu tuc doc }

procedure doc; uses crt; clrscr; reset (f);

while not eof(f) begin

read(f,i); witeln(i); end;

close(f);

end; { ket thuc thu tuc doc}

{******************} { than chuong trinh chinh} repeat

clrscr;

writeln(‘ 1- Tao tep’); writeln(‘ 2- Sua tep’); writeln(‘ 3- Them phan tu’); writeln(‘ 4- Doc tep’); writeln(' 5- ket thuc ');

write(‘ Hay chon mot viec ? ‘); readln(i); case i of

(172)

2: sua; 3: them; 4: doc; end; until i=5; readln; end

2.7 - Tệp văn

* Khai báo tệp văn bản

Trong Pascal có kiểu tệp ñịnh nghĩa trước ñó tệp văn bản, ñược ñịnh nghĩa với từ chuẩn TEXT

Khai báo kiểu tệp văn bản; Var Ten_bien: TEXT;

Các phần tử TEXT kiểu kắ tự, ựược tổ chức thành dòng với ựộ dài dòng khác nhau, nhờ có thêm dấu hết dịng (End of Line) cặp kắ tự ựiều khiển CR (Carriage Return, nhẩy ựầu dòng, mã ASCII 13) LR(Line Feed: xuống dòng, mã ASCII là10), chúng dùng ựể ngăn cách dãy kắ tự tương ứng với dòng khác

Ví dụ: ðoạn văn sau: HANOI

123 THUDO

ðược chứa tệp văn thành dãy sau:

HANOI CR LF 123 CR LF THUDO CR LF EOF

Do tệp văn tổ chức thành dịng nên việc ghi đọc tệp văn có thẻ tục ghi ñọc theo dòng

* Ghi vào tệp văn

Có thể ghi giá trị kiểu Integer, real, boolean, string vào tệp văn lệnh Write Writeln, lệnh cho phép chuyển giá trị kiểu nói sang dạng kí tự

Có dạng sau: Dạng 1:

Write(biến _tệp, biểu_thức_1, biểu_thức_2, , biểu_thức_n); Ghi giá trị biểu thức vào tệp khơng có dấu hết dịng Dạng 2:

Writeln(biến _tệp, biểu_thức_1, biểu_thức_2, , biểu_thức_n); Ghi giá trị biểu thức vào tệp có dấu hết dịng

Dạng 3:

Writeln(biến _tệp); Ghi dấu hết dòng vào tệp

* ðọc liệu từ tệp vănbản

Chúng ta đọc kí tự, số nguyên, số thực, boolean từ tệp văn thông qua thủ tục sau:

Dạng 1:

read(biến _tệp, biến1, biến2, biến3, , biếnn);

(173)

readln(biến _tệp, biến1, biến2, biến3, , biếnn);

ðọc giá trị từ tệp gán cho biến tương ứng đưa trỏ sang đầu dịng

Dạng 3:

readln(biến _tệp);

ðưa trỏ sang ñầu dòng

Hàm chuẩn EOLN(f) phát dấu hết dòng tệp f Hàm cho giá trị True kết thúc dòng, ngược lại False

* Các chương trình xử lý tệp văn

Bài toán 1: Tạo tệp văn ghi lại n dòng văn nhập vào từ bàn phím ðọc tệp tạo hình

Program Tao_doc_tep_van_ban; uses crt;

var i,n: integer; f: text; s: string; {**************}

procedure tao; { thu tuc tao } begin

clrscr;

assign(f, ‘vanban.txt’); rewrite(f);

write(‘ So dong van ban: ‘); readln(n); for i:=1 to n

begin

write(‘ Nhap dong ‘, i ); readln(s); writeln(f, s);

end; close(f);

end; { ket thuc thu tuc tao} { ***************}

Procedure doc; { thu tuc doc } begin

clrscr;

Assign(f, 'vanban.txt' ); reset(f);

Writeln(‘ Tep van ban da tao’); while not eof(f)

begin readln(f,s); writeln(s); end;

close(f);

end; { ket thuc thu tuc doc} {******************}

{ than chuong trinh chinh} repeat

(174)

writeln(‘ 1- Tao tep’); writeln(‘ 2- Doc tep’); writeln(‘ 3- Ket thuc’);

write(‘ Hay chon mot viec ? ‘); readln(i); case i of

1: tao; 2: doc; end; until i=3; readln; end

Bài toán 2: ðọc xâu văn từ tệp, kiểm tra xem xâu có đối xứng khơng, sau xếp chữ số xâu theo thứ tự tăng dần

chương trình

PROGRAM DOC_XAU_SAP_TT_SO; USES CRT;

TYPE MANG=ARRAY[1 200] OF CHAR;

VAR I,K,L,N:INTEGER;T:BOOLEAN;S:STRING;A:MANG;F:TEXT; PROCEDURE SAPTANG(VAR X:MANG;M:INTEGER);

VAR J,Z:INTEGER;P:CHAR; BEGIN

FOR J:=1 TO M-1 DO

FOR Z:=1 TO M-J DO IF X[Z]>X[Z+1] THEN BEGIN P:=X[Z]; X[Z]:=X[Z+1];

X[Z+1]:=P; END; END;

BEGIN { thân chương trinh chính} CLRSCR;

ASSIGN(F,'VB.TXT'); RESET(F);

READLN(F,S);

WRITELN(' XAU DOC DUOC'); WRITELN(S);

N:=LENGTH(S); {tim xau doi xung} K:=1;L:=N;T:=TRUE; WHILE (K<L) AND T DO

IF S[K]=S[L] THEN BEGIN K:=K+1; L:=L-1; END ELSE T:=FALSE;

IF T THEN WRITELN(' XAU DOI XUNG ') ELSE WRITELN(' XAU KHONG DOI XUNG '); { sap cac so xau tang dan }

K:=0;

FOR I:=2 TO N DO IF (ORD(S[I])>=48) AND (ORD(S[I])<=57) THEN BEGIN

(175)

A[K]:=S[I]; END;

SAPTANG(A,K); L:=0;

FOR I:=1 TO N DO IF (ORD(S[I])>=48) AND (ORD(S[I])<=57) THEN BEGIN

L:=L+1; S[I]:=A[L]; END;

WRITELN('XAU DA SAP THU TU CAC SO '); WRITELN(S);

(176)

Bài tập chương VI

1 Viết chương trình gồm CT làm cơng việc sau: Ghi thơ có n dịng, nội dung nhập vào từ bàn phím lên tệp văn có tên ‘BAITHO.TXT’ đọc tệp văn tạo từ ñĩa cho nội dung lên hình Dùng câu lệnh lựa chọn để chọn cơng việc: 1= Ghi, 2=Doc

2 Viết chương trình tạo tệp liệu ‘DIEM.DAT’ chứa bảng ñiểm n người in kết hình Bảng điểm gồm cột: Họ tên, ðiểm Toán, ðiểm Lý, ðiểm Hoá , Tổng, Loại Nhập vào: Họ tên, ðiểm toán, ðiểm lý, ðiểm hố

Tính Tổng, Loại :

Tổng = ðiểm toán + ðiểm lý + ðiểm hoá Loại = ‘ DO ’ Tổng > 19 Loại = ‘ TRUOT' Tổng <= 19

3 Viết chương trình tạo tệp liệu ‘LUONG.DAT’ chứa bảng lương n người in kết hình

Bảng lương gồm cột: Họ tên, Ngày cơng, Lương ính,Thưởng, Tổng Nhập vào : Họ tên, Ngày cơng, Lương

Tính Thưởng, Tổng :

Thưởng = Lương x Ngày cơng > 25 Thưởng = Lương Ngày cơng <= 25 Tổng = Lương + Thưởng

4 Viết chương trình tạo tệp liệu ‘HANG.DAT’ chứa bảng Thống kê hàng nhập n mặt hàng in kết hình Bảng Thống kê hàng nhập gồm cột:

Tên , Số lượng, ðơn giá, Tiền, Loại Nhập vào: Tên , Số lượng, ðơn giá

Tính Tiền, Loại : Tiền = Số lương x ðơn giá

Loại = ‘Cao’ Tiền > 500000 Loại = ‘THAP’ Tiền <= 500000

5 Viết chương trình tạo tệp liệu ‘SACH.DAT’ chứa bảng danh mục n sách in kết hình Bảng danh mục sách bao gồm cột:

Tên, Năm, Tác giả, Giá, Loại Nhập vào : Tên, Năm, Tác giả, Giá Tính Loại theo cơng thức sau:

Loại = ‘Cao’ Tiền > 50000

(177)

CHƯƠNG VII

ðỒ HOẠ VÀ ÂM THANH 1- ðồ hoạ

1.1 - Khái niệm chung

Màn hình máy vi tính có nhiều loại khác nhau, máy 386, 486, AT-586 thường dùng loại hình VGA (Video Graphic Adapter), TVGA (Top of VGA) SVGA (Supper VGA), loại hình dùng hai chế độ: chế ñộ TEXT - hiển thị văn chế ñộ GRAPHIC - hiển thị ñồ hoạ

Trong chế ñộ TEXT hình chia thành 25 dịng 80 cột, viết kín hình ta viết ñược 2000 ký tự Chúng ta thay ñổi chế độ phân giải để viết 25 dịng x 40 cột 80 dòng x 50 cột

Muốn vẽ hình, tơ màu hình ta phải chuyển sang chế độ đồ hoạ, chế độ hình ñược xem ma trận ñiểm, tuỳ thuộc ñộ phân giải ta có ma trận 640x480 điểm 1024x720 điểm Mỗi điểm hình gọi Pixel tức phần tử ảnh

( Picture Element ), ta hồn tồn chủ ñộng việc thay ñổi màu sắc, cường ñộ sáng ñiểm ñể tạo tranh theo ý muốn Vị trí điểm hình ñược biểu diễn hai toạ ñộ: Hoành ñộ Tung độ, gốc toạ độ (0,0) điểm góc bên trái hình cịn điểm góc bên phải có toạ độ 639,479

Muốn chuyển sang làm việc chế ñộ ñồ hoạ, thư mục hành (thư mục chứa chương trình Pascal) phải có tệp GRAPH.TPU, *.BGI *.CHR Lời gọi ñơn vị chương trình đồ hoạ phải đặt đầu chương trình sau từ khố USES ví dụ 43

Ví dụ 43

Program Ve_hinh; Uses GRAPH;

1.2 - Khởi ñộng chế ñộ ñồ hoạ

Trong phần thân chương trình cần phải đưa vào thơng báo kiểu hình, chế độ đồ hoạ (MODE) tương ứng Những người làm tin học ứng dụng thường khơng quan tâm đến thơng số dễ lúng túng cần khai báo ðể khắc phục nhược điểm trong Turbo Pascal có sẵn thủ tục khởi tạo chế ñộ ñồ hoạ Initgraph(var GD,GM: Integer, DP:string[n]); Khi gọi thủ tục với tham số hợp lệ Initgraph tự xác ñịnh kiểu hình Mode ñồ hoạ tối ưu

Người lập trình tự khai báo tham số GD, GM (Trong GD: Graph Driver - số nguyên xác ñịnh kiểu hình; GM: Graph Mode - số nguyên xác ñịnh Mode ñồ hoạ)

Trước hết phần khai báo biến tham số phải khai thuộc kiểu Integer, sau phần thân chương trình phải chọn giá trị thích hợp cho kiểu hình Mode đồ hoạ

Thơng thường khơng biết xác kiểu hình Mode ñồ hoạ máy tính ñang sử dụng nên gặp lúng túng khai báo Trong trường hợp tốt ñể Pascal tự xác ñịnh giúp tham số

(178)

GD:= DETECT;

thì Initgraph hiểu phải tự xác định kiểu hình Mode đồ hoạ cho đạt kết tối ưu Nói chung trừ trường hợp đặc biệt, khơng nên tự xác định thơng số làm

Bảng cho biết giá trị tham số GD,GM ñộ phân giải hình ba loại hình có, loại thơng dụng VGA

Bảng

Kiểu hình Mode đồ hoạ

Tên Giá trị Tên Giá trị

ðộ phân giải

CGA CGAC0

CGAC1 CGAC2 CGAC3 CGACHi 320x200 320x200 320x200 320x200 640x200

EGA EGALO

EGAHi 640x200 640x350

IBM8514 IBM8514L

O

IBM8514Hi

640x480, 256 màu 1024x768, 256 màu

VGA VGALO

VGAMed VGAHi 640x200 640x350 640x480

Ví dụ 44 trình bày cách sử dụng thủ tục Initgraph để thiết kế chương trình vẽ đường trịn có tâm hình bán kính 50 Pixel Các tham số GD,GM Pascal tự xác ñịnh, tệp ñiều khiển ñồ hoạ ñặt thư mục TP ñĩa cứng C

Ví dụ 44

Program Ve_hinh_tron; Uses graph; Var GD,DM: Integer; BEGIN GD:= detect; Initgraph(GD,GM,'C:\tp\bgi'); If graphresult <> grok then halt(1); Circle(320,240,50);

Readln; CloseGraph; END

Nếu muốn tự khai báo GD GM (Ví dụ: hình VGA, kiểu đồ hoạ ñộ phân giải cao, tệp tin ñồ hoạ chứa thư mục TP5 đĩa A) bỏ lệnh GD:=DETECT Và viết lại đoạn đầu ví dụ 44 sau:

(179)

GD:=VGA; GM:=VGAHi;

INITGRAPH(GD,GM,'C:\TP\BGI');

Chú ý: Có thể thay tên hình giá trị tương ứng có bảng

Tham số DP ( Driver Path ) ñường dẫn tới thư mục chứa tệp ñiều khiển kiểu hình đồ hoạ, ví dụ khai 'c:\tp\bgi' nghĩa ổ đĩa C thư mục TP, cịn BGI tệp khiển Trong trường hợp khơng khai báo cho DP, nghĩa để chuỗi rỗng '' Pascal tự tìm tệp ñiều khiển ñồ hoạ thư mục chủ (là nơi mà Pascal ñược khởi ñộng)

1.3 - Kiểm tra lỗi đồ hoạ Dịng thứ ví dụ 44

If graphresult <> grok then halt(1);

Là câu lệnh kiểm tra lỗi ñồ hoạ Việc kiểm tra thực thơng qua hàm hàm graphresult Lỗi ñồ hoạ thường phát sinh khơng tìm thấy trình điều khiển đồ hoạ, khai báo khơng tham số GD, GM, DP Nếu phát lỗi hàm Graphresult nhận giá trị cho bảng sau, giá trị ứng với chuỗi ký tự:

Bảng lỗi hàm Graphresult Giá trị Hằng chuỗi ý nghĩa

0 Grok Tốt, khơng có lỗi

-1 Grnoinitgraph Khơng tìm thấy đơn vị đồ hoạ -2 Grnotdetected Khơng có phần cứng đồ hoạ

-3 GrFilenotfound Khơng tìm thấy tệp điều khiển hình đồ hoạ -4 GrInvalidDriver Trình ñiều khiển hỏng, không hợp lệ

-5 GrNoloadMem Bộ nhớ động (RAM) bị thiếu

-6 GrNoscanMem Khơng thực ñược việc kiểm tra nhớ

-7 GrNoFloodMem

-8 GrFontNoFound Khơng tìm thấy tệp chứa font chữ -9 GrNoFontMem Khơng đủ nhớ để nạp Font chữ -10 GrInvalidMode Kiểu đồ hoạ khơng hợp lệ

-11 GrError Lỗi ñồ hoạ (tổng quát )

-12 GrIOError Lỗi ñường nhập, xuất ñồ hoạ -13 GrInvalidFont Kiểu chữ không hợp lệ

-14 GrInvalidFontNum Số hiệu kiểu chữ không hợp lệ

(180)

1.4 - Một số thủ tục để vẽ hình

* MOVETO(x,y) : Di chuyển trỏ ñến toạ độ x,y (x hồnh độ, y tung ñộ)

x,y giá trị kiểu Integer, với hình VGA 0<= x <=639, 0<= y <= 479

* LINETO(x,y): Vẽ ñường thẳng từ vị trí trỏ thời tới toạ độ x,y kết thúc

trình vẽ trỏ nằm toạ độ

Pascal có sẵn hai hàm để xác định toạ độ góc dưói bên phải hình ñó Getmaxx Getmaxy ðể vẽ ñường chéo hình từ toạ độ 0,0 ta viết lệnh

MOVETO(0,0);

LINETO(Getmaxx,Getmaxy);

* LINE(x1,y1,x2,y2 : Thủ tục vẽ ñường thẳng từ toạ ñộ x1,y1 ñến toạ ñộ x2,y2 * LINEREL(dX,dY): Vẽ ñường thẳng từ vị trí thời ( toạ độ x,y) tới toạ độ x+dx, y+dy * CIRCLE(x,y,r): Vẽ đường trịn tâm toạ độ x,y bán kính r Pixel

* PUTPIXEL(x,y, n): Thủ tục vẽ ñiểm sáng toạ ñộ x,y với màu n Giá trị n

lấy khoảng 0-15 viết trực tiếp tên màu theo tiếng Anh • Thiết lập màu ñồ hoạ

ðể ñịnh màu chế ñộ ñồ hoạ ta dùng hai thủ tục sau ñây :

g SETCOLOR(n) : ðịnh màu cho nét vẽ h SETBKCOLOR(n) : ðịnh màu cho nét vẽ

Tham số n cho thủ tục xem bảng sau Bảng Mã màu tên màu

màu Tên tiếng Anh Tên tiếng Việt

0 Back ðen

1 Blue Xanh da trời

2 Green Xanh mạ

3 Cyan Xanh lơ

4 Red ðỏ

5 Magenta Tím

6 Brown Nâu

7 Lightgray Xám nhạt

8 Darkgray Xám xẫm

9 Lightblue Xanh da trời nhạt 10 Lightgreen Xanh mạ nhạt 11 Lightcyan Xanh lơ nhạt

12 Lightred ðỏ nhạt

13 Lightmagenta Tím nhạt

14 Yellow Vàng

15 White Trắng

Chú ý:

- Lệnh ñịnh màu phải đặt trước lệnh vẽ hình

(181)

Vẽ hình khép kín tơ màu

* RECTANGLE(x1,y1,x2,y2) : Vẽ khung hình chữ nhật toạ ñộ góc bên trái x1,y1 , toạ

độ góc bên phải x2,y2

* BAR(x1,y1,x2,y2) : Vẽ hình chữ nhật góc bên trái có toạ độ x1,y1 góc bên

phải có toạ ñộ x2,y2 Khi dùng kết hợp với thủ tục số 11 ñồng thời cho phép kẻ vân hoa tô màu cho

* SETFILLSTYLE(n1,n2) : Thủ tục ñịnh vân hoa màu

n1 giá trị nguyên với 0<= n1 <= 11 : ñịnh kiểu vân hoa (xem bảng ) n2 số hiệu mã màu ñã giới thiệu 0<= n2 <= 15

Chú ý:

- Thủ tục 11 chọn màu vân hoa có hiệu lực sử dụng kèm theo thủ tục vẽ hình phẳng sau đây:

Hình chữ nhật (Bar), hình hộp chữ nhật (Bar3D), hình quạt (Pieslice), đa giác có toạ độ nhập vào mảng (Fillpoly), Tô màu cho miền (Floodfill)

- Khi vẽ đường trịn khung chữ nhật khơng thể tạo hoa văn tô màu

- Thủ tục SETFILLSTYLE(n1,n2) cần ñưa vào trước thủ tục vẽ hình nêu mục ý Giá trị màu kiểu vân hoa ñược giữ cho ñến ta ñịnh nghĩa lại

Bảng Giá trị ý nghĩa tham số n1

Giá trị Tên tiếng Anh ý nghĩa

0 EmptyFill Không tạo hoa văn bên hình

1 SolidFill Tạo hoa văn nét liền

2 LineFill Tạo nét gạch nối

3 LTSlashFill Tạo hoa văn nét /// SlashFill Tạo hoa văn nét /// ñậm BKSlashFill Tạo hoa văn nét \\\ ñậm LTBKSlashFill Tạo hoa văn nét \\\

7 HatchFill Kẻ lưới hình vng

8 XHatchFill Kẻ lưới hình vng xoay 90 độ InterleaveFill Tơ nét đứt qng

10 WideDotFill Tạo hoa văn dấu chấm thưa

11 CloseDotFill Tạo hoa văn dấu chấm dày (liền nhau) 1.5 - Viết chữ chế ñộ ñồ hoạ

Khi ñã chuyển sang làm việc chế ñộ ñồ hoạ ta khơng thể viết chữ bình thường chế độ văn Muốn viết chữ hình vẽ ta sử dụng số thủ tục sau ñây:

* OUTTEXT(chuỗi) : Thủ tục cho chuỗi ký tự vị trí trỏ thời

Chuỗi viết trực tiếp thơng qua biến chuỗi ví dụ 45 sau đây: Ví dụ 45

Var

chuviet : string[30] Begin

(182)

chuviet:='Viet nam dan chu cong hoa'; outtext(chuviet);

* OUTTEXTXY(x,y,chuoi) : thủ tục viết chuỗi ký tự toạ ñộ x,y * SETTEXTSTYLE(Kiểu chữ, Chiều viết, Kích thước);

Kiểu chữ tham số nguyên nhận giá trị khoảng 0-4 Chiều viết nhận hai giá trị : nằm ngang; thẳng đứng Kích thước Là hệ số phóng to chữ chọn từ 0-10

ðể chấm dứt chế ñộ ñồ hoạ trở chế ñộ văn ta dùng thủ tục CLOSEGRAPH Sau muốn quay lại chế ñộ ñồ hoạ ta lại phải gọi lại INITGRAPH

Trong số trường hợp ñể chuyển nhanh chế ñộ ñồ hoạ văn dùng hai thủ tục sau đây:

- RESTORECRTMODE; Tạm ngừng chế ñộ ñồ hoạ chuyển sang chế ñộ văn - SETGRAPHMODE(n); Ngắt chế ñộ văn ñã tạo Restorecrtmode thiết lập trở lại chế ñộ ñồ hoạ Tham số n lựa chọn khoảng 0-2 Ví dụ 46 trình bày cách sử dụng thủ tục

Program dohoa_text; uses crt,graph; var

gd,gm:integer; begin

gd:=detect;

initgraph(gd,gm,'a:\tp5\bgi'); if graphresult<>grok then halt(1); moveto(0,0); setcolor(5);

lineto(300,300); delay(2500); circle(400,300,100); delay(1500);

restorecrtmode; (* Chuyển chế ñộ văn *) gotoxy(20,20);textcolor(9);

write('Happy New Year'); readln;

setgraphmode(2); (* Trở chế ñộ ñồ hoạ với n=2 cho hình VGA*) setcolor(blue);

circle(100,100,50); delay(2000);

restorecrtmode; (* Chuyển sang chế ñộ văn lần thứ hai*) textcolor(3);

gotoxy(20,0);write('DAI HOC NONG NGHIEP I HA NOI'); readln;

closegraph; (* Kết thúc chế ñộ ñồ hoạ*) end

Việc sử dụng thủ tục đồ hoạ khơng có phức tạp, với chút cố gắng bạn vẽ đợc hình ñẹp theo mong muốn Dưới ñây chương trình vẽ đồ thị hình sin Chạy chương trình ta thấy ba đường hình sin với biên độ màu sắc khác

(183)

Program Do_thi_hinh_sin; uses graph,crt;

const m=0.1;

Var t3,t4,t1,n,t2,gd,gm:integer; t,x,y,z:real; Begin

gd:=detect;

Initgraph(gd,gm,'a:\tp5\bgi'); if graphresult<>grok then Halt(1); x:=0; t3:=100; n:=0; t2:=10; while t2<=600

Begin

setcolor(green); y:=sin(x);

t1:=round(y*50); t3:=round(y*70); t4:=round(y*100); t1:=200-t1; t3:=200-t3; t4:=200+t4;

moveto(10,200); lineto(620,200); line(10,80,10,300); settextstyle(3,0,3); outtextxy(610,205,'x'); settextstyle(3,0,3); outtextxy(15,75,'y'); settextstyle(4,0,3); setcolor(5);

outtextxy(200,300,'do thi ham sin(x)'); setcolor(12);

moveto(10,200); putpixel(t2,t1,11); putpixel(t2,t3,14); setcolor(red);

putpixel(t2,t4,random(14)); setcolor(12);

delay(5); x:=x+0.07; t2:=t2+1; end;

repeat until keypressed; t1:=1;

t2:=200;

while t1<=220 begin

line(340,240,round(sqrt(440*440-t1*t1)),t1); t1:=t1+1;

(184)

end;

repeat until keypressed; closegraph;

End

Chương trình ñây thiết kế ñồng hồ ba kim , tốc ñộ chạy kim giây tuỳ thuộc vào lệnh DELAY(n) , chọn DELAY(1000) giây kim giây chuyển vị trí Khi nhập chương trình vào máy cần lưu ý khai báo lại ñường dẫn ñến thư mục chứa tệp *.BGI

Program VEDONGHO; uses crt,graph;

var

x,y, maxx,maxy, gd,gm,color,i,j,t:integer; N:real;

LAM,TT:CHAR; begin

gd:=detect;

initgraph(gd,gm,'c:\tp5\BGI'); setcolor(5);

rectangle(30,20,610,450); rectangle(31,21,609,449); rectangle(32,22,608,448); setfillstyle(9,2);

bar(33,23,607,447); setcolor(red); setbkcolor(red);

for i:=1 to 10 circle(320,240,i); setcolor(11);

setbkcolor(white);

for i:=11 to 80 circle(320,240,i); setcolor(14);

setbkcolor(white);

for i:=80 to 160 circle(320,240,i); setcolor(white);

for i:=160 to 200 circle(320,240,i); setcolor(11);

circle(320,240,79); circle(320,240,80); setcolor(4);

(185)

outtextxy(410,370,'V'); outtextxy(310,400,'VI'); outtextxy(210,370,'VII'); outtextxy(135,290,'VIII'); outtextxy(130,210,'IX'); outtextxy(155,130,'X'); outtextxy(220,60,'XI'); setcolor(blue);

Settextstyle(4,0,5);

outtextxy(230,100,'DIAMON'); setcolor(random(14));

for i:=1 to 20 circle(320,360,i ); settextstyle(1,0,2); setcolor(5);

outtextxy(200,450,'Copyright by Dr Duong Xuan Thanh'); for i:=1 to 20

begin

setcolor(random(14)); circle(320,360,i ); end;

for i:=1 to 20 begin

setcolor(random(14)); circle(320,360,i ); end;

for t:=0 to 12 { - Kim gio -} begin

setcolor(12); moveto(320,240); setlinestyle(0,0,3); SetWriteMode(xorput);

linerel(round(110*cos((t*30-89)*pi/180)),round(110*sin((t*30-89)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-90)*pi/180)),round(110*sin((t*30-90)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-91)*pi/180)),round(110*sin((t*30-91)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-92)*pi/180)),round(110*sin((t*30-92)*pi/180))); for i:=0 to 60 { -Kim phut -}

begin setcolor(12); moveto(320,240); setlinestyle(0,0,3); SetWriteMode(xorput);

(186)

linerel(round(130*cos((i*6-90)*pi/180)),round(130*sin((i*6-90)*pi/180))); moveto(320,240);

linerel(round(130*cos((i*6-91)*pi/180)),round(130*sin((i*6-91)*pi/180))); (* -Kim giay -*)

for j:=0 to 360 begin

moveto(320,240); setlinestyle(0,0,3); SetWriteMode(XORPut); setcolor(12);

linerel(round(150*cos((j-90)*pi/180)),round(150*sin((j-90)*pi/180))); moveto(320,240);

linerel(round(150*cos((j-91)*pi/180)),round(150*sin((j-91)*pi/180))); delay(1000); moveto(320,240);

linerel(round(150*cos((j-90)*pi/180)),round(150*sin((j-90)*pi/180))); moveto(320,240);

linerel(round(150*cos((j-91)*pi/180)),round(150*sin((j-91)*pi/180))); end;

moveto(320,240);

linerel(round(130*cos((i*6-89)*pi/180)),round(130*sin((i*6-89)*pi/180))); moveto(320,240);

linerel(round(130*cos((i*6-90)*pi/180)),round(130*sin((i*6-90)*pi/180))); moveto(320,240);

linerel(round(130*cos((i*6-91)*pi/180)),round(130*sin((i*6-91)*pi/180))); end;

moveto(320,240);

linerel(round(110*cos((t*30-89)*pi/180)),round(110*sin((t*30-89)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-90)*pi/180)),round(110*sin((t*30-90)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-91)*pi/180)),round(110*sin((t*30-91)*pi/180))); moveto(320,240);

linerel(round(110*cos((t*30-92)*pi/180)),round(110*sin((t*30-92)*pi/180))); end;

repeat until keypressed; END

2 – Âm

Trong máy PC thông dụng công suất loa nhỏ việc tạo âm có tính chất biểu diễn Muốn tạo âm cao thấp khác ta cần ñưa vào loa xung ñiện với tần số khác Turbo Pascal có ba thủ tục thiết kế sẵn ñể làm việc

SOUND(n) : tạo âm với tần số n , ñây n phải số nguyên dương

DELAY(n) : Kéo dài tín hiệu âm khoảng thời gian n miligiây sau có thủ tục ngắt âm Nosound

NOSOUND : ngắt tín hiệu âm

(187)

để tạo nhạc cần có chút kiến thức nhạc lý độ cao thấp âm nhạc ựược phân thành quãng tám Quãng tám trung tần nốt có tần số 512 Hz, qng tám trầm tần số nốt đồ 256 Hz, quãng tám cao nốt đố có tần số 1024 Hz

Tên nốt nhạc theo quy ước là:

Qng tám trầm : đồ, rề, mì, fà, sịn, là, xì Qng tám trung : đơ, rê, mi, fa, son, la , xi Quãng tám cao : ñố, rế, mí, fá, són, lá, xí

Về cao ựộ nốt Mi - Fa Xi - đô cách nửa cung nốt lại cách cung Nếu tắnh từ nốt đồ (tần số 256) ựến nốt đố (tần số 512) khoảng cách cung chênh leechj tần số cung (512-256)/6 = 43 Hz Giữa nốt Mi - Fa Xi - đô chênh lệch 22 Hz (vì nốt cách nửa cung) Ngoài cần biết cách tạo nốt thăng, giáng ựể tạo nhạc theo ý muốn

Nếu muốn nghe nhạc phát từ máy tạo nên chương trình thiết kế nốt nhạc sau ghép chúng lại thành nhạc tuỳ ý

Chương trình thiết kế nhạc Làng tơi, chương trình T0, T1 T5 tạo trường độ, ví dụ T0 nốt trịn, T1 nốt đen chương trình khác tạo nốt nhạc hai quãng tám trầm trung, có số nốt thăng giáng

Program Vancao; uses crt;

procedure T0; Begin delay(20000); Nosound; End; procedure T1; Begin delay(10000); Nosound; End; procedure T2; Begin delay(5000); Nosound; End; procedure T3; Begin delay(2500); Nosound; End; procedure T4; Begin delay(1250); Nosound; End; procedure T5; Begin delay(30000); Nosound; End; Procedure nt(i:integer);

Begin Sound(i); End;

Procedure do1; Begin nt(256); End; {quang tam tram} Procedure do11; Begin nt(270); End; {not thang} Procedure re1; Begin nt(299); End;

Procedure mi1; Begin nt(342); End; Procedure fa1; Begin nt(363); End; Procedure son1; Begin nt(406); End; Procedure la1; Begin nt(449); End; Procedure si1; Begin nt(492); End;

Procedure do2; Begin nt(534); End; {quang tam trung} Procedure re2; Begin nt(600); End; {not Re giang} Procedure mi2; Begin nt(685); End;

Procedure fa2; Begin nt(634); End; Procedure son2; Begin nt(677); End; Procedure la2; Begin nt(712); End; Procedure si2; Begin nt(755); End; Procedure Langtoi;

(188)

clrscr; gotoxy(25,12); textcolor(14); textbackground(red); Write(' LANG TOI * Nhac tien chien ');

Repeat

do11;t0;mi1;t1;son1;t0;la1;t1;son1;t0; son1;t1;do2;t1;si1;t1;la1;t1;son1;t0; la1;t1;son1;t1;fa1;t1;mi1;t1;son1;t0;t1;

do11;t0;re1;t1;mi1;t0;son1;t1;do2;t0;re2;t1;mi2;t0;t1; re2;t1;do2;t1;re2;t1;do2;t1;son1;t0;mi1;t1;son1;t1;do2;t5;t1; do2;t1;do2;t2;la1;t1;la1;t1;si1;t1;la1;t1;son1;t0;t1;

fa1;t1;fa1;t1;la1;t0;t4;la1;t1;mi1;t0;re1;t1;son1;t5;t1; do1;t0;re1;t1;mi1;t0;fa1;t1;son1;t0;mi1;t1;re1;t5; do1;t1;do2;t0;si1;t1;re2;t0;son1;t1;do2;t5; Until keypressed; Nosound;

End; BEGIN Langtoi; END

Dưới ví dụ thiết kế bàn phím thành phím đàn dương cầm Các nốt ñô, rê, mi, fa, son, la , xi ñố bấm chữ tương ứng ( D, R, M, F, S, L, X, Z) Muốn dừng âm ta bấm phím P (PAUSE), cịn muốn dừng chương trình bấm E (EXIT)

Program nhac; uses crt,graph; var

n :char; i,j:integer; begin

clrscr;

textcolor(14); textbackground(white); for i:=1 to

begin

gotoxy(16,i+3);

for j:=1 to 51 write(chr(177)); end;

gotoxy(17,5); textcolor(red);

write('Do-D, Re-R, Mi-M, Fa-F, Son-S, La-L, Xi-X, Do2-Z'); gotoxy(33,6); write(' Re2-W, Mi2-T ');

gotoxy(22,7); textcolor(blue);

writeln(' P->Ngat am, E-> Dung chuong trinh '); gotoxy(22,8);

textcolor(5);

writeln('Moi ban choi moi ban nhac minh ua thich '); repeat

n:= readkey;

(189)

if n = 'r' then begin nosound; delay(10); sound(587); end; if n = 'm' then begin nosound; delay(10); sound(659); end; if n = 'f' then begin nosound; delay(10); sound(698); end; if n = 's' then begin nosound; delay(10); sound(784); end; if n = 'l' then begin nosound; delay(10); sound(880); end; if n = 'x' then begin nosound; delay(10); sound(988); end; if n = 'z' then begin nosound; delay(3); sound(1050); end; if n = 'w' then begin nosound; delay(3); sound(1190); end; if n = 't' then begin nosound; delay(3); sound(1300); end; if n = 'p' then nosound;

until upcase(n) ='E'; nosound;

end

Bài tập chương VII Viết chương trình vẽ n hình vng lồng

2 Viết chương trình vẽ bàn cờ hình vng có 64 ( chiều 8), xen kẽ đỏ đến trắng

(190)

Tài liệu tham khảo

1 Bùi Thế Tâm Windows 2000, Word 2000, Excel 2000, Powerpoint 2000 Nhà xuất Giao thông vận tải , năm 2003

2 Bùi Thế Tâm Turbo Pascal 7.0 Nhà xuất thống kê, năm 1996 Charles rubin Microsoft Word (bản dịch) Nhà xuất trẻ, năm 1999

4 ðỗ Xuân Lôi Cấu trúc liệu Giải thuật Nhà xuất Khoa học Kỹ thuật, năm 1998

5 ðỗ Xuân Thụ - Hồ Khánh Lâm Kĩ thuật vi xử lý máy vi tính Nhà xuất giáo dục, năm 2000

Kain Richard Advance Computer architecturre: A system Design Approach Prentice Hall USa, 1996

7 Hồng Hồng Giáo trình tin học văn phịng Nhà xuất Giao thông vận tải, năm 2002 Hayes John Computer Architecturre and Orgnizassion McGaw Hill USA 1998

9 Nguyễn Nam Trung Cấu trúc máy tính thiết bị ngoại vi Nhà xuất Khoa học kỹ thuật, năm 2003

10 Nguyễn Xuân Phong - Trương Lê Ngọc Thường Tin học ñại cương Nhà xuất Thanh niên, năm 2002

Ngày đăng: 18/04/2021, 10:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w