II. Thiết kế chơng trình
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:
Trang 37
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:
Trang 38
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:
Trang 39
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 cha đợ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. Nhng đố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ứ cha 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. Nhng một số ngời cha đồ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. Nhng 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. Nhng 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" Trang 43
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 Trang 44
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 Hng Yên – Hng 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 Hng 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 Hng 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 nhng 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