Жолдық процедуралар мен фукнциялар



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 22 бет
Таңдаулыға:   


Кіріспе
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын
1970 жылы швейцрия физигі Niklaus Wirth ұсынған.Автор тілді алғашқы
арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез
Паскальдің құрметіне Паскаль деп атап , тіл атауын үнемі бас әріппен
жазылуын сұраған.Кейінен тілдің көптеген нұсқалары жарық көреді.Turbo
Pascal – Оның тұңғыш нұсқасын жоғарғы деңгейлі программалау жүйесі . 1970
жылы швейцрия физигі Niklaus Wirth ұсынған . тілді алғашқы арифметикалық
есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне
автор деп паскаліия ғалымы Никлаус Вирт жасаған Паскаль программалау
тілінен тарайды. Қарапайым Паскальді өңдеудегі А. Хейлсбергтің еңбегінің
нәтижесінде Turbo Pascal қазіргі заман талабына сай, қуатты программалау
жүйесіне айналды. Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның
логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Бейсик
тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық информациямен жұмыс
істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған тілдердің бірі.
Оның ыңғайлылығы:
• тілге дамытылған берілгендер типтері енгізілген. Олар өңделетін
берілгендер элементтерін толық сәйкестендіріп сипаттауға және жаңа
берілгендер типтерін енгізуге мүмкіндік береді;
• мұнда кішігірім жеңіл программалармен бірге күрделі құрылымды
программаларды құру да мүмкін;
• тіл синтаксисі қиын емес; нұсқаулардың (операторлардың) саны
мүмкіндігінше азайтылған, т.б.
Turbo Pascal жүйесінде қарапайым есептерді шешудің программасынан бастап,
күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізіледі.

Жолдық қатарлар.

Программаларда кездесетін әр түрлі символдардан тұратын тізбектерді
жолдық қатарлар деп атайды. Өрнектерде жолдық қатарлар апострофқа алынып
жазылады.
Turbo Pascal-да жолдық қатарларға компьютердің жадынан 0 байттан 255
байтқа дейін орын беріледі (жолдық қатар ұзындығына – 255 символ,
ұзындықтың мәніне – 1 символ).
Жолдық қатарлардан тұратын идентификаторлар String типі арқылы
сипатталады. Идентификатордың типінен кейін тік жақшаның ішінде осы
идентификатордың ұзындығының мәні неше символдан тұруы мүмкін екені
көрсетіліп кетеді. Егер бұл мән көрсетілмесе, онда жолдық қатар ұзындығына
компьютердің жадынан 255 символға дейін орын беріледі.
Жолдық қатарлы идентификаторды типтер бөлімінде (TYPE) немесе бірден
айнымалылар бөлімінде (VAR) сипаттауға болады. Сонымен қатар программалауда
жолдық қатарлар тұрақты шамалар ретінде де қолданылады (таңдау
селекторытұрақтысынан басқа).

Жолдық қатарлардың сипатталу мысалдары:

PROGRAM Katarlar;
CONST S=’Қайсар’; {S тұрақтысы Қайсар тіркесіне тең }
TYPE Gumn=String [10];
VAR X: String [17]; {Х айнымалысының ұзындығы 17 символға дейін}
A: String [6]; {Aайнымалысының ұзындығы 6 символға дейін}
B: String; {В айнымалысының ұзындығы 255 символға дейін}
C: Gumn; {C айнымалысының ұзындығы 10 символға дейін}

Жолдық өрнектермен амалдар.

Операндалары жолдық қатар болып табылатын өрнектерді жолдық өрнектер
деп атайды. Идентификаторларға жолдық айнымалылардың мәнін беру үшін
меншіктеу операторы қолданылады. Егер меншіктеу операторы орындалғанда,
символдар саны сипаттамалар бөлімінде көрсетілген шамадан асып кетсе, онда
идентификатор қатардың сол жағынан бастап көрсетілген шамаға тең болатын
символдарды ғана меншіктейді, ал оң жақтағы артық символдар алынып қалады.

...
VAR X: String [4]
Begin X:=’Gymnazy’ {Х-ке ‘Gymn’ тіркесі ғана меншіктеледі}
Writeln (X);
...
Жолдық қатарлармен біріктіру және салыстыру амалдарын орындауға
болады. Біріктіру амалы бірнеше жолдық қатарды біріктіріп шығару үшін
қолданылады. Біріктірілетін жолдық қатардың ұзындығы 255-тен аспауы
тиіс.Мысалы:

... .
A:=’Менің’; B:=’Қазақстанымның’;
Writeln (A+’ ‘+B) {Менің Қазақстанымның – тіркесі шығады}
Х:=’Тәуелсіздігіне’;
Y:=’10 жыл’;
Z:=X+’ ‘+Y; {Z Тәуелсіздігіне 10 жыл- тіркесін меншіктейді}
Writeln (Z); {де, осы тіркесті экранға шығарады}

Жолдық қатарларды салыстыру амалы екі жолдық қатарды салыстыру үшін
қолданылады. Қатарларды салыстыру солдан оңға қарай ең бірінші кездесетін
бірдей емес символға дейін жүргізіледі. Егер қай жолдың қатардың бірдей
емес символының информация алмастыру стандартты таблицасындағы нөмірі үлкен
болса, сол жолдық қатар үлкен деп есептеледі. Егер жолдық қатарлардың
ұзындығы мен барлық символдары сәйкес келсе, олар тең деп есептеледі. АЛ
егер жолдық қатардың ұзындықтары әр түрлі болып, ал символдары сәйкес болып
келсе, онда үлкені болып ұзындығы үлкен жолдық қатар есептеледі. Жолдық
қатарлардың салыстыру амалдарының нәтижесі әрқашан бульдік тип болады.

‘intel’’INTEL’ {нәтижесі True}
‘Pentium’ ‘PENTIUM’ {нәтижесі False}
‘Duron’ = ‘Duron’ {нәтижесі True}
‘Celeron’‘Celeron’ {нәтижесі False}
‘Hewlett’= ‘Hewlett Packard’ {нәтижесі True}
‘Laser’ = ‘Laserjet’ {нәтижесі False}

Жолдық процедуралар мен функциялар.

Жолдық қатардың ұзындығын есептеу үшін LENGTH функциясы қолданылады,
нәтиженің типі 0-ден 255-ке дейінгі бүтін сан (Byte) болып табылады:
X:=LENGTH (А); Х иденфикаторы А жолдық қатарының
ұзындығын
меншіктейді.

Writeln (LENGTH (А)); экранға А жолдық қатарының
ұзындығы шығады.

Төмендегі программада Х жолдың қатарының ұзындығы есептеліп табылып,
ол бүтін сан болатын А идентификаторына меншіктелген:
PROGRAM Kat1;
VAR X:String; A:lnteger;
BEGIN X:= ‘Pentium-lll’
A:=Length (Х);
Writeln (‘A=’ ‘А); Readln END.

Жолдық қатардан фрагмент көшіріп алу үшін COPY функциясы
қолданылады:
COPY (A,N,M); А жолдық қатарының N позициясындағы
символдан бастап М символ көшіріп алады.

Х:=COPY (‘Облыстық гимназия’, 10,4); Х иденфикаторы “гимн”
фрагментін меншіктейді.

Writeln (COPY (‘Облыстық гимназия’, 10,8); экранға гимназия сөзі
шығады.
Төмендегі программада Х қатарынан Pentium сөзі көшіріліп, А
идентификаторымен белгіленген жолдық қатарға меншіктеледі:

PROGRAM Kat2;
VAR X,А:String;
BEGIN X:= ‘Pentium-lll’; A:=Copy (Х,1,7);
Writeln (‘A=’ ‘А); Readln END.

Жолдық қатарлар фрагменттерін біріктіру үшін CONCAT функциясы
қолданылады:

CONCAT(Х,А); функция Х және А қатарларын біріктіреді.

Writeln (Concat (‘Гимн ‘,’ Азия’, )); экранға Гимн Азия сөзі

шығады
Y:=Concat (‘Гимн’,’Азия’)) Y Гимн Азия сөзін
меншіктейді.

