Viết chương trình từ điển bằng VB

107 673 2
Viết chương trình từ điển bằng VB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com CHƯƠNG I : PHÂN TÍCH YÊU CẦU CỦA ĐỀ TÀI. I - Các vấn đề có liên quan . Trong lónh vực tin học và các ngành học khác đều có các tài liệu bằng ngôn ngữ tiếng Anh, do đó từ điển Anh Việt cần có để mọi người có thể tra cứu. Để thực hiện được chương trình tra từ điển ta cần phải thực hiện được các vấn đề sau : • Tổ chức cấu trúc dữ liệu cho từ điển. • Tạo giao diện cho người sử dụng. • Đưa vào chương trình tìm kiếm từ cần tìm và load từ cần tìm với tốc độ nhanh. • Viết chương trình săp xếp các từ khi được nhập theo thứ tự abc. • Từ điển phải tra cứu được qua Web (mọi người có thẻ truy cập ). • Bên phần hiển thò nghóa có ví dụ tiếng Anh, khi ta click vào một từ bất kỳ trong ví dụ này thì nghóa của nó được hiển thò. II - Phân tích và đưa ra các giải pháp hiện thự c. Để thực hiện chương trình ta phải đưa và chọn những giải thuật tìm kiếm, sắp xếp cho đúng yêu cầu đề tài. Yêu cầu trước tiên của đề tài này là phải tổ chức được một cấu trúc dữ liệu cho từ điển, nên ta cần phải đưa ra những giải thuật, sau đó chọn ra giải thuật phù hợp và hiệu quả với ngôn ngữ lập trình mà ta đã chọn để viết chương trình. 1 – Tổ chức dữ liệu cho từ điển. Sau đây là những cách tổ chức dữ liệu cho từ điển : • Tổ chức dữ liệu theo dạng B-cây • Tổ chức dữ liệu theo dạng cây nhò phân. • Tổ chức dữ liệu theo dạng danh sách đặc. • Tổ chức dữ liệu theo dạng danh sách liên kết. Do tổ chức cấu trúc dữ liệu theo dạng B-cây rất phức tạp và khó tổ chức được trên ngôn ngữ Visual Basic, cho nên tôi đã chọn tổ chức cấu trúc dữ liệu theo dạng danh sách đặc. 2 - Các giải thuật sắp xếp. Khi nhập từ vào file dữ liệu (để dễ dàng cho việc tìm kiếm, tra cứu) ta phải sắp xếp từ theo thứ tự abc. Ở trên ta đã chọn cấu trúc dữ liệu theo danh sách đặc, cho nên ta sắp xếp từ mới nhập vào file dữ liệu trên danh sách đặc. Sau đây là các giải thuật sắp xếp : • Sắp thứ tự bằng phương pháp đếm. • Sắp thứ tự bằng phương pháp xen vào trực tiếp. • Sắp thứ tự bằng phương pháp xen vào nhò phân. 1 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com • Sắp thứ tự bằng phương pháp HeapSort. • Sắp thứ tự bằng phương pháp BubbleSort. • Sắp thứ tự bằng phương pháp giảm độ tăng. • Sắp thứ tự bằng phương pháp QuickSort. • Sắp thứ tự bằng phương pháp trộn. Để cho phù hợp với sự chọn lựa vớicách tổ chức cấu trúc dữ liệu cho từ điển như đã chọn ở trên, nên trong các giải thuật trên chúng tôi chọn giải thuật sắp thứ tự bằng phương pháp xen vào nhò phân. Giải thuật sắp xếp xen vào nhò phân: procedure binary_insertion ; var x: item ; i, j, q, r, m: integer ; begin for i = 2 to n do begin x : = a[i] ; q: =1 ; r: = i - 1 ; while (q <= r) do begin m : = (q + r ) div 2 ; if x. key < a[m]. key then r : = m -1 else q: = m -1 ; end ; for j : = i -1 downto q do a[j +1]: = a[j] ; a[q]: = x ; end; end ; 3 - Các giải thuật tìm kiếm. Để người sử dụng tra từ cần tìm có kết quả với tốc độ nhanh nhất ta phải chọn giải thuật tìm kiếm cho phù hợp với cấu trúc dữ liệu đã chọn. Sau đây là các giải thuật tìm kiếm : • Tìm kiếm tuần tự. • Tìm kiếm nhò phân. • Tìm kiếm trên cây nhò phân. • Tìm kiếm trên cây cân bằng. 2 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com • Tìm kiếm trên B-cây. Để cho phù hợp với cấu trúc dữ liệu và giải thuật sắp xếp, ta chọn giải thuật tìm kiếm nhò phân. Giải thuật tìm kiếm nhò phân : Điều kiện để thực hiện giải thuật này là danh sách đã có thứ tự. Nội dung của giải thuật : Bước 1: Phạm vi tìm kiếm ban đầu là toàn bộ danh sách. Bước 2: Lấy khóa của phần tử chính giữa của phạm vi tìm kiếm (gọi là y so sánh với x). Nếu x = y thì ta tìm thấy khóa này. Giải thuật kết thúc thành công. Nếu x<y thì phạm vi tìm kiếm mới là các phần tử nằm phía trước của y. Nếu x >y thì thì phạm vi tìm kiếm mới là các phần tử nằm phía sau của y. Bước 3: Nếu tồn tại phạm vi tìm kiếm thì lặp lại bước 2, ngược lại giảithuật kết thúc thành công. Hàm binary_search trả về chỉ số của phần tử tìm thấy hoặc trả về giá trò 0 nếu không tìm thấy. Gọi: k là chỉ số ban đầu của phạm vi tìm kiếm. m là chỉ số cuối của phạm vi tìm kiếm. Giải thuật : Function binary_Search ( x: integer ): integer ; Var j, k, m: integer ; found: boolean ; Begin found: = false ; k: =1 ; m: = n ; while (k < = m ) and (not found ) do begin j : = (k + m ) div 2 ; if a[j]. key = x then found: =true else m: =j - 1 ; 3 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com end ; if found then binary_Search: = j else binary_Search: = 0 ; end III – Phân tích và đưa ra một số tính năng cần thiết của chương trình. Chương trình này được chia làm hai phần: Phần thứ nhất dùng cho người phát triển nó(Admin) . Phần thứ hai dùng cho người sử dụng (trên web). 1 – Chương trình dùng cho người phát triển chương trình (Admin). Về phần này thì nó cũng giống như chương trình tra từ điển trên thò trường : nó chỉ chạy được trên nền windows mà thôi. Chương trình này dành riêng cho admin bởi vì chương trình này dùng để thao tác trên dữ liệu của nó , người phát triển dùng nó để phát triển thêm hoặc sửa đổi và cập nhật thêm dữ liệu mới cung cấp cho phần trên web (dành cho user) . Khi người sử dụng cần tra từ cần phải có giao diện để làm việc, do đó ta cần phải tạo ra giao diện cho người sử dụng , các giao diện dành cho người sử dụng : • Giao diện tra từ . • Giao diện thêm từ. • Giao diện sửa từ. Ngoài ra ta cần phải tạo ra một số tính năng cho người sử dụng như: • Tra từ cần tìm. Đây là phần uesr quan tâm nhất trong chương trình vì nó nhận yêu cầu của họ và trả ra kết quả mà họ cần. Trong phần này quan trọng nhất là tìm kiếm vì thế ta phải chọn giải thuật tìm kiếm nào nhanh nhất đáp ứng yêu cầu của user : Có tốc độ truy xuất mau và phù hợp với yêu ngôn ngữ lập trình mà ta viết. Như phần trình bày ở các trang trước, ở đây ta chọn giải thuật tìm kiếm nhò phân. giải thuật này mỗi khi tìm kiếm nó lấy phần tử chính giữa so sánh với từ cần tìm và sẽ giảm đi hoặc tăng lên tùy giá trò trả về của phép so sánh, cứ thế nó sẽ duyệt hết tập tin dữ liệu với số lần tìm kiếm là ít nhất. • Thêm từ. Là phần cung cấp thêm dữ liệu vào khi dữ liệu đã có và làm cho nó dồi dào hơn. Phần này cũng là phần quan trọng của chương trình vì nếu không có nó thì phần tra từ sẽ không còn tác dụng. Do đó để xây dựng phần này đòi hỏi người lập trình phải xây dựng và tổ chức một cấu trúc dữ liệu để lưu trữ và truy xuất dữ liệu được dễ 4 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com dàng hơn. Sau khi tổ chức xong cấu trúc dữ liệu, ta phải sắp xếp lại các từ mỗi khi ta thêm từ mới vào. Phần sắp xếp này nhằm tạo điều kiện cho phần tra từ làm việc tốt hơn, nhanh hơn. Còn một chi tiết nữa là khả năng kiểm tra từ đưa vào xét xem nó đã có hay chưa, nếu có rồi thì xuất ra thông báo, nếu chưa có thì ta thêm dữ liệu vào. • Sửa từ. Phần này chỉ đơn giản là lấy dữ liệu cần sửa và ghi lại sau khi sửa. • Xóa từ. • Tra trực tiếp trên từ tiếng Anh được hiển thò bean phần hiển thò nghóa. • Phần back và history. Hai phần này không quan trọng, nó chỉ cung cấp thêm tính năng cho người sử dụng, giúp họ quay lại những từ mà họ đã tra lúc ban đầu. • Các tính năng được truy xuất qua Web. 2 – Chương trình dùng cho user (hiển thò trên web). Phần này tương tự như phần admin nhưng khác nhau là nó được hiển thò trên web và có các tính năng như : thêm từ, sửa từ. Đối với phần này user không cần phải cài đặt nó lên máy mình để chạy( nghóa là không cần có bộ source) mà nó sẽ tự động cài lên máy user mỗi khi user connect tới server và sẽ trả lại bộ nhớ khi user chuyển qua một trang web khác. Sơ đồ hoạt động : Hiển thò chương trình Connect Server Browser CHƯƠNG II - THIẾT KẾ MÔ HÌNH A - Mô hình hoạt động của từ điển. 5 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com 1- Mô hình hoạt động chính của từ điển. Thông tin User Bộ phận xử l ý Từ cần tra User 2 – Mô hình hoạt động khi người sử dụng nhập vào từ cần tra. Bộ phận tìm kiếm Thông tin File dữ liệu Từ cần tra User User 3 – Mô hình hoạt động khi người sử dụng thêm từ vào file dữ liệu. User User Bộ phận sắp xếp Bộ phận tìm kiếm File dữ liệu File dữ liệu Yêu cầu Thông báo Thêm từ Thông tin B – Thiết kế giao diện. I – Giao diện dùng cho Admin (dùng trên máy local). 1 – Form chính của chương trình. 6 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com Đây là form chính của chương trình, bởi vì phần này nó chứa đầy đủ các nút chức năng mà một chương trình Từ Điển thông thường có. Trong phần này Admin (người sử dụng dùng trên Windows) nhập vào từ cần tìm và chương trình sẽ đưa ra nghóa (ví dụ ) của từ cần tìm vừa mới được nhập vào. Nút nhấn “ thêm từ ” khi Admin (người sử dụng) click vào chương trình (gọi form frmthemtu ) cho phép người sử dụng thêm từ mới . Nút nhấn “xóa” cho phép người sử dụng xóa từ mà họ cần xóa. Nút nhấn “ Sửa từ ” cho phép bạn có thể sửa lại những từ mà bạn đã nhập sai trong quá trình thêm dữ liệu (gọi form frmsuatu). Nút nhấn “ Back “ cho phép bạn có thể xem lại từ vừa tra. Nút nhấn “ History ” cho phép bạn có thể xem lại những từ đã tra. 7 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com Caption = "Chuong Trinh Tra Tu Dien" Phần thiết kế : frmtudien Các property chính của Form frmtudien : Begin VB. Form frmtudien BackColor = &H8000000E& 8 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com 6 I-Times" 0 alse lse "frmtudien. frx": 0000 frx": 0442 indows Default I-Times" 0 alse lse 735 udien. frx": 4B588 ClientHeight = 7080 ClientLeft = 60 ClientTop = 348 ClientWidth = 771 BeginProperty Font Name = "VN Size = 12 Charset = 0 Weight = 70 Underline = 0 'F Italic = 0 'False Strikethrough = 0 'Fa EndProperty Icon = LinkTopic = "Form1" Picture = "frmtudien. ScaleHeight = 7080 ScaleWidth = 7716 StartUpPosition = 3 'W Begin VB. CommandButton cmdsuachua BackColor = &H80000009& Caption = "Sửa từ" Enabled = 0 'False BeginProperty Font Name = "VN Size = 9 Charset = 0 Weight = 70 Underline = 0 'F Italic = 0 'False Strikethrough = 0 'Fa EndProperty Height = Left = 2520 Picture = "frmt Style = 1 'Graphical TabIndex = 8 Top = 5760 Width = 855 End 9 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com VB. CommandButton Command1 I-Times" 0 alse lse 735 udien. frx": 4B9CA tac gia" VB. CommandButton cmdxoa se I-Times" 0 alse lse 735 udien. frx": 4BE0C xoa tu" Begin BackColor = &H80000009& Caption = "Tác giả" BeginProperty Font Name = "VN Size = 9 Charset = 0 Weight = 70 Underline = 0 'F Italic = 0 'False Strikethrough = 0 'Fa EndProperty Height = Left = 2520 Picture = "frmt Style = 1 'Graphical TabIndex = 7 ToolTipText = " Top = 5040 Width = 855 End Begin BackColor = &H80000009& Caption = "xoa" Enabled = 0 'Fal BeginProperty Font Name = "VN Size = 9 Charset = 0 Weight = 70 Underline = 0 'F Italic = 0 'False Strikethrough = 0 'Fa EndProperty Height = Left = 2520 Picture = "frmt Style = 1 'Graphical TabIndex = 6 ToolTipText = " 10 [...]... ký khi sử dụng chương trình 1 – Giao diện đầu tiên giao tiếp với người sử dụng Phần giao diện này dùng để hướng dẫn người sử dụng đăng ký và sử dụng chương trình 32 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com 2 – Giao diện đăng ký sử dụng chương trình Giao diện này dùng để cho người sử dụng đăng ký(tên,password ) quyền sử dụng chương trình Nếu đăng ký thành công thì chương trình tự động... http://www.diachiweb.com Begin VB. Label Label1 BackColor = &H8000000E& Caption = "Nhập từ mới :" ForeColor = &H00800080& Height = 372 Left = 240 TabIndex = 0 Top = 360 Width = 1572 End End Attribute VB_ Name = "frmsuachua" Attribute VB_ GlobalNameSpace = False Attribute VB_ Creatable = False Attribute VB_ PredeclaredId = True Attribute VB_ Exposed = False II 4 - FORM PASSWORD Như đã nói phần thêm từ thường dùng cho... Caption = "Nhập nghóa từ :" ForeColor = &H00800080& Height = 372 Left = 3480 TabIndex = 9 Top = 240 Width = 1812 End Begin VB. Label Label1 BackColor = &H8000000E& Caption = "Nhập từ mới :" ForeColor = &H00800080& Height = 375 Left = 120 TabIndex = 0 Top = 240 Width = 1575 End End Attribute VB_ Name = "frmthem" Attribute VB_ GlobalNameSpace = False Attribute VB_ Creatable = False Attribute VB_ PredeclaredId... Admin, nên nó cần được bảo vệ để tránh những người sử dụng thêm vào những từ không đúng hoặc có thể làm hư dữ liệu của từ điển Vì thế nên cần phải có form này nhằm bảo vệ và quản lý dữ liệu của từ điển Form này cách thức thiết kế cũng giống như các form trên nhưng đối với TextBox dùng để nhập password vào thì có thay đổi, vì trong quá trình nhập password vào thường thì bạn không muốn cho người khác thấy... đăng ký thành công và chương trình tự động load file dữ liệu từ server được nén về máy người sử dụng (máy client) 33 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com 3 – Giao diện Login 34 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com Giao diện này để cho người sử dụng đã đăng ký quyền sử dụng login để chạy chương trình 4 – Giao diện dùng để cho người sử dụng tra từ 35 Sưu tập bởi Nghiêm... http://www.diachiweb.com End Attribute VB_ Name = "frmpass" Attribute VB_ GlobalNameSpace = False Attribute VB_ Creatable = False Attribute VB_ PredeclaredId = True Attribute VB_ Exposed = False Khi bạn đã tạo xong form trên và viết những lệnh vào trong form thì khi bạn hoặc ai đó click vào nút thêm từ thì nó sẽ hiển thò ra một form yêu cầu bạn nhập password vào Nếu password nhập đúng thì nó vào tiếp form... End Begin VB Label Label2 BackColor = &H8000000E& BackStyle = 0 'Transparent Caption = "Nghóa của từ : " ForeColor = &H00800080& Height = 375 Left = 3960 TabIndex = 11 Top = 240 Width = 3495 End Begin VB Label Label1 BackColor = &H8000000E& BackStyle = 0 'Transparent Caption = "Từ cần tìm : " ForeColor = &H00800080& Height = 375 Left = 240 TabIndex = 10 Top = 240 Width = 1575 End End Attribute VB_ Name... Attribute VB_ PredeclaredId = True Attribute VB_ Exposed = False 3 - Form sửa từ Sau khi tạo giao diện tra từ, thêm từ ta phải tạo thêm giao diện sửa chữa cho Admin ( người sử dụng) mỗi khi nhập sai người sử dụng có thể tự sửa lấy 22 Sưu tập bởi Nghiêm Phú Cường – http://www.diachiweb.com Phần thiết kế form sữa chữa: frmsuachua Các Property của form frmsuachua: Begin VB. Form frmsuachua BackColor = &H8000000E&... dữ liệu sau khi đưa vào được sắp xếp lại theo thứ tự thì việc truy xuất dữ liệu sẽ trở nên dễ dàng hơn, số lần tìm kiếm sẽ ít hơn và chương trình sẽ chạy nhanh hơn Đặt tên cho form là frmthem Phần thiết kế form thêm từ: frmthem Các property của form frmthem: Begin VB. Form frmthem BackColor = &H8000000E& Caption = "them tu" ClientHeight = 5085 ClientLeft = 60 ClientTop = 345 ClientWidth = 8190 FillColor... "Từ cần tìm : " ForeColor = &H00800080& Height = 375 Left = 240 TabIndex = 10 Top = 240 Width = 1575 End End Attribute VB_ Name = "frmtudien" Attribute VB_ GlobalNameSpace = False Attribute VB_ Creatable = False Attribute VB_ PredeclaredId = True Attribute VB_ Exposed = False Lưu ý : Property tabIndex dùng để thiết lập độ ưu tiên của các đối tượng khi bạn nhấn tab ( ví dụ đối tượng có tabIndex=0 thì sẽ nhận . liệu cho từ điển. • Tạo giao diện cho người sử dụng. • Đưa vào chương trình tìm kiếm từ cần tìm và load từ cần tìm với tốc độ nhanh. • Viết chương trình săp. dụng (trên web). 1 – Chương trình dùng cho người phát triển chương trình (Admin). Về phần này thì nó cũng giống như chương trình tra từ điển trên thò trường

Ngày đăng: 09/10/2013, 13:20

Hình ảnh liên quan

CHƯƠNG II- THIẾT KẾ MÔ HÌNH - Viết chương trình từ điển bằng VB
CHƯƠNG II- THIẾT KẾ MÔ HÌNH Xem tại trang 5 của tài liệu.
2 – Mô hình hoạt động khi người sử dụng nhập vào từ cần tra. - Viết chương trình từ điển bằng VB

2.

– Mô hình hoạt động khi người sử dụng nhập vào từ cần tra Xem tại trang 6 của tài liệu.
1- Mô hình hoạt động chính của từ điển. - Viết chương trình từ điển bằng VB

1.

Mô hình hoạt động chính của từ điển Xem tại trang 6 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan