Компьютер белгілі бір есептерді шешу үшін адам тарапынан сол есепті қандай жолмен және қалай шығару керектігі туралы тапсырма алуы қажет. Бұл тапсырмалар бір жағынан компьютерге түсінікті болып жазылуы керек болса, екінші жағынан тапсырма беруші кісіге де ыңғайлы болғаны жөн. Осындай компьютерлік тілде жазылған тапсырмалар мен командалар жинағы бағдарлама деп аталады. Ал бағдарламалық текстерді жазу үшін пайдаланылатын символдардың жиынтығы компьютерлік тіл алфавитін құрайды.
Кез келген бағдарламалық тіл символдардан, сөздерден, сөз тізбектері және сөйлемдерден (операторлардан) тұрады. Сөздер символдардан құралады, ал операторлар сөз тіркестерінен тұрады. Қазіргі кезде бағдарлама жазу үшін көптеген бағдарламалау тілдері қолданылады. Солардың бірі -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. Арнаулы символдардан: :+-',.</> = ();[]*#// т.б.
Айнымалылар деп бағдарламаның орындалу барысында әртүрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әрбір уақытта белгілі бір мәнге ие бола алады. Айнымалылар қарапайым және индексті болады. Барлық айнымалылар алдын ала 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
INT
-128-ден 127-ге дейін
бүтін сандар
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:=(a>0)And(a=<0);
//Х-тің типі BOOLEAN болады
Х:='М';Ү:='А';2:='Й';
//егер айнымалылар типтері – СHAR болса, онда:
В:=Х;
// В - ның типі CHAR болады
A:=X+Y+Z; (МАЙ сөзі шығады)
//А-ның типі символдық - STRING болады
Turbo Pascal-дағы есептеулерде көптеген стандартты функциялар қолданылады. Стандартты функцияларды бағдарламада жазу үшін алдымен функцияның атын, содан соң жай жақшалардың ішінде аргументін көрсету керек. Стандартты функциялардың атын идентификаторларға беруге болмайды. Бағдарламада аргументтердің мәнін берген кезде міндетті түрде функцияның анықталу облысын ескеру қажет. Мысалы теріс санның квадрат түбірі болмайды, бөлшектің бөлімі 0-ге тең болмау керек, т.с.с. Стандартты функциялардың аргументі кез-келген өрнектен тұруы мүмкін. Мысалы:
Төменде 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)+10/Y-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 қызметші сөзінен басталады, одан кейін бағдарламада қолданылатын таңбалардың тізімі үтір арқылы жазылады, тізімнің соңында нүктелі үтір қойылады. Таңба белгісі ретінде бүтін сандар немесе идентификаторлар пайдаланылады. Таңба бағдарламада оператордың алдында жазылып, одан қос нүкте арқылы бөлінеді. Мысалы:
Тұрақтылар бөлімінде тұрақтыларға сандық не символдық мәндер беріліп сипатталады. Бұл бөлім 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 d>0 (*дискриминанттың мәні бойынша сорттау*)
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;
а) 18 Div 3*5 b) 45+5 Mod 4/2 c) (45+5) Mod 4/2 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 K<5 Do
Begin S:=S+1; K:=K+1 End; - While циклдік операторы,
Repeat
S:=S+1;K:=K+1;
Until 5>K; - 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;
Бос оператор деп бағдарламаны орындау барысында ешқандай қызмет атқармайтын операторды айтамыз. Бағдарламалық текстің бос оператор тұрған жерінде, ереже бойынша бір оператор тұру керектігі көрсетіледі. Бос оператор немесе ешбір мәнді өзгертпейтін өрнектен тұрады. Мысалы: