Diễn đàn tin học Văn Lang - Vạn Ninh
Chào mừng bạn đến với Diễn đàn Tin học Văn Lang - Vạn Ninh của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !

Diễn đàn tin học Văn Lang - Vạn Ninh

Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal
 
Trang ChínhCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Bài tập về file

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin
avatar

Posts : 113
Danh tiếng : 5
Join date : 10/11/2014
Age : 16

Bài gửiTiêu đề: Bài tập về file   16/1/2015, 06:36

Bài 1 :Hãy lập chương trình tạo một tệp số nguyên chứa các số nguyên tố nhỏ hơn 10000 theo thứ tự tăng dần .


Bài 2 :Cho f là tệp văn bản chứa các xâu 10 kí tự . Hãy lập chương trình nhập và hiển thị nội dung file đó lên màn hình , mỗi xâu một dòng , đầy trang màn hình thì dừng lại đợi gõ Enter mới hiển thị trang tiếp theo cho tới hết.


Bài 3 :Bạn hãy viết chương trình cho phép đọc dữ liệu từ bàn phím và ghi thêm vào cuối một tệp các bản ghi .


Bài 4 :Cho một văn bản chứa trong một text file f . Trong văn bản , tính từ trái sang phải , từ trên xuống dưới , kí tự # là kí hiệu xoá đi một từ đứng ngay trước nó nếu có . Ví dụ ‘#Ta#oi di ngu#h###hoc’ có nghĩa là ‘Toi di hoc’ . Bạn hãy viết chương trình sửa lại file f theo quy ước trên .


Bài 5 :Cho 2 file f và g cùng kiểu ( nhưng không rõ kiểu nào ) . Bạn hãy lập thủ tục gán nội dung của file g cho file f.


Bài 6 :Cho một file text ghi lại một chương trình Pascal của một học sinh . Hãy viết chương trình kiểm tra lỗi của chương trình Pascal trên theo các cách sau đây :
Cách 1 : Kiểm tra xem số lượng các dấu ‘ ( dấu mở và dấu đóng ) có bằng nhau không ?
Cách 2 : Kiểm tra xem số lượng các từ Begin và End có bằng nhau không ?


Bài 7 :Cho một file text . Hãy viết chương trình đếm xem file text trên chứa bao nhiêu từ . ( Chú ý : theo quy định , các từ cách nhau bởi một hay nhiều dấu cách ) .


Bài 8 :Cho một file text . Viết chương trình loại bỏ các khoảng trống thừa bên trong file text này .


ĐÁP ÁN:
1) (* Tạo file số nguyên tố nhỏ hơn 10000 *)

Mã:
Uses Crt;
Const N=10000;
Var i , j : Integer;
f: File of Integer;
a: Array[2..N] of boolean;


BEGIN
For i:=2 to N do a[i]:=true;
i:=2;
Repeat
For j:=2 to (N div i) do a[i*j]:=false;
Repeat Inc(i) Until a[i] or (i>N);
Until i>N;
Assign(F,'C:\SoNT.dat'); Rewrite(F);
For i:=1 to N do If a[i] then Write(F,i);
Close(F);
clrscr;
Write(' Viet ra file "C:\SoNT" cac so nguyen to nho hon 10000 ');
Readln;
END .
2) (* Ghi và đọc file of String *)

Mã:
Uses Crt;
Const INP='FoString.dat';
Type String10 = String[10];


Procedure Ghi;
Var f: file of String10; S: String10;
Begin
Assign(f,INP); Rewrite(f);
Writeln('Nhap vao f. Thoi nhap khi S='''' (go Enter)!');
Readln(S);
While (S<>'') do
Begin
Write(f,S);
Readln(S);
End;
Close(f);
End;
Procedure Doc;
Var f: file of String10; S: String10;
Begin
Clrscr;
Assign(f,INP); Reset(f);
While Not Eof(f) Do
Begin
Read(f,S);
Writeln(S);
If WhereY=25 then
Begin
Write('Press Enter to continue..');
Readln; Clrscr;
End;
End;
Close(f);
Readln;
End;
BEGIN
Ghi;
Doc;
END.
3) (* Doc và ghi vào cuối tệp các bản ghi *)

Mã:
Uses Crt;
Const inp='Hocsinh.dat';
Type Hocsinh=Record
Ten : String[30];
Tuoi: Byte;
End;
Var F : file of Hocsinh;
Hs: Hocsinh;


BEGIN
Assign(f,inp); Reset(f);
Write('Ho va ten: '); Readln(Hs.Ten);
Write('Tuoi : '); Readln(Hs.Tuoi);
Seek(f,Filesize(F));
Write(f,Hs);
Close(f);
END .
4) (* Sửa văn bản *)

Mã:
Uses Crt;
Const fi='vanban.txt';
Var f: text;
s: string;
ch: char;


Procedure docfile ( fi : String );
Var f : text ;
Begin
Assign(f,fi); Reset(f);
while not eof(f) do
Begin
Read(f,ch);
Write(ch);
End;
close(f) ;
writeln ;
End ;
BEGIN
Writeln(' Van ban ban dau doc tu file "vanban.txt" :') ;
docfile(fi) ;


assign(f,fi) ; reset(f) ;
s:='';
Repeat
Read(f,ch);
If (ch='#')then Delete(s,length(s),1) Else s:=s+ch;
Until Eof(f);
Close(f);
Assign(f,fi); Rewrite(f);
Writeln(f,s);
Close(f);


Writeln(' Van ban sau khi sua chua :') ;
docfile(fi) ;
Readln;
END .
5) (* Gan hai file *)

Mã:
Uses Crt;
Const
f1='calc.ex';
f2='C:\calc.exe';


Procedure Copyfile(fi1,fi2: string);
Var nread,nbuf: word;
buf: array [1..1024] of byte;
f1,f2: file;
Begin
Assign(f1,fi1); Reset(f1,1);
Assign(f2,fi2); Rewrite(f2,1);
nbuf:=1024;
Repeat
Blockread(f1,buf,nbuf,nread);
Blockwrite(f2,buf,nread);
Until nread<>nbuf;
Close(f1); Close(f2);
End;


BEGIN
Copyfile(f1,f2);
END.
6) (* Dem (') và 'Begin' , 'End' *)

Mã:
Uses Crt;
Const fi='C8_6.txt';


Function Dem(c: string): integer;
Var n,l: integer; f: text; S: string;
Begin
l:=Length(c); n:=0;
Assign(f,fi); Reset(f);
While not Eof(f) do
Begin
Readln(f,S);
While pos(c,s)<>0 do
Begin
Inc(n); Delete(s,pos(c,s),l);
End;
End;
Close(f);
Dem:=n;
End;
BEGIN
Clrscr;
Write(' So luong cac dau ( va ) ');
If Dem('(')<>Dem(')') then Writeln('khong bang nhau.')
Else Writeln('bang nhau.');
Write(' So luong cac tu Begin va End ');
If Dem('End')<>Dem('Begin') then Writeln('khong bang nhau.')
Else Writeln('bang nhau.');
Readln;
END .
7) (* Đếm từ *)

Mã:
Uses Crt;
Const fi = 'hoten.txt';
Var f: text;
s: string;
dem: word;
BEGIN
Clrscr;
dem:=0;
Assign(f,fi); Reset(f);
While not Eof(f) do
Begin
Readln(f,s);
While s[1]=' ' do Delete(s,1,1);
While length(s)>0 do
Begin
Case s[1] of
' ': While (s[1]=' ')and(length(s)>0) do Delete(s,1,1);
Else
Begin
inc(dem);
While (s[1]<>' ')and(length(s)>0) do Delete(s,1,1);
End;
End;
End;
End;
Close(f);
Write(' So tu co trong file hoten.txt la: ',dem);
Readln;
END.
Cool(* Đếm từ *)

Mã:
Uses Crt;
Const fi = 'hoten.txt';
Var f: text;
s: string;
dem: word;
BEGIN
Clrscr;
dem:=0;
Assign(f,fi); Reset(f);
While not Eof(f) do
Begin
Readln(f,s);
While s[1]=' ' do Delete(s,1,1);
While length(s)>0 do
Begin
Case s[1] of
' ': While (s[1]=' ')and(length(s)>0) do Delete(s,1,1);
Else
Begin
inc(dem);
While (s[1]<>' ')and(length(s)>0) do Delete(s,1,1);
End;
End;
End;
End;
Close(f);
Write(' So tu co trong file hoten.txt la: ',dem);
Readln;
END.
Về Đầu Trang Go down
Xem lý lịch thành viên http://forumpascalvanlang.forumvi.com
kieu dan thanh



Posts : 1
Danh tiếng : 0
Join date : 02/05/2016

Bài gửiTiêu đề: Re: Bài tập về file   2/5/2016, 11:14

giải giúp em bài này với!!
''tạo 1 tệp văn bản 'songuyen.INP' trong ổ D. nhập vào 1 dãy(mảng) chứa n số nguyên.
ghi dãy số đó vào tệp trên. 1 số 1 dòng.
em hãy đọc dữ liệu từ tệp trên trong ổ đĩa D. in dãy vừa đọc ra màn hình. tính tổng các số trong dãy."
Về Đầu Trang Go down
Xem lý lịch thành viên
 
Bài tập về file
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» [Mẹo chơi game] File zoom max farm game Hay Day
» [Tin tức] Toàn quyền truy cập file hệ thống được phát hiện trong Windows 10 Mobile
» [Hướng dẫn] Cách nhận biết phiên bản Windows thông qua file ISO
» Chrome 50 cho phép bạn dừng hoặc hủy bỏ file đang tải trên Android
» [Vol 85] File 903 - Thi thể trong hồ bơi

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn tin học Văn Lang - Vạn Ninh :: Bài tập :: Tệp (File)-
Chuyển đến