Turbo pascal тілінің негізгі элементтері туралы



Компьютер белгілі бір есептерді шешу үшін адам тарапынан сол есепті қандай жолмен және қалай шығару керектігі туралы тапсырма алуы қажет. Бұл тапсырмалар бір жағынан компьютерге түсінікті болып жазылуы керек болса, екінші жағынан тапсырма беруші кісіге де ыңғайлы болғаны жөн. Осындай компьютерлік тілде жазылған тапсырмалар мен командалар жинағы бағдарлама деп аталады. Ал бағдарламалық текстерді жазу үшін пайдаланылатын символдардың жиынтығы компьютерлік тіл алфавитін құрайды.
Кез келген бағдарламалық тіл символдардан, сөздерден, сөз тізбектері және сөйлемдерден (операторлардан) тұрады. Сөздер символдардан құралады, ал операторлар сөз тіркестерінен тұрады. Қазіргі кезде бағдарлама жазу үшін көптеген бағдарламалау тілдері қолданылады. Солардың бірі -Turbo Pascal тілі құрылымының қарапайымдылығы мен игеруге жеңілдігінің арқасында бағдарламалаушылардың арасында кеңінен қолданылады. Turbo Pascal тілінің алфавиті келесі символдардан тұрады:
1. Латын алфавитінің 26 әріптерінен; олармен қызметші сөздер және идентификаторлар жазылады. Қызметші сөздер деп Turbo Pascal - дың өзіне ғана тән, өзгертуге болмайтын, әрқайсысының өзінің атқаратын белгілі қызметі бар сөздерді айтады. Бағдарламада айнымалылар мен тұрақтылардың аттарын анықтайтын, әрі бағдарламалаушының өзі белгілейтін қызметші сөздер кездеседі. Ондай сөздерді идентификаторлар деп атайды. Идентификаторды бір әріппен белгілеуге болады (мысалы: X, Ү, Z), бірақ кейбір бағдарламаларда латын алфавиті әріптері (26 әріп) айнымалылардың аттарын белгілеуге жетпейді немесе олар бағдарламалық текстің оқылуын ауырлатып жібереді. Мұндай жағдайларда идентификаторларды бірнеше әріптер, сандар және сызықшалар арқылы белгілеу ыңғайлы болып табылады(мысалы: Summa, X1, Ү12, Z23, Min1, Audan_1, Audan_2, Audan_3, т.с.с.)
Сонымен идентификаторлар деп бағдарламада кездесетін барлық тұрақтыларды, айнымалыларды, функциялар мен процедураларды белгілеу үшін қолданылатын әріптер мен сандардан және сызықшалардан тұратын қызметші сөздерді айтады. Идентификаторларға бұлардан басқа символдарды пайдалануға болмайды. Идентификаторлар міндетті түрде әріптен басталуы керек және оларға тілдегі басқа қызметші сөздердің атын қоюға болмайды, олардың ұзындығы әртүрлі болады, бірақ алғашқы 63 символ ғана басты болып табылады. Идентификаторлар мен қызметші сөздерді бас әріппен де, кішкентай әріптермен де жаза беруге болады. Мысалы: Begin, begin, BEGIN - сөздері бір ұғымды білдіреді. READ, WRITE, ARRAY, TYPE, WHILE, REPEAT - қызметші сөздер, X, Y, Z, MASSIV, SUMMA, AUDAN1, AUDAN2 -идентификаторлар.
Read(X,Y,Z);
Summa:=X+Y+Z;
Write(' үш санның қосындысы =', Summa);
2. Сандарды белгілейтін араб цифрларынан: 0, 1,2, 3, 4, 5, 6, 7, 8, 9. Сандар бүтін және нақты болып екі түрде беріледі. Нақты сандардың бүтін бөлігі мен бөлшегін нүкте арқылы бөліп жазады: — 9.7, 6.25, .41, -8.178. Ал өте үлкен немесе өте кіші шамалар экспоненциал сандар түрінде жазылады:
1.74Е+3(1.74*103)
5.74Е-4(5.74*10-4)
3. Ұлттық алфавит әріптерінен; ұлттық әріптер түсініктеме мен комментарийлар жазу үшін немесе символдық айнымалыларда қолданылады.

1 TURBO PASCAL тілінің негізгі элементтері
1.1. Тіл алфавиті
Компьютер белгілі бір есептерді шешу үшін адам тарапынан сол есепті
қандай жолмен және қалай шығару керектігі туралы тапсырма алуы қажет. Бұл
тапсырмалар бір жағынан компьютерге түсінікті болып жазылуы керек болса,
екінші жағынан тапсырма беруші кісіге де ыңғайлы болғаны жөн. Осындай
компьютерлік тілде жазылған тапсырмалар мен командалар жинағы бағдарлама
деп аталады. Ал бағдарламалық текстерді жазу үшін пайдаланылатын
символдардың жиынтығы компьютерлік тіл алфавитін құрайды.
Кез келген бағдарламалық тіл символдардан, сөздерден, сөз тізбектері
және сөйлемдерден (операторлардан) тұрады. Сөздер символдардан құралады, ал
операторлар сөз тіркестерінен тұрады. Қазіргі кезде бағдарлама жазу үшін
көптеген бағдарламалау тілдері қолданылады. Солардың бірі -Turbo Pascal
тілі құрылымының қарапайымдылығы мен игеруге жеңілдігінің арқасында
бағдарламалаушылардың арасында кеңінен қолданылады. Turbo Pascal тілінің
алфавиті келесі символдардан тұрады:
1. Латын алфавитінің 26 әріптерінен; олармен қызметші сөздер және
идентификаторлар жазылады. Қызметші сөздер деп Turbo Pascal - дың өзіне
ғана тән, өзгертуге болмайтын, әрқайсысының өзінің атқаратын белгілі
қызметі бар сөздерді айтады. Бағдарламада айнымалылар мен тұрақтылардың
аттарын анықтайтын, әрі бағдарламалаушының өзі белгілейтін қызметші сөздер
кездеседі. Ондай сөздерді идентификаторлар деп атайды. Идентификаторды бір
әріппен белгілеуге болады (мысалы: X, Ү, Z), бірақ кейбір бағдарламаларда
латын алфавиті әріптері (26 әріп) айнымалылардың аттарын белгілеуге
жетпейді немесе олар бағдарламалық текстің оқылуын ауырлатып жібереді.
Мұндай жағдайларда идентификаторларды бірнеше әріптер, сандар және
сызықшалар арқылы белгілеу ыңғайлы болып табылады(мысалы: Summa, X1, Ү12,
Z23, Min1, Audan_1, Audan_2, Audan_3, т.с.с.)
Сонымен идентификаторлар деп бағдарламада кездесетін барлық
тұрақтыларды, айнымалыларды, функциялар мен процедураларды белгілеу үшін
қолданылатын әріптер мен сандардан және сызықшалардан тұратын қызметші
сөздерді айтады. Идентификаторларға бұлардан басқа символдарды пайдалануға
болмайды. Идентификаторлар міндетті түрде әріптен басталуы керек және
оларға тілдегі басқа қызметші сөздердің атын қоюға болмайды, олардың
ұзындығы әртүрлі болады, бірақ алғашқы 63 символ ғана басты болып табылады.
Идентификаторлар мен қызметші сөздерді бас әріппен де, кішкентай әріптермен
де жаза беруге болады. Мысалы: Begin, begin, BEGIN - сөздері бір ұғымды
білдіреді. READ, WRITE, ARRAY, TYPE, WHILE, REPEAT - қызметші сөздер, X,
Y, Z, MASSIV, SUMMA, AUDAN1, AUDAN2 -идентификаторлар.
Read(X,Y,Z);
Summa:=X+Y+Z;
Write(' үш санның қосындысы =', Summa);
2. Сандарды белгілейтін араб цифрларынан: 0, 1,2, 3, 4, 5, 6, 7, 8,
9. Сандар бүтін және нақты болып екі түрде беріледі. Нақты сандардың бүтін
бөлігі мен бөлшегін нүкте арқылы бөліп жазады: — 9.7, 6.25, .41, -8.178. Ал
өте үлкен немесе өте кіші шамалар экспоненциал сандар түрінде жазылады:
1.74Е+3(1.74*103)
5.74Е-4(5.74*10-4)
3. Ұлттық алфавит әріптерінен; ұлттық әріптер түсініктеме мен
комментарийлар жазу үшін немесе символдық айнымалыларда қолданылады.
Ұлттық алфавит әріптері пернетақтаның жоғарғы жағындағы цифрлар
орнына орналасқан, олар арнаулы драйверлер қосылғанда ғана жұмыс істейді
және бағдарлама жазылғанда, егер текст оператордың ішінде болса, онда -
апострофқа, түсініктеме болса - фигуралық немесе жүлдызшалы жай жақшаларға
алынып жазылады.
Мысалы:
Writelh ('үшбұрыштың ауданы=')
{Операторлар бөлімі} (*Циклденесі*)

4. Арнаулы символдардан: :+-',. = ();[]*# т.б.

1.2. Айнымалылар, тұрақтылар, стандартты фунщиялар
Айнымалылар деп бағдарламаның орындалу барысында әртүрлі мәндерді
қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп,
әрбір уақытта белгілі бір мәнге ие бола алады. Айнымалылар қарапайым және
индексті болады. Барлық айнымалылар алдын ала VAR(variable -айнымалы)
бөлімінде өзіне тән бір типпен ғана сипатталады. Айнымалыларды белгілеу
және сипаттау мысалдары:

VAR X, X1: Integer;
A:Array[1..2]Of Real;
B:Array[ 1.. 5,1..7] Of Integer;
C:Char; D:String;
MIN1, MAX, SUM:Real;
BEGIN
A[1]:=17.2; B[2,3]:=91;
MAX:=A[1J; SUM:=0;
... ... ... ... ... ... ... ... ... .
END.

Тұрақтылар деп бағдарламаның орындалу барысында мәндері өзгеріссіз
қалатын шамаларды айтады. Тұрақтылар идентификатормен белгіленеді және
олардың мәндері алдын ала CONST(constant - константа) бөлімінде беріледі.
Тұрақтылардың жазылу мысалдары:

CONST A=5; В=8; РІ=3.14;
Х=' Қазақстан '; Y=’Республикасы’;
MyName=’Айжан’;

Бұдан басқа Turbo Pascal – да алдын ала CONST бөлімінде сипаттамай-ақ
қолдана беретін арнаулы тұрақтылар бар, олар:
TRUE типі логикалық – Вооlеаn (ағылшын математигі Д.Бульдің
құрметіне аталған), мәні - "ақиқат";
FALSE типі логикалық – Boolean, мәні - " жалған";
MAXINT типі – Integer , мәні – 32767 .
.
Бағдарламада бір идентификатормен бірнеше айнымалыларды белгілеуге
болмайды (бір – бірінен бір символға болса да өзгеше болуы шарт).
Сонымен қатар, бағдарламаны басқа бағдарламалаушылардың жеңіл оқып,
түсінуі үшін, идентификаторларды түсінікті етіп белгілеген жөн. Мысалға,
қосындыны жай әріппен емес, SUMMA деп белгілеп алса, бағдарламаның оқылуы
түсінікті болады:

PROGRAM Sum;
VAR A,B:Integer;
C,Summa:Real;
BEGIN
Readln(A,B,C);
Summa:=A+B+C;
Writeln('үш санның қосындысы - ' , Summa:4:2);
Readln
END.
Айнымалылар мен тұрақтыларды сипаттайтын типтер форматына қарай
бүтін, нақты, символдық, жолдық қатар, логикалық болып бөлінеді, олардың
мәндерінің интервалы әртүрлі болады.
Егер бірнеше айнымалының типтері бірдей болса, оларды бір тізімге
үтір арқылы жазып, соңынан типін көрсетсе болады. Келесі бетте Turbo Pascal
– да қолданылатын стандартты типтер түрлері берілген.
Бұдан бөлек бағдарламалаушының өзі де санақты және шектеулі деп
аталатын стандартты емес типтерді қолдана алады (мысалы: X('A'..'z');
METALL(Na, К, Li); т.б.).

Типтер Мәндер интервалы Форматы
INTEGER -32 768-ден 32 767-ге дейін бүтін сандар
SHORT -128-ден 127-ге дейін бүтін сандар



INT
LONG INT -2 147 483 648 – ден бүтін сандар
2 147 483 647 – ге дейін
BYTE 0 – ден 255 – ке дейін таңбасыз бүтін сандар
WORD 0 – ден 65 535 – ке дейін таңбасыз бүтін сандар
BOOLEAN True – ақиқат, False - жалған логикалық шама
REAL 2.9*1 0 -39 - нен 1.7*1038 - нақты сандар
не дейін
SINGLE 1.5*10-45-нен 3.4*1038-не нақты сандар
дейін
DOUBLE 5*10-324-нен 1.7*10308-не нақты сандар
дейін
EXTENDED 3.4*1 0-4932-нен 1.1*104932-ненақты сандар
дейін
COMP (-263+1 )-ден (263-1 )-ге нақты сандар
дейін
CHAR ASSCII-символдар жиынтығы символдық шамалар
STRING Символдық қатарлар жолдық қатарлар
PCHAR ASSCII-қатарлар
POINTER Типтерге сілтеме

Нәтижелер типін анықтау мысалдары.
Y:=SQR(A);
егер A - бүтін сан болса, онда Ү-тің типі INTEGER болады
Y:=SQRT(A);
егер A - бүтін сан болса, онда Ү-тің типі REAL болады
Y:=SQR(A)+5*SQR(A+7);
егер A - бүтін болса, онда Ү-тің типі LONGINT болады
Ү:=(А+15)(5-А);
erep A - бүтін сан болса, онда Ү-тің типі REAL болады
Ү:='Астана - астанам';
Үжолдық қатарының типі символдық - STRING
X:=(a0)And(a=0);
Х-тің типі BOOLEAN болады
Х:='М';Ү:='А';2:='Й';
егер айнымалылар типтері – СHAR болса, онда:
В:=Х;
В - ның типі CHAR болады
A:=X+Y+Z; (МАЙ сөзі шығады)
А-ның типі символдық - STRING болады
Turbo Pascal-дағы есептеулерде көптеген стандартты функциялар
қолданылады. Стандартты функцияларды бағдарламада жазу үшін алдымен
функцияның атын, содан соң жай жақшалардың ішінде аргументін көрсету керек.
Стандартты функциялардың атын идентификаторларға беруге болмайды.
Бағдарламада аргументтердің мәнін берген кезде міндетті түрде функцияның
анықталу облысын ескеру қажет. Мысалы теріс санның квадрат түбірі болмайды,
бөлшектің бөлімі 0-ге тең болмау керек, т.с.с. Стандартты функциялардың
аргументі кез-келген өрнектен тұруы мүмкін. Мысалы:
SQR(3*X*X+58); TAN(2*X+15); ABS(25-X); LOG(X-Y);
INT(SQR(X)).
Төменде Turbo Pascal - да қолданылатын негізгі функциялар мен
қызметші сөздер тізімі келтірілген.
Стандартты функциялар мен қызметші сөздер

Жазылуы Атқаратын қызметі
ABS(X) Абсолюттік шама
SQR(X) Квадрат
SQRT(X Түбір
SIN(X) Синус
COS(X) Косинус
EXP(X) Экспонента
LN(X) Натурал логарифм
LN(X)LN(10) Ондық логарифм
EXP(LN(10)*X) 10-ның X дәрежесі
EXP(LN(X)*Y) Х-тің Ү дәрежесі(Хү)
ARCTAN(X) Арктангенс
FRAC(X) Х-тің бөлшек бөлігі
INT(X) Х-тің бүтін бөлігі
CHR(X) Символды анықтау
X DIV Y Х-тің Ү-ке қатынасының бүтін бөлігі
X MOD Y Х-тің Ү-ке қатынасының бүтін қалдығы
ODD(X) Х – тің тақ, жұп екендігін анықтау
ORD(X) Х – тің реттік нөмірі
TRUNC(X) Х – тің бүтін бөлігін шығару
PI 3,14 саны
ROUND(X) Х-ті бүтін санға дейін дөңгелектеп шығару
RANDOM(X) Кездейсоқ сан шығару
PRED(X) Х-тің алдыңғы мәні
SUCC(X) Х-тің келесі мәні
INC(X) Х-тіңүлкеюі
DEC(X) Х-тің кемуі
EOF(F) Файлдың соңын анықтау
TRUE егер F файлы файлдың соңы күйінде болса
FALSE егер файлдың соңы болмаса
EOLN(F) Қатардың соңын анықтау
AND FALSE - егер ENTER клавишы басылмаса
EOLN TRUE - егер ENTER клавишы басылса
OR Немесе
NOT Емес
NIL Бос сілтеме
PROGRAM Тақырыпты жазу
CONST Тұрақтыларды сипаттау
LABEL Таңба қою
TYPE Типтерді сипаттау
VAR Айнымалыларды сипаттау
BEGIN... ENDоператорлық жақша (блоктың басы, соңы)
READ Айнымалылар мәндерін енгізу
WRITE Нәтижелерді көрсету
IF... THEN... ELSE Шартты тексеру операторы
CASE... OF Таңдау операторы
GOTO Шартсыз көшу операторы
FOR ... TO... DO Арифметикалық цикл
REPEAT...UNTIL Шартты соңынан тексеру циклі
WHILE ... DO Шартты алдын – ала тексеру циклі
ARRAY Массивті сипаттау
PROCEDURE Процедура
FUNCTION Функция
RECORD Жазу
SET Жиын
UNIT Модуль
USES Пайдаланушылар модулі
1.3. Өрнектер және амалдар
Берілген элементтерге қолданылатын амалдарды белгілі бір тәртіппен
орындауды реттеп тұратын жазу өрнек деп аталады. Өрнектер есептеулерге
қатысатын барлық тұрақты, айнымалы шамалардан, функциялардан, жай жақша
және арифметикалық амалдар белгілерінен тұрады. Амалдар операндалармен
(өрнектің элементтерімен) не істеу керектігін анықтайды. Ең қарапайым өрнек
бір ғана тұрақты не айнымалыдан тұруы мүмкін. Turbo Pascal-да операциялар
мен өрнектер арифметикалық, жолдық, логикалық және т.б. болып бөлінеді.
Қосу(+), алу(-), көбейту(*), бөлу(), дәрежелеу амалдары арифметикалық
өрнектердегідей орындалады, мысалы:
5Х2+10:Ү-15х+2 өрнегінің Pascal-да жазылуы:
5*Sqr(X)+10Y-Exp(Ln(15)*(Х+2));
Бұдан басқа тек бүтін сандарға ғана қолданылатын төмендегідей бөлу
амалдары орындалады.

16Div3=5
16-ны 3-ке бөлгенде шығатын санның бүтін бөлігі
15 Mod2=1
15-ті 2-ге бөлгенде шығатын санның қалдығы
20 Div 30=0
20-ны 30-ға бөлгенде шығатын санныңбүтін бөлігі
20 Mod 30=20
20-ны 30-ға бөлгенде шығатын санның қалдығы
X ModY
Х айнымалысын Ү-ке бөлгенде шығатын санның қалдығы
XDivSQR(Y)
X айнымалысын Ү-тің квадратына бөлгенде шығатын санның бүтін бөлігі

Логикалық өрнектер логикалық амалдар(, , =, =, ) мен қызметші
cөздерден (АND, OR, NOT және т.б.) тұрады. Turbo Pascal-дің өрнектерін
құрғанда тілдің келесі ережелерін сақтау керек:
1. Өрнектің барлық бөлігі бір қатарға жазылуы тиіс.
2. Өрнектің барлық жақшалары жай жақша болуы тиіс.
3. Қатарынан екі арифметикалық амалды жазуға болмайды.
4. Есептеулер солдан оңға қарай амалдардың орындалу ретімен жүреді.
Ең алдымен функциялардың мәндері есептеледі, онан кейін көбейту және
бөлу, Div, Mod сияқты амалдар орындалады. Қосу және алу амалдары ең соңынан
орындалады. Өрнек нәтижесінің типі сол өрнектегі операндалардың типі мен
оларға қолданылған амалдарға байланысты болады.

Turbo Pascal тілінде өрнектердін жазылу мысалдары

X: = 10; Х= 10 жай өрнегі
X:=Abs(5-A) X=өрнегі
X:=Sqr(Sin(A)) X=SIN2A өрнегі
X:=Exp(Ln(A)*(2+B)); X=A(2+B) өрнегі
X:=Copy(A,N,M); А шамасынан N-нен бастап М позиция ойып алу
Х:=113 DIV 5 (=22) 113-тің 5-ке қатынасының бүтін бөлігі
Х:=93 MOD 5 (=3) 113-тің 5-ке қатынасының қалдығы

PROGRAM Алма; {Өрнектердің бағдарламада жазылу түрлері}
VAR A,B:Integer; (*A, В – бүтін сандар*)
N,M:Char; (*N,M – символдық шамалар*)
X: Integer; (*X - бүтін сан*)
Y,Z:Real; (*Y,Z - нақты сандар*)
K:Char; (*K – символдық шама*)
P:String; (*Р – жолдық қатар*)
BEGIN
Readln(A, B, N, M); (*айнымалыларды енгізу*)
X:=B-4*A; (*өрнектер*)
Y:=(A-B)(A+B);
Z:=Cos(A-B);
K:=A;
P:=Concat(N,M);
Writeln('X=', X);
Writeln('Y=', Y:4:2);
Writeln('K=', K);
Whteln('P=', P);
END. (*бағдарламаның соңы*)

1.4. Бағдарлама құрылымы
Turbo Pascal тіліндегі бағдарламалар бірнеше бір-бірімен байланысқан
бөлімдерден тұрады. Бөлімдер қатарлардан тұрады. Бір қатарға бірнеше
оператор жазуға болады. Бағдарламалаушы қатарларларды өзіне ыңғайлы етіп
тереді. Мысалы, біреулері қатарларды экранның сол жағынан бастап бірден
тере бастайды, ал екіншілері - экранның сол жағынан бірнеше позиция
қалдырып тереді. Егер бағдарламалық текст онша үлкен болмаса, онда бір
қатарға бір оператордан және бағдарлама бөлімдерінің арасына бос қатар
тастап терген жөн, сонда бағдарламаның қателері де тез жөнделеді және
бағдарламаны басқалар тез түсініп оқиды. Бағдарламалық текст келесі
бөлімдерден тұруы мүмкін:

1. Бағдарлама тақырыбы (Program ) ;
2. Пайдаланушылар модульдерін көрсету бөлімі (Uses ) ;
3. Таңбалар(белгілер)бөлімі(Label ) ;
4. Тұрақтылар бөлімі(Const) ;
5. Типтер бөлімі(Type) ;
6. Айнымалылар бөлімі(Var) ;
7. Процедуралар мен функциялар бөлімi (Prosedure, Function);
8. Операторлар бөлімі(Begin, End);
9. Түсініктемелер.

Бағдарламаға операторлар бөлімінен басқа бөлімдер қажеттілігіне
қарай енгізіледі. Мысалы бағдарламада ешқандай айнымалылар мен тұрақтылар
болмаса, онда тек қана операторлар бөлімін жазса жеткілікті. Мысалы:

BEGIN
Writeln (' Өрнектің мәні=');
Writeln(15-COS(15));
END.

Бағдарлама тақырыбы PROGRAM қызметші сөзінен, идентификаторлармен
белгіленетін бағдарлама атынан тұрады. Бағдарлама тақырыбынан кейін үтірлі
нүкте қойылады ( ; ).
Бағдарлама тақырыбын көрсетпесе де болады, бірақ бір мезгілде бірнеше
бағдарлама жазған кезде, басқа бағдарламалардан ажырату үшін бағдарламаға
ат қойып, Бағдарлама тақырыбын көрсетіп кеткен дұрыс болады. Мысалы:

PROGRAM Graph _1;
... ... ... ... ... ... ... ... ... ...
PROGRAM Graph _2;
... ... ... ... ... ... ... ... ... ...

Егер бағдарламада басқа модульдердің (СRТ, GRAPH т.б.) функциялары
қолданылса, онда бағдарлама тақырыбынан кейін сол модульді көрсету керек.
Мысалы:
PROGRAM Graph_3;
USES Crt, Graph, Printer;
Таңбалар бөлімі LABEL қызметші сөзінен басталады, одан кейін
бағдарламада қолданылатын таңбалардың тізімі үтір арқылы жазылады, тізімнің
соңында нүктелі үтір қойылады. Таңба белгісі ретінде бүтін сандар немесе
идентификаторлар пайдаланылады. Таңба бағдарламада оператордың алдында
жазылып, одан қос нүкте арқылы бөлінеді. Мысалы:

LABEL 12,5,10,15,20, 30,40,50;
LABEL setl, set2, set3, set4, set5;
... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
1:Y:=10+5*X;Goto50;
setl: Y:=20*X; Goto 50;
... ... ... ... ... ... ... ... ... ... ... ... ..
50: END.

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

Мысалы:
CONST A='GOD'; PI=3.14; D=250;

Типтер бөлімі TYPE қызметші сөзінен басталып, әрі қарай
идентификаторлардың типі анықталады. Мысалы:
TYPE Mas = Array[ 1..5]Of Real;
mas - 5 нафы саннан тұратын массив
а=1..12;
а - 1-ден 12-ге дейінгі бүтін сандар жиыны
b=(‘a’ ... ‘ z’ );
b -латын алфавитінің әріптерінен тұратын жиын

Бағдарламада кездесетін барлық айнымалылар бөлімінде сипатталуы шарт.
Айнымалылар бөлімі VAR қызметші сөзіне басталып, онан кейін бағдарламада
кездесетін айнымалылар мен олардың типтері қос нүкте арқылы жазылады. Егер
бағдарламада типтері бірдей бірнеше айнымалы қолданылса, онда оларды VAR
бөлімінде үтір арқылы бір тізімге біріктіріп жазып сипаттайды. Мысалы:
VAR a, b, c: Longint; a, b, c - бүтінсандар
с: Сһаг; с - символдық шама
m, n: Array[1..7] Of Integer; m, n - элементтері
бүтін сан болатын массивке компьютердің жадынан 7 орын бөлінеді.

Процедуралар (PROSEDURE) мен функциялар (FUNCTION) бөліміне көмекші
бағдарлама жазылады. Көмекші бағдарлама деп өзінің аты бойынша шақырып
алуға болатын бағдарламаның дербес бөлігін айтады. Барлық процедуралар мен
функциялар негізгі бағдарламаның операторлар бөлімі алдында көрсетілуі
тиіс. Мысалы:

PROCEDURE SUM(M:Integer; VAR S:Integer);
Begin S:=0; For K:=l To M Do S:=S+K; End;
FUNCTION SUM(M: Integer): Integer;
Begin S:=0;
For K:=1 To M Do S:=S+K;
SUM:=S; End;
оларды бірнеше қатарға жазса да болады.
Бағдарламаның негізгі бөлігі болып табылатын операторлар бөліміне
бағдарламаны орындау үшін қолданылатын сөйлемдер (операторлар) жазылады.
Олар BEGIN(басы) және ЕND (соңы) қызметші сөздері аралығында жазылады,
кейде оларды арифметикалық жай жақшалармен салыстырып, операторлық жақшалар
деп те айтады. Арифметикалық өрнекте жақша қанша рет ашылса, сонша рет
жабылады. Сол сияқты бағдарламалық тексте қанша рет ВЕСІN ашық (операторлық
жақша) сөзі кездессе, сонша рет END(жaбық операторлық жақша) қызметші сөзі
болуы керек. Бұлардың арасында операторлар бір-бірінен нүктелі үтір арқылы
ажыратылып жазылады. END қызметші сөзінің алдындағы оператордан кейін
нүктелі үтір қоймаса да болады.
Операторлар бағдарламалық тексте қандай ретпен жазылса, бағдарлама
орындалғанда да сондай ретпен орындалады. Операторлар туралы басқа да
мәліметтерді келесі тараулардан білуге болады. Операторларды атқаратын
қызметтеріне қарай мынадай топтарға бөлуге болады:

1. Меншіктеу операторы;
2. Енгізу - шығару операторлары;
3. Басқару операторлары;
4. Процедура мен функцияны анықтау операторлары.

Бағдарламаның мақсаты, идентификаторлардың мәні, кейбір қиын
бөліктерінің жазылуы мен қызметі басқаларға түсінікті болуы үшін
түсініктемелер қолданылады. Оларды бағдарламаның кез-келген жеріне
фигуралық {__} немесе жұлдызшалы жай жақшаларға (*__*) алып жазуға болады.
Бұл жақшаларды шектеулер деп те атайды. Шектеулердің ішіне жазылған
түсініктемелерді компилятор оқымайды, сондықтан олар бағдарламаның
орындалуына ешқандай әсерін тигізбейді. Шектеулермен кейде бағдарламаның
уақытша керек емес бөліктерін қоршап қойса да болады (кейін керек болған
жағдайда пернетақтадан қайта термеу үшін).
Түсініктемелерді жазу үшін пернетақтадан символдары(латын, орыс,
қазақ алфавиттерінің әріптері, цифрлар мен арнаулы символдар)
пайдаланылады. Бағдарламада түсініктемелердің жазылуына шек қойылмайды.
Мысалы:
VARa,b,c,d,x1,x2,x:Real;
{Айнымалылардың барлығы нақты сандар}
BEGIN
Readln(a,b,c); (*коэффициенггерді енгізу*)
d: =b *b -4 *а *с; (*дискриминантгың формуласы *)
If d0 (*дискриминанттың мәні бойынша сорттау*)
Then Begin
x1:=(-b-Sqrt(d))(2*a); (*дискриминант оң болғанда екі түбір бар*)
x2:=(-b+Sqrt(d))(2*a);
Goto 1 End Else іf d=0 Then Begin x:=-b(2*a); (*дискриминант 0-ге
теңболғанда бір түбір бар*)
Goto 2 End; Else Goto 3;
(*дискриминанттеріс болғанда теңдеудің шешімі жоқ*)

Бақылау сұрақтары мен тапсырмалар
1. Бағдарлама дегеніміз не?
2. Бағдарламалық тіл ұғымын қалай түсінесіз?
3. Turbo Pascal тілінің алфавиті неден құралады?
4. Қызметші сөздер дегеніміз не?
5. Идентификаторлар дегеніміз не?
6. Айнымалылар дегеніміз не?
7. Тұрақтылар дегеніміз не?
8. Х=157200 шамасының типін көрсетіңіз?
a) X:lnteger; b) X:Longint; c) X:Real; d)
X:Char; e) X:String;
9. x='a' шамасының типін көрсетіңіз?
a) X:lnteger; b) X:Longint; c) X:Real; d)
X:Char; e) X:String;

