Insert (a1, a2, n) процедурасы a1 ішкі жолын a2 жолының n нөмірлі символынан бастап а2 жолының арасына апарып қояды, а2 жолының қалған символдары соңына қарай ығысады.
Мысал. а1:='-';
а2:='Ол оқушы';
Insert (a1, a2, 3);
Writeln (a2);
нәтижеде а2 жолындағы екі сөздің арасына сызықша белгісі қойылады.
Мысал40. Delete, Insert процедураларын қолданып «строка» сөзінен «сетка» сөзін алатын программа.
Var S:Sting;
begin
S: ='строка';
delete (s, 3, 2); 'po' символын жою
insert ('e', s, 2); 2-орынға е әрпін қою
Writeln (S)
end.
Str (x, a)- x бүтін немесе нақты санды а символдық тұрақтыға түрлендіретін процедура.
Егер х нақты сан болса, процедура төмендегіше жазылады:
Str (x:i:j, a);
Мұндағы i- нақты санның цифрларының саны.
j- бөлшек бөлігінің символдар саны.
Мысалы: Str (pi:6:2, а); (а='_ _ 3.14')
Егер х=512 болса, Str (x, a) процедурасының орындалу нәтежесі а='512'. Мұндағы 512 мәні сан емес, символдық тұрақты.
Val (a, x, c) процедурасы Str-ға кері процедура. Ол а символдық тұрақтыны х санға айналдыруды жүзеге асырады. Мұндағы с- бүтін айнымалы. Егер а-ны х-ке түрлендіру мүмкін болса, яғни а-ның барлық символы сан болса, с айнымалысының мәні 0-ге тең. Керісінше жағдайда, с- ның мәні 1- символдың нөміріне тең.
Мысал: 1) а='416'; val (a, x, c);
нәтижеде х=416; с=0
2) а='41ав6'; val (a, x, c);
нәтижеде с=3
Мысал41:
var x:real; y:integer; а, а1:string;
begin
а:=concat ('12', '345'); а=12345
а1:=copy (a, 3, length (a)-2); а1=345
insert ('-' а1, 2); а1=3-45
delete (а, pos ('2', а), 3); а=15
Str (pi:4:2, а); а=3.14
Val ('3.14', x, y); х=3.14, у=0
Val ('5.14', x, y); у=2, х- өзгермейді
Мысал42. Str, Val процедураларын қолданып, берілген бүтін санның цифрларының қосындысын есептеңдер.
var x, i, y, s:integer;
а,в: string;
begin
read (x); санды енгізу
str (x, a); санды а символдық тұрақтыға айналдыру
for i:=1 to length (a) do
begin
b:=copy (a,i,1); 1-символдан бастап қиып алу
val (b, y, c); символды санға түрлендіру
S:= S+y;
еnd;
Writeln ('санның цифрларының қосындысы =', S)
end.
String типі array [o..n] of char бір өлшемді символдар массивіне ұқсас. Мұндағы n- жолдағы символдардың максимал саны. Сондықтан жолдағы кез-келген символды массив элементі сияқты көрсетуге болады, яғни copy (a, i, 1) функциясының орнына a [i] деп алуға болады.
Мысал43. Берілген сөздегі “а”әрпін санаңдар.
Var а: string;
i, k: integer;
begin
read(х); { сөзді енгізу }
for i:=1 to length (х) do
if (х [i]= 'A') or (х [i]='а') then k:=k+1;
Writeln ('сөздегі а әрпінің саны=', к)
end.
Бұл жаттығуда a [i]-дің орнына copy (a, i, 1) деп алуға да болады.
Мысал44. Берілген сөз төңкермелі (полиндром) бола ма? Сөз төңкермелі деп аталады, егер берілген сөз бен оны кері жазғандағы сөз бірдей болса. Мысалы: қазақ, нан, 1221.
Var а, b: string;
i: integer;
begin
read (a);
for i:=1 to length (a) do
b:= a [i]+b;
Writeln (' берілген сөз: ', а, 'кері сөз: ', b);
If a=b then writeln ('төңкермелі') else writeln ('төңкермелі емес')
end.
Мысал45. Берілген мәтінде “ас” жолы неше рет кездесетінін анықтаңдар.
var а :string; i, n: integer;
begin
writeln(‘мәтін енгіз’);readln(a);
for i:=1 to length(a) do
if copy(a, i, 2)=’ac’ then n:=n+1;
writeln(‘n=’,n) end.
Мысал46. Берілген мәтіндегі берілген әріпті жоятын программа құрыңдар.
Var а: string; b: char; i:integer;
begin writeln(‘мәтін енгіз’); read (a);
writeln(‘әріп енгіз’); read (b);
for i:=1 to length (a) do
if a[i]= b then delete(a, i, 1);
writeln(a)
end.
2 жолды салыстыру үшін қатынас операцияларының белгісі қолданылады: =¸<>,<, <=, >, >=. Жолдарды салыстыру 1-символдан басталады. Символдар олардың кодтары арқылы салыстырылады, код алфавит бойынша өседі.
Мысалы: 'max 1' < 'max 2'
'pascal' > 'PASCAL'
'abc_> <> 'abc'
'123' = '123'
Достарыңызбен бөлісу: |