CHEMISTRY
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.

xâu kí tự 2

Go down

xâu kí tự 2 Empty xâu kí tự 2

Bài gửi by Nguyễn Tấn Thành Mon Mar 02, 2009 7:47 pm

Very Happy

BT:

Bµi 3:NhËp mét chuçi kÝ tù. §æi chuçi nµy thµnh

a. Ch÷ in hoa b. Ch÷ in th­êng c. Ch÷ in hoa ë ®️Çu tõ

VD : luOnG tHe ViNH

In ra : LUONG THE VINH

luong the vinh

Luong The Vinh

uses crt;
var s:string; i:byte;
begin
clrscr;
write('S = ');
readln(s);
for i:=1 to length(s)do s[i]:=upcase(s[i]);
writeln(s);{XuÊt S}
for i:=1 to length(s)do
if(s[i]>='A')and(s[i]<='Z')then s[i]:=chr(ord(s[i])+32);
writeln(s);
s[1]:=upcase(s[1]);
for i:=2 to length(s)do
if(s[i-1]=' ')then s[i]:=upcase(s[i]);
writeln(s);{XuÊt S}
readln;
end.

Bµi 4:NhËp mét chuçi kÝ tù. §Õm xem trong chuçi cã bao nhiªu tõ.Mçi tõ viÕt c¸ch nhau mét dÊu c¸ch
VD : PHAM HUU NGON -> Cã 3 tõ
H­íng dÉn:Thªm kÝ tù tr¾ng vµo ®️Çu S
S := ' '+S;
Cho i ch¹y tõ tr¸i sang ph¶i. NÕu s[i]lµ dÊu c¸ch vµ s[i+1] lµ ch÷ th× t¨ng sè tõ lªn 1}
BL:
var s:string;
i,so:byte;
begin
write('S = ');
readln(s);
so:=0;
s:=' '+s;
for i:=1 to length(s)-1 do
if(s[i]=' ')and(s[i+1]<>' ')then inc(so);
writeln('Co ',so,' tu');
readln;
end.

Bµi 5:NhËp chuçi kÝ tù. §Õm xem trong chuçi cã bnhiªu kÝ tù, mçi kÝ tù xuÊt hiÖn bnhiªu lÇn.
H­íng dÉn: Dïng m¶ng solan:ARRAY[0..255]OF byte ®️Ó l­u sè lÇn xuÊt hiÖn cña c¸c kÝ tù cã m· ASCII.
VD : Ch÷ A xuÊt hiÖn 3 lÇn th× ta cã
solan[ord('A')]=3
hay solan[65]=3}
uses crt;
var s:string; solan:array[0..255]of byte; i:byte;
begin
clrscr;{Xo¸ mµn h×nh}
write('S = ');
readln(s);{§äc S}
for i:=1 to length(s)do inc(solan[ord(s[i])]);
for i:=0 to 255 do
if solan[i]>0 then writeln('Ki tu ',chr(i),' xuat hien ',solan[i],' lan');{XuÊt kÝ tù i vµ solan[i]}
readln;
end.

Bµi 6: ViÕt thñ tôc
- Xãa n kÝ tù tõ vÞ trÝ v cña chuçi S (gièng Delete(s,v,n)cña Pascal)
- ChÌn S1 vµo sau vÞ trÝ v cña x©️u S (gièng Insert(s1,s,v)cña Pascal)
H­íng dÉn: Chóng ta coi chuçi lµ m¶ng c¸c kÝ tù. Sau khi thùc hiÖn c¸c thao t¸c xo¸, dån trªn chuçi. Ta g¸n l¹i chiÒu dµi cña chuçi b»ng c¸ch
s[0]:=chr(n);
N lµ chiÒu dµi thùc sù}

uses crt;

var s:string;{X©️u S}

procedure xoa(var s:string;v,n:byte);

var i:byte;{Khai b¸o i kiÓu byte}

begin

for i:=v to v+n-1 do{Cho i ch¹y tõ v ®️Õn ®️é dµi v+n-1}

s[i]:=s[i+n];{G¸n s[i]b»ng s[i+n]}

s[0]:=chr(length(s)-n);{CËp nh©️t l¹i ®️é dµi thùc sù x©️u S}

end;

procedure chen(s1:string;var s:string;v:byte);

var i,l:byte;{Khai b¸o i,l kiÓu byte}

begin

l:=length(s1);{G¸n l b»ng ®️é dµi x©️u S1}

for i:=length(s)+l downto v+l do{Cho i ch¹y tõ ®️é dµi S+l ®️Õn ®️é dµi v+l}

s[i]:=s[i-l];{G¸n s[i]b»ng s[i-l]}

for i:=1 to l do{Cho i ch¹y tõ 1 ®️Õn l}

s[v+i-1]:=s1[i];{G¸n s[v+i-1]b»ng s1[i]}

s[0]:=chr(length(s)+l);{CËp nh©️t l¹i ®️é dµi thùc sù x©️u S}

end;

begin

clrscr;{Xo¸ mµn h×nh}

s:='PHAM HUU NGON';

xoa(s,6,4);

writeln(s);

chen('HUU ',s,6);

writeln(s);

readln;

end.

Bµi 7:{ ViÕt hµm

- TrÝch n kÝ tù tõ vÞ trÝ v cña chuçi S (gièng hµm Copy(s,v,n)cña Pascal)

- Tr¶ l¹i vÞ trÝ ®️Çu tiªn cã mÆt cña chuçi S1 trong x©️u S (gièng hµm POS(s1,s) cña Pascal)}

uses crt;

var s:string;{X©️u S}

function chep(s:string;v,n:byte):string;

var s1:string;{X©️u s1} i:byte;{i kiÓu byte}

begin

for i:=1 to n do{Cho i ch¹y tõ 1 ®️Õn N}

s1[i]:=s[v+i-1];{G¸n s1[i]b»ng s[v+i-1]}

s1[0]:=chr(n);{CËp nh©️t l¹i ®️é dµi thùc sù x©️u S}

chep:=s1;{G¸n chep b»ng s1}

end;

function tim(s1:string;s:string):byte;

var i:byte;{Khai b¸o i kiÓu byte}

begin

for i:=1 to length(s)-length(s1)+1 do{Cho i ch¹y tõ 1 ®️Õn ®️é dµi s-®️é dµi s1+1}

if chep(s,i,length(s1))=s1 then{NÕu chep(s,i,length(s1))=s1 th×}

begin

tim:=i;{G¸n tim b»ng i}

exit;{Tho¸t khái ch­¬ng tr×nh con}

end;

tim:=0;{G¸n tim b»ng 0}

end;

begin

clrscr;{Xo¸ mµn h×nh}

s:='PHAM HUU NGON';

writeln(chep(s,6,3));

writeln(tim('NGON',s));

readln;

end.

Bµi 8:{ §äc mét chuçi kÝ tù. Cho ch¹y qu¶ng c¸o trªn mµn h×nh

a. Tõ tr¸i qua ph¶i b. Tõ ph¶i qua tr¸i

c. Ch¹y cïng lóc 2 dßng kÝ tù tõ bªn tr¸i vµ bªn ph¶i vµo gi÷a mµn h×nh

H­íng dÉn: ViÕt thñ tôc viet(x,y:integer;s:string) cã t¸c dông viÕt chuçi s ë vÞ trÝ x,y}

uses crt;

var x,y:integer;{x,y kiÓu integer} s:string;{X©️u S}

procedure viet(x,y:integer;s:string);

var l:byte;{Khai b¸o l kiÓu byte}

begin

l:=length(s);{G¸n l b»ng ®️é dµi S}

if x<0 then{NÕu x<0 th×}

begin

gotoxy(1,y);{Di chuyÓn tíi (1,y)}

write(copy(s,1-x,79));

end

else

begin

if x>0 then gotoxy(x,y)else gotoxy(1,y);{NÕu x>0 th× di chuyÓn tíi (x,y)ng­îc l¹i tíi (1,y)}

write(copy(s,1,80-x));

end

end;

begin

clrscr;{Xo¸ mµn h×nh} write('S = ');readln(s);{§äc S}

for x:=80 downto -length(s)do{Cho i ch¹y tõ 80 xuèng -length(s)}

begin

viet(x,12,s); delay(40); gotoxy(1,12);clreol;{Xo¸ dßng 12}

end;

for x:=-length(s)to 80do{Cho i ch¹y tõ -length(s)®️Õn 80}

begin

viet(x,12,s); delay(40); gotoxy(1,12);clreol;{Xo¸ dßng 12}

end;

for x:=80 downto -length(s)do{Cho i ch¹y tõ 80 xuèng -length(s)}

begin

viet(x,12,s);viet(-length(s)+80-x,12,s); delay(40); gotoxy(1,12);clreol;{Xo¸ dßng 12}

end;

end.

(CONTINUE...). king Very Happy Razz
Nguyễn Tấn Thành
Nguyễn Tấn Thành
Morderater
Morderater

Tổng số bài gửi : 11
Age : 31
Đến từ : toán tin_2007-2010
Registration date : 16/02/2009

Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết