Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin 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 !
Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin 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 !
Nơi trao đổi thông tin Văn Lang
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Nơi trao đổi thông tin Văn Lang

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ínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 Bài tập về file

Go down 
2 posters
Tác giảThông điệp
Admin
Admin
Admin


Posts : 121
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Bài tập về file Empty
Bài gửiTiêu đề: Bài tập về file   Bài tập về file Icon_minitime16/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
https://forumpascalvanlang.forumvi.com
kieu dan thanh




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

Bài tập về file Empty
Bài gửiTiêu đề: Re: Bài tập về file   Bài tập về file Icon_minitime2/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
 
Bài tập về file
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Bài tập về file (2)
» Bài tập về file (1)
» Giải giúp BT file !!!
» giải giùm bài tập file

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