10. х='Алматы' шамасының типін көрсетіңіз?
a) Xilnteger; b) X:Longint; c) X:Real; d)
X:Char; e) XiString;

11. Қай тұжырым дұрыс емес?
а) 144.5 - нақты сан, REAL;
b) 2584 - бүтін сан, типі INTEGER;
c) 124554 - бүтін сан типі LONGINT;
d) 354675.45 - нақты сан, типі REAL;
e) 45789 - бүтін сан, типі INTEGER.
12. Қай тұжырым дұрыс?
а) 1445 - нақты сан, REAL;
b) 258.4 - бүтін сан, типі INTEGER
c) 1245.54 - бүтін сан типі LONGINT
d) 5.4675 - нақты сан, типі REAL;
e) 115789 - бүтін сан, типі INTEGER.

13. а: = 15; b:=21; y:=(a+b)(a-b); у-тің типін
анықтаңыз?

14. а:='Т'; Ь:='У; у:=а+b; у-тің типін анықтаңыз?

15. Дұрыс жазылған бағдарлама тақырыбын көрсетіңіз?
a) Program laudan; b) Program Audanl; c)
Program Audan 1; d) Program;

16. Дұрыс жазылған таңбалар бөлімін көрсетіңіз?
a) Label!..4; b) Label 1; 2; 3;
c) Label a;b;c; d) Label 1,2,4,6;

