Đề tài : Xây dựng phần mềm từ điển Anh – Việt
1.Đặt vấn đề :
Xu hướng chung trên thế giới ngày nay là toàn cầu hoá. Việt nam một quốc gia kém phát triển trên thế giới muốn phát triển nền kinh tế để không lạc hậu so với thế giới thì không có con đường nào khác nhanh hơn con đường hội nhập vào nền kinh tế đang toàn cầu hoá. Một trong những công cụ quan trọng để cho một quốc gia có thể hội nhập vào nền kinh tế thế giới đó chính là trình độ ngoại ngữ của những người dân nước ấy. Đặc biệt là đối với sinh viên của nước ấy. Chính vì vậy việc học ngoại ngữ với sinh viên là vô cùng quan trọng. Trong các ngôn ngữ chính trên thế giới hiện nay thì tiếng Anh là phổ cập nhất. Để học tốt tiếng Anh thì không gì bằng một quyển từ điển tốt. Xuất phát từ nhu cầu thực tiễn đó nhóm lập trình Star Sofware Center của lớp CTM4-K45 ĐH BK HN đã xây dựng một chương trình từ điển Anh-Việt.
Chương trình có một giao diện thân thiện cho phép người dùng dễ dàng tra cứu từ tiếng Anh , ngoài ra nó còn cho phép người dùng bổ xung từ tiếng Anh vào trong từ điển.
2.Cơ sở lí thuyết của đề tài :
Việc xây dựng chương trình từ điển từ lâu đã được các công ty phần mềm trong và ngoài nước nghiên cứu thực hiện và họ cũng đã cho ra rất nhiều bộ từ điển ví dụ như : Lạc-Việt , just’click & see .Đây là 1 đề tài không phải là mới mẻ nhưng nó lại rất thu hút nhóm lập trình chúng em . Tuy là đi sau nhưng chúng em luôn luôn muốn phát huy hết những ý tưởng sáng tạo của mình để làm cho chương trình thực sự là 1 cuốn từ diển điện tử hữu ích và không thể thiếu cho mọi người.
3.Phương án giải quyết :
Khi xây dựng chương trình từ điển này việc đầu tiên là giải quyết việc vấn đề lưu
trữ từ và nghĩa của từ. 1 từ tiếng Anh thì đi kèm theo nó là rất nhiều nghĩa tiếng Việt , vì vậy em tổ chức lưu trữ những từ tiếng Anh ra 1 file,nghĩa tiếng Việt ra 1 file riêng. Từ tiếng Anh sẽ được lưu trong file “Td.idx” la file cua xâu chữ(String) còn nghĩa tiếng Việt sẽ được lưu trong file “Tudien.dat” là file của các bản ghi . Các bản ghi này gồm nhiều trường n,v,adj,vidu . để lưu trữ nghĩa Danh từ,Động từ,Tính Từ ,Ví dụ .của từ tiếng Anh tương ứng.Việc tách ra làm 2 file này sẽ làm cho dung lượng file nhỏ đi và việc tìm kiếm sẽ nhanh hơn và dễ dàng hơn.
Thuật toán chính của chương trình là việc truy nhập và tìm kiếm trong file lưu trữ từ.
Khi người dùng nhập 1 từ bất kỳ việc tìm kiếm sẽ diễn ra . Chương trình sẽ truy nhập vào file lưu trữ từ tiếng Anh (Td.idx) và thủ tục “timtu(s)” tìm kiếm so sánh trong đó . Nếu từ đã nhập trùng với từ lưu trữ trong file thì chương trình sẽ ghi nhận vị trí của từ đó và kết thúc quá trình tìm kiếm.Tiếp theo chương trình sẽ truy nhập vào file lưu trữ nghĩa tiếng Việt(Tudien.dat),đặt con trỏ ngay tại vị trí vừa ghi nhận và thủ tục “intu(s)” sẽ in nghĩa tiếng việt ra màn hình. Nếu việc tìm kiếm thất bại (không tìm thấy từ cần tìm ) thì chương trình sẽ đưa ra thông báo là từ cần tìm chưa có trong từ điển .
Ngoài việc tra cứu , chương trình còn cho phép người dùng bổ xung những từ chưa có vào trong từ điển bằng thư tục “Nhaptu”. Khi bạn muốn nhập một từ mới vào từ điển thì từ chương trình chính bạn nhấn F1. Chương trình sẽ hiện ra lời mời nhập từ vào. Khi nhập từ
Tiếng Anh ,chương trình sẽ kiểm tra xem từ đó đã có chưa ,nếu từ đó đã có trong từ điển thì chương trình sẽ thông báo cho bạn biết về sự trùng lặp đó và đương nhiên bạn sẽ phải nhập từ khác .Sau khi nhập nghĩa tiếng Anh chương trình sẽ hướng dãn bạn nhập tiếp nghĩa bằng tiếng việt của từ tuỳ theo từ đó thuộc loại từ gì (danh từ, động từ ). Kết thúc nhập một từ có lời hỏi có sửa từ vừa nhập không nếu như trong quá trình nhập có sai xót thì chọn có (c) còn nếu không thì từ vừa nhập sẽ ghi vào từ điển. Quá trình nhập từ sẽ tiếp tục cho đến khi bạn nhập xâu rỗng và chương trình sẽ quay về chương trình chính.
Để tối ưu hoá tốc độ truy nhập file , các file sẽ được mở ngay từ khi chương trình khởi động và sẽ đóng lại khi bạn thoátkhỏi chương trình.Việc mở file sẽ kèm theo thủ tục kiểm tra sự tồn tại của file.Nếu file không tồn tại chương trình sẽ báo lỗi và dừng lại.
Ngoài ra trong chương trình còn bổ xung thêm mục about để giới thiệu về nhóm tác giả.
Chương trình được thoát khỏi bằng phím Esc.
Tuy nhiên vì vấn đề thời gian nên chương trình còn một số tồn tại chưa giải quyết được:
- Chương trình không có phiên âm và phát âm của từ tiếng Anh
- Giao diện chưa thật thân thiện.
- Chương trình không thể chạy đồng thời cùng một lúc với các chương trình khác.
12 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3406 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Đề tài Xây dựng phần mềm từ điển Anh – Việt, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
§Ò tµi : X©y dùng phÇn mÒm tõ ®iÓn Anh – ViÖt
1.§Æt vÊn ®Ò :
Xu híng chung trªn thÕ giíi ngµy nay lµ toµn cÇu ho¸. ViÖt nam mét quèc gia kÐm ph¸t triÓn trªn thÕ giíi muèn ph¸t triÓn nÒn kinh tÕ ®Ó kh«ng l¹c hËu so víi thÕ giíi th× kh«ng cã con ®êng nµo kh¸c nhanh h¬n con ®êng héi nhËp vµo nÒn kinh tÕ ®ang toµn cÇu ho¸. Mét trong nh÷ng c«ng cô quan träng ®Ó cho mét quèc gia cã thÓ héi nhËp vµo nÒn kinh tÕ thÕ giíi ®ã chÝnh lµ tr×nh ®é ngo¹i ng÷ cña nh÷ng ngêi d©n níc Êy. §Æc biÖt lµ ®èi víi sinh viªn cña níc Êy. ChÝnh v× vËy viÖc häc ngo¹i ng÷ víi sinh viªn lµ v« cïng quan träng. Trong c¸c ng«n ng÷ chÝnh trªn thÕ giíi hiÖn nay th× tiÕng Anh lµ phæ cËp nhÊt. §Ó häc tèt tiÕng Anh th× kh«ng g× b»ng mét quyÓn tõ ®iÓn tèt. XuÊt ph¸t tõ nhu cÇu thùc tiÔn ®ã nhãm lËp tr×nh Star Sofware Center cña líp CTM4-K45 §H BK HN ®· x©y dùng mét ch¬ng tr×nh tõ ®iÓn Anh-ViÖt.
Ch¬ng tr×nh cã mét giao diÖn th©n thiÖn cho phÐp ngêi dïng dÔ dµng tra cøu tõ tiÕng Anh , ngoµi ra nã cßn cho phÐp ngêi dïng bæ xung tõ tiÕng Anh vµo trong tõ ®iÓn.
2.C¬ së lÝ thuyÕt cña ®Ò tµi :
ViÖc x©y dùng ch¬ng tr×nh tõ ®iÓn tõ l©u ®· ®îc c¸c c«ng ty phÇn mÒm trong vµ ngoµi níc nghiªn cøu thùc hiÖn vµ hä còng ®· cho ra rÊt nhiÒu bé tõ ®iÓn vÝ dô nh : L¹c-ViÖt , just’click & see...§©y lµ 1 ®Ò tµi kh«ng ph¶i lµ míi mÎ nhng nã l¹i rÊt thu hót nhãm lËp tr×nh chóng em . Tuy lµ ®i sau nhng chóng em lu«n lu«n muèn ph¸t huy hÕt nh÷ng ý tëng s¸ng t¹o cña m×nh ®Ó lµm cho ch¬ng tr×nh thùc sù lµ 1 cuèn tõ diÓn ®iÖn tö h÷u Ých vµ kh«ng thÓ thiÕu cho mäi ngêi.
3.Ph¬ng ¸n gi¶i quyÕt :
Khi x©y dùng ch¬ng tr×nh tõ ®iÓn nµy viÖc ®Çu tiªn lµ gi¶i quyÕt viÖc vÊn ®Ò lu
tr÷ tõ vµ nghÜa cña tõ. 1 tõ tiÕng Anh th× ®i kÌm theo nã lµ rÊt nhiÒu nghÜa tiÕng ViÖt , v× vËy em tæ chøc lu tr÷ nh÷ng tõ tiÕng Anh ra 1 file,nghÜa tiÕng ViÖt ra 1 file riªng. Tõ tiÕng Anh sÏ ®îc lu trong file “Td.idx” la file cua x©u ch÷(String) cßn nghÜa tiÕng ViÖt sÏ ®îc lu trong file “Tudien.dat” lµ file cña c¸c b¶n ghi . C¸c b¶n ghi nµy gåm nhiÒu trêng n,v,adj,vidu... ®Ó lu tr÷ nghÜa Danh tõ,§éng tõ,TÝnh Tõ ,VÝ dô ...cña tõ tiÕng Anh t¬ng øng.ViÖc t¸ch ra lµm 2 file nµy sÏ lµm cho dung lîng file nhá ®i vµ viÖc t×m kiÕm sÏ nhanh h¬n vµ dÔ dµng h¬n.
ThuËt to¸n chÝnh cña ch¬ng tr×nh lµ viÖc truy nhËp vµ t×m kiÕm trong file lu tr÷ tõ.
Khi ngêi dïng nhËp 1 tõ bÊt kú viÖc t×m kiÕm sÏ diÔn ra . Ch¬ng tr×nh sÏ truy nhËp vµo file lu tr÷ tõ tiÕng Anh (Td.idx) vµ thñ tôc “timtu(s)” t×m kiÕm so s¸nh trong ®ã . NÕu tõ ®· nhËp trïng víi tõ lu tr÷ trong file th× ch¬ng tr×nh sÏ ghi nhËn vÞ trÝ cña tõ ®ã vµ kÕt thóc qu¸ tr×nh t×m kiÕm.TiÕp theo ch¬ng tr×nh sÏ truy nhËp vµo file lu tr÷ nghÜa tiÕng ViÖt(Tudien.dat),®Æt con trá ngay t¹i vÞ trÝ võa ghi nhËn vµ thñ tôc “intu(s)” sÏ in nghÜa tiÕng viÖt ra mµn h×nh. NÕu viÖc t×m kiÕm thÊt b¹i (kh«ng t×m thÊy tõ cÇn t×m ) th× ch¬ng tr×nh sÏ ®a ra th«ng b¸o lµ tõ cÇn t×m cha cã trong tõ ®iÓn .
Ngoµi viÖc tra cøu , ch¬ng tr×nh cßn cho phÐp ngêi dïng bæ xung nh÷ng tõ cha cã vµo trong tõ ®iÓn b»ng th tôc “Nhaptu”. Khi b¹n muèn nhËp mét tõ míi vµo tõ ®iÓn th× tõ ch¬ng tr×nh chÝnh b¹n nhÊn F1. Ch¬ng tr×nh sÏ hiÖn ra lêi mêi nhËp tõ vµo. Khi nhËp tõ
TiÕng Anh ,ch¬ng tr×nh sÏ kiÓm tra xem tõ ®ã ®· cã cha ,nÕu tõ ®ã ®· cã trong tõ ®iÓn th× ch¬ng tr×nh sÏ th«ng b¸o cho b¹n biÕt vÒ sù trïng lÆp ®ã vµ ®¬ng nhiªn b¹n sÏ ph¶i nhËp tõ kh¸c .Sau khi nhËp nghÜa tiÕng Anh ch¬ng tr×nh sÏ híng d·n b¹n nhËp tiÕp nghÜa b»ng tiÕng viÖt cña tõ tuú theo tõ ®ã thuéc lo¹i tõ g× (danh tõ, ®éng tõ…). KÕt thóc nhËp mét tõ cã lêi hái cã söa tõ võa nhËp kh«ng nÕu nh trong qu¸ tr×nh nhËp cã sai xãt th× chän cã (c) cßn nÕu kh«ng th× tõ võa nhËp sÏ ghi vµo tõ ®iÓn. Qu¸ tr×nh nhËp tõ sÏ tiÕp tôc cho ®Õn khi b¹n nhËp x©u rçng vµ ch¬ng tr×nh sÏ quay vÒ ch¬ng tr×nh chÝnh.
§Ó tèi u ho¸ tèc ®é truy nhËp file , c¸c file sÏ ®îc më ngay tõ khi ch¬ng tr×nh khëi ®éng vµ sÏ ®ãng l¹i khi b¹n tho¸tkhái ch¬ng tr×nh.ViÖc më file sÏ kÌm theo thñ tôc kiÓm tra sù tån t¹i cña file.NÕu file kh«ng tån t¹i ch¬ng tr×nh sÏ b¸o lçi vµ dõng l¹i.
Ngoµi ra trong ch¬ng tr×nh cßn bæ xung thªm môc about ®Ó giíi thiÖu vÒ nhãm t¸c gi¶.
Ch¬ng tr×nh ®îc tho¸t khái b»ng phÝm Esc.
Tuy nhiªn v× vÊn ®Ò thêi gian nªn ch¬ng tr×nh cßn mét sè tån t¹i cha gi¶i quyÕt ®îc:
- Ch¬ng tr×nh kh«ng cã phiªn ©m vµ ph¸t ©m cña tõ tiÕng Anh
- Giao diÖn cha thËt th©n thiÖn.
- Ch¬ng tr×nh kh«ng thÓ ch¹y ®ång thêi cïng mét lóc víi c¸c ch¬ng tr×nh kh¸c.
4.X©y dùng ,thùc hiÖn ph¬ng ¸n ®Ò xuÊt :
Ch¬ng tr×nh ®îc viÕt b»ng c«ng cô chÝnh lµ phiªn b¶n Turbol Pascal 7.0
Ch¬ng tr×nh nh sau:
Program Tu_Dien;
Uses crt,graph,dos;
Type
mangtv= record
N:string;
V:string;
ADJ:string;
vd:string;
end;
mangta=string[16];
Const thu:array[0..6] of string[8] = ('Chu nhat','Thu Hai','Thu Ba','Thu Tu','Thu Nam','Thu Sau','Thu Bay');
VAR
f:file of mangtv;
f1 :file of mangta;
ch:char;
tv:mangtv;
s,ta :mangta;
vitri,gd,gm,x,y,i:integer;
s1,s2:string;
mofile:boolean;
Procedure VietHoa(var s:mangta); {chuyÓn tõ nhËp vµo thµnh ch÷ in Hoa tríc xö lý}
Var i:integer;
begin for i:=1 to length(s) do s[i]:=upcase(s[i]);
end;
Function KiemTra(var ta:mangta):boolean; {KiÓm tra xem tõ ®· cã cha}
var tg:mangta;
ok:boolean;
Begin
kiemtra:=true;ok:=true;seek(f1,0);
while (not eof(f1))and(ok=true) do
begin read(f1,tg);
if ta=tg then begin
ok:=false;
kiemtra:=false;
end;
end;
end;
Procedure nhaptu; {NhËp tõ }
Begin
clrscr;
if mofile=false then
BEgin
assign(f,'tudien.dat');{$I-}reset(f);{$I+}if IOResult0 then rewrite(f);
assign(f1,'td.idx');{$I-}reset(f1);{$I+}if IOResult0 then rewrite(f1);
mofile:=true;
ENd;
textcolor(7);
repeat
write('Nhap tu TIENG ANH : ');textcolor(14);readln(ta);textcolor(7);
if (ta '') then
Begin
VietHoa(ta);
if KiemTra(ta) then
Begin
writeln('Nhap nghia TIENG VIET : ');
writeln('1. DANH TU (Neu co,neu khong co thi nhan ENTER): ');
textcolor(13);readln(tv.n);textcolor(7);
writeln('2. DONG TU (Neu co,neu khong co thi nhan ENTER): ');
textcolor(13);readln(tv.v);textcolor(7);
writeln('3. TINH TU (Neu co,neu khong co thi nhan ENTER): '); t
textcolor(13);readln(tv.adj);textcolor(7);
write('4. VI DU (Neu co,Hay Nhap Theo Mau : ');
textcolor(14);Writeln('I Love You(Anh Yeu Em)'); textcolor(7);
writeln('Neu khong co thi nhan ENTER): ');textcolor(13);readln(tv.vd);textcolor(7);
Write('Ban co sua lai khong(C/K): ');readln(ch);
if upcase(ch)'C' then
Begin seek(f,filesize(f));write(f,tv); seek(f1,filesize(f1));write(f1,ta);
End;
End
else Begin textcolor(4);
Writeln('Tu Nay Da Co Trong Tu Dien,Moi Ban Nhap Tu Khac !');
textcolor(7);
End;
end;
writeln('*=======*=======*========*======*======*=======*=======*====*');
until (ta='') ;
writeln('Tong So Tu trong tu dien la : ',filesize(f1));delay(900);
End;
Procedure tach_xau(var xau,xau1,xau2:string); {T¸ch x©u vÝ dô lµm 2 phÇn tiÕng Anh vµ tiÕng ViÖt}
var j:integer;
Begin
j:=0;
repeat j:=j+1;
if xau[j]='(' then
begin
xau1:=copy(xau,1,j-1);
xau2:=copy(xau,j,length(xau)-j+1);
if xau2[length(xau2)] ')' then xau2:=xau2+')';
end;
until xau[j]='(';
End;
Procedure intu(var tg:mangtv); {in nghÜa tiÕng ViÖt ra mµn h×nh}
Begin i:=0;
if (tg.n '') then
begin
setcolor(12);
outtextxy(91,250,'Danh tu(n):');
setcolor(14);
outtextxy(200,250,tg.n);i:=i+26;
end;
if (tg.v '') then
begin
setcolor(12);
outtextxy(91,250+i,'Dong tu(v):');
setcolor(14);
outtextxy(200,250+i,tg.v);i:=i+26;
end;
if (tg.adj '') then
begin
setcolor(12);
outtextxy(91,250+i,'Tinh tu(adj):');
setcolor(14);
outtextxy(200,250+i,tg.adj);i:=i+26;
end;
if (tg.vd '') then
begin
setcolor(12);
outtextxy(91,250+i,'ViDu:');
setcolor(14);Tach_xau(tg.vd,s1,s2);
outtextxy(150,250+i,s1);i:=i+26;
setcolor(14);
outtextxy(150,250+i,s2);
end;
end;
Procedure Timtu(var s:mangta); {T×m kiÕm tõ}
var
ok:boolean;
Begin if mofile=false then
BEgin
assign(f,'tudien.dat');{$I-}reset(f);{$I+}if IOResult0 then
Begin cleardevice;outtextxy(100,100,'Khong tim thay file TUDIEN.DAT');readln;halt(1);end;
assign(f1,'td.idx');{$I-}reset(f1);{$I+}if IOResult0 then
Begin cleardevice;outtextxy(100,120,'Khong tim thay file TD.idx');readln;halt(1);end;
mofile:=true;
ENd;
ok:=false;seek(f1,0);
while (ok=false) and (not eof(f1)) do
Begin
read(f1,ta);
if s=ta then
begin
vitri:=filepos(f1)-1;
seek(f,vitri);read(f,tv);intu(tv);
ok:=true;
end;
end;
if ok=false then
begin
settextstyle(7,0,1);setcolor(14);
outtextxy(92,260,'Xin Loi ! Tu Nay chua co trong tu dien !');
end;
End;
Procedure Giaodien; {Giao diÖn }
Begin
setlinestyle(0,$aaaa,3);setfillstyle(1,7);
bar(60,90,550,430);setfillstyle(1,9);
bar(90,220,520,410);setfillstyle(1,13);
bar(90,140,300,170);
settextstyle(3,0,4);setcolor(4);
for i:=1 to 4 do
outtextxy(330+(i-1)*2,110-(i-1)*1,'TD ANH-VIET');
settextstyle(3,0,1);setcolor(14);
outtextxy(330,150,'STAR SOFWARE CENTER');
outtextxy(90,110,'TIENG ANH');
outtextxy(90,190,'TIENG VIET');
settextstyle(3,0,1);setcolor(14);
outtextxy(60,460,'F1:');setcolor(15); outtextxy(100,460,'NHAP TU');
settextstyle(3,0,1);setcolor(14);
outtextxy(220,460,'F2:');setcolor(15); outtextxy(250,460,'ABOUT SOFWARE');
settextstyle(3,0,1);setcolor(14);
outtextxy(420,460,'ESC:');setcolor(15); outtextxy(465,460,'KET THUC');
settextstyle(2,0,8);setcolor(14);
end;
{----------PhÇn nµy dïng tr×nh bÇy phÇn ABOUT SOFWARE-------------}
Procedure chu_chay; {ch÷ ch¹y}
var
j,k,m:integer;
str:string;
begin
setfillstyle(1,0);settextstyle(4,0,6);setcolor(4);
str:='ABOUT SOFWARE';
repeat
for j:=1 to length(str) do begin
sound(100*j+100);
if (str[j] ' ') then
for m:=620 downto textwidth('M')*j do
begin
if keypressed then begin nosound;exit;end
else Begin
bar(m,150,m+textwidth('M'),200);
for k:=1 to 4 do
outtextxy(m+(k-1)*2,150-(k-1)*1,str[j]);delay(1);
end;
end;
nosound;
end;delay(300);
until keypressed;
end;
procedure About;
var th,ngay,thang,nam:word;
begin cleardevice;
settextstyle(3,0,1);setcolor(14);
getdate(nam,thang,ngay,th);
outtextxy(80,100,'Hom Nay');
outtextxy(170,100,thu[th]);outtextxy(260,100,'Ngay');str(ngay,s);
outtextxy(310,100,s); outtextxy(340,100,'Thang');str(thang,s);
outtextxy(400,100,s);outtextxy(440,100,'Nam');str(nam,s);
outtextxy(480,100,s);setcolor(7);
outtextxy(80,300,'Day la phien ban dau tien nen khong tranh khoi sai xot ,');
outtextxy(50,320,'Mong cac ban thong cam va gop y them de phan mem ngay 1 ');
outtextxy(50,340,'hoan thien hon.');
outtextxy(50,380,'Moi gop y xin gui ve :');
outtextxy(100,400,'Nhom STAR SOFWARE CENTER : CTM4 - K45 - DHBK HN ');
outtextxy(100,420,'E-MAIL : PQH@.student.hut.com');
outtextxy(100,440,' NTA@.student.hut.com');
chu_chay;
end;
Procedure creatsound(h,t:word); {t¹o ©m thanh }
begin
sound(h);delay(t);nosound;
end;
Procedure nhackt;
Begin
Creatsound(967,300);
Creatsound(861,300);
Creatsound(767,300);
Creatsound(575,900);
delay(60);
Creatsound(575,300);
Creatsound(861,300);
Creatsound(967,300);
Creatsound(767,900);
End;
Procedure Ketthuc; {phÇn kÕt thóc }
begin cleardevice;
settextstyle(10,0,6);setcolor(4);
for i:=1 to 4 do
outtextxy(40+(i-1)*2,30-(i-1)*1,'TD ANH-VIET');
setfillstyle(1,9);setcolor(14);
bar(30,150,600,230);settextstyle(7,0,4);
outtextxy(40,170,'THANKS FOR YOUR SUPPORT !');
settextstyle(3,0,2);setcolor(13);
outtextxy(400,300,'NHOM THUC HIEN :');setcolor(7);
outtextxy(400,340,'Pham Quoc Huong');
outtextxy(400,360,'Nguyen The Anh');
outtextxy(400,380,'Nguyen Huu Dinh');
outtextxy(400,400,'Dang Van Phuc');
outtextxy(400,420,'Le Anh Tuan');
nhackt;
end;
Procedure tldh;{thiÕt lËp ®å ho¹}
begin
gd:=detect;
initgraph(gd,gm,'d:\Dos\tp\Bgi');
if graphresult grok then halt(1);
end;
{---------------------Ch¬ng tr×nh chÝnh-----------------------}
BEGIN
tldh;
setcolor(4);
textcolor(0);
Giaodien;mofile:=false;
repeat
i:=0;s:='';
repeat
setcolor(15);
ch:=readkey;creatsound(800,10);
if ch=#27{ESC} then Begin
if mofile=true then
begin close(f);close(f1);end;
ketthuc;closegraph;halt(1);
End;
if (ch=#59){F1}then begin closegraph;nhaptu;tldh;cleardevice;giaodien;ch:=#0;s:='';end;
if ch=#60{F2} then begin about;cleardevice;giaodien;s:='';end;
if (ch in [#8,#32,#48..#57,#65..#90,#97..#122]) and (length(s)<16) then
begin
if ch#8 then begin s:=s+ch;outtextxy(91+i,140,ch);i:=i+13;end;
if (ch=#8) and (length(s)0)then begin bar(91+i -textwidth('M'),140+textheight('H')+6,91+i,140);
delete(s,length(s),1);i:=i-13;end;
end;
if length(s) =16 then
if (ch=#8) and (length(s)0)then begin bar(91+i - textwidth('M'),140+textheight('H')+6,91+i,140);
delete(s,length(s),1);i:=i-13;end;
until (ch =#13) and (s'');
settextstyle(3,0,1);
VietHoa(s);
timtu(s);
ch:=readkey;setfillstyle(1,9);
bar(90,220,520,410);setfillstyle(1,13);
bar(90,140,300,170);settextstyle(2,0,8);
until ch=#27;
if mofile=true then begin close(f);close(f1); end;
ketthuc;
closegraph;
END.
5.§¸nh gi¸ thö nghiÖm c¸c kÕt qu¶ thu ®îc :
Ch¬ng tr×nh cha ®îc tèi u ho¸ vÒ mÆt tèc ®é t×m kiÕm tõ.C¸c tõ ghi trong file cha ®îc x¾p xÕp theo qui luËt (cã thÓ lµ Alphabet hoÆc theo 1 qui luËt nµo ®ã tuú vµo thuËt to¸n t×m kiÕm sao cho nhanh nhÊt).V× vËy tèc ®é t×m kiÕm tõ cßn chËm.
Dung lîng lu tr÷ cña tr¬ng tr×nh tuú thuéc vµo sè lîng tõ cã trong tõ ®iÓn.Sè lîng tõ cµng nhiÒu th× dung lîng cµng t¨ng.Nhng ngµy nay víi c¸c æ ®Üa cã dung lîng rÊt lín(tõ 10Gb trë lªn)th× dung lîng ch¬ng tr×nh kh«ng ®¸ng kÓ.
6.C¸c ph¬ng híng ph¸t triÓn tiÕp theo :
Tríc tiªn sÏ kh¾c phôc nh÷ng tån t¹i cha thÓ gi¶i quyÕt ®îc trong ch¬ng tr×nh nµy.Bæ xung c¸c tÝnh n¨ng cßn thiÕu,t¨ng tèc ®é t×m kiÕm tõ, gi¶m nhá kÝch thíc ch¬ng tr×nh b»ng c¸ch nÐn file....
Khi cã ®iÒu kiÖn sÏ tiÕp tôc ph¸t triÓn ch¬ng tr×nh thµnh mét c«ng cô häc tiÕng Anh h÷u Ých h¬n n÷a. Ch¬ng tr×nh kh«ng chØ ®¬n thuÇn lµ tõ ®iÓn n÷a mµ cã bæ xung thªm c¸c phÇn míi ®Ó cho viÖc häc tiÕng Anh trë nªn dÔ dµng h¬n ®èi víi mäi ngêi.
7.Tµi liÖu tham kh¶o :
S¸ch tin häc ®¹i c¬ng, s¸ch ng«n ng÷ lËp tr×nh Pascal n©ng cao, t¹p trÝ PCWorld
Các file đính kèm theo tài liệu này:
- Xây dựng phần mềm từ điển Anh – Việt.DOC