Mở 1 chương trình khác với lệnh pascal
Trong các kỳ thi học sinh giỏi tin học và các giải lập trình thi đấu, Free Pascal vẫn là một trong ngôn ngữ chính thức và đôi khi là ngôn ngữ bắt buộc trong các kỳ thi ở cấp nhỏ (THCS). Bài viết này hướng dẫn cách nhập/xuất dữ liệu với Free Pascal trong các kỳ thi, cũng như trong quá trình làm bài tập hàng ngày của mọi người. Show Có hai hình thức nhập xuất dữ liệu chính thường được yêu cầu trong các kỳ thi, bao gồm:
Nhập (đọc) dữ liệu từ bàn phímĐây là chế độ nhập dữ liệu trong hầu hết các hệ thống chấm bài online. Việc nhập dữ liệu được thực hiện bởi hai thủ tục
Xét ví dụ sau: var a, b, c: int64; Nếu nhập vào dữ liệu như sau: 1 2 3 Thì kết quả sẽ được Nếu nhập vào dữ liệu như sau: 1 Thì kết quả sẽ được Nhập dữ liệu dạng xâu ký tự (string)Đối với biến kiểu xâu ký tự, lệnh Xét ví dụ sau: var s: string; Với nhập vào dữ liệu như sau: Hello Pascal from Thuc Xâu Nếu nhập hai xâu trên một dòng, xâu thứ nhất sẽ chứa toàn bộ dòng, xâu thứ hai sẽ rỗng. var s1, s2 : string; Với nhập vào dữ liệu như sau: Hello Pascal from Thuc Xâu hello Pascal from Thuc ----
Xuất (ghi) dữ liệu ra màn hìnhTương tự, đây là chế độ xuất dữ liệu trong hầu hết các hệ thống chấm bài online. Việc nhập dữ liệu được thực hiện bởi hai thủ tục
Xét chương trình sau: var a, b, c: int64; Kết quả thực thi chương trình trên sẽ như sau: Ket qua: 2 + 3 = 5 Nhập/xuất dữ liệu từ file văn bảnĐây là chế độ nhập dữ liệu thường gặp trong các kỳ thi học sinh giỏi trong chương trình phổ thông, trong đó dữ liệu nhập vào được ghi sẵn trong một file văn bản (text file), các file này có thể được soạn thảo bằng các ứng dụng soạn thảo văn bản như Trong quá trình học và thực hành, hình thức nhập dữ liệu từ file văn bản cũng thường được dùng để tránh việc phải nhập đi nhập lại các dữ liệu đầu vào khi phải chạy thử chương trình nhiều lần lúc lập trình, nhất là với những bài có dữ liệu vào nhiều và phức tạp. Trước khi làm việc với file, cần đảm bảo chắc chắn bạn nắm rõ mình đang làm việc ở thư mục nào, file dữ liệu được
đọc/ghi sẽ nằm ở đâu trên ổ đĩa cứng và file chương trình ( Các bước để nhập/xuất dữ liệu từ file văn bản như sau: 1. Khai báo biến file có kiểu là var fi, fo: text; 2. Gán biến file cho một
đường dẫn đến file sẽ đọc/ghi với lệnh assign(fi, 'input.txt'); 3. Mở file để đọc với lệnh reset(fi); 4. Tiến hành đọc/ghi với lệnh readln(fi, a, b); Lưu ý:
5. Đóng file sau khi đọc/ghi. Thao tác này hết sức quan trọng nhưng lại hay bị quên. Việc quên đóng file sau khi ghi có thể dẫn đến việc dữ liệu file bị thiếu. Để đóng file, ta dùng lệnh close(fi); Toàn bộ chương trình như sau: var fi, fo: text; Để chạy chương trình, ta tạo file Nội dung file Nội dung file Nếu quen thuộc với Free Pascal IDE, các bạn có thể làm soạn thảo trực tiếp file input và xem file output ngay bên trong Free Pascal: Chuyển thư mục làm việc trong Free PascalKhi làm việc với file, và cả khi lưu lại chương trình của mình, các bạn cần nắm rất rõ ta đang làm việc tại thư mục nào của ổ đĩa cứng, và sẽ lưu file chương trình, đọc file input và ghi file output ở thư mục nào. Vì vậy ngay khi bắt đầu làm việc với Tại cửa sổ Change Directory được mở ra, hãy chọn đến thư mục mong muốn, và bấm chọn Thủ thuật chuyển đổi linh hoạt giữa nhập xuất dữ liệu từ bàn phím/màn hình và file văn bảnTrong một số trường hợp chúng ta cần chuyển đổi qua lại giữa việc nhập xuất dữ liệu từ bàn phím/màn hình qua dạng nhập xuất từ file. Một ví dụ điển hình là khi chạy thử nghiệm ở máy tính cá nhân, thông thường ta dùng file để tránh việc nhập đi nhập lại dữ liệu đầu vào qua các lần chạy, còn khi nộp bài lên các hệ thống chấm tự động ta lại phải chuyển về nhập xuất từ Xem
lại các bước ở trên, ngoài các bước chuẩn bị, mở file và đóng file, thì điểm khác biệt chính ở hai cách nhập xuất này là tham số đầu tiên của các thủ tục Như vậy khi chuyển từ dạng nhập/xuất bình thường qua nhập/xuất từ file, ta cần thêm tham số tên biến file cho tất cả các lệnh Để tránh việc chuyển qua chuyển lại này, chúng ta có thể dẫn hướng var fi, fo: text; Lưu ý là khi dẫn hướng lại stdin và stdout như trên, các lệnh Như vậy, khi muốn chuyển quan chuyển lại giữa 2 kiểu nhập/xuất dữ liệu, ta chỉ cần thêm hoặc xoá (hoặc chuyển thành chú thích) 4 dòng bôi đậm ở trên và không cần sửa đổi gì thêm. Cụ thể, khi muốn xuất nhập từ bàn phìm/màn hình: var fi, fo: text; Và khi muốn xuất/nhập từ file: var fi, fo: text; Chúc các bạn thành công. |