Hướng Dẫn Cụ Thể Về Cách Sử Dụng Kiểu Dữ Liệu Tệp Trong Turbo ...
Có thể bạn quan tâm
Skip to main content
Hướng dẫn cụ thể về cách sử dụng kiểu dữ liệu tệp trong Turbo Pascal
Tệp là một kiểu đọc ghi dữ liệu liệu của Turbo Pascal, nó trái ngược nhiều so với cách nhập/xuất dữ liệu truyền thống, tức là bạn sẽ nhập dữ liệu vào một file và Turbo Pascal sẽ đọc xử lí rồi ghi kết quả ra một tệp khác - cách này giúp bạn xem được input và output khi chương trình kết thúc. Kiểu tệp thì cũng không khó lắm, nhưng còn rất nhiều bạn lúng túng khi gặp kiểu tệp và trong sách giáo khoa thì nó cũng chưa nói cho rõ ràng - chi tiết. Chính vì vậy, hôm nay mình viết bài này nhằm hướng dẫn một cách chi tiết giúp bạn hiểu hơn về tệp. Một số khái niệm đã có trong sgk nên mình cũng không nói rõ nữa nhé.#Nguyên lí hoạt động
Khi bạn sử dụng kiểu tệp thì bạn cần hai tệp, một tệp để nhập dữ liệu vào (input), sau khi nhập các bạn save lại. Còn tệp kia là để Turbo Pascal ghi kết quả ra (output). Bạn có thể xem được input và output bất kì lúc nào, bạn thể xem trong Turbo Pascal hoặc cũng có thể xem bằng cách mở tệp đó ra với Notepad.#Tạo tệp
Bạn cần tạo ra hai tệp cho mỗi bài toán, bạn có thể tạo trực tiếp trong Turbo Pascal theo các bước bên dưới: 1. Khởi động Turbo Pascal 2. Mở một cửa sổ mới 3. Save As 4. Nhập tên và đuôi của tệp (vd: Input.txt, Output.txt, Songuyento.inp, Songuyento.out ...) 5. Ok Như vậy là bạn đã tạo được một tệp, hãy tiếp tục tạo thêm một tệp nữa. Có một lưu ý với cách tạo tệp này là tệp sẽ được lưu ở thư mục BIN của Turbo Pascal, khi khai báo đường dẫn của tệp trong chương trình thì bạn cũng chỉ việc viết tên tệp (có cả phần đuôi) ra thôi. Nếu bạn muốn tạo tệp và cất dữ ở một thư mục khác thuộc ổ đĩa khác, thư mục baitappas thuộc ổ D chẳng hạn. Thì bạn hãy mở Notepad ra, tạo một file, Save as nhưng nhớ chọn vị trí lưu tệp là D:\baitappas\. Còn về phần tên thì như trên.#Tạo hằng chứa đường dẫn của tệp
Mình khuyên các bạn nên có hai hằng để lưu vị trí của tệp vd: const fi ='input.dat'; fo='output.dat'; Lí do là để khi khai báo ở chương trình thì sẽ ngắn gọn hơn, ví dụ assign(f,fi); tương dương với assign(f,'input.dat'); assign(f,fo); tương đương với assign(f,'output.dat'); Trên là tệp ở trong thư mục Bin nên chỉ cần viết tên, còn nếu ở ổ đĩa khác, ví dụ như ở ổ D thì cách này sẽ hiệu quả hơn const fi ='D:\baitappas\kieutep\input.dat'; fo='D:\baitappas\kieutep\output.dat'; Khi viết ở chương trình chính sẽ là assign(f,fi); tương dương với assign(f,'D:\baitappas\kieutep\input.dat'); assign(f,fo); tương đương với assign(f,'D:\baitappas\kieutep\output.dat');#Đọc dữ liệu
Đây là phần mấu chốt của kiểu tệp, nếu không hiểu rõ cách đọc thì sẽ không làm được đâu: 1. Để đọc được trên một dòng thì các bạn hãy dùng read(tên biến tệp,danh sách tên biến); 2. Để đọc được trên nhiều dòng thì hãy kết hợp read và readln: các bạn sử dụng read để đọc trên một dòng, sau khi đọc xong một dòng thì sử dụng readln để đọc dòng tiếp theo, bên dưới là ví dụ về việc đọc mảng hai chiều 1 4 2 5 7 1 4 5 6 6 9 5 3 7 3 2 6 7 9 4 2 6 8 9 2 Chúng ta thấy rằng, mảng hai chiều thì gồm nhiều hàng nên chúng ta phải sử dụng read để đọc trên một hàng rồi lại sử dụng readln để xuống hàng. Trong bài trên cũng không cho biết có bao nhiêu hàng và bao nhiêu cột nên ta phải sử dụng hàm eof(tên biến tệp) - cho giá trị true khi đọc tới cuối file và eoln(tên biến tệp) cho giá trị true nếu đọc tới cuối dòng hiện tại. while not eof(f) do {điều kiện chưa kết thúc file} begin inc(i); {tăng chỉ số dòng} j:=0; {đưa chỉ số cột về 0} while not eoln(f) do {điều kiện chưa kết thúc dòng} begin inc(j); {Tăng chỉ số cột} read(f,a[i,j]); {đọc phần tử a[i,j]} end; readln(f); {xuống hàng tiếp theo} end; Thêm một ví dụ khác nữa, lần này sẽ cho số hàng và số cột: 5 5 1 4 2 5 7 1 4 5 6 6 9 5 3 7 3 2 6 7 9 4 2 6 8 9 2 Bây giờ bạn phải đọc hai chỉ số hàng và cột đầu tiên sau đó chúng ta dùng vòng lặp for do để đọc readln(f,m,n); {đọc chỉ số hàng và cột} for i:= 1 to m do {đọc theo từng dòng} begin for j:= 1 to n do read(f,a[i,j]); {đọc từng phần tử của dòng} readln(f); {xuống dòng mới} end; Khi đọc chỉ số hàng và cột ta sử dụng readln vì đọc xong hai chỉ số đó ta còn phải xuống dòng tiếp theo để bắt đầu đọc mảng#Ghi dữ liệu
Ghi dữ liệu thì cũng giống như đọc dữ liệu 1. Nếu chỉ cần ghi trên một dòng thì bạn dùng write(tên biến tệp, danh sách biến); 2. Nếu cần ghi dữ liệu trên nhiều dòng thì cần dùng write để viết trên một dòng rồi sử dụng writeln để xuống dòng tiếp theo, dưới là ví dụ về ghi mảng hai chiều: for i:= 1 to n do begin for j:= 1 to m do write(f,a[i,j],' '); {viết các phần tử trên một hàng} writeln(f); {xuống một hàng mới} end; Mọi thắc mắc xin để lại bình luận ở dưới, mình sẽ giải thích trong 24h, bây giơ khi viết mình cũng rõ là các bạn thấy khó hiểu ở đâu nữa, bài này mới chỉ nói những điều mà sgk chưa nói rõ. Quoc Khanh BuiComments
Post a Comment
» Vui lòng không spam vì nó sẽ bị xóa ngay sau đó.» Nếu chèn code hãy mã hóa trước khi chèn vào nhận xét.» Nếu thủ thuật Blog không áp dụng được thì hãy để lại URL blog để mình tiện kiểm tra.
Popular Posts
Tự nhắn tin cho mình trên Facebook
Lúc trước mình thử tìm cách để tự nhắn tin cho mình xem sao. Với hành động này mình có thể dùng nó để lưu lại một file, hình ảnh, hay một đoạn văn bản nào đó mà không để cho người khác biết, cái này cũng tương tự như một số bạn dùng Gmail rồi tạo một tin nháp, sau đó họ lưu lại thông tin trong tin nháp đó. Vì là tin nháp nên sẽ không ai thấy được, còn với Facebook thì khác, nó không có tính năng tạo tin nháp nên mình có ý tự gửi tin nhắn cho mình để chỉ mình đọc được. Cách để tự gửi tin nhắn cho mình cũng có một số vướng mắc nhỏ nên mình viết bài này để hướng dẫn cho các bạn cùng biết.Floating point number (IEEE 754)
Đã bao giờ bạn dùng javascript và tự hỏi tại sao 0.1 + 0.2 lại bằng 0.30000000000000004 chưa? Đó là bởi vì trong máy tính, số thập phân sẽ được biểu diễn một cách gần đúng với giá trị mà bạn mong muốn, và chúng ta sẽ tìm hiểu về nó trong bài này. Nội dung bài viết: - Biểu diễn một số thập phân dưới dạng floating point trong máy tính. - Chuyển floating point ngược lại số thập phân. - Cộng hai số được biểu diễn dưới dạng floating point. - Tại sao chúng ta lại biểu diễn số thập phân dưới dạng floating point, mà không phải là một dạng khác? 0. Floating point 32 format. (image from Wikipedia) Trước khi vào bài viết, bạn cần biết rằng hiện tại có hai loại floating point được dùng phổ biến. Loại thứ nhất gọi là Single-precision floating point, sử dụng 32 bit để biểu diễn số thập phân. Loại thứ hai là Double-precision floating point, sử dụng 64 bit để biểu diễn số thập phân, do dùng nhiều bit hơn nên nó có thể biểu diễn số thập phân lớn hơn, với độ chính xác cao hơn. Trong bài này chúng ta chỉÝ nghĩa và cách sử dụng của hashtag ( dấu # ) trên Facebook
Khi lướt trên mạng xã hội Facebook hoặc một số mạng khác thì mình thấy trong các status hay các comment thường có những đoạn như: #Đông #Tây #Nam... Ta dễ dàng bắt gặp hashtag trên Twitter, Pinterest và Instagram, trong Blogger thì hashtag có vai trò to lớn. Và hầu hết người viết đều không biết ý nghĩa của dấu # đó. Hôm nay chúng ta cùng tìm hiểu về nó.Từ khóa » Sử Dụng File Trong Pascal
-
Các Thao Tác Cơ Bản Với File Trong Pascal - Thủ Thuật
-
Cách đọc Ghi File Trong Pascal - Kiến Thức 24h
-
Tập Tin - File - Hoàn Chân • Blog
-
Làm Việc Với File Trong Pascal - Thư Viện Đề Thi
-
Kiểu Tệp (file) Trong Pascal - Sách Giải
-
Cách đọc Ghi File Trong Pascal
-
HƯỚNG DẪN SỬ DỤNG FILE TEXT TRONG FREE PASCAL
-
Bài 140. Đọc Ghi File Trong Pascal - YouTube
-
TUT] Bài 10: Tệp Trong Pascal - Kiểu File - Nguyễn Văn Quân
-
DỮ LIỆU KIỂU FILE | Học Pascal
-
Nhập Mảng Trong Pascal (có Sử Dụng Tệp) - Dạy Nhau Học
-
Nhập/xuất Dữ Liệu Với Free Pascal Trong Lập Trình Thi đấu
-
MỘT SỐ LƯU Ý KHI THỰC HÀNH TURBO PASCAL - Tài Liệu Text