Giới thiệu chung

Một phần của tài liệu Quản lý từ điển trên pocket PC (Trang 35 - 40)

Việc học ngoại ngữ, đọc dịch tài liệu nước ngoài hiện này đó trở thành nhu cầu khụng thể thiếu đối với rất nhiều người. Và vật dụng cần nhất khi học ngoại ngữ đú chớnh là từ điển. Chương trỡnh từ điển Anh - Việt dành cho Pocket PC được xõy dựng trờn nền hệ điều hành Window Mobile 5.0 và.NetFramework 3.5. Cho phộp thao tỏc với 2 loại từ điển là Anh - Việt và Việt - Anh. Dữ liệu gồm 108000 từ Anh - Việt và 23400 từ Việt - Anh. Phương phỏp lưu trữ theo chuẩn Dict đó và đang được dựng nhiều hiện nay, dữ liệu được tỡm kiếm bằng phương phỏp tỡm kiếm nhị phõn. Giao diện chương trỡnh cho phộp hiển thị với hai ngụn ngữ tiếng Anh và tiếng Việt. Ngoài tra từ, một số tớnh năng khỏc như thờm, sửa, xúa và nhớ những từ vừa tra giỳp người dựng cú thể quản lý từ điển hiệu quả và dễ dàng hơn.

3.2. Chuẩn Dict

Hầu như ai cũng biết một cuốn từ điển bằng giấy giấy phải đến gần cả nghỡn trang. Từ điển trờn mỏy tớnh cũng vậy dữ liệu là rất lớn, với hơn 100000 từ, mà mỗi từ được lưu trờn một dũng thỡ phần nghĩa của nú cũn gấp nhiều lần hơn nữa, dẫn đến việc tỡm nghĩa của từ trở nờn rất lõu cú khi làm tràn cả bộ nhớ. Chuẩn Dict chớnh là một giải phỏp thay vỡ tỡm kiếm theo thứ tự thỡ tỡm kiếm theo chuẩn Dict nhanh chúng và hiệu quả hơn nhiều:

- Dữ liệu của mỗi từ điển được lưu trờn 2 tệp: tệp dict lưu nghĩa của từ, cũn tệp index bao gồm tờn từ, địa chỉ nghĩa của từ trong tệp dict và độ dài nghĩa của từ.

* Tệp index: Địa chỉ offset và độ dài nghĩa của từ được mó húa với 64 ký tự:

0 A 8 I 16 Q 24 Y 32 g 40 o 48 w 56 4 1 B 9 J 17 R 25 Z 33 h 41 p 49 x 57 5 2 C 10 K 18 S 26 a 34 I 42 q 50 y 58 6 3 D 11 L 19 T 27 b 35 j 43 r 51 z 59 7 4 E 12 M 20 U 28 c 36 k 44 s 52 0 60 8 5 F 13 N 21 V 29 d 37 l 45 t 53 1 61 9 6 G 14 O 22 W 30 e 38 m 46 U 54 2 62 + 7 H 15 P 23 X 31 f 39 n 47 v 55 3 63 / ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu vwxyz0123456789+/ .

Vớ dụ: Hỡnh trờn biểu diễn từ abalienate, phần nghĩa của nú trong tệp

dict cú địa chỉ offset là sn64, địa chỉ này đó được mó húa theo 64 ký tự ở trờn, do đú cần đổi nú sang hệ cơ số 10. Theo nguyờn tắc từ bảng 64 ký tự trờn A sẽ cú vị trớ là 0 và / cú vị trớ 63, chuỗi cần đổi là sn64 đối chiếu lờn bảng ta cú:

s cú vị trớ 52 n cú vị trớ 39 6 cú vị trớ 58 4 cú vị trớ 56

Chuỗi này cú độ dài là 4 tương ứng bộ số (3, 2, 1, 0)

Địa chỉ offset = ns64 = 52*643 + 39*642 + 58*641 + 56*640

=13795000

Tương độ dài = BA = 1*641 + 0*640 = 64

- Việc mó húa như vậy nhằm làm giảm kớch thước tệp tin: + Khụng mó: abalienate 13795000 64 (22 bytes) +Cú mó: abalienate ns64 BA (18 bytes) * Tệp dict:

Cấu trỳc tệp chứa nguồn như sau: @headword

* tu loai (noun, verb...) - dinh nghia 1

= cau vi du cho dinh nghia 1 + nghia cua cau do - dinh nghia 2

= cau vi du cho dinh nghia 2 + nghia cua cau do * tu loai

- dinh nghia 3

Nghĩa của mỗi từ gồm một phần như trờn, cỏc nghĩa của mỗi từ nối tiếp nhau.

3.3. Mụ hỡnh lưu trữ dữ liệu

3.3.1. Bảng ký tự đầu

Từ điển Anh - Việt sẽ cú 1 tệp lưu trữ cỏc chữ cỏi là chữ cỏi đầu của từ:

Theo hỡnh chữ cỏi dũng 1 chữ cỏi A sẽ cú địa chỉ offset trong tệp index

là 901.

Khi chữ a hoặc A được nhấn thỡ chương trỡnh sẽ truy cập trực tiếp tới địa chỉ 901 của tệp index để đọc tất cả từ cú chữ cỏi đầu là a và A. Đọc như vậy sẽ đỡ tốn bộ nhớ, tỡm kiếm sẽ nhanh hơn.

3.3.2.Cấu trỳc lưu từ

Vỡ trong tệp index mỗi từ được lưu với 3 thụng số nờn để dễ quản lý cần lưu chỳng tới 1 cấu trỳc như sau:

public struct DicIndex { public string wordIndex; public string strOffset; public string strLen; };

Trong đú:

- wordIndex: tờn từ. (adsbygoogle = window.adsbygoogle || []).push({});

- strOffset: địa chỉ offset trong tệp nghĩa. - strLen: độ dài nghĩa của từ.

3.4. Sắp xếp và tỡm kiếm từ

- Sắp xếp từ điển:

+ Vỡ từ được lưu theo dạng cấu trỳc 3 thành phần như trờn cho nờn khi sắp xếp cần sắp xếp cả cấu trỳc theo một một phần tử nào đú, ở đõy sẽ chọn sắp xếp theo tờn từ:

+ Trong C# phương thức Sort<> là hàm được được hỗ trợ sẵn và viết theo thuật toỏn Quick Sort.

Tỡm kiếm

Chương trỡnh sử dụng thuật toỏn tỡm kiếm nhị phõn đõy là thuật toỏn tỡm kiếm nhanh và khỏ hiệu quả.

Một phần của tài liệu Quản lý từ điển trên pocket PC (Trang 35 - 40)