Luận văn Xây dựng chương trình
thống kê kí tự đơn và kí tự đôi trong
file văn bản tiếng Việt mã ABC
I. Đặt vấn đề
*Mục đích của đề tài
Tkhi máy vi tính trở nên phbiến và rộng rãi trong nước, nhu cầu sử dụng
chViệt trên máy vi tính đã trthành nhu cầu cấp thiết đối với người sử dụng.
Việc đưa tiếng Việt vào máy tính một vấn đề tầm quan trọng trong việc tin
học hóa, phổ cập tin học và phát triển công nghệ phần mềm trong nước. Do vậy đã
nhiều nhân, tập thể trong ngi nước đã tập trung nhiều công sức trong
việc đưa tiếng Việt vào các máy tính nói chung và máy vi tính nói riêng.
Hiện nay rất nhiều phần mềm đưa tiếng Việt vào máy tính, slượng các
phần mm này lớn cho ta thấy được ý nghĩa của việc đưa tiếng Việt vào máy tính.
Tuy nhiên mỗi phần mm này lại một cách thức thể hiện khác nhau (cách mã
hóa ttiếng Việt khác nhau). rất nhiều cách mã hóa tTiếng Việt. Mặc
khác nhau, không thống nhất theo những quy tắc chung, các giải pháp tiếng
Việt đã phần nào đáp ứng được nhu cầu thực tiễn, ít nhất cũng trong phạm vi của
một tổ chức, quan...và góp phần vào việc “Việt hóa” các ứng dụng cho máy
tính.
cấp độ các cơ quan nhà nước, một bộ mã tiếng Việt duy nhất được thống
nhất sử dụng, đó là bộ mã TCVN3 hay còn gọi là mã ABC. Mặc dù vẫn còn nhiều
khiếm khuyết nhưng trên thực tế, bộ mã tiếng Việt 8 bit này đã được chấp nhận và
lưu hành rộng rãi tại Hà Nội và các tỉnh phía Bắc sau một số m áp dụng. Việc
xcác văn bản sử dụng bảng mã ABC vẫn ý nghĩa quan trọng trong thời
điểm hiện tại.
*Giói thiệu bài toán cụ thể của đề tài
Chuyên đề thực tập này có nội dung như sau:
“Xây dựng chương trình thống kê kí tự đơn và kí tự đôi trong file văn bản tiếng
Việt mã ABC”.
Đề tài gồm hai phần:
Phần thứ nhất thống kê tất cả các kí tự đơn của file văn bản
Phần thứ hai liệt kê slần xuất hiện của một tự đơn sau một tự đơn
khác bao nhiêu lần trong toàn bfile văn bản (ví dụ ta tự đôi “ca”, vậy
t a” sẽ đứng sau kí tự “c” là bao nhiêu lần trong văn bản), sau đó tính tần suất
xuất hiện kí tự đôi.
II. Cơ sở lý thuyết của đề tài thực tập
Trình bầy tổng quan các nghiên cu trong lý thuyết
1) File văn bản
Để giải bài toán đặt ra, trước hết ta phải xác định kiểu file đầu vào cho chương
trình. Trong Turbo Pascal, file văn bản được hiểu theo nghĩa chuẩn, các dữ liệu
được lưu trữ dưới dạng các ký tự trong bảng mã ASCII. Các tđược liên kết
thành từng dòng, dấu hết dòng được ghi nhận bởi cặp tự điều khiển mã 13
(ký tự trở về đầu dòng - CR) và ký tmã 10 (ký tự xuống dòng - Lf). Không có
quy định về chiều dài dòng cho file văn bản.
Turbo Pascal dùng tên chuẩn Text để đặt cho file văn bản. Vì thế lời khai báo
biến file văn bản sẽ là:
Var
f: text;
File văn bản chỉ thể truy cập tuần tự chkhông thể truy cập trực tiếp như file
định kiểu. Và cũng không thể vừa đọc va ghi trên file văn bản như file định kiểu.
Tuy nhiên vì file văn bản không phụ thuộc vào định nghĩa kiểu thành phần nên
nó là công cgiao tiếp chung giữa các chương trình. Bt cứ chương trình nào cũng
có thể đọc dữ liệu từ file văn bản và kết xuất dữ liệu dưới dạng văn bản. Việc soạn
thảo file văn bản thể dùng bất cứ một hệ soạn thảo nào (là những chương trình
tiện ích vốn rất phong phú hiện nay). Chẳng hạn, thể dùng ngay hsoạn thảo
của chính Turbo Pascal để xây dựng và hiệu chỉnh file văn bản.
Các bước thao tác trên file văn bản tuân theo quy trình như sau: đầu tiên cần
đăng biến file văn bản (f) với tên file trên đĩa (name) bằng thủ tục Assign (f,
name). Sau đó mở file bằng thủ tục Reset (f) nếu đã để chuẩn bị đọc, hoặc
mbằng thủ tục Rewrite (f) nếu muốn tạo mới để chuẩn bị ghi. Sau Reset chỉ
thể đọc và sau Rewrite chthể ghi. Mỗi lần đọc ghi xong con trỏ lại định vị đến
vị trí kế tiếp. Việc đọc dữ liệu từ file văn bản tương tự như đọc từ bàn phím, cũng
dùng các thtục Read (f, var1, var2, ...), Readln nếu muốn đọc từng dòng. Các
biến tự được đọc theo từng đơn vị tự, các biến xâu tự được đọc đúng độ
dài của hoặc cho đến khi gặp dấu xuống dòng. Việc ghi ra file văn bản cũng
tương tnhư ghi ra màn hình (cũng dùng c thtục write và writeln). Sau khi
thao tác xong cần đóng file nhờ thủ tục Close (f) để đảm bảo an toàn dữ liệu.
Ngoài ra còn th tục Append (f) để mở một văn bản sẵn để ghi kế tiếp,
hàm Eof (f) để kiểm tra đã định vị đến cuối file chưa...
2) Kiểu con trỏ
Trong Pascal, kiểu con trỏ là một kiểu dữ liệu đặc biệt, dùng để biểu diễn
những giá trị địa chỉ. Như thế kiểu con trỏ là những biến dùng để lưu những giá trị
địa chỉ của bộ nhớ. Nhờ các biến con trỏ, ta thể thao tác trên các giá trđịa chỉ
cũng như truy cập dữ liệu các vùng nhmột cách linh hoạt. Ngoài ra, biến con
trcòn công cđể xin cấp phát trên vùng Heap (cấp phát động) và xây dựng
kiểu dữ liệu động, cho phép chương trình thkhai thác tối đa và hiệu quả b
nhớ.
Có hai kiểu con trỏ là con trđịnh kiểu và con trkhông định kiểu.
Với bài toán đã cho, con trđịnh kiểu được sử dụng. Con trỏ định kiểu cần
xác định kiểu dữ kiệu mà trđến. Turbo Pascal dùng hiệu ^ trước tên kiểu
dữ liệu để khai báo con trỏ định kiểu:
Type
PtrType = ^DataType;
trong đó: PtrType là tên kiểu con trỏ
DataType là tên kiểu dữ liệu xác định kiểu dữ liệu được trỏ.
kiểu con trỏ chỉ lưu địa chỉ nên th khai báo trước kiểu dữ liệu được
trỏ. Chẳng hạn, có quyền khai báo:
PtrType = ^ DataType;
DataType = record
..............