Төмендегі программада жолдық қатар болып табылатын Y
тұрақтысы X қатарымен біріктіріліп, нәтиже А идентификаторымен белгіленген
жолдық қатарға меншіктеледі:

PROGRAM Kat3;
CONST Y=’Input’ ; VAR X,A: String;
BEGIN X:=’Output’; A:=Concat (Y,X);
Writeln (‘A=’,A) ; Readln END.

Жолдық қатардың ішіндегі тұрған бір фрагменттің орнын анықтау
үшін РОS функциясы қолданылады.Бұл функция мәнінің типі бүтін және ол
жолдық қатарда берілген фрагменттің басталатын позиция нөміріне тең
болады. Ал егер жолда ондай фрагмент кездеспесе онда нәтиже 0-ге тең
болады, мысалдар:

POS (X,A); Х фрагментінің А қатарындағы басталатын нөмірі.
POS (‘наз’,’ Гимназия’); нәтиже 4-ке тең болады.
POS (‘зал’,’Гимназия’); нәтиже 0-ге тең болады.

Төмендегі программада Х фрагменті Y қатарындағы басталатын
орны бүтін сан болатын А идентификаторына меншіктелген.

PROGRAM Kat4;
CONST Y=’Input’ ;
VAR X: String;
BEGIN X:=’put’;
A:=POS (X,Y) ; Writeln (‘A=’,A) ; Readln END.

Жолдық қатардан бір фрагмент өшіріп тастау үшін DELETE
процедурасы қолданылады, жазылуы:

DELETE (A,N,M) А жолдық қатарының N позициясындағы символдан
бастап M символ өшіріп тастайды.

DELETE (‘Обылыстық гимназия’, 10,4); Облыстық азия тіркесі қалады

Төмендегі программада Х қатарының N – ші позициясынан
бастап М символ өшіріледі:

PROGRAM Kat5;
VAR X,A: String; N,M : Byte;
BEGIN Readln (N,M); X:=’Output’;
Delete (X,N,M) Writeln (‘x=’,X) ; Readln END.

Жолдық қатарға бір фрагмент қосу үшін INSERT
процедурасы қолданылады.

INSERT (A,X,N) Х жолдық қатарының N-ші позициясынан бастап А
фрагментін қою.

Төмендегі программада Х қатарының 3 позициясынан
бастап А қатары қойылып Х қатары Internet мәніне өзгереді.

PROGRAM Kat6;
VAR X,A: String; N: Byte;
BEGIN N:=3 X:=’Internet’; A:=’Ler’;
Internet (A,X,N); Writeln (‘A=’,A) ; Readln END.
Латын алфавитінің кіші әріптерін бас әріпке айналдыру
үшін UPCASE функциясы қолданылады.

UPCASE (X); Х жолдық қатарындағы кіші әріптерді бас әріптерге
өзгертеді.

Келесі программаларда Х символы (‘a’) мен Х
қатарындағы (‘ә’) кіші әріптер бас әріптерге айналдырылған:

1-ші программада
PROGRAM Kat7;
VAR X: Char ; K: Byte;
BEGIN X:=’t’; X:=Upcase (X);
Writeln (‘X=’,X); Readln END.

2-ші программада
PROGRAM Kat8;
VAR X: String; K: Byte;
BEGIN X:=’Internet’; For K:=1 To Length (X)Do X[K]:=Upcase (X[K]);
Writeln (‘X=’,X) Readln END.

STR процедурасы кез-келген сандық шаманы бір жолдық
қатарға қою үшін қолданылады, жазылуы:

STR (150,X); 150 саны Х жолдық қатарының ішіне орналасады.

Төмендегі программада А нақты санын Х жолдық
қатарына айналдырып, әрі қарай Х қатары Y қатарын шығаруда қолданылған:

PROGRAM Kat9;
VAR X,Y,S: String ; A: Integer;
BEGIN A:=134; S:=’TU’; Str (A,X); Y:=S+X;
Writeln (‘Y=’,Y); Readln END.

Жолдық қатарды сандық шамаға айналдыру үшін VAL
процедурасы қолданылады, жазылуы:

VAL (X,A,C);
Төмендегі программада Х жолдық қатарын А нақты санына
айналдырып, әрі қарай А шамасы Yөрнегін есептеп табуда қолданылған:

PROGRAM Kat10;
VAR X: String ; Y,A : Real; C: Integer;
BEGIN X:=’2.5E+4’ ; Val (X,A,C); Y:=A2-5*A;
Writeln (‘A=’, A:3:2); Writeln (‘Y=’, Y:3:2); Readln END.

Жолдық қатарларға программа құру.

1. Әр түрлі тіркестермен амалдар орындау.

а)
PROGRAM Katar1;
VAR X,A: String; [17] ; Y,A,B,C: String ; N,M,Z,P: Integer;
BEGIN X:=’Облыстық гимназия ‘;
Z:=Length (X); {ұзындығын анықтау}
P:=Pos (‘азия’,’Облыстық гимназия ‘);
Readln (N,M);
Y:=Copy(X,N,M); {жолдан фрагмент щйып алу}
A:=Copy(X,1,3); B:=(X,10,8); C:=Concat (A,B);
{X тізбегінен Облгимназия сөзін шығару}
Writeln (Z,’’,Y,C)
Readln END.

ә)
PROGRAM Katar2;
CONST X=’Облыстық’; Y:=’Гимназия’;
VAR A,B,C,D: String [15]; K:String; I,N: Byte;
BEGIN a:=’Pentium-1’; B:= ‘ Pentium -11’; C:=’PENTIUM-111’;
{3 қатарды салыстырып үлкенін табу}
IF AB Then D:=A Else D:=B;
IF DC Then Writeln (I’ max =’, D) Else Writeln (‘max=’,=C)
K:=X+’’+Y; {қатарларды біріктіру}
{2 қатарды салыстыру}
If K=Concat (X,Y) Then Writeln (‘K=X+Y) Else Begin
Writeln (‘K ten emes X+Y’ ); Writeln (‘k=’,k) End.
Delete (A,8,2); {қатардан фрагмент алып тастау}
Writeln (‘A=’,A);
Delete (B,2,6); {қөатардан фрагмент алып тастау}
Writeln (‘B=’,B);
Insert (‘pentium’, B,2); {қатарға фрагмент қою}
Writeln (‘B1=’,B);
K:=Copy (Y,1,4); {қатардан фрагмент көшіріп алу}
Writeln (‘K1=’,K);
I:=Pos (K,Y); {Y қатарында К фрагментінің
орнын анықтау}
Writeln (‘I=’,I)
N:=Length(X+Y); {қатар ұзындығын анықтау}
Writeln (‘N=’,N);
Writeln (Concat (x,’ ‘,y)); {қатарларды біріктіріп шығару}
Writeln (‘a-max ‘, Upcase (‘a’)); {бас әріп етіп шығару}
Readln END.

2. Кез-келген жолдық қатардың латын алфавитінің кіші
әріптерін бас әріпке айналдыру программасын құру.

PROGRAM Kat3;
VAR X: String; K: Byte;
BEGIN Write (‘Қатардың мәнін енгіз:’); Readln (X);
For K:=1 To Length(X) Do X[K]:=Upcase (X[K]);
Writeln (‘Қатардың жаңа мәні X=’, X);
Readln END.

3. Х жолдық қатарында кездесетін ‘а’ ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal-дағы жолдық қатарлар
Туре тип атауы тип мәндері
Turbo pascal тілінің негізгі элементтері туралы
Жолдық типтер. Жолдар
Есептеу техникасынан дәрістер
Процедурада регистрлерді сақтау
Текстік файлдар
Текстік файлдарға қолданылатын процедуралар
Алгоритмдеу, қасиеттері, негізгі құрылымдары. Паскаль бағдарламалау ортасы
Массивтер. Ашық типті жолдар
Пәндер