z
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
Từ khi máy vi tính trở nên phổ biến và rộngi trong nước, nhu cầu sử dụng chữ Việt
trên máy vi tính đã trở thà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 là một vấn đề có tầm quan trọng trong việc tin học hóa, phổ cập tin học
phát triển công nghệ phần mềm trong nước. Do vậy đã nhiều nhân, tập thtrong và
ngoài 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, số lượng các phần
mềm 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 mềm này lại có một cách thức thể hiện khác nhau (cách mã hóa ký tự tiếng Việt
khác nhau). rất nhiều cách hóa tự Tiế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, 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 quan nnước, một btiếng Việt duy nhất được thống nhất sử
dụng, đó là bộ mã TCVN3 hay còn gọi 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
Nội và các tỉnh phía Bắc sau một số m áp dụng. Việc xử các n bản sử dụng
bảng ABC vẫn có ý 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 thng tự đơn kí tự đôi trong file 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ê số lần xuất hiện của một kí tự đơn sau một tđơn khác là
bao nhiêu lần trong toàn bộ file văn bản (ví dụ ta có kí tự đôi ca”, vậy kí 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 cứu trong lý thuyết
1) File n bản
Để giải i toán đặt ra, trước hết ta phải 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 u trữ
dưới dạng các tự trong bảng ASCII. Các ký 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 13 (ký tự trở vđầu dòng - CR)
và ký tự có mã 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. thế lời khai báo biến
file văn bản sẽ là:
Var
f: text;
File văn bản chthể truy cập tuần tchứ không thtruy cập trực tiếp như file định
kiểu. Và cũng không thể vừa đọc vừa ghi trên file văn bản như file định kiểu.
Tuy nhiên file văn bản không phụ thuộc vào định nghĩa kiểu thành phần nên là
công cụ giao tiếp chung giữa các chương trình. Bất cứ chương trình nào cũng thể đọc
dữ liệu tfile n bản 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, có thể ng ngay hệ soạ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 nó đã có để chuẩn bị đọc, hoặc mở bằng thủ tục Rewrite (f)
nếu muốn tạo mới để chuẩn bị ghi. Sau Reset chỉ thể đọc sau Rewrite chỉ th
ghi. Mỗi lần đọc ghi xong con trỏ lại định vị đến vtrí kế tiếp. Việc đọc dữ liệu từ file
văn bản tương tự nđọc tbàn phím, cũng dùng các thủ tụ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 vtự, 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 n bản cũng tương tự như ghi ra n hình (cũng dùng các thủ tục write
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 có thủ tục Append (f) để mở một văn bản có 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ỏ một kiểu dữ liệu đặc biệt, dùng đbiểu diễn những g
trị địa chỉ. Như thế kiểu con trỏ 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 ntruy cập dữ
liệu các vùng nhớ một cách linh hoạt. Ngoài ra, biến con trỏ còn là công cụ để xin cấp
phát trên vùng Heap (cấp phát động) xây dựng kiểu dữ liệu động, cho phép chương
trình có thể khai 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 trỏ khô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 dkiệu trỏ đến. Turbo Pascal dùng ký hiệu ^ trước tên kiểu dliệ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 dliệu được trỏ.
Chẳng hạn, có quyền khai báo:
PtrType = ^ DataType;
DataType = record
..............
end;