Nói tóm lại việc xữ lý dữ liệu và tạo ra văn bản là một vấn đề quan trọng được nhiều người quan tâm, đặc biệt là việc xử lý dữ liệu và văn bản chữ Việt trên máy vi tính. Đã có khá nhiều bộ mã chữ Việt đang được thịnh hành nhất hiện nay trên đất nước ta như ABC, VIETWARE, VNI mỗi bộ chữ đều có những ưu, nhược điểm riêng nhưng tất cả đều hướng vào việc soạn thảo, lưu giữ và xử lý dữ liệu trên máy vi tính bằng ngôn ngữ tiếng Việt. Tuyển sinh đại học là một công việc quản lý không phải là dễ dàng bởi có quá nhiều thí sinh tham gia đăng ký dự thi. Do vậy, để quản lý được chặt chẽ về các thông tin của các thí sinh thì cần thiết phải sắp xếp thứ tự các thí sinh tham gia đăng ký dự thi thành một trật tự hợp lý trong mỗi kỳ tuyển sinh. Vì vậy, việc nghiên cứu đề tài “Thiết kế và xây dựng chương trình sắp xếp tiếng Việt trường họ và tên hỗ trợ cho việc tuyển sinh Đại học” có ý nghĩa khá to lớn bởi vì sắp xếp sẽ được kết hợp với bộ mã ABC chương trình này có thể ứng dụng về mọi vấn đề về sắp xếp theo chữ Việt trong Access. Một thực tế là bất cứ ai cần quản lý về mặt nhân sự cũng cần phải sử dụng phần mềm này. Quản lý thí sinh dự thi Đại học và Cao đẳng cũng như quản lý nhân sự trong công ty đều rất quan trọng. Việc sắp xếp một cách có trật tự trường họ và tên giúp cho các nhà quản lý, các nhà lãnh đạo tìm được, sử dụng được một cách nhanh nhất và hiệu quả cao nhất về từng đối tượng quản lý của mình. Chính vì vậy, với đề tài này chúng ta sẽ thu được kết quả các thông tin cơ bản đầu ra cho bất cứ một thí sinh nào tham gia dự thi cũng như cho các nhà quản lý. Thông qua sự hỗ trợ của phần sắp xếp này ta đã có danh sách theo đúng tiêu chuẩn Việt Nam đã ban hành, ngoài ra chương trình còn đưa ra thông tin cơ bản như Giấy báo dự thi, Thẻ dự thi, danh sách các thí sinh, Giấy chứng nhận (Giấy báo điểm) và các thông tin khác về thí sinh để những người quản lý, người lãnh đạo trong kỳ thi tuyển sinh có thể quản lý các thí sinh dự thi được chặt chẽ.
57 trang |
Chia sẻ: aloso | Lượt xem: 1749 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế và xây dựng phần mềm sắp xếp tiếng việt theo trường họ tên hỗ trợ cho việc tuyển sinh Đại học – Cao đẳng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
những nhu cầu đó ngày 12/05/1993 Bộ Khoa học, Công nghệ, và Môi trường đã ra quy định dùng bộ mã chuẩn TCVN 5712-93 trong tất cả các cơ quan Đảng và Nhà nước và bộ mã này đã và đang được sử dụng cho tận đến ngày nay.
1.2 Bốn yêu cầu mới đối với bộ mã chữ Việt 8 bit
Yêu cầu thứ nhất: tình hình mới đã dẫn đến những thay đổi mới trong yêu cầu đối với bộ mã chuẩn chữ Việt. Yêu cầu biểu diễn đầy đủ cho chữ Việt vẫn giữ nguyên, tuy nhiên đối với bộ mã 8 bit, cách mã hoá theo kiểu dựng sẵn thực tế không thể đáp ứng được các yêu cầu của các công ty CNTT quốc tế. Do đó việc biểu diễn đầy đủ cho chữ Việt chỉ có thể được giải thông qua việc sử dụng kỹ thuật mã tổ hợp. Mặt khác sự phát triển của kĩ thuật trên thế giới đã đảm bảo cho việc dùng kỹ thuật mã tổ hợp trong mọi hệ thống phần mềm như Windows, CSDL...Với việc mã hoá theo kỹ thuật này, chữ Việt chỉ cần có thêm 14 mã cho các nguyên âm và phụ âm thuần Việt và 5 mã cho dấu thanh.
Yêu cầu thứ hai xuất phát từ đặc điểm chữ Việt thuộc họ chữ la tinh, do đó cần được hội nhập trong họ các ngôn ngữ có dùng cách viết la tinh. Tất cả các ngôn ngữ dùng cách viết chữ la tinh đều sử dụng bảng mã ISO 8859, với nhiều bảng khác nhau, cho tới nay đã có 14 bản 8895 cho nhiều nước. Vậy bảng mã chuẩn 8 bit cho chữ Việt cũng cần phải dựa trên khuôn khổ của chuẩn quốc tế này.
Yêu cầu thứ ba xuất phát từ một thực tế Việt Nam là một nước có truyền thống hội nhập với nhiều nền văn hoá khác nhau. Do đó bố trí bộ mã chuẩn cho chữ Việt cần cố gắng đảm bảo cho chữ Việt có thể cùng tồn tại với chữ của một số nước khác. Mặt khác bởi vì việc xây dựng bộ mã chữ Việt đi sau bộ mã các nước khác nên không thể đáp ứng cho sự cùng tồn tại trên một bảng mã cả chữ Việt lẫn các thứ chữ la tinh khác. Vậy một số ngôn ngữ chính được chọn để có thể cùng tồn tại trong bảng mã chữ Việt là Anh, Pháp, Đức, Tây ban nha, Thuỵ Điển, Nauy...
Yêu cầu thứ tư là yêu cầu cho nhược điểm chính của bộ mã TCVN 5712: mọi bộ mã chuẩn quốc gia cần có được sự ủng hộ và thực hiện của ít nhất một công ty tin học quốc tế lớn. Yêu cầu này đảm bảo cho bộ mã quốc gia được tuân thủ trên thực tế, từ chính gốc các công ty sản xuất công cụ công nghệ thông tin.
Tóm lại, 4 yêu cầu mới cho bộ mã chuẩn chữ Việt 8 bit là:
- Đảm bảo thể hiện đầy đủ mọi đặc trưng chư Việt.
- Tuân thủ quy định của bộ mã chuẩn 8 bit ISO 8859.
- Bảo đảm chữ Việt cùng tồn tại với chữ Anh, Pháp, Đức, Thuỵ Điển trong một bộ mã.
- Có sự ủng hộ và cài đặt của ít nhất một công ty CNTT quốc tế lớn.
II. Bộ mã chuẩn 8 bit chữ việt dùng trong trao đổi thông tin.
2.1 Phạm vi sử dụng và tính tuân thủ của bộ mã chuẩn 8 bit chữ Việt dùng trong trao đổi thông tin.
2.1.1 Tiêu chuẩn : Tiêu chuẩn này quy định bộ mã 8-bit chuẩn chữ Việt dùng trong xữ lý và trao đổi thông tin tự động. Nó được dùng cho việc biểu diễn, truyền thông, trao đổi, xử lý, ghi nhớ, đưa vào và thể hiện các thông tin chữ Việt.
Tiêu chuẩn này xác định cấu trúc tổng thể bộ mã chữ Việt và
- Định nghĩa các thuật ngữ được dùng.
- Mô tả cấu trúc tổng quát của tập ký tự được mã hoá
2.1.2 Tính tuân thủ: Mọi bộ mã chữ Việt được coi là tuân thủ tiêu chuẩn này nếu nó chứa mọi ký tự có hình dạng được xác định như trong tiêu chuẩn này và có trùng với mã được quy định trong tiêu chuẩn này.
2.2 Một số đặc trưng cơ bản của chữ Việt
2.2.1 Bảng chữ cái
Bảng chữ tiếng Việt bao gồm các chữ cái nguyên âm thường:
a ă â e ê i o ô ơ u ư y
và các chữ cái phụ âm thường:
b c d đ f g h j k l m n p q r s t v w x z
cùng các chữ cái hoa tương ứng:
A Ă Â E Ê I O Ô Ơ U Ư Y B C D Đ F G H J K L M N P Q R S T V W X Z
2.2.2 Bảng các thanh tiếng Việt
Bảng các thanh tiếng Việt bao gồm:
Hình dấu thanh:
Tên thanh: huyền hỏi ngã sắc nặng
Mỗi nguyên âm có thể được gắn thêm với các một trong các dấu thanh trên.
2.2.3 Đơn vị chính tả, ký tự chính tả
Một đơn vị chính tả là một phụ âm hoặc một nguyên âm hay một dấu thanh.
Một ký tự chính tả là một phụ âm hoặc một nguyên âm hay một nguyên âm có mang dấu thanh.
Mỗi từ có nhiều nhất là một nguyên âm mang dấu thanh.
2.2.4 Trật tự chữ Việt
Trật tự các đơn vị chữ Việt sau (theo thứ tự từ nhỏ đến lớn):
Trật tự các chữ cái trong bảng chữ:
a ă â b c d đ e ê f g h i j k l m n o ô ơ p r s t u ư v w x y z
Trật tự các thanh:
không dấu huyền hỏi ngã sắc nặng
Thanh là một thuộc tính của vần tiếng Việt không phụ thuộc vào nguyên âm mang dấu thanh bên trong vần. Trật tự các thanh xác định trật tự các vần cùng gốc. Trật tự chữ cái và vần xác định trật tự các từ.
Chương II :
Thiết kế chương trình tuyển sinh đại học và cao đẳng
I. Một số vấn đề về chương trình.
Quản lý cơ sở dữ liệu là một công việc vô cùng quan trọng trong công tác quản lý của tất cả các cấp, các ngành, các doanh nghiệp. Vấn đề tuyển sinh vào Đại học hàng năm cũng cần phải được quản lý một cách chặt chẽ tất cả các dữ liệu đó là việc quản lý các dữ liệu về thông tin của mỗi thí sinh và thông qua những dữ liệu này kết hợp với việc xử lý dữ liệu các nhà quản lý trong công tác tuyển sinh sẽ có được những thông tin đầu ra cần thiết phục vụ cho công việc tuyển sinh của mình. Ngày nay, hệ cơ sở dữ liệu dựa trên máy tính điện tử là phương tiện chủ yếu để quản lý dữ liệu một cách thành công, linh hoạt và nhanh nhất. Nhưng có nhiều hệ quản trị cơ sở đang được dùng ở nước ta và trên thế giới như : Microsoft Access, Microsoft Foxpro/ Visual Foxpro, SQL Server 2000, Oracle…mỗi phần mềm đều có ưu điểm, nhược điểm riêng và các tính năng khác nhau nhưng theo đánh giá của tạp chí Tin học và Đời sống hay báo PC Wordl vào năm 1999 thì hiện nay Microsoft Access đã giành được phần lớn trên thị trường và những phiên bản mới nhất trên thị trường hiện nay mà Microsoft đã tung ra thị trường đó là Microsoft Office 2000, Office XP. Trong đó phiên bản mới nhất của Access đang được sử dụng hiện nay là Access 2000. Access là một phần mềm được chạy trên môi trường Windows (Windows98, Windows ME, Windows 2000, Windows XP…) đây là một môi trường mà khi chương trình được thực hiện thì một cửa sổ giành cho chương trình ấy được mở ra để qua đó người dùng giao tiếp với máy nhằm hoàn tất các nhiệm vụ của chương trình.
Chương trình tuyển sinh Đại học và Cao đẳng là một hệ cơ sở dữ liệu tức là tất cả các thông tin mà ta có được từ hồ sơ của thí sinh tiến hành các công việc như nhập hồ sơ của các thí sinh đăng ký dự thi sau đó phải gửi giấy báo dự thi tới từng thí sinh và thẻ dự thi cho mỗi thí sinh khi dự thi. Ngoài ra, còn phải tiến hành gửi kết quả điểm thi, giấy báo tựu trường của các thí sinh dự thi và khi đã đủ điều kiện trúng tuyển. Tuy nhiên, có thể nói phần quan trọng nhất trong chương trình này là một phần mềm hỗ trợ cho công tác tuyển sinh đó là sắp xếp trường họ tên theo font chữ tiếng Việt bởi vì tuyển sinh là một công việc đòi hỏi các thí sinh phải được sắp xếp theo một trình tự nhất định để tránh tình trạng các thí sinh trùng tên nhau sẽ bị xếp lẫn lộn nhau. Mặt khác, việc sắp xếp các trường trong bất kỳ một cơ sở dữ liệu nào, bất kỳ một ngôn ngữ nào cũng cực kỳ quan trọng. Nếu dữ liệu không được sắp xếp thì việc tìm kiếm, xử lý gặp rất nhiều khó khăn. Hơn nữa đối với một số lệnh trong các chương trình phần mềm nếu trước khi thực hiện các lệnh đó mà dữ liệu chưa được sắp xếp thì các lệnh đó sẽ không thể thực hiện được.
Trong các cơ sở dữ liệu soạn thảo bằng các ngôn ngữ chỉ sử dụng các ký tự Latin nên việc sắp xếp được thực hiện khá dễ dàng nhưng đối với chữ Việt vì có đặc thù riêng nên chúng ta không thể sử dụng trực tiếp được các công cụ của chính phần mềm nên việc sắp xếp sẽ gặp nhiều khó khăn. Mặt khác, sự sắp xếp các chữ cái tiếng Việt phải tuân thủ theo thứ tự a, à, ả, …., x, y, z. Từ đó xuất hiện nhu cầu cần thiết phải xây dựng các chương trình phần mềm để hỗ trợ cho việc sắp xếp này.
Như vậy, muốn danh sách thí sinh dự thi được sắp xếp đúng theo thứ tự chuẩn thì cần phải có một phần mềm hỗ trợ việc xử lý dữ liệu phục vụ cho việc nhập danh sách này. Tất cả các vấn đề nêu trên nhằm đạt đạt được những mục tiêu cuối cùng cho công tác tuyển sinh đó là bất cứ một thí sinh nào khi nộp hồ sơ của mình vào các trường Đại học sẽ được cập nhật các thông tin về họ tên, ngày sinh… và qua chương trình sẽ cho ta được danh sách các thí sinh sắp xếp theo thứ tự chuẩn Việt Nam và số báo danh sẽ được đánh khi chương trình đã được sắp xếp. Bên cạnh đó đánh số phòng thi theo từng địa điểm thi với số lượng thí sinh có ở từng phòng trong mỗi địa điểm.
Ngoài các kết quả mà qua chương trình đạt được như đánh số báo danh, đánh số phòng thi, địa điểm thi, sắp xếp… thì chương trình còn cần phải đạt được một số kết quả khác đó là :
* Phiếu báo dự thi .
* Thẻ dự thi.
* Danh sách thí sinh ở mỗi phòng thi.
* Giấy báo điểm cho mỗi thí sinh sau khi đã dự thi.
* Giấy báo tựu trường cho mỗi thí sinh sau khi đã đủ các điều kiện trúng tuyển.
* Ngoài ra, còn cho ra một số đầu ra quan trọng khác.
II. Thiết kế chương trình.
Vấn đề về chương trình cũng như công cụ sử dụng trong chương trình đã được nêu ra ở trên và sự cần thiết của việc sắp xếp theo tiếng Việt cũng đã được trình bày ở các phần trên. Sau đây là phần quan trọng trong quá trình thực hiện chương trình đó là thiết kế chương trình :
2.1 Sơ đồ ngữ cảnh trong chương trình.
Xử lý dữ liệu
Thí sinh dự thi
Thí sinh dự thi
Hồ sơ thí sinh
Các đầu ra báo cáo
Sơ đồ 1: Sơ đồ ngữ cảnh chương trình
Qua sơ đồ trên cho ta thấy được các thông tin mà thí sinh đã ghi trong hồ sơ đăng ký dự thi sẽ được thực hiện qua một hệ thống sử lý và cho ra các thông tin đầu ra và sẽ được gửi tới thí sinh dự thi cũng như cán bộ tổ chức và cán bộ quản lý công tác thi tuyển.
2.2 Sơ đồ cấu trúc dữ liệu.
* Thông tin về hồ sơ thí sinh :
Hồ sơ : Mã hồ sơ, họ tên, ngày sinh, giới tính, mã ĐVĐKDT, mã huyện, mã tỉnh, mã ngành đăng ký dự thi, mã trường đăng ký nguyện vọng 2 và 3, khối thi, môn thi.
* Thông tin về tỉnh, thành phố, quận, huyện :
Mã tỉnh, mã huyện, tên tỉnh, tên huyện.
* Thông tin về ngành, trường đăng ký NV2, 3.
Mã tỉnh, tên tỉnh, mã huyện, tên huyện.
* Thông tin về dân tộc, khu vực…
Tất cả các thông tin này được thể hiện dưới sơ đồ sau :
Mã ngành NV2 Tên ngànhNV2 Mã trường NV2
Tên trường NV2 Mã trường NV2
Mã ngành NV3 Tên ngành NV3 Mã trường NV3
MãHS Họtên … MãHuyện MãTỉnh MNgànhNV2 MTrườngNV2 MNgànhNV3 MTrườngNV3 ..
Mã tỉnh Tên tỉnh
Mã tỉnh Mã huyện Tên huyện
Tên trường NV2 Mã trường NV2
Sơ đồ2 : Cấu trúc dữ liệu
Qua sơ đồ cấu trúc dữ liệu ở trên nên trong chương trình sẽ được thiết kế các mối quan hệ giữa các bảng như sau:
Hình 1 : Sơ đồ mối quan hệ giữa các thực thể
2.3 Sơ đồ luồng dữ liệu (DFD : Data Flow Diagram )
Sơ đồ dưới đây nhằm để mưu tả các công đoạn chính trong chương trình. Vì sơ đồ DFD là một dạng sơ đồ hệ thống thông tin trên góc độ trừu tượng nên trên sơ đồ chỉ bao gồm các luồng dữ liệu, các xử lý, các lưu trữ, các nguồn, đích mà không đề cập tới nơi, thời điểm, đối tượng xử lý. Sơ đồ luồng dữ liệu chỉ mô tả đơn thuần hệ thống thông tin làm gì và để làm gì.
Chính vì yếu tố đó, nên đề hiểu được chương trình, các nguồn dữ liệu và tiến trình xử lý thì nhất thiết phải có sơ đồ DFD.
Sơ đồ được thể hiện như sau:
1.0 Nhập DL
HS thí sinh dự thi
2.0 sửa hs
Danh sách thí sinh
6.0 cập nhật Địa điểm thi
3.0Sắpxếp tv
5.0đánh p.thi
4.0đánh sbd
HS đã chỉnh sửa
Danh sách chưa đánh SBD
Danh sách đã đánh SBD
Danh sách đã đánh P.Thi
Danh sách chưa đánh P.Thi
DS Địa điểm thi
HS đã hoàn thiện
7.0 in giấy báo dt
8.0 in thẻ dt
Thí sinh
Thí sinh
dự thi
Thí sinh
dự thi
Thí sinh
thí sinh đã thi
9.0 cập nhật điểm thi
Xử lý điểm thi
11.0 Giấy báo nhập học
10.0 phiếu báo điểm
Thí sinh
Thí sinh
Điểm thi thí sinh
TS trúng tuyển
Sơ đồ 3 : Sơ đồ luồng dữ liệu
(DFD : Data Flow Diagram)
Lãnh đạo
Lãnh đạo
2.4 Tiến hành thiết kế.
Thiết kế bất kỳ một chương trình nào chúng ta cũng cần phải dựa chủ yếu vào các thông tin đầu ra và các yêu cầu của người sử dụng. Vì công tác tuyển sinh vào bất kỳ một trường Đại học – Cao đẳng nào cũng cần phải có một trình tự thứ tự các bước không được bỏ qua bất kỳ một bước nào nên trong chương trình sẽ được tiến hành theo một trình tự các bước theo sơ đồ như sau:
Nhập hồ sơ thí sinh
Đánh số báo danh
Gửi kết quả thi
Gửi giấy báo dự thi
Đánh số phòng thi
Gửi giấy nhập học
2.4.1 Thiết kế vào.
2.4.1.1 Thiết kế giao diện chính.
Giao diện chính của chương trình là một vấn đề vô cùng quan trọng trong bất kỳ chương trình nào, nó thể hiện cách nhìn tổng quát về chương trình. Trong việc thiết kế chương trình tuyển sinh này thì giao diện chính được thể hiện như hình ở phía dưới. Trên form “giao diện chính” được thiết kế bao gồm các các thực đơn (Menu Bar), toolbar, caption, command. Các tác dụng chính của chúng được thể hiện như sau:
*) Menu: thực đơn (menu) có tác dụng giúp cho người sử dụng thực hiện các công việc được ngay cho dù đang ở đâu trong chương trình. Các menu này nhằm giúp cho người sử dụng có thể nên báo cáo, cập nhật hoàn thiện các thông tin…
*) Toolbar : nhằm giúp cho người sử dụng thực hiện các thao tác cơ bản nhất, nhanh nhất như có thể in, xem, chuyển sang dạng word, excel, notepad,….
*) Caption : dùng để mô tả tên của chương trình.
*) Command : các command này có tác dụng liên kết với các form mà người sử dụng muốn nhập liệu, xem hoặc hoàn thiện danh sách.
Tác dụng chính của một số command như sau:
- Hồ sơ: command này có tác dụng giúp cho chúng ta cập nhật các thông tin khi nhận được những hồ sơ đăng ký dự thi của thí sinh từ các tỉnh, thành phố, quận huyện.
- Đánh số báo danh (Đánh SBD): Đây là công việc thứ hai tức là sau khi hồ sơ của thí sinh đã được nhập đủ, chính xác mọi thông tin thì ta tiến hành đánh số báo danh. Việc đánh số báo danh sẽ được tự động điền vào theo thứ tự từ trên xuống mà chúng ta đã được xếp theo vần abc chuẩn của chữ Việt và chương trình được thiết kế như sau:
Các command chính chương trình
Toolbar
Menu Bar
Caption
Hình 1: Giao diện chính trong chương trình
Trên form được thiết kế với nút đánh số báo danh như sau:
‘ Đánh số báo danh cho từng thí sinh
Private Sub SBD_Click()
On Error Goto Loi
Dim Db As Database, RES As Recordset
Set Db = CurrentDb()
Set RES = Db.OpenRecordset("HOANTHIENDS", DB_OPEN_DYNASET)
sobaodanh = 1
Do Until RES.EOF
RES.Edit
RES!sobaodanh = sobaodanh
RES.Update
sobaodanh = sobaodanh + 1
RES.MoveNext
Loop
RES.Close
MsgBox "Hoàn thiện việc đánh số báo danh cho các thí sinh dự thi", vbCritical, "Chúc mừng "
ERR:
Exit Sub
Loi:
Resume ERR
End Sub
---------------------------------------------------------------------------------------------
- Cập nhật P.Thi (Cập nhật phòng thi) : command này có tác dụng giúp ta cập nhật các thông tin về phòng thi, địa điểm thi.
- Đánh số phòng thi : Sau khi tiến hành hoàn thiện các thủ tục về hồ sơ, đánh số báo danh, cập nhật đầy đủ các thông tin về phòng thi thì ta sẽ tiến hành đánh phòng thi một cách tự động cho từng thí sinh ứng với các thông tin về phòng thi đã được cập nhật ở trên. Thủ tục được viết như sau :
‘Đánh số phòng thi và địa điểm thi.
Private Sub PTHI_Click()
On Error GoTo Loi
Dim PD(1 To 50) As Integer, PC(1 To 50) As Integer
Dim SoTS(1 To 50) As Integer, DDT(1 To 50) As Integer
Dim i As Integer, k As Integer, p As Integer, n As Integer, Sots_Pthi As Long, Sots_Duthi As Long
Dim Db As Database, RES As Recordset, TB
Set Db = DBEngine.Workspaces(0).Databases(0)
Set RES = Db.OpenRecordset("sodophongthi", DB_OPEN_DYNASET)
i = 0
Sots_Pthi = 0
Do Until RES.EOF
i = i + 1
PD(i) = RES!Phongdau
PC(i) = RES!Phongcuoi
SoTS(i) = RES!Sothisinh
DDT(i) = RES!DiaDiem
Sots_Pthi = Sots_Pthi + (PC(i) - PD(i) + 1) * SoTS(i)
RES.MoveNext
Loop
n = i
RES.Close
Set RES = Db.OpenRecordset("hoanthiends", DB_OPEN_DYNASET)
Sots_Duthi = RES.RecordCount
TB = "Số thí sinh dự thi : " & STR(Sots_Duthi) & Chr(10)
TB = TB + "Khả năng phòng thi :" & STR(Sots_Pthi)
tieu = "Thông báo"
MsgBox TB, vbCritical, tieu
If Sots_Duthi > Sots_Pthi Then
MsgBox "Không đủ số phòng thi ", vbCritical, "Thông báo"
Exit Sub
End If
For k = 1 To n
For p = PD(k) To PC(k)
For i = 1 To SoTS(k)
RES.Edit
RES!phongthi = p
RES!DiaDiem = DDT(k)
RES.Update
RES.MoveNext
If RES.EOF Then
RES.Close
MsgBox "Hoàn thành công việc đánh số phòng thi", vbCritical, "Chúc mừng"
Exit Sub
End If
Next i
Next p
Next k
ERR:
Exit Sub
Loi:
Resume ERR
End Sub
--------------------------------------------------------------------------------------------
- Điểm thi : có thể nói cập nhật điểm thi là một công đoạn cuối cùng khi chúng ta đã hoàn tất các thủ tục ở phía trên. Cập nhật điểm thi sẽ được tiến hành khi thí sinh đã tham gia dự thi trong kỳ thi tuyển sinh và sẽ dựa vào điểm thi của từng thí sinh mà ta có thể lên điểm chuẩn và gọi thí sinh đủ điều kiện để nhập học.
2.4.1.2. Thiết kế form cập nhật hồ sơ.
Form cập nhật hồ sơ có tác dụng điền các thông tin về hồ sơ của thí sinh để ta tiến hành các công việc tiếp theo. Form được thiết kế như sau:
Danh sách đã được sắp xếp theo chữ Việt
Các thông tin cập nhật
Các command
Hình 2 : Form cập nhật hồ sơ
Trên form được thiết kế với các command nhằm giúp cho ta có thể dịch chuyển từng bản ghi hay cũng có thể thêm thí sinh dự thi, sửa các thông tin về thí sinh nào đó mà khi ta nhập ban đầu có sai sót. Ngoài ra, ta cũng có thể xóa bất kỳ một thí sinh nào. Tuy nhiên, trên form còn có hiện một danh sách các thí sinh đã được nhập và các thí sinh này được xếp theo thứ tự a, b, c tiêu chuẩn Việt Nam.
Form được thiết kế với các Combo Box nhằm giúp cho ta hiện những thành phần mà đã nhập ở lúc ban đầu. Nếu không có thông tin đó thì nó sẽ được báo lỗi. Ví dụ như khi ta tiến hành nhập giới tính vì giới tính chỉ có “Nam”, “Nữ” ngoài ra không có bất kỳ một giới tính nào khác nên khi ta tiến hành nhập các thông tin khác vào đây thì chương trình sẽ thông báo lỗi hoặc khi ta tiến hành cập nhật thông tin về tỉnh với mã tỉnh thì tên tỉnh sẽ được hiện ngay bên cạnh và chỉ có những huyện có mã nằm trong tỉnh đó được hiện ra.
2.4.1.3. Thiết kế form cập nhật điểm thi.
Điểm thi là một vấn đề cần phải được thực hiện chính xác, vì đây là bước nhằm thông báo điểm tới tất cả các thí sinh và cũng dựa vào đây để ta có thể lên điểm chuẩn nhằm tuyển những thí sinh đã đủ điều kiện tiêu chuẩn để được gọi nhập học.
Form được thiết kế như sau:
Hình 3 : Form cập nhật điểm
Danh sách theo thứ tự a,b,c
ComboBox
TextBox
Trên form được thiết kế chủ yếu gồm có 3 thông tin chính đó là : toán, lý, hóa, đây cũng là các môn mà thí sinh phải thi tuyển. Mặt khác, vì tất cả các thí sinh khi tham gia dự thi đều đã được đánh số báo danh, đánh phòng thi cho nên bài thi của thí sinh cũng sẽ được cán bộ coi thi xếp theo một thứ tự nhất đinh trong khi thu bài. Chính vì yếu tố này cho nên trên form cũng được thiết kế với công việc nhập điểm theo một thứ tự nhất định. Ngoài ra, trên form còn có các text box để hiện ra lần lượt từng thí sinh theo thứ tự vần a,b,c để cho ta tiến hành nhập điểm cho mỗi thí sinh.
Tuy nhiên, trên form còn có các nút, những nút này giúp cho người sử dụng khi tiến hành nhập điểm của từng thí sinh. Khi tiến hành nhập điểm (Nhập điểm) cho bất kỳ một thí sinh nào thì trên form sẽ hiện ra các nút (command) khác nhằm thực hiện các tác vụ khác nhau như (lưu, huỷ…)
Các TextBox trên form được tiến hành lập trình như sau:
Option Compare Database
Public Function Ho_Ten(mahoso) As String
On Error GoTo Ten_Err
' Trả lại họ tên khi mã trùng nhau
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Ho_Ten = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Ho_Ten = rs!hoten
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err: ' Trường hợp họ hoặc tên bỏ trống (NULL)
Ho_Ten = ""
Resume Exit_Ten
End Function
Public Function Ngay_Sinh(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Ngay_Sinh = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Ngay_Sinh = rs!ngaysinh
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
Ngay_Sinh = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
Public Function Gioi_Tinh(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Gioi_Tinh = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Gioi_Tinh = rs!gioitinh
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
Gioi_Tinh = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
Public Function Khu_Vuc(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Khu_Vuc = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Khu_Vuc = rs!khuvuc
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
Khu_Vuc = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
Public Function Doi_Tuong(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Doi_Tuong = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Doi_Tuong = rs!doituong
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
Doi_Tuong = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
Public Function Ma_Ho_So(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
Ma_Ho_So = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
Ma_Ho_So = rs!mahoso
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
Ma_Ho_So = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
Public Function SO_Bao_Danh(mahoso) As String
On Error GoTo Ten_Err
Dim rs As Recordset, Db As Database
Set rs = CurrentDb.OpenRecordset("HoSo", DB_OPEN_SNAPSHOT)
SO_Bao_Danh = " "
rs.MoveFirst
Do Until rs.EOF
If rs!mahoso = mahoso Then
SO_Bao_Danh = rs!sobaodanh
Exit Do
End If
rs.MoveNext
Loop
rs.Close
Exit_Ten:
Exit Function
Ten_Err:
SO_Bao_Danh = ""
Resume Exit_Ten
End Function
---------------------------------------------------------------------------------------------
2.4.1.4. Thiết kế form cập nhật phòng thi.
Sau khi tiến hành đánh số báo danh cho mỗi thí sinh, thì công đoạn tiếp theo là tiến hành cập nhật các thông tin về phòng thi để ta có thể gửi giấy báo dự thi tới tận tay thí sinh.
Trên form này được thiết kế bao gồm các thông tin cơ bản như : Số hiệu về điểm thi, số phòng có thể có (phòng đầu, phòng cuối), địa điểm thi, số lượng thí sinh có trong mỗi phòng.
Form này có tác dụng giúp cho lãnh đạo sau khi đi tiến hành khảo sát các địa điểm với số lượng phòng thi của từng địa điểm để có thể nhập vào chương trình rồi sau đó nhờ sự hỗ trợ của chương trình nó sẽ được cập nhật vào từng phiếu báo cho thí sinh để gửi tới tận tay thí sinh.
Form được thiết kế như sau:
Hình 4: Form cập nhật phòng thi
Thông tin cập nhật
Danh sách các thôngtin đã được cập nhật
Form này có tác dụng vô cùng quan trọng vì nó sẽ cung cấp cho thí sinh biết rằng mình sẽ tham gia dự thi tại địa điểm nào. Nhờ vào các thông tin về phòng đầu, phòng cuối mà cán bộ khảo sát đã đi thực nghiệm sẽ cho biết được lượng thí sinh ứng với mỗi phòng thi và địa điểm thi. Tuy nhiên, forn này không chỉ cung cấp các thông tin cho thí sinh mà nó còn giúp cho lãnh đạo, cán bộ quản lý biết được thí sinh thi tại địa điểm thi nào, hội đồng coi thi số bao nhiêu.
2.4.1.5. Thiết kế form cập nhật tỉnh, thành phố, quận, huyện.
Thiết kế form này nhằm bổ sung những thí sinh thuộc tỉnh, thành phố, quận, huyện mà ta chưa tiến hành nhập vào ban đầu.
Form được thiết kế cùng với cả SubForm nhằm giúp ta tiến hành cập nhật ngay huyện, quận cùng với tên và mã đã được Bộ giáo dục và Đào tạo quy định.
Trên form được thiết kế cùng với các command để giúp cho chúng ta dịch chuyển tới mỗi bản ghi mà ta có thể yêu cầu. Ngoài ra, còn có các command nhằm hỗ trợ cho việc nhập thêm thông tin mới hay là sửa, xóa thông tin.
Form được thiết kế như sau:
Hình 5: Form cập nhật Tỉnh, Thành phố, Quận , Huyện
SubForm
Thông tin về tỉnh
2.4.1.6. Thiết kế form cập nhật trường và ngành đăng ký NV2, NV3.
Đây là form giúp cho ta cập nhật các thông tin về các trường cùng với các ngành trong mỗi trường mà có sự xét tuyển theo nguyện vọng.
Trên form cũng có một số command nhằm giúp cho thực hiện các tác vụ giống như các form đã thiết kế ở trên đó là : giúp ta thêm, xóa, sửa bất kỳ một trường nào. Ngoài ra, trên form còn thiết kế các textbox để cho ta nhập mã trường, mã ngành mà bộ đã quy định cho mỗi trường.
Form được thiết kế như sau:
Hình 6: Form cập nhật Trường, Ngành ĐKDT
Thông tin về trường
Thông tin về ngành thuộc trường
Danh sách các trường
Form trường và ngành đăng ký nguyện vọng 3 (NV3) được thiết kế tương tự như form NV2
2.4.2 Thiết kế đầu ra.
Việc thiết kế vật lý đầu ra được thiết kế theo như đúng tiêu chuẩn mà các thông tin đã thu thập được trên các giấy báo, giấy gọi của hội đồng tuyển sinh. Việc thiết kế này cũng sẽ làm thỏa mãn được đầy đủ các yêu cầu, các thông tin đã đặt ra.
*) Vật mang tin : việc chuyển tải và lưu trữ thông tin, cần phải có vật mang tin. Vật mang tin có thể nói là quan trong hàng đầu trong việc thiết kế các đầu ra. Thực vậy, vì trên màn hình thông tin được thể hiện bằng màu sắc với độ phân giải khác nhau nhưng khi chúng ta in ra thì chủ yếu là hai màu trắng và đen nên chúng ta cần thiết phải thiết kế sao cho phù hợp với thực tế để sao cho tránh xa rời với các yêu cầu mà chúng ta đã thu thập được. Có rất nhiều vật mang tin như : giấy, màn hình, tiếng nói,…nhưng ở đây vì tuyển sinh là một chương trình mà ta cần phải gửi giấy báo tới tận tay thí sinh nên việc thiết kế các đầu ra chủ yếu là trên giấy.
Giấy là một vật mang tin được ưa chuộng rộng rãi nhất vì nó có rất nhiều ưu điểm nhưng chúng ta cũng cần phải lựa chon một số thông số sau:
Chất lượng giấy: giấy chất lượng tốt, loại giấy phải đạt tiêu chuẩn.
Kích cỡ giấy : khổ giấy A4(210mm*297mm)
*) Bố trí khuôn dạng trên vật mang tin: thông tin được bố trí phù hợp với các đầu ra và nó được thể hiện dưới đây.
2.4.2.1 Thiết kế giấy báo dự thi.
Giấy báo dự thi là một đầu ra cần thiết đầu tiên, khi chúng ta đã tiến hành nhận hồ sơ đăng ký dự thi của thí sinh với các thông tin đã có được chúng ta tiến hành gửi giấy báo dự thi tới từng thí sinh đã đăng ký. Giấy báo dự thi này được thiết kế như sau:
Hình 7 : Thiết kế giấy báo dự thi
Việc thiết kế giấy báo dự thi gồm một số thông tin cơ bản nhằm cung cấp cho thí sinh dự thi. Nó gồm họ tên của mỗi thí sinh, hộ khẩu, đối tượng, phòng thi, số báo danh. Ngoài ra, còn có địa điểm tổ chức thi mà thí sinh sẽ thi tại chính địa điểm này.
Tác dụng của đầu ra này rất quan trọng, nó nhằm giúp cho cán bộ quản lý biết được tình hình về các công việc tổ chức thi tuyển và giúp cho thí sinh biết được hồ sơ của mình đã được nhà trường tiếp nhận. Mặt khác, cũng chính giấy báo này nó sẽ báo cho thí sinh biết được nhà trường sẽ tổ chức thi tuyển tại địa điểm ghi trên giấy báo và yêu cầu đúng ngày nghi trên giấy báo phải có mặt để tham gia dự thi.
2.4.2.2 Thiết kế thẻ dự thi.
Sau khi tiến hành gửi giấy báo dự thi tới tận tay thi sinh và cung cấp một số thông tin cần thiết trong giấy đó thì bước tiếp theo là ta tiến hành tỏ chức thi. Trong quá trình tổ chức thi mỗi thí sinh đều nhận được một thẻ để dự thi (thẻ dự thi) để có thể xuất trình và kiểm tra của cán bộ coi thi trước khi thí sinh bước vào phòng thi.
Việc thiết kế thẻ dự thi như sau:
Hình 8 : Thiết kế thẻ dự thi
Các thông tin được mang trên thẻ dự thi cũng bao gồm các thông tin như : họ và tên, khu vực, các nguyện vọng,… ngoài ra trên thẻ dự thi còn có ảnh của mỗi thí sinh. ảnh này, có tác dụng dùng để kiểm tra mỗi thí sinh trước khi bước vào phòng thi.
Thẻ dự thi có tác dụng giúp cho cán bộ quản lý thi tuyển kiểm soát được hình dạng, mặt của thí sinh thông qua anh được dán vào thẻ mà thí sinh đã gửi kèm theo trong hồ sơ.
Thẻ còn có tác dụng giúp cho thí sinh có những quyền lợi trong và sau khi thi đó là :
Trong quá trình thi thí sinh dùng thẻ này để xuất trình cho cán bộ coi thi hay thanh tra.
Khi thí sinh đã thi và dùng thẻ này để đăng ký dự xét tuyển cho các nguyện vọng khác mà các trường có nguyện vọng đó yêu cầu.
2.4.2.3 Thiết kế giấy chứng nhận (Phiếu báo điểm).
Sau khi mỗi thí sinh tham gia dự thi, cán bộ chấm thi tiến hành chấm những bài của thí sinh và gửi kết quả thi tới tận tay thí sinh. Các kết quả này thí sinh nhận được để so sánh với điểm chuẩn mà nhà trường đã công bố trên các phương tiện thông tin đại chúng để xác định điểm cho mình.
Các thông tin chủ yếu trên phiếu báo điểm gồm có : điểm thi của tất cả các môn như toán, lý, hóa và các thông tin như ngành đăng ký, khu vực, đối tượng, họ tên, mã hồ sơ,..
Việc thiết kế giấy chứng nhận được tiến hành như sau:
Hình 9 : Thiết kế giấy chứng nhận(phiếu báo điểm)
Sau khi thí sinh tiến hành dự thi với mỗi bài thi của mình thì mỗi thí sinh sẽ nhận được một giấy báo điểm hay giấy chứng nhận kết quả thi của mình. Giấy này nhằm để báo cho thí sinh biết được số điểm mà thí sinh đã tham gia dự thi. Cũng dựa vào số điểm này mà thí sinh có thể biết được mình có trúng tuyển hay không.
2.4.2.4 Thiết kế giấy báo tựu trường.
* Cách tiến hành xác định điểm chuẩn nhằm để xác định thí sinh trúng tuyển : tiến hành xác định điểm chuẩn là một công việc vô cùng quan trọng nhằm để thông báo cho tất cả mọi người biết được nhà trường sẽ tổ chức xét tuyển như thế nào. Sau khi tiến hành đầy đủ các bước như nhập điểm… cán bộ xét tuyển sẽ nhờ vào chỉ tiêu mà Bộ quy định để xét tuyển.
Khi có các chỉ tiêu tuyển sinh của Bộ thì cán bộ xét tuyển có thể dựa vào chỉ tiêu này để xét tuyển. Tuy nhiên, có rất nhiều thí sinh trùng điểm nhau nên cán bộ xét tuyển cần phải dựa vào hai chỉ tuyểu để xác định điểm chuẩn. Thứ nhất dựa vào chỉ tiêu để xác định người cuối cùng có điểm là bao nhiêu (đây chính là chỉ tiêu cho ta biết điểm cuối cùng cần lấy). Thứ hai, dựa vào điểm thấp nhất của thí sinh cuối cùng mà nhà trường có thể công bố điểm chuẩn.
Khi tiến hành xem thì sẽ được lọc ra theo đúng chỉ tiêu đã lựa chọn. Còn khi tiến hành in thì chương trình sẽ cho in ra theo đúng như mẫu ở dưới đây.
*Thiết kế giấy báo tựu trường
Giấy báo tựu trường được thiết kế khi mỗi thí sinh đã đủ điều kiện để nhập học mà điểm chuẩn nhà trường đã công bố. Các kết quả của thí sinh sau khi đã gửi tới tận tay thí sinh và kết hợp với điểm chuẩn của nhà trường thí sinh sẽ được triệu tập. Cùng với giấy báo trúng tuyển còn kèm theo các giấy tờ hướng dẫn các thủ tục trước khi nhập học.
Giấy báo tựu trường này cũng được thiết kế với các thông tin gửi tới thí sinh tương tự như các thông tin đã có từ các phiếu khác mà thí sinh đã có được từ trước.
Giấy báo tựu trường được thiết kế với các thông tin như : điểm của thí sinh, số báo danh, ngày sinh, ho tên cùng với mã hồ sơ mà đã được đánh cho thí sinh.
Giấy báo được thiết kế như sau:
Hình 10 : Thiết kế Giấy báo tựu trường
2.4.2.4 Thiết kế một số đầu ra khác.
Ngoài các thông tin đầu ra cơ bản ở trên như giấy báo dự thi, thẻ dự thi, giấy báo tựu trường, phiếu báo điểm còn có các thông tin khác dành cho cán bộ như các danh sách của từng thí sinh có trong phòng thi, danh sách thí sinh ký nhận sau khi làm bài thi của từng phòng….các danh sách này được thiết kế về cơ bản như sau:
*) Danh sách thí sinh đăng ký dự thi theo từng phòng thi:
Danh sách này được thiết kế như sau:
Hình 11 : Thiết kế danh sách thí sinh ĐKDT
Mục đích của danh sách này nhằm giúp cho các nhà quản lý có thể biết được trong mỗi phòng thi có thể có bao nhiêu thí sinh thi và biết được trong một hội đồng thi đó có tất cả bao nhiêu người đăng ký dự thi để so sánh với số thí sinh dự thi rồi có kết quả tỉ lệ phần trăm (%) thí sinh dự thi.
Các thông tin chính cung cấp ở đây như : phòng thi, số lượng thí sinh, số báo danh của mỗi thí sinh, họ tên, ngày sinh, các nguyện vọng…
*) Thiết kế danh sách thí sinh thi.
Danh sách này được thiết kế như sau:
Hình 12 : Thiết kế danh sách thí sinh dự thi
Mục đích của việc thiết danh sách này nhằm giúp cho cán bộ coi thi kiểm soát được thí sinh thi và bài thi của thí sinh để thông báo với thư ký hội đồng coi thi và cũng từ danh sách này cán bộ chấm thi cũng có thể biết được bài thi, số tờ giấy thi của thí sinh.
Danh sách này phần lớn được thiết kế dựa trên danh sách có từ trước. Nhưng có một số trường khác như : tổng số tờ (bằng số), bằng chữ và các chữ ký của thí sinh và của cán bộ coi thi cũng như cán bộ chấm thi.
III. Chương trình sắp xếp tiếng việt trên Access.
3.1 Một số vấn đề về sắp xếp tiếng Việt.
Việc sắp xếp các trường trong bất kỳ một cơ sở dữ liệu(CSDL) nào, bất kỳ một ngôn ngữ nào cũng cực kỳ quan trọng. Nếu dữ liệu không được sắp xếp thì việc xử lý, tìm kiếm sẽ gặp rất nhiều khó khăn. Hơn nữa, đối với một số lệnh trong các chương trình phần mềm nếu trước khi thực hiện các lệnh đó mà dữ liệu chưa được sắp xếp thì các lệnh đó không thể thực hiện được.
Trong các CSDL soạn thảo bằng các ngôn ngữ chỉ sử dụng các kí tự Latin nên công việc soạn thảo, sắp xếp được thực hiện dễ dàng bằng các công cụ só sẵn trong các chương trình phần mềm. Hơn nữa, các công cụ có sẵn chỉ cho phép chúng ta sắp xếp trường ký tự theo thứ tự a, b, c, d, e,...và sắp xếp từ trái qua phải. Nhưng đối với dữ liệu chữ Việt vì có một số đặc thù riêng nên chúng ta không thể sử dụng trực tiếp được các công cụ đó và việc sắp xếp thứ tự từ trái qua phải không có nhiều ý nghĩa và cũng không mang lại hiệu quả cho việc tìm kiếm. Bây giờ, chúng ta giả sử muốn tìm kiếm trong trường họ và tên của một chương trình “tuyển sinh Đại học và Cao đẳng” chẳng hạn. Nếu sử dụng các công cụ có sẵn để sắp xếp thì việc sắp xếp sẽ thực hiện từ trái sang phải. Như vậy, đối với họ tên người Việt Nam có rất nhiều người họ “Nguyễn”. Chỉ việc tìm kiếm trong tập hợp những người họ “Nguyễn” cũng đã rất khó khăn chứ chưa nói đến việc sắp xếp các chữ thuần Việt không tuân theo thứ tự a, b, c, d…của hệ Latin. Thông thường, trong việc tìm kiếm đối với trường họ và tên của người Việt người ta hay tìm theo tên, nếu trùng tên thì tìm theo tên đệm, nếu trùng cả tên và tên đệm thì lúc đó mới tìm theo họ. Khi đó lại nảy sinh ra vấn đề đâu là tên, đâu là họ, đâu là tên đệm. Ví dụ, trong “Nguyễn Thị Thanh Hương” thì “Nguyễn” là họ, “Hương” là tên, còn lại là tên đệm. Nhưng một số người chưa đồng ý với quan điểm này mà họ cho rằng “Thanh Hương” là tên kép. Chính vì quan niệm như vậy nên đã có nhiều tác giả giải quyết công việc đó bằng cách tách riêng từng phần rồi mới mã hóa và sắp xếp. Nhưng cũng có một số người dùng phép đảo ngược trường đó lên rồi mã hóa và sắp xếp. Chính vì kỹ thuật này mà nó được thực hiện nhanh và chính xác nên chương trình mà em trình bày dưới đây cũng được thược hiện bằng cách này, tức là “Nguyễn Thị Thanh Hương” sẽ được đổi thành “Hương Thanh Thị Nguyễn” sau đó sẽ được mã hóa rồi mới sắp xếp và việc sắp xếp này sẽ được tuân theo tiêu chuẩn Việt Nam.
Trước kỹ thuật sắp xếp như vậy, cùng với sự cần thiết phải sắp xếp trong chương trình tuyển sinh Đại học và Cao đẳng vì một số yếu tố sau đây :
* Trong công tác tuyển sinh sẽ có rất nhiều thí sinh trong cả nước tham gia đăng ký dự thi và như vậy sẽ có một lượng lớn các thí sinh đăng ký dự thi. Để quản lý các thí sinh dự thi được chặt chẽ, tìm kiếm và xử lý nhanh thì nhất thiết phải có một phần mềm hỗ trợ cho công tác này.
* Mặt khác, khi hồ sơ của thí sinh được nhập vào một cách hoàn thiện trong một CSDL. Nhưng nếu như cứ nhận được hồ sơ nào thì ta tiến hành cập nhật ngay hồ sơ đó thì đến khi tiến hành tra cứu hay sửa đổi hay có một yêu cầu gì đó mà người quản lý yêu cầu thì sẽ gặp rất nhiều khó khăn. Để khắc phục tình trạng này thì ta cần phải có một chương trình phần mềm hỗ trợ cho công tác tuyển sinh được tốt hơn.
Chính vì lý do đó mà trong chương trình tuyển sinh nhất thiết phải có phần mềm hỗ trợ việc sắp xếp họ tên này.
3.2 Chương trình sắp xếp dữ liệu chữ Việt trong Access.
Access là một chương trình ngày càng được nhiều người sử dụng. Đây là một công cụ rất tiện lợi giúp ta nhanh chóng xử lý, tìm kiếm các trường dữ liệu. Cũng như trong bao chương trình khác như Excel, FoxPro, Word,…, đối với dữ liệu chữ Việt, trong Access chúng ta không thể sử dụng các công cụ có sẵn để sắp xếp và tìm kiếm. Do đó, một chương trình sau đây sẽ tạo ra sẽ được sắp xếp trường họ và tên trong cơ sở dữ liệu chữ Việt. Trong chương trình này sẽ trình bày việc sắp xếp theo kiểu đảo ngược trường. Theo chương trình này máy sẽ tự động sắp xếp trường họ và tên theo thứ tự của chữ cái tiếng Việt; sắp xếp chữ cuối cùng trước (tức là sắp xếp tên trước), nếu trùng chữ cuối cùng thì sắp xếp theo chữ trước đó, cứ thực hiện lần lượt như vậy cho đến hết.
Sau đây là nội dung chính của chương trình mà đã được viết bằng Visual Basic for Application trên Access.
=============================================
Option Compare Database
Function MAHOA(s)
' Mã hóa chữ Việt cho font chữ ABC
For m = 1 To 5
chu_a = chu_a + Chr(180 + m)
chu_aa = chu_aa + Chr(198 + m)
chu_ee = chu_ee + Chr(209 + m)
chu_oo = chu_oo + Chr(228 + m)
chu_ow = chu_ow + Chr(233 + m)
chu_w = chu_w + Chr(244 + m)
chu_y = chu_y + Chr(249 + m)
Next m
chu_i = Chr(215) & Chr(216) & Chr(220) & Chr(221) & Chr(222)
chu_aw = Chr(187) & Chr(188) & Chr(189) & Chr(190) & Chr(198)
chu_o = Chr(223) & Chr(225) & Chr(226) & Chr(227) & Chr(228)
chu_u = Chr(239) & Chr(241) & Chr(242) & Chr(243) & Chr(244)
chu_e = Chr(204) & Chr(206) & Chr(207) & Chr(208) & Chr(209)
Ma = chu_a & chu_aw & chu_aa & chu_e & chu_ee & chu_i & chu_o & chu_oo & chu_ow & chu_u & chu_w & chu_y
' Ket thuc viec luu tat ca cac ma can chuyen doi vao bien MA
For i = 1 To Len(s)
k = Mid(s, i, 1)
' k la ky tu thu i cua chuoi s
m = Asc(k)
Select Case k
Case "a" To "z", "A" To "Z"
X = X & LCase(k)
Case " "
X = X & Dau & " "
Dau = ""
Case "đ"
X = X & "dz"
Case "ă"
X = X & "az"
Case "â"
X = X & "azz"
Case """"
X = X & "oz"
Case ""
X = X & "ozz"
Case "ư"
X = X & "uz"
Case "ê"
X = X & "ez"
Case "Đ"
X = X & "dz"
Case "Ă"
X = X & "az"
Case "Â"
X = X & "azz"
Case "Ô"
X = X & "oz"
Case "Ơ"
X = X & "ozz"
Case "Ư"
X = X & "uz"
Case "Ê"
X = X & "ez"
Case Else
j = InStr(Ma, k)
If j > 0 Then
Dau = j Mod 5
Select Case j
Case 1 To 5
X = X & "a"
Case 6 To 10
X = X & "az"
Case 11 To 15
X = X & "azz"
Case 16 To 20
X = X & "e"
Case 21 To 25
X = X & "ez"
Case 26 To 30
X = X & "i"
Case 31 To 35
X = X & "o"
Case 36 To 40
X = X & "oz"
Case 41 To 45
X = X & "ozz"
Case 46 To 50
X = X & "u"
Case 51 To 55
X = X & "uz"
Case 56 To 60
X = X & "y"
End Select
If Dau = 0 Then
Dau = 5
End If
Else 'Neu J la thoa man
X = X & k
End If ' Ket thuc cua J
End Select
Next i
MAHOA = X & Dau
End Function
=============================================
Function DAOTEN(s) 'Đảo tên ra trươcs, sau cùng là tên đệm.
Do
NextBlank = InStr(Blank + 1, s, " ")
If NextBlank Then
L = NextBlank - Blank - 1
Else
L = Len(s) - Blank + 1
End If
If L Then
X = Mid(s, Blank + 1, L) & " " & X
End If
Blank = NextBlank
Loop Until Blank = 0
DAOTEN = Trim(X)
End Function
‘======================================================
Trên đây là các hàm được thực hiện công việc mã hóa rồi sắp xếp. Việc sắp xếp được thực hiện chính sự hỗ trợ của chương trình bằng một lệnh của SQL.
Kết quả đạt được thông qua một ví dụ sau:
STT
Họ và Tên
Ngày sinh
Quê quán
1.
Vũ Hữu Tài
16/11/1981
Thanh Miện - Hải Dương
2.
Lê Thị Thanh Nga
15/01/1982
TX Hưng Yên – Hưng Yên
3.
Nguyễn Tân An
22/12/1980
Lê Chân - Hải Phòng
4.
Nguyễn Thị Hằng Nga
15/01/1981
Q. Tây Hồ - Hà Nội
5.
Ngô Đức Dũng
01/01/1981
Lương Tài – Bắc Ninh
Dữ liệu ở trường họ và tên sẽ được mã hóa như sau :
STT
Họ và Tên
Mã hóa
Ngày sinh
Quê quán
1.
Vũ Hữu Tài
tai1 huzu3 vũ
16/11/1981
Thanh Miện - HD
2.
Lê Thị Thanh Nga
nga thanh thỵ lê
15/01/1982
TX Hưng Yên – HY
3.
Nguyễn Tân An
an tazzn nguyụn
22/12/1980
Lê Chân - HP
4.
Nguyễn Thị Hằng Nga
nga hazng1 thỵ nguyụn
15/01/1981
Q. Tây Hồ – HN
5.
Ngô Đức Dũng
dũng dzức ngô
01/01/1981
Lương Tài – BN
Kết quả sắp xếp như sau:
STT
Họ và tên
Mã hóa
Ngày sinh
Quê quán
1.
Nguyễn Tân An
an tazzn nguyụn
22/12/1980
Lê Chân - HP
2.
Ngô Đức Dũng
dũng dzức ngô
01/01/1981
Lương Tài – BN
3.
Nguyễn Thị Hằng Nga
nga hazng1 thỵ nguyụn
15/01/1981
Q. Tây Hồ - HN
4.
Lê Thị Thanh Nga
nga thanh thỵ lê
15/01/1982
TX Hưng Yên - HY
5.
Vũ Hữu Tài
tai1 huzu3 vũ
16/11/1981
Thanh Miện – HD
Chương III – Một số kết quả đã đạt được
Chương trình “Thiết kế và xây dựng chương trình sắp xếp tiếng Việt trường họ tên trong chương trình thi tuyển Đại học và Cao đẳng” với mục đích chính là sắp xếp danh sách thí sinh tham gia dự thi tuyển sinh Đại học theo đúng thứ tự chuẩn mà bộ khoa học, công nghệ và môi trưòng đã quyết định chung, trong đó bộ mã chuẩn TCVN5712-93 (bộ cài đặt có tên là ABC, ta sẽ gọi tắt là bộ mã ABC). Với tiêu chí trên chương trình đã đạt được kết quả là với bất kỳ một thí sinh nào tham gia dự thi tuyển sinh Đại học, khi tiến hành lập hồ sơ tuyển sinh và nộp lên các trường thì các thí sinh này sẽ được nhập tên vào máy vi tính. Sau một số thao nhất định thì họ và tên của thí sinh này sẽ được đặt vào đúng vị trí theo sự sắp xếp của chương trình tức là mặc dù, là thí sinh được nhập vào cuối cùng trên máy tính nhưng nếu thí sinh có tên A thì sẽ được sắp xếp ngay trên đầu của danh sách thí sinh.
Ngoài ra trong chương trình còn đạt được một sô kết quả sau:
Vì đây là chương trình thi tuyển sinh vào các trường Đại học và Cao đẳng nên chương trình không chỉ dừng lại ở việc sắp xếp danh sách thí sinh dự thi theo đúng thứ tự chuẩn của tiếng Việt mà thông qua việc sắp xếp danh sách thí sinh dự thi này các nhân viên quản lý sẽ đưa ra được số báo danh của mỗi thí sinh dự thi và số báo danh của mỗi thí sinh dự thi chính là số thứ của thí sinh đó trên danh sách sắp xếp cũng từ việc sắp xếp theo chuẩn tiếng Việt mà các nhân viên quản lý hồ sơ dự thi sẽ đưa ra được số thí sinh này trong một phòng thi. Kết hợp với việc cập nhật địa điểm thi để từ đó in ra trên giấy báo dự thi với các thông tin cơ bản như họ tên, số báo danh, phòng thi và địa điểm thi đồng thời in ra được thẻ dự thi của mỗi thí sinnh dự thi với thông tin như trên.
Với những thí sinh đã tham gia dự thi ở các trường Đại học khi có điểm thi sẽ được cập nhật vào danh sách thi trên điểm thi các môn của mỗi thí sinh. Từ những thông tin về điểm này chương trình sẽ in ra phiếu báo điểm và với mỗi thí sinh trúng tuyển thì sẽ được in ra phiếu báo nhập học.
Như vậy, mặc dù phần chính của chương trình là việc thiết kế và xây dựng phần mềm sắp xếp tiếng Việt theo trường họ và tên trong một danh sách đã đạt được một số kết quả đã nêu ở trên. Tuy nhiên, đây là một chương trình tương đối khó, vẫn còn rất nhiều thắc mắc trong thực tế. Nhưng nếu ta chỉ có nghĩ đơn thuần về một thuật toán nào đó về chương trình thì tưởng rằng chương trình là một vấn đề rất dễ dàng nhưng đến khi bắt tay vào viết chương trình không phải đơn giản một chút nào. Việc gặp khó khăn lớn nhất trong chương trình đó là công việc sắp xếp tiếng Việt vì trên thực tế có rất nhiều phần mềm khác nhau viết về việc sắp xếp nhưng chúng đều hỗ trợ trên các phần mềm khác nhau mà chưa có một phần mềm nào để hỗ trợ cho Access. Mặt khác, ở nước ta việc quan niệm về họ tên vẫn còn nhiều thắc mắc như có người cho rằng tên đệm và tên riêng ra nhưng có người lại cho rằng tên đệm và tên là cụm từ kép nên việc thiết kế chương trình vẫn còn nhiều bàn cãi.
Tuy nhiên, trong chương trình này với phần mềm hỗ trợ cho chương trình thì việc sắp xếp dựa trên sự mã hoá của họ tên rồi sau đó đảo ngược họ tên nên rồi sau đó mới sắp xếp.
Ngoài ra khi ta tiến hành nhập điểm, nhập hồ sơ của thí sinh hay cả các thông tin đầu ra nhất là trong quá trình lập trình vẫn còn mắc một số lỗi. Nhưng vì đây là một chương trình vẫn còn nhiều nan giải của các nhà tuyển sinh và cũng do sự hạn chế về trình độ cùng với thời gian không cho phép nên việc mắc lỗi là một điều không thể tránh khỏi nhưng trong chương trình cũng đã đạt được một số kết quả khả quan.
Tóm lại: chương trình đã đạt được một số kết quả sau đây:
* Sắp xếp trường họ và tên theo đúng font chữ tiếng Việt
* Tiến hành xử lý được dữ liệu về các thông tin của thí sinh dự thi.
* Đưa ra được một số báo cáo gửi tới thí sinh và gửi tới lãnh đạo nhà trường.
* Cung cấp cho các trường với nguyện vọng của thí sinh đã đăng ký những thông tin cần thiết.
* Ngoài ra còn đạt được một số kết quả khác.
Tuy nhiên, chương trình vẫn còn một số mặt chưa đạt được đó là :
* Chưa tiến hành chuẩn hoá được họ tên khi nhập họ và tên của thí sinh.
* Chưa tiến hành gửi dữ liệu của mỗi thí sinh thông qua mạng.
* Một số bước cũng như các thông báo khi vào dữ liệu sai vẫn chưa được hoàn thiện.
*v.v.v…
Kết luận
Nói tóm lại việc xữ lý dữ liệu và tạo ra văn bản là một vấn đề quan trọng được nhiều người quan tâm, đặc biệt là việc xử lý dữ liệu và văn bản chữ Việt trên máy vi tính. Đã có khá nhiều bộ mã chữ Việt đang được thịnh hành nhất hiện nay trên đất nước ta như ABC, VIETWARE, VNI… mỗi bộ chữ đều có những ưu, nhược điểm riêng nhưng tất cả đều hướng vào việc soạn thảo, lưu giữ và xử lý dữ liệu trên máy vi tính bằng ngôn ngữ tiếng Việt. Tuyển sinh đại học là một công việc quản lý không phải là dễ dàng bởi có quá nhiều thí sinh tham gia đăng ký dự thi. Do vậy, để quản lý được chặt chẽ về các thông tin của các thí sinh thì cần thiết phải sắp xếp thứ tự các thí sinh tham gia đăng ký dự thi thành một trật tự hợp lý trong mỗi kỳ tuyển sinh. Vì vậy, việc nghiên cứu đề tài “Thiết kế và xây dựng chương trình sắp xếp tiếng Việt trường họ và tên hỗ trợ cho việc tuyển sinh Đại học” có ý nghĩa khá to lớn bởi vì sắp xếp sẽ được kết hợp với bộ mã ABC chương trình này có thể ứng dụng về mọi vấn đề về sắp xếp theo chữ Việt trong Access. Một thực tế là bất cứ ai cần quản lý về mặt nhân sự cũng cần phải sử dụng phần mềm này. Quản lý thí sinh dự thi Đại học và Cao đẳng cũng như quản lý nhân sự trong công ty đều rất quan trọng. Việc sắp xếp một cách có trật tự trường họ và tên giúp cho các nhà quản lý, các nhà lãnh đạo tìm được, sử dụng được một cách nhanh nhất và hiệu quả cao nhất về từng đối tượng quản lý của mình. Chính vì vậy, với đề tài này chúng ta sẽ thu được kết quả các thông tin cơ bản đầu ra cho bất cứ một thí sinh nào tham gia dự thi cũng như cho các nhà quản lý. Thông qua sự hỗ trợ của phần sắp xếp này ta đã có danh sách theo đúng tiêu chuẩn Việt Nam đã ban hành, ngoài ra chương trình còn đưa ra thông tin cơ bản như Giấy báo dự thi, Thẻ dự thi, danh sách các thí sinh, Giấy chứng nhận (Giấy báo điểm) và các thông tin khác về thí sinh để những người quản lý, người lãnh đạo trong kỳ thi tuyển sinh có thể quản lý các thí sinh dự thi được chặt chẽ.
Tuy nhiên, do thời gian và trình độ có hạn. Vì vậy vấn đề lỗi và kiểm soát lỗi luôn luôn là một vấn đề được quan tâm hàng đầu. Cho dù bất kỳ một chương trình phần mềm nào cũng sẽ không thể tránh khỏi điều này. Chính vì thế mà trong chương trình không thể không có một lỗi nào mà sẽ còn mắc khá nhiều sai sót do trình độ chuyên môn còn ít và hạn chế về mặt thực tế của một sinh viên. Vì vậy chương trình tất yếu sẽ mắc một số sai sót cần được tiến hành nghiên cứu như :
Đây là một chương trình sắp xếp do đó kết quả của chương trình chỉ có sắp xếp mà thôi chứ chưa có chuẩn hoá tiếng Việt tức là khi ta nhập họ và tên của một cá nhân dưới bất kỳ một hình thức nào vào trường họ tên thì cũng cho ra một kết quả theo đúng quy định. Ví dụ:
Vũ hữu Tài đ Vũ Hữu Tài
Ngoài ra, đây còn là một chương trình chạy trên nền Access mà Access lại là một trong những phần mềm của Office nên chương trình cần phải được tiến hành nghiên cứu sao cho nó có thể chạy được cả trên Word, Excel…
Đồng thời, khi xem xét vấn đề tuyển sinh hiện nay thì mỗi thí sinh khi tham gia đăng ký dự thi chỉ được phép thi một lần duy nhất và được phép đăng ký thêm hai nguyện vọng nữa. Nếu ta chỉ dựa vào hồ sơ để lọc ra những thí sinh không trúng tuyển NV1 mà có NV2, NV3 ở các trường khác bằng thủ công và sau đó gửi hồ sơ đến các trường này để các trường tự tiến hành kiểm tra điểm của thí sinh trên máy tính thì công việc sẽ rất lâu và không thể chính xác. Chính vì vậy nếu ta tiến hành thông qua việc gửi dữ liệu trên mạng máy tính tới các trường có thí sinh tham gia dự thi để các trường đó tự tiến hành xét tuyển thì sẽ nhanh hơn.
Trên đây là một số những vấn đề cần được tiến hành nghiên cứu khi tiến hành chạy một chương trình hoàn chỉnh. Đây là đề tài đầu tiên mà em nghiên cứu nên rất khó tránh khỏi những sai sót vì vậy em rất mong nhận được ý kiến nhận xét đánh giá của thày cô và sự góp ý của bạn đọc để cho em có thể có một cái nhìn rõ nét hơn và hiểu sâu hơn đề tài mình nghiên cứu và cũng để khi ra thực tế sẽ có được cách suy nghĩ, nghiên cứu các vấn đề khác được tốt hơn.
Cuối cùng, một lần nữa em xin chân thành cảm ơn đến thầy cô giáo giảng viên khoa Tin học Kinh tế đã giúp đỡ hướng dẫn em hoàn thành đề tài này.
Tài liệu tham khảo
Giáo trình hệ thống thông tin quản lý.
Giáo trình cơ sở dữ liệu.
Hội thảo về hệ thống mở Việt Nam
Những điều cần biết về kỳ thi tuyển sinh Đại học và Cao đẳng năm 2002-2003.
Các giấy báo : giấy báo dự thi, giấy báo điểm (giấy chứng nhận), thẻ dự thi, giấy báo nhập học.
Các file đính kèm theo tài liệu này:
- 34514.doc