Tài liệu đồ án tốt nghiệp Đề Tài: tìm hiểu ngôn ngữ vc++ 6.0 Và ứng dụng trong việc nén và giải nén tập tin văn bản doc

16 613 1
  • Loading ...
1/16 trang

Thông tin tài liệu

Ngày đăng: 15/01/2014, 15:59

Đồ áN TốT NGHIệPĐề Tài:TìM HIểU NGÔN NGữ VC++ 6.0 ứng dụng trong việc nén giải nén tập tin văn bảnGVHD: Th.s Huỳnh Thanh BìnhSVTH:Nguyễn Đức NghĩaMSSV:98S1049Lớp 40THNha Trang 10/2003 Lời Cảm ƠnEm xin đợc nói lên lời cảm ơn đấng sinh thành Thầy, Cô đã nuôi, dạy em lớn khôn. Yêu cầu của đề tàiYêu cầu của đề tàiTìm hiểu ngôn ngữ VC ++ 6.0Nghiên cứu cài đặt một số thuật toán nén giải nén tập tin văn bản Nhng khỏi nim c bn v mc Nhng khỏi nim c bn v mc ớch ca vic nộn d liu.ớch ca vic nộn d liu.Mt s phng phỏp nộnMt s phng phỏp nộnThc hin chng trỡnhThc hin chng trỡnhKt lun.Kt lun. Những khái niệm cơ bản mục Những khái niệm cơ bản mục đích của việc nén dữ liệuđích của việc nén dữ liệu*Khỏi nim d liu L bao gm cỏc phn t c s m ta gi l d liu nguyờn t.*Mc ớch ca vic nộn d liuLu tr d liu c nhiu hn.Tit kim c vựng nh. Gim chi phớ lu tr. Mang li hiu qu cho vic truyn d liu trờn mng.*Dng nộn Cú hai dng nộn bo ton v nộn khụng bo ton. *Quá trình nén giải nén*Quá trình nén giải nénCông đoạn nén:Dữ liệu Mã hoá Đóng gói Dữ liệu nénCông đoạn giải nén:Giải mãMã hoáDữ liệu nénDữ liệu gốc MỘT SỐ PHƯƠNG PHÁP NÉNMỘT SỐ PHƯƠNG PHÁP NÉN*Định nghĩa nén dữ liệu Là để ghi lại dòng dữ liệu sao cho tốn ít bộ nhớ hơn mà có thể cho phép chúng ta khôi phục lại dữ liệu ban đầu.*Một số loại mã Mã ký hiệu:Quy ước các mã được sử dụng để nhận ra một chuỗi các sự kiện khác nhau.Mã đóng gói:Trong phương pháp mã bao giờ cũng có một khâu đóng gói.Mã theo độ dài:Là phát hiện một ký tự có số lần xuất hiện liên tiếp vượt qua một ngưỡng cố định nào đó. **Mô hình nénMô hình nénNén dữ liệu có mô hình nguồnNhững thuật toán nén dữ liệu đặt trưng cho mô hình nguồn điển hình là: Thuật toán Huffman. Thuật toán Fano-ShannonNén dữ liệu chưa có mô hình nguồnMột trong những đặt điểm nén dữ liệu chưa có mô hình nguồn là ngôn ngữ tự nhiên. *Kỹ thuật từ điển*Kỹ thuật từ điểnSử dụng phương pháp phân đoạn văn bản thành các đoạn Sử dụng phương pháp phân đoạn văn bản thành các đoạn nhỏ hơn sao cho nó đạt được độ dài nhất có thể được mà nó nhỏ hơn sao cho nó đạt được độ dài nhất có thể được mà nó đã xuất hiện trong quá khứ.đã xuất hiện trong quá khứ.Định nghĩa về phân đoạn văn bản:Định nghĩa về phân đoạn văn bản: Phân đoạn văn bản A là chia nó ra thành các đoạn nhỏ Phân đoạn văn bản A là chia nó ra thành các đoạn nhỏ hơn, mỗi đoạn được gọi là một phân đoạn.hơn, mỗi đoạn được gọi là một phân đoạn.Có hai loại từ điển:Có hai loại từ điển: Tù điển tĩnh:Tù điển tĩnh: Mã có từ điển cố định được gọi là mã tĩnh hay nói cách Mã có từ điển cố định được gọi là mã tĩnh hay nói cách khác là từ điển tĩnh.khác là từ điển tĩnh.Từ điển động: Từ điển động: Được xây dựng trong quá trình chạy chương trình. Được xây dựng trong quá trình chạy chương trình. THỰC HIỆN CHƯƠNG TRÌNHTHỰC HIỆN CHƯƠNG TRÌNH*Chương trình đã cài đặt được các thuật toán *Chương trình đã cài đặt được các thuật toán nén theo kỹ thuật từ điển sau: nén theo kỹ thuật từ điển sau: Thuật toán LZSSThuật toán LZSS  Thuật toán LZARIThuật toán LZARI Thuật toán LZWThuật toán LZW **Thuật toán LZSSThuật toán LZSSThuật toán nén:1. Đặt vị trí mã hoá nơi bắt đầu của dòng đầu vào2. Tìm sự phù hợp tối đa trong cửa sổ cho vùng đệm P :=con trỏ tới sự phù hợpL:= chiều dài của sự phù hợp3. If L>=MIN_LENGTH then -Đầu ra P di chuyển vị trí mã hoá một ký tự ở trước. else Đầu ra là ký tự đầu tiên của vùng đệm chuyển vị trí mã hoá một ký tự ở trước.4.Nếu có nhiều ký tự trong luồng đầu vào thì trở về bước 2.Thuật toán giải nén: Ngược lại quá trình nén.[...]...Ví dụ thuật toán nén lzss *Thuật toán LZW Thuật toán nén lzw: String=lấy ký tự vào While vẫn còn ký tự vào Do begin ch:=lấy ký tự vào if String +ch là trong bảng chuỗi then String = String+ch else begin Đầu ra Code của String Thêm String + ch tới bảng chuỗi String String=ch end; End; Thuật toán giải nén LZW Read Old_code While Vẫn còn ký tự đầu vào Do begin read New_code String=sự... New_code Output String ch= ch đầu tiên trong String Thêm Old_code + ch để chuyển đổi bảng old_code=New_code end *Ví dụ thực hiện nén: Thuật toán LZW Ví dụ thực hiện giải nén: *So sánh giữa các thuật toán KẾT LUẬN *Đánh giá chương trình Đã cài đặt được một số thuật toán nén theo kỹ thuật từ điển như: LZSS, LZARI,LZW Do hạn chế về tài liệu tham khảo nên một số thuật toán nén khác chưa cài đặt được *Hướng... toán nén theo kỹ thuật từ điển như: LZSS, LZARI,LZW Do hạn chế về tài liệu tham khảo nên một số thuật toán nén khác chưa cài đặt được *Hướng phát triễn Có thể mở rộng chương trình để thực hiện trong việc nén tập tin hình ảnh . Đồ áN TốT NGHIệP Đề Tài: TìM HIểU NGÔN NGữ VC++ 6. 0 Và ứng dụng trong việc nén và giải nén tập tin văn bản GVHD: Th.s Huỳnh Thanh. của đề tài Yêu cầu của đề tài Tìm hiểu ngôn ngữ VC ++ 6. 0 Nghiên cứu và cài đặt một số thuật toán nén và giải nén tập tin văn bản Nhng khỏi nim c bn
- Xem thêm -

Xem thêm: Tài liệu đồ án tốt nghiệp Đề Tài: tìm hiểu ngôn ngữ vc++ 6.0 Và ứng dụng trong việc nén và giải nén tập tin văn bản doc, Tài liệu đồ án tốt nghiệp Đề Tài: tìm hiểu ngôn ngữ vc++ 6.0 Và ứng dụng trong việc nén và giải nén tập tin văn bản doc, Tài liệu đồ án tốt nghiệp Đề Tài: tìm hiểu ngôn ngữ vc++ 6.0 Và ứng dụng trong việc nén và giải nén tập tin văn bản doc

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay