Các chương trình tiện ích của hệ điều hành Windows

Một phần của tài liệu Bài giảng tin học đại cương ths trần thị mỹ tiên (Trang 31)

Chương trình tiện ích là một loại phần mềm thực hiện một tác vụ cụ thể, thường

liên quan đến quản lí và bảo trì hệ thống máy tính. Hầu hết các HĐH đều tích hợp nhiều chương trình tiện ích khác nhau. Những chức năng mà chúng cung cấp như quản lí tập tin, tìm kiếm tập tin, xem ảnh, gỡ bỏ chương trình, dọn dẹp ổ đĩa, chống phân mảnh ổđĩa, sao lưu dữ liệu, thiết lập chếđộlưu màn hình, nén tập tin,…

2.4.1Windows Explorer

Windows Explorer là một chương trình quản lí tập tin trong HĐH Windows cho

phép hiển thị các tập tin/thư mục và thực hiện các thao tác cơ bản trên chúng như tạo mới, sao chép, đổi tên, xóa, di chuyển, sắp xếp, tìm kiếm,…

Hình 2.9 – Tiện ích Windows Explorer

2.4.2Tiện ích tìm kiếm dữ liệu

Đây là một tiện ích hỗ trợcho người dùng tìm kiếm các tập tin được lưu trữ ở

những vị trí khác nhau trong máy tính. Nó sẽ tìm kiếm một hoặc nhiều tập tin dựa trên những tiêu chí do người dùng đưa ra. Những tiêu chí đó có thể là một từ hoặc một câu

nào đó chứa trong tập tin, các thuộc tính của tập tin như ngày tạo, kích thước, tên và loại tập tin.

31

Hình 2.10 – Tiện ích dọn dẹp ổđĩa 2.4.3Chương trình dọn dẹp ổđĩa

Tiện ích này sẽ thực hiện tìm kiếm và xóa tất cả các tập tin không cần thiết khỏi

ổđĩa, chẳng hạn như tập tin đã bị xóa, tập tin chương trình không được sử dụng, …

Hình 2.11 – Tiện ích dọn dẹp ổđĩa 2.4.4Chương trình sao lưu và phục hồi dữ liệu

Tiện ích sao lưu dữ liệu trong cho phép người dùng sao chép các tập tin hoặc toàn bộ đĩa cứng và lưu trữ ở một vị trí khác như đĩa cứng ngoài, CD/DVD, USB,…Trong quá trình sao lưu, các tập tin có thểđược nén lại để giúp thu nhỏ kích cỡ

của chúng. Vì vậy, người dùng thường không thể sử dụng trực tiếp các tập tin ở dạng

sao lưu. Trong trường hợp này, tiện ích phục hồi dữ liệu sẽ giúp giải nén và trả về

dạng ban đầu cho chúng. Người dùng có thểđặt lịch biểu cho máy tính tựđộng sao lưu thường xuyên, tránh mất mát dữ liệu.

32

Hình 2.12 – Tiện ích sao lưu và phục hồi dữ liệu

2.4.5Chương trình nén dữ liệu

Nén dữ liệu là một phương pháp loại bỏ bớt một số thông tin dư thừa, cho phép giảm dung lượng của tập tin, giúp cải thiện tốc độ truyền tập tin qua mạng internet và chiếm ít không gian bộ nhớhơn so với ban đầu. Nén dữ liệu được chia ra làm 2 loại là nén mất dữ liệu và nén không mất dữ liệu. Với kiểu nén mất dữ liệu thì dung lượng của các tập tin được giảm đáng kể, nhưng chất lượng của chúng cũng sẽ giảm và không thể khôi phục lại trạng thái như ban đầu. Kiểu nén này thường sử dụng để nén những tập tin hình ảnh hoặc video vì sự giảm sút nhỏ về chất lượng khó có thể nhận ra hoặc vẫn sử dụng được. Ngược lại, với kiểu nén không làm mất dữ liệu, người dùng có thể nhận lại được tập tin nguyên gốc sau khi giải nén. Với các loại tập tin văn bản thì việc ứng dụng kiểu nén này là hoàn toàn phù hợp.

WinZip hoặc WinRAR là hai tiện ích nén dữ liệu thường được sử dụng trong

33

CÂU HỎI CHƯƠNG 2

Câu 1: Nêu khái niệm hệđiều hành? Có bao nhiêu loại HĐH? Hãy kể tên một số

hệđiều hành được dùng phổ biến hiện nay?

Câu 2: Hãy cho biết những chức năng chính của hệđiều hành là gì?

Câu 3: Phân biệt các chếđộ tắt máy tính?

Câu 4: Phân biệt giao diện dòng lệnh và giao diện đồ họa?

Câu 5: Nêu khái niệm tập tin và thư mục?

Câu 6: Chương trình nào sau đây dùng để quản lí thư mục và tập tin?

a. Windows Explorer b. Windows Accessories c. Microsoft Office

d. Windows Control Panel

Câu 7: Cho biết ưu và nhược điểm của HĐH Windows là gì?

Câu 8: Những điểm vượt trội của HĐH Linux so với HĐH Windows là gì?

Câu 9: Những chương trình tiện ích thường được tích hợp trong các HĐH là gì?

Câu 10: Hãy cho biết cách thức tìm kiếm một tập tin bất kì được lưu trên ổ cứng của máy tính?

34

Chương 3

THUẬT TOÁN 3.1 Giới thiệu

Trước hết, chúng ta hãy cùng xem xét bài toán thường gặp là tìm đường đi ngắn nhất từđịa điểm A đến địa điểm B.

- Dữ kiện: Địa điểm A, B và bản đồ.

- Yêu cầu: Tìm ra một đường đi ngắn nhất giữa hai địa điểm trên.

Dễ thấy rằng, mỗi bài toán đặt ra luôn có hai thành phần cơ bản là các dữ kiện của bài toán và yêu cầu phải làm gì. Việc giải quyết bài toán nghĩa là từ các dữ kiện đã cho dùng một số hữu hạn các thao tác thích hợp để tìm ra kết quả theo yêu cầu của bài toán.

Từ khi máy tính ra đời, với tốc độ và tính chính xác của mình, nó đã trở thành một công cụ hữu dụng trong việc giải quyết nhiều bài toán phức tạp. Tuy nhiên, bản thân máy tính chỉ là một thiết bị vật lí vô tri vô giác chỉ có khả năng thực hiện chính xác từng bước các chỉ thị được viết trong chương trình. Vì thế, bước đầu tiên quan trọng nhất mà con người cần phải làm đó là đưa ra cách giải quyết bài toán mà có thể “giao cho máy làm được”. Như vậy, trình tựcác bước thực hiện để giải quyết một bài toán được gọi là một thuật toán. Thuật toán là sự thể hiện của phương pháp giải quyết

tường minh một bài toán và là cơ sởđể chuyển giao công việc cho máy tính. Lập trình chính là quá trình mã hóa thuật toán bằng cách sử dụng các ngôn ngữ lập trình để máy tính có thể hiểu và thực thi được. Không có thuật toán thì không thể có chương trình.

Do đó, việc nghiên cứu các thuật toán hiệu quảđóng vai trò rất quan trọng đối với lĩnh

vực khoa học máy tính.

3.2 Khái niệm thuật toán

Thuật toán là thủ tục gồm một tập hợp hữu hạn các qui tắc, nhằm xác định một dãy hữu hạn các thao tác thực hiện trên các đối tượng dữ liệu đầu vào (input) để giải quyết một hoặc một lớp bài toán và thu được kết quảxác định (output).

Ví dụ 1: Thuật toán Euclid là thuật toán tìm ước số chung lớn nhất (USCLN) của hai sốnguyên dương a và b.

- Input: a, b là sốnguyên dương

- Output: USCLN của a và b Thuật toán có thểđược mô tảnhư sau:

Bước 1: Nếu a < b thì hoán vị hai số a, b cho nhau  Bước 2: Nếu b = 0 thì USCLN là a

35

Bước 3: Ngược lại, thì thực hiện

o Tìm sốdư r của phép chia a cho b

o Gán a = b, b = r, rồi quay trở lại bước 2.

Ví dụ 2: Thuật toán tìm phần tử lớn nhất trong một dãy hữu hạn các số nguyên. - Input: một dãy hữu hạn các số nguyên

- Output: giá trị lớn nhất trong dãy Ta có thể mô tả thuật toán như sau:

Bước 1: Đặt giá trị lớn nhất max bằng sốnguyên đầu tiên.

Bước 2: So sánh số nguyên kế tiếp trong dãy với giá trị max, nếu nó lớn

hơn max thì ta gán max bằng số nguyên này.

Bước 3: Nếu trong dãy còn số nguyên chưa xét tới thì tiếp tục lặp lại bước 2.

Bước 4: Ngược lại thì dừng. Giá trị lớn nhất trong dãy chính là giá trị max.

Các tính chất đặc trưng của thuật toán:

D liệu đầu vào(Input): Mỗi thuật toán cần phải có một hoặc nhiều dữ liệu

đầu vào.

D liệu đầu ra(Output): Từ dữ liệu đầu vào, thuật toán xử lí và sẽ cho ra kết quảxác định thể hiện lời giải của bài toán.

Tính tng quát: Thuật toán phải áp dụng để giải một lớp bài toán có dạng

tương tự, chứ không phải chỉ áp dụng những bài toán cụ thể riêng lẻ.

Tính xác định: Các bước trong thuật toán phải rõ ràng, trật tự thực hiện phải xác định và là duy nhất. Như vậy, khi dùng thuật toán với cùng một dữ

liệu đầu vào phải cho ra cùng một kết quả.

Tính dng: Thuật toán phải cho ra kết quả sau một số hữu hạn các bước. Tính hiu qu: Một thuật toán được gọi là hiệu quả nếu nó đơn giản, dễ

hiểu, thời gian thực hiện nhanh và chiếm ít bộ nhớ.

3.3 Các phương pháp biểu diễn thuật toán

Mỗi thuật toán cần được biểu diễn sao cho người khác hoặc máy tính có thể hiểu và thực hiện được. Người ta thường diễn tả thuật toán sử dụng một trong các ngôn ngữ

sau:

- Ngôn ngữ tự nhiên (Liệt kê các bước thực hiện) - Ngôn ngữlưu đồ(Sơ đồ khối)

36

3.3.1Ngôn ngữ tự nhiên

Với cách biểu diễn này, người ta sử dụng một loại ngôn ngữ tự nhiên (tiếng việt, tiếng anh, …) để liệt kê từng bước thực hiện của thuật toán. Cách biểu diễn này đơn

giản, không đòi hỏi người viết và người đọc thuật toán phải nắm các kí hiệu và qui tắc. Tuy vậy, phương pháp này thường dài dòng, không thể hiện rõ cấu trúc của thuật toán, câu chữ mang nhiều ý nghĩa khác nhau nên dễ gây hiểu lầm.

3.3.2Ngôn ngữlưu đồ(Sơ đồ khối)

Ngôn ngữlưu đồ là một dạng sơ đồ biểu diễn trực quan luồng dữ liệu được xử lí trong hệ thống. Khi người đọc nhìn vào sơ đồ có thể thấy rõ các thao tác được thực hiện như thế nào và trình tự của chúng trong một hệ thống. Chính vì vậy, sơ đồ khối là một công cụ rất hữu dụng để diễn đạt thuật toán.

Sơ đồ khối sử dụng một số ký hiệu hình học sau để diễn đạt:

Bảng 3.1 – Các ký hiệu hình học trong sơ đồ khối

Ví dụ: Biểu diễn thuật toán tìm giá trị lớn nhất của một dãy số nguyên a gồm N số: a0, a1, a2,…, aN-1

37 Người ta thường sử dụng sơ đồ khối trong giai đoạn đầu của việc xây dựng giải pháp để giải quyết bài toán. Nó giúp cho lập trình viên hiểu được tính logic của những bài toán phức tạp, cũng như giúp họ phân tích vấn đề hiệu quảhơn. Ngoài ra, nó còn

được sử dụng để gỡ lỗi chương trình. Tuy vậy, nó cũng có một sốnhược điểm là phải vẽ nhiều làm mất thời gian, và nó sẽ trở nên quá cồng kềnh với các bài toán phức tạp.

Đôi khi, một chút thay đổi trong các giải pháp có thể yêu cầu vẽ lại toàn bộsơ đồ.

3.3.3Mã giả

Mã giả là một ngôn ngữ gần giống với ngôn ngữ lập trình. Nó sử dụng kết hợp ngôn ngữ tự nhiên, các ký hiệu toán học, và vay mượn một số cấu trúc của một ngôn ngữ lập trình nào đó để thể hiện thuật toán. Mã giảgiúp cho người thiết kế và lập trình viên tập trung vào logic của thuật toán mà không cần quan tâm đến các chi tiết của cú pháp ngôn ngữ. Vì là mã giả nên nó không thểđược thực thi trên máy tính và không có tiêu chuẩn chung trong việc viết mã giả. Mỗi tác giả có phong cách viết cho riêng mình, miễn là trình bày rõ ràng và họ thường kèm theo chú thích về cú pháp được sử

dụng.

Các cấu trúc thường gặp trong mã giảnhư:

- Cấu trúc lựa chọn

if(điều kiện) then (hành động)

else (hành động) - Cấu trúc lặp

38 Ví dụ 1: Tìm số lớn nhất trong hai số a và b Ví dụ 2: In ra các số từ1 đến 5 Nhập giá trị a, b; if (a ≥ b) then Xuất kết quả: số lớn nhất là a; else Xuất kết quả: số lớn nhất là b; a = 1; while (a != 6) do Xuất giá trị a; a = a + 1; 3.4 Các cấu trúc cơ bản

Các nhà khoa học máy tính đã đưa ra 3 cấu trúc cơ bản để xây dựng thuật toán và

chương trình có cấu trúc gồm: cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp. Việc sử dụng các cấu trúc này sẽlàm cho chương trình hoặc thuật toán trở nên dễ hiểu, dễ

gỡ lỗi và dễthay đổi.

3.4.1Cấu trúc tuần tự

Cấu trúc tuần tự là một cấu trúc cơ bản nhất. Trong cấu trúc tuần tự, các bước

được thực hiện theo một trình tự tuyến tính từ trên xuống, hết bước này đến bước khác. Mỗi bước thường thực hiện một trong sốcác thao tác cơ bản như: nhập dữ liệu, xuất kết quả, thực hiện các phép toán số học và phép gán. Sơ đồ khối thể hiện cấu trúc tuần tự: Ví dụ 1: Tính S = 2 2 y x C By Ax    , trong đó x, y ≠ 0. - Input: A, B, C, x, y - Output: giá trị S

39

Ví dụ 2: Tính tổng trung bình của 3 số nguyên a, b, c. - Input: 3 số nguyên a, b, c

- Output: tổng trung bình của 3 số

3.4.2Cấu trúc rẽ nhánh

Trong một số thuật toán, việc thực hiện các bước cần phải được chọn lựa dựa vào một điều kiện xác định. Điều kiện ở đây là một biểu thức logic, có hai giá trị là true (T) và false (F). Tùy thuộc vào kết quả kiểm tra điều kiện mà việc thực hiện thuật toán có thể rẽ theo một trong hai nhánh khác nhau. Trong cấu trúc rẽ nhánh, ngoài các thao

tác cơ bản như trong cấu trúc tuần tự, nó còn thực hiện thao tác so sánh hai giá trị.

40

Cấu trúc rẽ nhánh có thể được biểu diễn bằng sơ đồ khối trong hai trường hợp sau:

Ví dụ 1: Vẽsơ đồ thuật toán để giải phương trình ax + b = 0 - Input: hệ số a, b

- Output: nghiệm x của phương trình

41

3.4.3Cấu trúc lặp

Cấu trúc lặp là cấu trúc cho phép một hoặc một chuỗi các tác vụ/hành động được thực hiện lặp lại nhiều lần. Trong đó, số lần lặp phải là hữu hạn và có thể xác định hoặc không xác định trước. Vòng lặp với số lần lặp không xác định sẽ dừng khi điều kiện kết thúc thỏa mãn. Nhưng người thiết kế thuật toán phải chắc chắn rằng điều kiện kết thúc sẽ được thỏa mãn sau một số hữu hạn lần lặp, nếu không sẽ gây ra vòng lặp chạy vô hạn và thuật toán không kết thúc được. Điều kiện kết thúc có thể được xét

trước hoặc sau khi thực hiện mỗi vòng lặp để quyết định có tiếp tục vòng lặp tiếp theo hay không.

Cấu trúc lặp có thểđược biểu diễn bằng sơ đồ khối như sau:

42

Ví dụ 1: Tính tổng S = 1 + 2 + … + N. - Input: giá trị N

- Output: tổng S

Mô tả thuật toán:

 Bước 1: Nhập giá trị cho N  Bước 2: Kiểm tra giá trị N > 0

o Nếu điều kiện sai thì quay lại bước 1

o Nếu điều kiện đúng thì chuyển sang bước 3  Bước 3:

o Khởi tạo biến S = 0

o Sử dụng biến chạy i đểđiều khiển vòng lặp. Giá trị của nó sẽ thay đổi qua mỗi vòng lặp và thường được dùng để quyết định kết thúc vòng lặp. Vì tổng S được tính từ1 đến N nên ta sẽ khởi tạo i = 1

 Bước 4: Kiểm tra điều kiện i <= N

o Nếu điều kiện đúng thì thực hiện gán S = S + i, và tăng giá trị của i: i = i + 1, rồi quay vềđầu bước 4.

o Nếu điều kiện sai: chuyển sang bước 5  Bước 5: xuất giá trị tổng S

43

Ví dụ 2: Cho số tự nhiên N. Tính N!. - Input: giá trị N

- Output: giai thừa của N

Mô tả thuật toán:

 Bước 1: Nhập giá trị cho N  Bước 2: Kiểm tra điều kiện N < 0

o Nếu điều kiện sai thì chuyển sang bước 3

o Ngược lại, xuất “N phải là một số không âm”, rồi kết thúc thuật toán

Một phần của tài liệu Bài giảng tin học đại cương ths trần thị mỹ tiên (Trang 31)

Tải bản đầy đủ (PDF)

(141 trang)