Tải bản đầy đủ (.doc) (3 trang)

Bài tập access kiểu xâu kí tự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (82.7 KB, 3 trang )

B1 xóa các kí tự trắng ở đầu và cuối chuỗi
while s[1]=' ' do delete(s,1,' ');
while s[length(s)]=' ' do delete(s,length(s),' ');
{tạo sâu chỉ có 1 dấu cách giữa các từ}
i:=1;
while i<>length(s) do if (s[i]=' ' and s[i+1]=' ') then delete(s,i+1,' ') else i:=i+1;
B2 đếm số từ trong xau
program demsotu;
Var S:string;
i,d:byte;
Begin
write('Nhap vao xau:');
Readln(S);
S:=S+' ';
d:=0;
For i:=1 to length(S) do
if (S[i]<>' ') and (S[i+1]=' ') then inc(d);
write('Xau co so tu la:',d);
Readln
End.
B3 Lập trình nhập vào một xâu từ bàn phím. Hãy biến đổi xâu đã cho bằng cách thay
đổi tấ cả các dấu chấm liền nhau bằng được thay bằng một dấu chấm
procedure Chuanhoa(var s:string);
var i:integer;
begin
while s[1]=' ' do delete(s,1,1);
while s[length(s)]=' ' do delete(s,length(s),1);
i:=1;
while i<=length(s) do
if (s[i]=' ') and (s[i+1]=' ') then delete(s,i+1,1)
else inc(i);


end;
procedure Deldot(var s:string);
var i:integer;
begin
i:=1;
while i<=length(s) do
if (s[i]='.') and (s[i+1]='.') then delete(s,i+1,1)
else inc(i);
end;
procedure Inhoa(var s:string);
var i:integer;
begin
for i:=1 to length(s) do
if (s[i]<>' ')and(s[i-1]=' ')or(i=1) then
begin
s[i]:=upcase(s[i]);
end;
end;
function FilterEn(s:string):string;
var s2:string;
i:integer;
begin
s2:='';
for i:=1 to length(s) do
if (s[i] in ['A'..'Z','a'..'z',' ','.',',']) then s2:=s2+s[i];
FilterEn:=s2;
end;
var s:string;
BEGIN
write('NHAP VAO 1 XAU : ');

read(s); writeln('|',s,'| <- Vua nhap');
Chuanhoa(s); writeln('|',s,'| <- Chuan hoa');
Inhoa(s); writeln('|',s,'| <- In hoa');
writeln('|',FilterEn(s),'| <- Loc tieng anh');
Deldot(s); writeln('|',s,'| <- Xoa cham');
readln;
readln;
END.
B4 Nhập dãy số gồm N số nguyên dương (N<50), sau đó; đếm các số lẻ của dãy vad
xuất ra màn hình kết quả đếm và các số lẻ của dãy số.
var i,j,n,dem:integer;
a:array [1..50] of integer;
begin
write('Nhap n='); read(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
dem:=0;
writeln('Cac so le trong day:');
for i:=1 to n do
if a[i] mod 2 <> 0 then
begin
inc(dem);
write(a[i],' ');
end;
writeln;
writeln('Co tat ca ',dem,' so.');
readln;

end.
B5 Viết chương trình nhập vào xâu, đưa ra xâu đảo. ví dụ: đi xe đạp ---> đạp xe đi
type xaukep=array[1..100,1..100] of char;
procedure tachtu(st:string; var s1:xaukep; var p:integer);
var i,j,k:integer;
begin
st:=' '+st;
p:=0;
for i:=1 to length(st) do
if (st[i]=' ') and (st[i+1]<>' ') then
begin
j:=i+1; k:=1; inc(p);
while j<=length(st) do
begin
if (st[j]<>' ') then begin s1[p,k]:=st[j]; inc(j); inc(k); end
else begin i:=i+k-1;
{s1[p,k]:='\0';} {Khong nho ky tu ket thuc xau
trong pascal la gì :( }
dec(p); break; end;
end;
inc(p);
end;
end;
var n,i:integer;
s2:xaukep;
BEGIN
tachtu('Chuong trinh viet nguoc xau',s2,n);
for i:=n-1 downto 1 do
writeln('|',s2[i],'|');
readln;

END.

×