17. Тұрақтылар бөлімі қандай қызметші сөзбен басталады?
a) Label ; b) Type ;
c) Var ; d) Const;

18. Дұрыс жазылған типтер бөлімін көрсетіңіз?
a) Type Aud:real; b) Type Aud=real; c) Type Aud;real;
d)Type Aud.real;

19. Дұрыс жазылған идентификаторды көрсетіңіз?
а)МахГ; b)Мах1; c)
Max; d) Max%

20. Өрнекті Turbo Pascal тіліне аударыңыздар.
(Зх2 + 4х)*(10а3-5а2)*(х2 + х3)*(8а4-15а3)
21. Өрнектердің мәнін табыңыздар?
а) 18 Div 3*5 b) 45+5 Mod 42 c) (45+5) Mod 42 d) 35 Div
12+45 Mod 11

2. TURBO PASCAL тілінің негізгі операторлары

2.1. Тіл операторлары туралы түсінік
Операторлар деп бағдарламаның негізгі бөлігін құрайтын, компьютерге
белгілі бір әрекетті орындату үшін қолданылатын бағдарламалық тілдің
сөйлемін айтады. Операторлар бір-бірінен нүктелі үтірлі арқылы жазылады.
Turbo Pascal - дың операторлары құрамына байланысты жай және күрделі
(структуралық) болып екіге бөлінеді. Жай операторлар тек бір ғана
оператордан тұрады. Оларға меншіктеу, енгізу, шығару, шартсыз көшу,
процедураларды шақыру операторлары жатады.
Мысалы:

D: =Sqr(b)-4*a*c; - меншіктеу операторы,
Read(x); - X айнымалысын енгізу,
Write('Колледж'); - Колледж жазуын шығару,
Goto 12; - 12 белгісі бар қатарға көшу,
Summa; - Summa процедурасын шақыру.

Структуралық (күрделі) операторлар белгілі бір ережемен
топтастырылған бірнеше операторлардан тұрады. Структуралық операторларға
шартты, қайталану операторлары жатады. Мысалы:
lfX-50 Then Y:=X-50 Else Ү:=2*Х+10; - шартты операторлар,
For К:= 1 To 5 Do S:=S+ 7; - For циклдік операторы,
While K5 Do
Begin S:=S+1; K:=K+1 End; - While циклдік операторы,
Repeat
S:=S+1;K:=K+1;
Until 5K; - Repeat циклдік операторы.

Сондай-ақ Turbo Pascal тілінде бағдарламалауда құрамы жағынан
структуралық операторға жататын құрама операторлар және жай операторларға
жататын бос операторлар жиі қолданылады. Операторлық жақшалардың ішінде
бірнеше операторлардың біріктіріліп жазылуын құрама оператор дейміз.
Бағдарламада құрама операторлар бір оператор тәрізді оқылып, орындалады.
Құрама операторлардың жазылу түрі:
Begin 1-оператор; 2-оператор; 3-оператор; 4-оператор; 5-оператор; 7-
оператор;...; n-оператор End;
Қүрама оператордың кез келген операторының өзі де құрама болуы
мүмкін. Мысалы:
Begin 1-оператор; 2-оператор; Begin 3.1.-оператор; 3.2. -оператор;
З.З.-оператор End; 4-оператор; Begin 5.1.-оператор; 5.2.-оператор End; 6-
оператор; 7- оператор; ...; n-оператор End;
Бос оператор деп бағдарламаны орындау барысында ешқандай қызмет
атқармайтын операторды айтамыз. Бағдарламалық текстің бос оператор тұрған
жерінде, ереже бойынша бір оператор тұру керектігі көрсетіледі. Бос
оператор немесе ешбір мәнді өзгертпейтін өрнектен тұрады. Мысалы:

1. X:=1;;Y:=SQR(X);
2. Х:=1; Х:=Х; Y:=SQR(X);
3. X:=1; BEGIN END; Y:=SQR(X);

2.2. Меншіктеу операторы
Меншіктеу операторы берілген өрнектердің мәнін есептеп, оны
айнымалыға меншіктеу үшін қолданылады. Ол кез-келген бағдарламаның негізгі
операторының бірі болып табылады. Меншіктеу операторының жалпы жазылу түрі:
Y:=Z;
Ү - айнымалының аты;
:= - меншіктеу таңбасы;
Z - өрнек.
Меншіктеу операторы өрнектің оң жағын, яғни Z өрнегінің мәнін
есептеп, шыққан нәтижені сол жаққа, яғни Ү айнымалысына меншіктейді.
Меншіктеу(:=) таңбасының математикадағы тең(=) таңбасынан айырмашылығы көп.
Мысалы математикада У=У+1 жазуы дұрыс емес, ал бағдарламалауда У:=У+І
меншіктеу операторы дұрыс жазылған және ол келесіні білдіреді: У
айнымалысының бастапқы мәніне 1 қосылады, шыққан нәтиже У айнымалысына жаңа
мән болып меншіктеледі.
У:=5; У:=У+1
Бірінші оператордың орындалу нәтижесінде У айнымалысы 5-ті
меншіктейді, ал екінші меншіктеу операторы орындалғаннан кейін 6-ны
меншіктейді.
Меншіктеу операторымен айнымалыларға символдық, логикалық шамаларды
меншіктеуге болады. Мысалы:
A:='Қазақстан'; B:='Республикам'; С:='Менің'; Х:=а+Ь+с;
Нәтижесінде Х айнымалысы ҚазақстанРеспубликамМенің айнымалысы мәнін
меншіктейді.
V:= (X0) Or (X=20);
Нәтижесінде:
Егер х-тің мәні теріс болса, онда V:=True мәнін меншіктейді;
Егер х-тің мәні 20-ға тең не үлкен болса, онда V:=True мәнін
меншіктейді;
Егер х-тің мәні 0-мен 20-ға дейінгі сандар болса, онда V:=False мәнін
меншіктейді.

