pascal 1 2 3

Màu nền
Font chữ
Font size
Chiều cao dòng

{$I+}/{$I-}: bật/ tắt tự động kiểm tra lỗi nhập xuất của chương trình. Khi tắt, bạn có thể dùng hàm IOresult để kiểm tra tính chính xác của dữ liệu vào (ví dụ yêu cầu nhập số mà lại nhập chữ cái)

Nói chung có lẽ nên xem Help của Pascal

À cho em hỏi chút hình như đi thi học sinh giỏi không được đặt chỉ thị dịch ($...) trong chương trình đúng không ạ?

Program Vidu_5;

Var

f: Text;

filename,St: String;

Begin

write('Nhap ten file: ');

readln(filename);

assign(f,filename);

{$I-}

reaset(f);

{$I+}

if IOResult <> 0 then

begin

writeln('File khong ton tai');

halt;

end;

writeln('Noi dung cua file ',filename)

while not Eof(f) do

begin

readln(f,st);

writeln(st);

end;

close(f);

readln;

End.

Uses Crt;

Var St:String;

i,d:Byte;

Begin

Write('Nhap xau St: '); Readln(St);

For i:=1 to length(St) do

If St[i] IN ['0'..'9'] Then d:=d+1;

Write('So ky tu chu so trong xau: ', d);

Readln;

End.

Uses Crt;

Var St:String;

Procedure XoaTrangThua(Var St:String);

Begin

{Xóa các ký tự trắng ở đầu xâu}

While St[1]=#32 Do Delete(St,1,1);

{Xóa các ký tự trắng ở cuối xâu}

While St[Length(St)]=#32 Do Delete(St,Length(St),1);

{Xóa các ký tự trắng ở giữa xâu}

While POS(#32#32,St)<>0 Do Delete(St,POS(#32#32,St),1);

End;

Begin

Write('Nhap xau St: '); Readln(St);

XoaTrangThua(St);

Write('Xau sau khi xoa cac ky tu trang thua: ', St);

Readln;

End.

Uses Crt;

Var St:String;

Procedure XoaTrangThua(Var St:String);

Begin

{Xóa các ký tự trắng ở đầu xâu}

While St[1]=#32 Do Delete(St,1,1);

{Xóa các ký tự trắng ở cuối xâu}

While St[Length(St)]=#32 Do Delete(St,Length(St),1);

{Xóa các ký tự trắng ở giữa xâu}

While POS(#32#32,St)<>0 Do Delete(St,POS(#32#32,St),1);

End;

Begin

Write('Nhap xau St: '); Readln(St);

XoaTrangThua(St);

St:=St+#32;

Writeln('Liet ke cac tu trong xau: ');

While POS(#32,St)<>0 Do

Begin

Writeln(Copy(St,1,POS(#32,St)));

Delete(St,1,POS(#32,St));

End;

Readln;

End.

Uses Crt;

Var St:String;

dem: Array['A'..'Z'] Of Byte;

i:Byte;

ch:Char;

Begin

Write('Nhap xau St: '); Readln(St);

{Khởi tạo mảng}

For ch:='A' To 'Z' Do dem[ch]:=0;

{Duyệt xâu}

For i:=1 To Length(St) Do

If Upcase(St[i]) IN ['A'..'Z'] Then Inc(dem[Upcase(St[i])]);

{Liệt kê các ký tự ra màn hình}

For ch:='A' To 'Z' Do

If dem[ch]>0 Then Writeln(ch,' : ',dem[ch]);

Readln;

End.

Uses Crt;

Var St:String;

{Hàm POSNUM kiểm tra xem trong xâu St có ký tự chữ số hay không? Nếu

có, hàm trả về vị trí đầu tiên của ký tự chữ số, ngược lại hàm trả về giá trị 0}

Function POSNUM(St:String):Byte;

Var OK:Boolean;

i:Byte;

Begin

OK:=False;

i:=1;

While (i<=Length(St)) AND (Not OK) Do

If St[i] IN ['0'..'9'] Then OK:=True

Else i:=i+1;

If OK Then POSNUM:=i Else POSNUM:=0;

End;

Begin

Write('Nhap xau St: '); Readln(St);

While POSNUM(St)<>0 Do Delete(St,POSNUM(St),1);

Write('Xau sau khi xoa: ',St);

Readln;

End.

Bạn đang đọc truyện trên: Truyen2U.Pro

#pascal