p>255 болса, қате.
8. позиция
pos (a,s)
a жолы s жолында нешінші
позицияда тұрғанын табады.
егер a жолы s жолында
болмаса, нәтиже=0
9.регистрді
ауыстыру
upcase(ch)
кіші әріпті бас әріпке өзгертеді.
тек латын алфавитін ғана.
Мысалдар
Берілгені:
Қолданылған
процедура, функция
Нәтиже
1.a:=’абвгде’
delete(a,4,2)
‘aбве’
2.s1:=’интика’
s2:=’форма’
insert(s2,s1,3)
‘информатика’
1.var x:integer;
a:string;
-------------
x:=72584
str(x,a)
str(-x:7,a)
‘72587’
‘-72584’
2.var a:string;
cod:integer;
---------------
a:=’25’;
a:=’14.2Е+2’;
a:=’14.2’
val(a,x,cod)
val(a,x,cod)
val(a,x,cod)
cod=0
cod=0
cod=5
3.st:=’1237’
st:=’klassio’
length(st)
length(st)
4
7
4.a1:=’ ab’;
a2:=’cd’;
a3:=’ej’
concat(a1,a2,a3)
concat(a1,’nm’,a2)
‘abcdej’
‘abnmcd’
5.st:=’abcdefjk’
copy(st,2,4)
copy(st,5,7)
‘bcde’
‘efjk’
8.a1:=’abcdef’;
a2:=’def’;
pos(a2,a1)
pos(‘e’,a2)
pos(‘k’,a1)
4
2
0
9.Ch:=’d’
A:=’x’
UpCase(Ch)
UpCase(A)
UpCase(‘a’)
‘D’
‘X’
‘A’
1-мысал. Енгізілген сөздегі ‘a’ әріптерін санау, ‘b’әрпіне ауыстыру.
1- әдіс: Алгоритм:
1.Сөзді енгізу.
2.Сөздің бірінші әрпін белгілеу.
3.Белгіленген символды ’a’ символымен салыстыру.
4.Егер сәйкес болса, санауышты бірге арттыру, сол символдың орнына ’b’
символын қою;
5.Осылайша барлық символдарды қарастыру.
Бағдарлама.
program sanau;
var s:string; n,l,i:byte; {n-‘a’әрпін санауыш }
begin
n:=0; readln(s); l:=length(s); { l сөздің ұзындығы}
for i:= 1 to l do
if copy(s,і,1)=’a’ {кезектегі әріпті белгілеп,
then ’a’ әрпімен салыстыру}
begin
delete (s,і,1); insert(‘b’,s,i);
n:=n+1; { а әрпін санау}
end;
writeln (‘сөзде,’n,’ a әрпі бар’);
end.
2-әдіс. Алгоритм:
1.Сөзді енгізу.
2. ’a’әрпін санайтын санауыш енгізу.
3.Сөздегі ‘a’әрпі тұрған позицияны тауып, сол орынға ‘b’ әрпін жазу.
4.Сөздегі барлық позициялар үшін 3 пунктті қайталау.
5.Нәтижені шығару.
Бағдарлама.
program sanau;
var
s:string; n:byte;
begin
write (‘сөзді енгіз’); readln(s); n:=0;
while pos (‘a’,s)>0 do
begin
n:=n+1; s[pos(‘a’,s)]:=’b’;
end;
writeln (‘сөзде’,n,’ a әрпі бар’);
end.
№6 тақырып. Ішкі бағдарламалар: процедуралар және функциялар
№9 зертханалық жұмыс Процедуралар
Процедураныњ сипаттамасы процедураныњ таќырыбынан жєне денесінен
т±рады.
Процедураныњ таќырыбы procedure деген резервтелген сµзден, процедураныњ
атын білдіретін
идентификатордан жєне жаќшаѓа алынып, типтері кµрсетілген
формальді параметрлер тізімінен т±рады. Процедура денесі бағдарламалыќ
блоктан т±рады.
Процедураныњ жалпы т‰рі:
procedure <аты>[(формалдыќ параметрлер тізімі)];
сипаттама бµлімі
begin
операторлар бµлімі
end;
Процедура µздігінен орындалмайды. Ол аты бойынша негізгі бағдарламадан
шаќырылады. Шаќыру жолында оныњ фактілік (наќты) параметрлері кµрсетіледі.
Фактілік жєне формальдыќ параметрлердіњ арасында мынадай сєйкестік болу
керек:
● саны бірдей;
● типтері бірдей;
● жазылу реті бірдей;
Формальдыќ параметрлердіњ мынандай т‰рлері болады:
- параметр – мєндер;
- параметр – айнымалылар;
Параметр – мєндер. Параметр – мєндер негізгі бағдарламадан ішкі бағдарламаѓа
мєндерді беру ‰шін ѓана ќолданылады, процедура нєтижесі негізгі бағдарламаѓа
ќайтарылмайды. Параметр – мєндер фактілік мєндерге ешќандай ыќпал жасамайды.
1-мысал: тµрт санды екі-екіден ж±птап, квадраттарыныњ ќосындысын табу.
Б±л мысалда параметр – мєндер ќолданылады. Берілген сандар 2,5 пен 3,1; -7,2
жєне 5,3 болсын.
program mander;
var k, z, x, y: real;
procеdure sum_kv(a, b:real); {а, b формальдық параметрлер}
begin {процедура денесі}
a:=a*a; b:=b*b;
writeln(’квадраттар ќосындысы=’, a+b);
end;
begin {негізгі бағдарлама денесі}
х:=2.5; у:=3.1;
sum_kv (x,y);
z: = -7.2; k:=5.3;
sum_kv (z,k);
readln;
end.
Бағдарламаѓа т‰сініктеме
X, y, z, k - негізгі бағдарламадаѓы фактілік параметрлер. Олар негізгі
бағдарламада сипатталады.
Sum_Kv процедурасында екі санныњ квадраттыныњ ќосындысы экранѓа
шыѓарылады; а мен b - процедурадаѓы формальді параметрлер.
Процедура х, у параметрлерімен шаќырылѓанда а=2.5 жєне b=3.1 мєндеріне ие
болады да, олардыњ квадраттарыныњ ќосындысы есептеледі.
Экранѓа мынандай хабарлама шыѓады: