Một số điều có thể bạn chưa biết về Turbo Pascal
08:18, 25/06/2012
Pascal là ngôn ngữ lập trình căn bản, được đưa vào chương trình học tập Tin học cho học sinh khối THCS và THPT. Có lẽ không chỉ học sinh mà những lập trình viên chuyên nghiệp chắc chắn cũng phải trải qua một thời học Pascal. Theo nhiều cảm nhận, Pascal là một ngôn ngữ lập trình khô khan mà giới hạn của nó chỉ ở trong học đường, khi mà ngôn ngữ chỉ có thể dịch và chạy chương trình trên môi trường MS-DOS. Nhưng Pascal có nhiều điều rất thú vị mà bạn có thể chưa biết tới. Bài viết sau đây sẽ trình bày một vài điều đó, giúp bạn có cái nhìn mới hơn về ngôn ngữ lập trình này.
1. Khắc phục lỗi “Division by zero”
Lỗi “division by zero” (chia một số cho 0), hay còn gọi là “lỗi 200” trong Pascal là lỗi của môi trường Turbo Pascal. Khi lập trình Pascal và biên dịch chạy thử, nếu bạn gặp thông báo trên thì chắc chắn chương trình bạn viết đã lấy số 0 làm số chia, hoặc chương trình đó không hề đụng đến cũng như tính toán một con số nào. Trong trường hợp thứ hai, lỗi này là do thư viện crt của Pascal mà bạn sử dụng trong chương trình đã quá cũ, không thể dùng tốt trên các máy cấu hình hiện đại.
Để sửa lỗi này, bạn có thể tải về bản sửa lỗi 200 của Turbo Pascal. Sau khi tải về và giải nén, bạn có được 4 file là PATCH.exe, patch.rtd, patch.rtp, README.txt. Bạn copy 4 file này vào thư mục BIN của thư mục cài đặt chương trình Turbo Pascal. Sau đó, bạn bấm đôi chuột mở file PATCH.exe từ 4 đến 5 lần rồi vào lại môi trường Turbo Pascal chạy thử, bạn sẽ không còn thấy lỗi 200 nữa. Hoặc bạn có thể tải phiên bản Turbo Pascal đầy đủ đã được sữa “lỗi 200”.
2. Thao tác văn bản tiếng Việt trên Turbo Pascal
Nếu hiển thị và xử lí chữ Việt trên môi trường Turbo Pascal, chương trình của bạn sau khi chạy sẽ trở nên trực quan hơn. Có 2 cách để làm điều này, cách thứ nhất là cài đặt và dùng thư viện bảng mã TCVN khi viết chương trình, cách thứ hai là nhập chữ Việt dựa trên chương trình VietRes.
Để cài đặt và dùng thư viện bảng mã TCVN, bạn tải chương trình về tại đây. Chương trình này sẽ cài đặt một phiên bản Turbo Pascal 7.0 vào hệ thống với thư viên tcvn. Phiên bản này cũng đã sửa “lỗi 200” nêu trên. Sau khi cài đặt chương trình, bạn vào Start>Programs>Turbo Pascal 7.0 để khởi động chương trình.
Một chương trình viết bằng phiên bản Pascal này muốn thao tác văn bản tiếng Việt thì phần khai báo chương trình phải khai báo thư viện là tcvn (USES: tcvn;). Thư viện này cung cấp 3 thủ tục và 4 hàm. Bạn hãy theo dõi ví dụ mã nguồn chương trình viết bằng Pascal sau và xem giải thích phía dưới:
USES tcvn;
VAR tenvni, tentelex:string;
BEGIN
loadfont;
writeln(telex('Xin haxy nhaajp teen cura bajn kieeru Tele.x: '));
tentelex:=readt;
writeln(vni('Xin ha4y nha65p te6n cu3a ba5n kie63u VNI: '));
tenvni:=readv;
readln;
unloadfont;
END.
Thủ tục LoadFont sẽ nạp font tiếng Việt TCVN vào chương trình, cần thiết để hiển thị văn bản tiếng Việt. Bạn nên đặt thủ tục này ở đầu chương trình (sau từ khoá begin), vì thủ tục này ngoài nạp font còn có tác dụng xoá dữ liệu đã cho hiển thị trên màn hình (thay cho câu lệnh clrscr của thư viện crt).
Để hiển thị một chuỗi văn bản tiếng Việt, sau câu lệnh write bạn sẽ dụng hàm telex hoặc hàm vni và phía sau là đoạn văn bản nguồn chưa được xử lí tương ứng từng kiểu gõ. Hai hàm này đều có kiểu dữ liệu là kiểu string. Ví dụ, để hiển thị cụm từ “Khoa học phổ thông”, với kiểu gõ Telex bạn nhập writeln(telex(‘Khoa hojc phoor thoong’));, còn với kiểu gõ VNI bạn nhập writeln(vni(‘Khoa ho5c pho63 tho6ng’)); (phải để dấu ngay sau nguyên âm, không được để dấu tự do).
Hai hàm ReadT và ReadV tương đương với hàm Read trong Pascal, nhưng sẽ hiển thị và lưu dữ liệu người dùng nhập dưới dạng văn bản tiếng Việt với ReadT là kiểu gõ Telex và ReadV là kiểu gõ VNI. Ví dụ, với biến ten, bạn có thể gán dữ liệu tiếng Việt người dùng nhập bằng kiểu gõ Telex cho biến này bằng câu ten:=ReadT;. Khi người dùng nhập, dữ liệu đang nhập vẫn sẽ hiển thị đúng văn bản tiếng Việt (phải nhập dấu ngay sau nguyên âm). Trước khi kết thúc chương trình (trước từ khoá end.), bạn nên sử dụng thủ tục UnloadFont để nạp lại font hệ thống. Sau khi đã thi hành thủ tục này, văn bản tiếng Việt sẽ không thể hiển thị được.
Một cách nữa để thao tác văn bản tiếng Việt trên môi trường Pascal là sử dụng chương trình VietRes. Bạn tải phiên bản Borlard Pascal đã tích hợp sẵn VietRes tại www.mediafire.com/?da8sgdl7iga60g6. Sau khi tải về và giải nén, bạn mở file Turbo.bat (không phải file TURBO.exe) để khởi động Pascal.
Sau khi khởi động, bạn sẽ thấy biểu tượng của VietRes phía trên, bên phải màn hình soạn thảo của Pascal. Nếu chưa có vùng soạn thảo, bạn vào File>New.
Ngay tại môi trường soạn thảo này, bạn có thể nhập thoải mái văn bản tiếng Việt (có thể bỏ dấu tự do) theo kiểu gõ Telex. Nhưng với kiểu gõ Telex, khi gặp các từ khoá như program, write… bạn không thể nhập vào được. Lúc đó, bạn hãy bấm tổ hợp phím Ctrl+Shift để tắt chế độ gõ chữ Việt và bật lại cũng bằng tổ hợp phím này.
Để chỉnh cho chương trình đặt chế độ gõ chữ Việt bằng kiểu gõ VNI, bạn bấm cùng lúc 2 phím Ctrl và Tab hoặc Ctrl và + để mở bảng chọn VietRes. Từ bảng chọn này, bạn lần lượt dùng các phím mũi tên trên bàn phím để chọn theo Cấu hình>Kiểu gõ phím>VNI rồi bấm Enter để xác nhận, chọn Ghi lại cấu hình trên, bấm Enter để xác nhận tiếp rồi gõ phím Esc để đóng bảng chọn VietRes.
Việc nhập liệu văn bản tiếng Việt theo cách trên tuy đơn giản hơn cách dùng thư viện tcvn, nhưng vẫn còn tương đối khó khăn. Có một thủ thuật giúp bạn soạn thảo văn bản tiếng Việt trong chương trình viết bằng ngôn ngữ Pascal một cách dễ dàng, là dùng chương trình soạn thảo văn bản Notepad có sẵn.
Sau khi mở Notepad, bạn có thể mở một bài Pascal đã lưu (đuôi *.pas) hoặc tạo một bài mới. Nếu tạo bài mới, trong bảng chọn Save As, bạn chọn tại mục Save as type: là All Files, với phần File name: là <tênfile>.pas.
Sau đó, bạn vào Format>Font, chọn hiển thị dưới font dạng TCVN3 (.VnArial, .VnTime, ABC…), bấm OK rồi soạn thảo chương trình viết bằng Pascal ngay chính trên cửa sổ Notepad này (bạn phải chỉnh chương trình gõ chữ Việt nhập theo bảng mã TCVN3). Cách soạn thảo này sẽ tiện dụng hơn vì bạn gõ tiếng Việt bằng công cụ thường dùng ngay chính trên môi trường Windows.
Sau khi lưu lại chương trình, bạn mở phiên bản Borlard Pascal có tích hợp VietRes ra, mở file chương trình vừa viết bằng Notepad lúc nãy. Để hiển thị đúng bảng mã tiếng Việt, bạn cũng bấm cùng lúc 2 phím Ctrl và Tab hoặc Ctrl và + để mở bảng chọn VietRes, dùng các phím mũi tên để chọn theo Mã tiếng Việt>TCVN và bấm Enter để xác nhận, bấm Esc để đóng bảng chọn. Borlard Pascal đã hiển thị mã nguồn và thực thi chương trình đúng văn bản tiếng Việt.
Hai cách trên đều dùng bảng mã TCVN3 để hiển thị chữ Việt trong Pascal, vì vậy, văn bản tiếng Việt không thể hiển thị các chữ hoa có dấu (như Ắ, Ế, Ý…).
3. Tham khảo các ví dụ chương trình lớn viết bằng Pascal
Pascal không chỉ dừng lại ở những chương trình đơn giản như trong chương trình THPT. Chương trình có thể mô phỏng nhiều ứng dụng âm thanh, hoạt hình chạy trên nền MS-DOS sống động. Bạn có thể tải file tổng hợp nhiều ứng dụng viết bằng
Pascal tại đây. Các chương trình này đa số được lấy từ chương trình Pascal Study.
Sau khi giải nén, bạn nhận được 4 thư mục, mỗi thư mục chứa nhiều chương trình. Mỗi chương trình gồm file thực thi *.exe và file mã nguồn Pascal *.pas để bạn tham khảo.
Các chương trình trong thư mục Tro choi là các chương trình được viết bởi đa số các tác giả nước ngoài, gồm 14 trò chơi. Thư mục Do hoa, am thanh, dieu khien chuot chứa các chương trình liên quan tới việc dùng hình ảnh đồ hoạ, âm thanh, điều khiển chuột viết rất công phu. Phần giới thiệu về các chương trình này có trong các file *.htm tương ứng. Thư mục Karaoke chứa chương trình hát karaoke rất hay viết bởi tác giả Phạm Hữu Ngôn.
Với những ví dụ trên, các bạn sẽ thấy thích thú hơn khi học ngôn ngữ lập trình Pascal.
Tịnh Hà