2.3. Енгізу және шығару операторлары.
Енгізу операторы
READ операторы айнымалылардың әртүрлі мәндерін Пернетақтадан
компьютердің жадына енгізу үшін қолданылады. READ операторының жазылу түрі:
READ(X) - Х-тің мәнін енгіз;
READ(a, b,c)-A,B,C айнымалыларының мәндерін енгіз;
Бағдарламаның орындалу барысында READ операторы қанша рет кездессе,
компьютер сонша рет операторда көрсетілген айнымалылардың мәндері
енгізілгенше күтіп, ештеңе орындамай тоқтап қалады. Айнымалылардың мәндері
енгізілгеннен кейін барып, компьютер бағдарламаның орындалуын жалғастырады.
Егер READ операторында бірнеше айнымалы болса, олардың мәндері бос орын
арқылы бір қатарда немесе ENTER клавишын басу арқылы бір баған бойымен
енгізуге болады. Бағдарлама орындалу барысында экранда нәтижені көрнекі алу
үшін, операторлар соңына LN жалғауын қосып та жазуға болады, бұл жағдайда
айнымалылардың мәндерін енгізгеннен кейін курсор келесі қатарға көшеді.
Мысалы:
READLN(X); READLN (b, c);
Сонымен бірге жаңа қатарға көшу үшін параметрсіз READLN операторын
қолдануға болады, бұл операторды орындағанда ENTER клавишын басса
жеткілікті, бағдарламаның орындалуы келесі қатардан тұрған операторға
көшеді. Сондай-ақ параметрсіз READLN операторын бағдарламаның осы оператор
тұрған жерге дейін орындалған нәтижесін экранда көру үшін қолданады.
Мысалы:

PROGRAM Amaldar;
VAR Z,T:Byte;
A: lnteger ;
X: Real;
BEGIN READLN(ZJ);
A:=5*Z+15*SQR(T);
X:=SQRT(Z+5*T);
WRITELN('A=',A);
WRITELN('X=';X:5:3);
READLN
END.
Бағдарламаның орындалу нәтижесінде компьютер бірінші жазылған READLN
операторындағы Z, Т мәндерінің ендірілуін сұрап тоқтап қалады. Олардың
мәндерін жазып, ENTER клавишын басқаннан кейін, компьютер екінші
параметрсіз READLN операторына тоқтап, қашан ENTER клавишы басылғанша,
экранда А-мен Х-тің нәтижелері көрініп тұрады.
Символдық шамаларды ендіруде бос орын клавишы мен ENTER клавишы бір
бос орын символын білдіретінін ескеру қажет. Мысалы:
Бағдарламаны орындау барысында X,Y,Z айнымалылары келесі мәндерді
меншіктеуі қажет делік:
X:=’A’, Y:=’B’, Z:=’C’
Егер айнымалылардың мәндерін Read операторымен енгізсек:
Read(X,Y,Z);
және бағдарлама орындалу барысында айнымалыларға бос орындар арқылы
мынадай мәндер берсек: онда нәтижесінде айнымалылар келесі символдарды
меншіктейді:
X:=’A’; Y:=’B’; Z:=’C’
Сондықтан символдық айнымалыларға мәндер бос орын қалдырмай
енгізіледі:
ABC
немесе Readln операторын қолданып, әр символдық айнымалының мәнін бөлек
операторлармен енгізуге де болады. Мысалы ,бағдарламада:
Readln(X); Readln (Y); Readln (Z);
деп жазылса, онда бағдарлама орындалу барысында айнымалылардың
мәндерін әр қатарға жазып ендіруге болады:
A
В
С
Демек, нәтижесінде айнымалылар келесі символдарды меншіктейді:
Х:='А'; Ү:='В'; Z:='C'.

Шығару операторы
WRITE операторы ақпаратты компьютердің жадынан экранға шығару үшін
қолданылады. Бұл операторды барлық дерлік бағдарламаларда кездестіруге
болады. WRITE операторының жалпы жазылу түрі:
WRITE(P1, P2, РЗ, ...)
мұндағы Р1, Р2, РЗ, ... - кез келген информация, олар айнымалы,
өрнек, немесе апострофқа алынған текстік ақпарат болуы мүмкін.
WRITE(A) - экранға А-ның мәні шығады;
Мәндері нақты сандар болатын айнымалыларды шығарғанда, WRITE
операторында осы сандардың экранда қандай форматта шығатынын қос нүктелер
арқылы жазып көрсетуге болады. Сандардың форматының жалпы жазылу түрі:
WRITE(X:a:в);
мұндағы: a - X айнымалысын экранға шығару үшін берілетін орындардың
жалпы саны; в - санның бөлшек бөлігіне берілетін орындар саны.

Бүтін айнымалыларды шығаруда тек а параметрі ғана қолданылады. Егер а
параметрі айнымалының мәнін құрайтын шаманың разрядынан үлкен болса, онда
алдымен олардың айырмасына тең бос орын қалдырылып, соңынан айнымалының
мәні шығады. Мысалға, Х=1.258 және А=2175 мәндерін экранға шығарайық.
WRITE('X=', X:8:3);
Х=1.258 Х= сөзінен кейін 3 бос орын және х-тің мәні шығады
WRITE('A=',A:11);
А= 2715 А= сөзінен кейін 7 бос орын және А- ның мәні шығады

WRITE операторында READ операторындағыдай шығаратын нәтиженің көрнекі
болуы үшін LN жалғауын қолдануға болады. Мысалға: WRITELN ('Х=', Х:8:3);
операторының орындалу нәтижесінде, Х-тің мәні экранға шығады да, курсор
келесі қатарға өтеді. Төменде WRITELN операторымен экранға нәтиже шығару
мысалдары берілген.

Бақылау сұрақтары мен тапсырмалар.
Оператор дегеніміз не?
Жай және күрделі операторлар дегеніміз не?
Бос операторлардың қызметі мен орындалуы.
Меншіктеу операторының қызметі мен орындалуы.
WRITE операторы дегеніміз не?
READ операторы дегеніміз не?
LN жалғауы не үшін қолданылады?
READ операторымен айнымалылар қалай енгізіледі?
READLN операторымен айнымалылар қалай енгізіледі?
WRITE операторымен нәтиже экранға қалай шығады?
WRITELN операторымен нәтиже экранға қалай шығады?
Символдық шамалар бағдарламада қалай енгізіледі?
WRITE операторымен сандық шамалар қандай форматтарда шығады?
14.WRITE операторымен ақпаратты шығарудың қандай түрлері бар?
15.Трапеция табандары берілген. Ауданын табу бағдарламасын құрыңыз.

3. Тармақталу командалары
Бағдарламада операторлардың орындалу ретін басқарып отыратын
операторларды тармақталу командалары дейді. Бұл командалардың көмегімен
құрылған бағдарлрманың блок-схемалары тармақ(бұтақ) түрінде болады.
Тармақталу командаларына шартсыз GOTO, шартты IF-THEN-ELSE және таңдау CASE
операторлары жатады.

3.1. GOTO шартсыз операторы
Паскаль бағдарламаларында операторлар бағдарламада жазылу ретімен
бірінен соң бірі орындалады. Бірақ көптеген бағдарламаларды құру барысында
операторлардың реттеліп орындалу тәртібін бұзуға тура келеді. Мысалы,
бағдарламаның бір бөлігін уақытша айналып өтіп, кейін оған қайтып келу
керек болады, т.с.с.. Мұндай жағдайларда GOTO шартсыз көшу операторы
қолданылады. GOTO операторы бағдарламаның орындалуын өзінде көрсетілген
таңбасы бар операторға аударады.
GOTO операторы жай оператор болып табылады, өйткені оның құрамында
басқа оператор болмайды, тек қана таңба ретінде қолданылатын белгі болады.
Бағдарламадағы кез-келген оператордың алдына таңба қойып, GOTO операторының
көмегімен басқаруды осы операторға беруге болады. Ол үшін алдымен
бағдарламаның басында LABEL бөлімінде таңбалар сипатталады, сонан соң
операторлар бөлімінде бағдарламаның қажетті бөліктерін таңбалауға болады.
Таңба ретінде 0-ден 9999-ға дейінгі бүтін сандар мен символдық шамаларды
қолдануға болады. Таңбалар белгіленетін операторлармен қос нүкте арқылы
ажыратылып жазылады. Мысалдар:

Program Tarmak;
Label 5, 10;
BEGIN
GOTO 10; басқару 10 белгісі бар операторға көшеді.
5:
10: Writeln('X=',X:5:2);
END.

Program Tarmak2;
Label s1,s2;
BEGIN ... ... ... ... ... ... ... ... ... ...
GOTO s2; Бағдарлама орындалуы s2 белгісі бар операторға
көшеді.
s1: ... ... ... ... ... ...
... ... ... ... ... ... ...
s2: Readln(N);
END.

Goto операторының көмегімен аттап кеткен бағдарламаның бөлігіне
қайтып келу үшін, ол бөлікті де таңбалап кеткен жөн, әйтпесе бағдарламаның
ол бөлігі ешқашан орындалмайды(жоғарыда 5, s1 деп таңбаланған).

3.2. IF ... THEN ... ELSE... шартты операторлары
IF ... THEN ... ELSE ... шартты операторлары берілген шарттардың
орындалуын реттейді. Олар бірнеше операторлардан тұрады, сондықтан құрамы
жағынан структуралық операторлар болып табылады. Бағдарлама орындалғанда IF
операторы өзінде жазылған логикалық шарттың орындалуын тексереді, олардың
жалпы жазылуы мен орындалуы:

IF шарт THEN 1 -блок ELSE 2-блок;

а) Егер логикалық шарттың нәтижесі "Ақиқат" болса, онда басқару THEN
операторына беріліп, тек сонда тұрған бағдарламаның тармағы (1-блоктағы
операторлар) ғана орындалады. Әрі қарай баскару ELSE операторын оқымай
аттап кетіп, бағдарламаның келесі операторларына беріледі.
ә) Егер логикалық шарттың нәтижесі "Жалған" болса, онда бағдарлама
орындалуы THEN операторынан аттап кетеді де, басқару ELSE операторына
беріліп, бағдарлама осы оператордағы тармағы (2-блоктағы операторлар)
орындалады. Әрі қарай басқару бағдарламаның келесі операторларына беріледі.

THEN немесе ELSE операторларындағы блоктардың өзінде де IF операторы
арқылы шарт тексеру процесін ұйымдастыруға болады.
IF операторындағы шарт кез-келген логикалық өрнек болуы мүмкін.
Шартта қолданылатын айнымалылар мәні алдын-ала анықталуы тиіс.
Мысалдар:

1)Program TarmakS;
VAR Х,У,S: Real;
BEGIN Readln (X,Y);
if X5 Then S:=Y*X EIse S:=5*X+Y;
2) Program TarmakS;
VARX.Y.S: Real; B: Boolean;
BEGIN Readln(X.Y); B:=X5;
if B Then S:=Y*X Else S:=5*X+Y;

Жоғарыдағы мысалдардың екеуінде де бағдарлама орындалғанда бірдей
шарттар тексеріледі. Бағдарламалау барысында тармақталу процестерін шартты
операторлардың көмегімен төмендегі үлгілердей құруға болады:
1. IF шарт THEN 1-блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1 -блок
орындалады, әйтпесе басқару нүктелі үтірден кейінгі операторға беріледі.
2. IF шарт THEN 1 -блок ELSE 2-блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1-блок
орындалады, әйтпесе басқару ELSE операторына беріліп, 2-блок орындалады.
3 IF 1 шарт THEN 1 -блок ELSE IF 2 шарт THEN 2-блок ELSE IF 3 шарт
THEN 3-блок ELSE 4-блок;
Егер 1 шарт орындалса, онда басқару THEN операторына беріліп, 1 блок
орындалады, әйтпесе басқару ELSE операторына беріліп, 2 шарт тексеріледі,
егер 2 шарт орындалса 2 блок орындалады, орындалмаса 3 шарт тексеріледі,
егер 3 шарт орындалса 3 блок орындалады, әйтпесе 4 блок орындалады. THEN
операторынан кейін және ELSE операторының алдында нүктелі үтір қойылмайды.
Нүктелі үтір шартты оператордың соңында ғана қойылады. Егер THEN не ELSE
операторларында бірнеше оператор болса, онда олар құрама оператор түрінде
жазылады:

If X5 Then Begin S:=Y*X; T:=Y+X End
Else Begin S:=5*X+Y; T:=Sqr(Y)+X End
Тармақталу командаларында OR, AND, XOR, NOT логикалық амалдарын
қолдануға болады. Егер IF операторында бірнеше шарт болса, онда олар
жай жақшаларға алынып, қүрама шарттар түрінде жазылады.
If (Х20) Or (Х10) егер X 20-дан үлкен немесе X 10-нан кіші болса
"Ақиқат"
lf(X20)And(X10) егер X 20-дан кіші жәнеХ 10-нан артық болса
"Жалған"
If (Х5) Хог (Х0) егер X 5-тен үлкен немесе X 0-ден кіші болмаса
"Ақиқат"
If Not (Х0) егер X 0-ден кіші болмаса "Ақиқат"

3.3. Тандау командалары
Кейде белгілі бір өрнектің немесе шамалардың мәндерінің өзгеруіне
байланысты бағдарламада жазылған әртүрлі операторлардың бір бөлігін ғана
таңдап орындау керек болады. Ол үшін құрамы жағынан структуралық болып
табылатын таңдау операторы қолданылады. Таңдау командалары CASE
операторынан, селектордан OF қызметші сөзінен және параметрлер тізімінен
тұрады. Таңдау командалары көмегімен берілген параметрлер тізіміндегі
блоктардың кез-келген вариантын таңдауға болады. Әр параметр тізімінің
алдында өзін белгілейтін тұрақтысы болады. Тұрақтылар бүтін, санақты,
шектеулі типті шамалар бола алады. Жалпы жазылу түрі:
CASE N OF
1-тізім: 1-блок;
2-тізім: Begin 2-блок Еlse;
М-тізім: М-блок; Else 0-блок; END;
мұндағы: N - селектор(немесе таңдау параметрі деп те аталады),
1...М – параметрлер тізімінің тұрақтысы. Таңдау процесі мынадай ереже
бойынша ұйымдастырылады:
CASE операторы міндетті түрде END операторлық жақшасымен жабылады;
Селектор мәні және параметрлер тізімі тұрақтыларының типтері сәйкес келуі
керек (екеуінің де типі бүтін сан, санақты не шектеулі болуы керек);
Егер орындалатын блокта екі немесе одан көп оператор болса, онда олар
операторлық жақшаға алынып жазылады.

Бақылау сұрақтары мен тапсырмалар
Тармақталу командалары дегеніміз не?
Тармақталу командаларының қандай операторлары бар?
Меншіктеу операторының қызметі мен орындалуы.
GOTO операторының қолданылуы.
Құрама шарттардың жазылуы.
CASE операторларының қызметі мен жазылуы.
IF ... THEN ... ELSE операторларының қызметінің орындалуы.
Бірнеше шарттардан тұратын шартты операторлардың жазылуы. Құрама шарттардан
тұратын шартты операторлардың жазылуы. And, Or, Not логикалық
функцияларының қолданылуы.
8. Пернетақтадан енгізілген санның жұп-тақтығын анықтайтын
бағдарламаны GOTO операторын қолданып құрыңыз.
9. Пернетақтадан енгізілген санның 3-ке бөлінетіндігін анықтайтын
бағдарлама құрыңыз.
10. А нүктесінің координаттары берілген. Нүктенің Ү=5Х+1 түзуінің
бойында жататынын анықтау бағдарламасын құрыңыз.

4. Қайталану командалары
Бағдарламаның белгілі бір бөлігінің орындалуын бірнеше рет қайталау
үшін қолданылатын командаларды қайталану командалары деп атайды. Көптеген
есептеулерде айнымалылардың әртүрлі мәндері үшін кейбір операторлар бірнеше
рет қайталанып орындауды қажет етеді. Бұл операторларды, қайталап орындалуы
үшін, бағдарламаға қайта-қайта жаза берсек, онда бағдарлама құру үшін көп
уақыт кетеді, әрі бағдарламалық текст өте ұзақ және оқуға ыңғайсыз болып
жазылады. Сондықтан бағдарламалық текстер қысқа әрі оқуға жеңіл болуы үшін
қайталану процесін циклдік операторлар қолданып ұйымдастырады. Циклдік
процесс ұйымдастыру үшін келесі операторлар қолданылады:

1. FOR - параметрлі циклдік оператор;
2. WHILE - алдын-ала циклдің орындалу шартын тексеретін оператор;
3. REPEAT - соңында циклдің тоқтату шартын тексеретін оператор.
Циклдік операторлар структуралық операторлар тобына жатады, өйткені
құрамына бірнеше операторлар кіреді. Бағдарламада алдымен циклдің тақырыбы
жазылады, онан кейін қайталанатын операторлар бөлімі - цикл денесі
жазылады. Цикл денесі бір немесе бірнеше операторлардан тұруы мүмкін.
Барлық циклдік операторлардың келесі ерекшеліктері бар:
а) Қайталанатын операторлар(циклдің денесі) бір-ақ рет жазылады;
ә) Циклге тек қана басынан (тақырыбы) ғана кіруге болады;
б) Циклдің айнымалылары алдын-ала циклге дейін орындалуы тиіс;
в) Цикл денесінде көшу операторын қолданып бағдарламаның басқа
бөліктеріне шығуға болады.
д) Цикл ұйымдастырғанда, міндетті түрде циклден шығу шарты
орындалатынын қарастыру керек, әйтпесе бағдарлама орындалуы циклге келгенде
тоқтап турып қалады (бағдарлама "мәңгі циклденіп" калады).
Цикл денесінің әр қайталануында цикл айнымалыларының мәндері де
өзгеріп, жаңа мән қабылдап отырады. Қайталану саны циклдің тақырыбында және
цикл денесінде берілетін айнымалылардың мәндеріне байланысты болады.

4.1. FOR циклдік операторы(Үшін циклі)
Параметрлі циклдік операторлар цикл денесінің қайталануы алдын-ала
белгілі болғанда қолданылады. Жалпы жазылу түрі төмендегідей болады:

FOR K:=M TON DO
цикл денесі;
мұндағы:К - циклдік айнымалы (есептеуіш), әр цикл орындалғанда К-ға 1
қосылып тұрады. М - К айнымалысының алғашқы мәні. N - К айнымалысының соңғы
мәні.
Цикл денесі жай немесе құрама оператордан тұруы мүмкін, егер цикл
денесі құрама оператордан тұрса, онда ол операторлық жақшаға алынып
жазылады. Циклдің параметрі (К) тек қана айнымалы болуы тиіс, ал М және N
өрнек болуы да мүмкін (нақты Real-типтен басқа). Көбінесе цикл параметріне
бүтін типті айнымалы қолданылады, оның мәні циклдің әр орындалуынан соң 1
-ге артып отырады (қадамы 1 -ге тең).
FOR циклінің блок-схемасы:

Цикл денесінің орындалуы FOR операторындағы К параметірінің мәнә
соңғы М параметірінің мәніне жеткенге дейін қайталанады. Егер К мәні М
мәнінен асып кетсе, онда қаиталану процесі тоқтап, басқару цикл денесінен
кейін тұрған операторға беріледі. Сондай ақ FOR және DOWNTO операторларының
көмегімен кері циклдер ұйымдастыруға болады, кері циклдің жалпы жазылу түрі
төмендегідей:
FOR K:=N DOWNTO M
Цикл денесі
Мұндағы К-циклдік айнымалы, әр цикл орындалғанда -1-ге азайып тұрады,
М – К айнымалысының алғашқы мәні, N – К айнымалысының соңғы мәні.

4.2. Циклдік операторы(Әзірше циклі)
Әдетте, WHILE операторы қайталану саны алдын-ала белгісіз болған
жағдайларда қолданылады. Цикл денесінің әрбір орындалуының алдында, WHILE
операторында циклдің орындалу шарты тексеріледі, шарттағы айнымалылар
мәндерінің өзгеруіне әсер ететін операторлар цикл денесінде беріледі. Егер
цикл денесі бірнеше операторлардан тұрса, онда ол операторлық жақшаларға
алынады, жалпы жазылу түрі:
WHILE шарт DO цикл денесі;

Әзірше WHILE операторында жазылған шарт орындалып тұрса, цикл
денесінің орындалуы қайталанып тұрады. Егер шарт орындалмай қалса, онда
қайталану процесі тоқтап, басқару цикл денесінен кейін тұрған операторға
беріледі. Шарттағы салыстырылатын айнымалылар мәндері циклге дейін беріліп,
олардың жаңа мәндерінің өсімі цикл денесінде беріледі. Егер WHILE
операторындағы шарт бірде-бір рет орындалмаса, онда бағдарлама орындалуы
циклді аттап өтеді. Егер шарттағы айнымалы мәндері ешқашан өзгермесе, онда
бағдарлама мәңгі циклденіп қалады.
WHILE циклінің блок-схемасы:

4.3. REPEAT ... UNTILциклдікоператоры(Дейін)
Бұл оператор да WHILE операторы сияқты қайталану саны алдын - ала
белгісіз болған жағдайларда қолданылады. REPEAT циклінің WHILE циклінен
айырмашылығы циклді орындау шарты
цикл денесінен кейін тексеріледі. Цикл денесі жай немесе құрама оператор
болуы мүмкін. Ондағы операторлар REPEAT және UNTIL қызметші сөздерінің
арасында орналасатындықтан, цикл денесі операторлық жақшаларға алынбай
жазылады. Циклден шығу шарты орындалу үшін, цикл денесінде шартқа әсер
ететін ең кемі бір оператор болуы тиіс, әйтпесе цикл денесінің орындалуы
тоқтамай шексіз қайталана береді (бағдарлама "мәңгі циклденіп" қалады).
Жалпы жазылу түрі төмендегідей:
REPEAT
Циклденесі;
UNTIL шарт;
UNTIL операторында жазылған шарт орындалғанға дейін цикл денесінің
орындалуы қайталанып тұрады. Егер ондағы шарт орындалса, онда қайталану
процесі тоқтап, басқару цикл денесінен кейін тұрған операторға беріледі.
Шарттағы есептеуіш параметр мәні циклге дейін беріліп, оның жаңа мәнінің
өсімі цикл денесінде беріледі.
REPEAT циклінің блок – схемасы

ия

Барлық циклдік операторлармен бағдарламалар құрғанда, Do, While,
Repeat операторларынан кейін нүктелі үтір қойылмайтынын ескеру қажет. Егер
цикл денелерінде басқаруды циклдің сыртындағы таңбаға көшіретін оператор
кездессе, онда циклдің қайталануы бірден ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal жүйесінде массивтерді ұйымдастыру технологиясы
Turbo Pascal – дің жоғарғы деңгейлі логикалық құрылымы
Turbo Pascal тілінің негізгі элементтері
Turbo Pascal тілінде программа дайындау жолдары
Спортлото ойыны
Turbo Pascal 7.0 интегралдық программалау ортасын пайдалану
Turbo Pascal программалау тілі туралы жалпы түсінік
Turbo Pascal - жоғары деңгейлі программалау жүйесі
Turbo Pascal программасының негізгі түсініктері
Си және Паскаль тілдері
Пәндер