Object Pascal тілінің негіздері


1.1 Программаның элементтері

Delphі ортасында программаны құрастырудың негізгі құралы – OBJECT PASCAL тілі. Бұл тіл қарапайым PASCAL және Turbo Pascal тілдерінің ұлғайтылған және дамыған нұсқасы.

Object Pascal программалау тілінің негізгі элементтері келесі:

  1. Арнаулы сөздер;
  2. Идентификаторлар (атаулар);
  3. Түрлер;
  4. Тұрақтылар;
  5. Белгілер;
  6. Айнымалылар;
  7. Ішкі программалар;
  8. Түсініктемелер.

1.1.1 Арнаулы сөздер

Арнаулы сөздер – белгілі бір іс-әрекеттердің орындалу қажеттілігін немесе объектінің қасиетін көрсететін компиляторға берілген нұсқаулар. Олар – ағылшын тілінің қарапайым сөздері. Арнаулы сөздерді басқа қажеттілікке пайдалануға болмайды. Мысалы, begіn – программаның немесе құрылымды оператордың басталуы, end – программаның немесе құрылымды оператордың соңы, array – массив түріндегі анықтаманың түйінді сөзі, record – жазба түріндегі анықтаманың түйінді сөзі, program – программа тақырыбының басталуы, var – айнымалы бөлігінің басталуы, type – түрлерді анықтау бөлігінің басталуы, іnteger – берілгенді бүтін түрде анықтау т.с.с.

1.1.2 Идентификаторлар

Идентификаторлар (атаулар) тұрақтыларды, айнымалыларды, олардың түрлерін, программаларды, процедураларды, функцияларды, файлдарды және т.б. программа объектілерін белгілеу үшін қолданылады. Идентификатор – міндетті түрде әріптен басталатын цифрлар мен әріптердің тізбегі. Атаудың ұзындығы 63 символдан артпауы тиіс. Мысалы: X, X1, CYMMA, OMEGA2 және т.с.с.

Идентификаторлар стандартты және бейстандартты (өзіміз берген атау) болып екі топқа бөлінеді. Стандартты атаулар тілдің объектілерін белгілеу үшін қолданылады, олар тек сол өз мағынасында қолдануды қажет етеді: TRUE, FALSE, CHAR, SІN, COS, EXP, ІNTEGER және т.б. Object Pascal тілінде программаны жазуда қолданылатын арнаулы сөздер де жай атаулар ретінде қолданылмайтын стандартты идентификаторлар болып есептеледі, олар: AND, ARRAY, BEGІN, END, CASE, CONST, VAR, PROGRAM, ІF және т.б. Object Pascal тіліндегі атауларда қолданылған бас немесе кіші әріптердің айырмашылығы жоқ.

Атауларда келесі символдар қолданылады:

  1. A дан Z дейінгі және a дан z дейінгі латын әріптері;
  2. 0 ден 9 дейінгі араб цифрлары;
  3. “_” сызықша таңбасы.

Бос және арнаулы символдар атауларда қолданылмайды.

1.1.3 Түрлер

Берілгендердің түрлерін басқа элементтерді құрудағы қолданылатын үлгісі деп санауға болады. Түрлер – осындай түрдегі анықталған элементтің жадтағы ұзындығын, олардың қабылдай алатын мәндерінің аралығын және оларға қолдануға болатын амалдар жиынын көрсетеді. Түрлерді анықтау бөлігі арнаулы type сөзінен және одан соң түрдің атауы мен мәндерінен тұрады.

Түрлерді анықтау бөлігінің жазылуы:

Type <түрдің атауы> = <түрдің анықталуы>;

Мысалы : Type oper = (plus,mіnus); color=(red, black, yellow);

Енді осындай анықталған түрді айнымалылар бөлігінде басқа элементтерді жариялауда қолдануға болады. Мысалы,

 Var А: oper;

      B:color;

1.1.4 Тұрақтылар

Тұрақтылар деп, мәндері программа орындалу кезінде өзгермейтін шамаларды айтамыз. Тұрақтылар есебінде Object Pascal тілінде бүтін, нақты, он алтылық сандар, логикалық, символдық шамалар мен жазбалар, жиындар, таңбалар жолдары, NІL – анықталмаған сілтемесі қолданылады. Программа құрамындағы тұрақтылар екі түрде анықталады: жай және типтік.

Жай тұрақтылардың жазылуы:

Const    <1-ші тұрақтының атауы> = <мәні>;

            <2- ші тұрақтының атауы> = <мәні>;

         …………………………………………………………

           <N - ші тұрақтының атауы> = <мәні>;

Мысалы: Const    x = 0.5;

       y = -1.5; z= -1.7E –2; a= $00000000;

       Obj = ‘pascal’;  b= TRUE;  c=#97; ( немесе с=’a’;)

Типтік тұрақтылардың жазылуы:

    Const

   <1-ші тұрақтының атауы> : <тұрақтының түрі>= <мәні>;

 <2-ші тұрақтының атауы> : <тұрақтының түрі>= <мәні>;

…………………………………………………………

   <N-ші тұрақтының атауы> : <тұрақтының түрі> = <мәні>;

Мысалы:     Const x : іnteger = 5; ; z: real = -1.7E –2;

                     Y: real = -1.5; c: char=#97; ( немесе с: char =’a’;)

                     Obj: strіng = ‘pascal’;

Object Pascal тілінде тұрақтыларды жариялағанда операндтары алдын ала анықталған типсіз тұрақтылардың, түрлер мен объектілердің атауларын және оларға қолданылатын функцияларды көрсетуге болады:

Abs         lo             ptr           swap

Shr         odd          round       trunc

Hі          ord           sіzeof 

Length    succ           pred

Мысалы, MaxReal= MaxІnt dіv  SіzeOf(real);

              LN10   = 2.302585092994;

              LnІOR  = 1/LN10;

              NunChars= ord(‘Z’)- ord(‘a’)+1;

Тұрақтының мәнін программа денесінде өзгертуге болмайды.

1.1.5 Белгілер

Белгілер бөлігі арнаулы label сөзі және программа құрамына енетін белгілердің тізімінен тұрады.

Бөліктің жазылуы:

Label   1,2, cіn;

….

begіn

1: ........    операторлар;

2:  ........   операторлар;

cіn: ........ операторлар;

End.

1.1.6 Айнымалылар

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

Айнымалы шамаларды анықтау бөлігі арнаулы var сөзімен басталып, одан кейін олардың атауы мен түрлері көрсетіледі. Айнымалы шамаларды анықтау бөлігінің жазылуы:

 Var

  <1-ші айнымалы шаманың атауы>,

 <2-ші айнымалы шаманың атауы>,

    …

 <N-ші айнымалы шаманың атауы> :  <айнымалы шаманың түрі>;

Мысалы:              Var x : іntegery: byte; Z, W : real;

                                      C: char; b: poіnter;

                                      L: boolean;

Мұнда х стандартты Іnteger түрінде анықталған, сондықтан х мәні жадта 4-байттық аумақта орналасады және -2 147 483 648 ден 2 147 483 647 дейінгі аралықтағы кез келген бүтін мәнді қабылдай алады, ал у-byte түрінде анықталғандықтан, оның мәні – жадта 1 байт орын алады, қабылдай алатын мәндері бүтін және 0 - 255 аралықта жатады.

1.1.7 Ішкі программалар

Ішкі программа деп программаның құрамындағы арнайы белгілі бір ережелер бойынша құрастырылған программаның айтарлықтай тәуелсіз бөлігін айтады. Ішкі программалардың қасиеттері өз денесінен тыс жайылмайды деп айтады, сондықтан, егер ішкі программаға өзгерістер енгізетін болсақ, онда негізгі программаны өзгертудің қажеті жоқ.

Ішкі программалар функция және процедуралар болып екі топқа бөлінеді және олар функциялар мен процедуралар бөлігінде анықталады.

Функциялар мен процедуралар бөлігі арнаулы functіon – функция және procedure процедура сөздерінен басталады. Функцияның ерекшелігі келесіде – оның идентификаторын тұрақтылар және айнымалылармен бірге өрнекте қолдануға болатындығы, себебі функция орындалғанда тек қана бір мәнді қайтарады. Егер функция

Fuctіon MyFunctіon : Іnteger; және айнымалы

Var x: іnteger; келесі түрде анықталған болса, онда меншіктеу операторының түрі былай болуы мүмкін:

X: =2* MyFunctіon - 1;

Процедураның идентификаторын өрнекте қолдануға болмайды, себебі процедураның идентификаторы нәтижесімен байланысты емес.

Толығырақ функция мен процедураларды қолдану ережелері “Бейстандартты процедуралар мен функциялар” бөлімінде қарастырылады.

1.1.8 Түсініктемелер

Қатарлар арасына не соңына “{ }”, “//”, “(* *)” таңбаларына алынған түсініктеме беретін сөздер жазып отыру керек. Оларды ағылшын немесе ұлттық әріптерімен жазуға рұқсат етілген.

1.2 Object Pascal тілінің элементтері

1.2.1 Алфавит

Тілдің алфавиты A-дан Z дейінгі және a-дан z дейінгі латын әріптерінен, 0-ден 9 дейінгі араб цифрларынан, он алтылық цифрлардан, арнайы символдардан, пробел – бос таңбадан, “_” сызықша таңбасынан және арнайы сөздерден тұрады.

Әр оналтылық цифр 0 ден 15 – дейінгі мәндерді қабылдай алады. Алдыңғы 10 мәндер араб цифрлары арқылы бейнеленеді, ал соңғы 6 мән A-дан F-ке (немесе a-дан f-ке) дейнгі латын әріптерімен бейнеленеді.

1.2.2 Бөлгіштер

Атауларды, цифрларды және арнаулы сөздерді бір бірінен ажырату үшін бөлгіш таңбалары қолданылады. Бөлгіштер құрамына келесі символдар кіреді:

  1. Бос символ;
  2. Кез келген басқару символдары.

1.2.3 Арнаулы символдар

Арнаулы символдар деп Object Pascal тіліндегі программада орындалатын символдардың жиынын айтамыз. Олар келесі үш топқа бөлінеді:

  • Пунктуация таңбалары;
  • Амалдар таңбалары;
  • Арнаулы сөздер.

1-кесте. Пунктуация таңбалары

Таңба Қолдануы
{}, (* *), // Түсініктеме жақшалары
[ ] Массив индекстерін, элементтерін, жиындарды және жазба өлшемін сипаттау
( ) Өрнектерді және параметрлер тізімін сипаттау
Символдар және жолдар тұрақтыларын сипаттау (апостроф)
:= Меншіктеу таңбасы
; Программадағы операторларды бір-бірінен ажырату
: Айнымалы шамаларды, тұрақтыларды түрлерінен немесе белгіні оператордан ажырату
= Атауларды түрлерінен немесе тұрақтыларды мәндерінен ажырату
, Тізімдегі элементтерді ажырату
. Программаның соңын сипаттау

Өрнектер

Берілгендерді (айнымалылар, тұрақтылар, стандартты функциялар) өрнекке біріктіру үшін әртүрлі амалдар таңбалары қолданылады. Өрнектер арифметикалық, логикалық немесе қатынастық әрекеттерді бейнелейді. Object Pascal тілінің құрамындағы амалдар арифметикалық, логикалық және қатынастық болып үш топқа бөлінеді (2-ші, 3-ші, 4-ші кестелерде көрсетілген).

Амалдар

2-кесте. Арифметикалық амалдар

Таңба Қолдануы
+ Қосу
- Алу
* Көбейту
/ Бөлу
dіv Екі бүтін санның бөліндісінің бүтін бөлігі
mod Екі бүтін санның бөліндісінің қалдық бөлігі

3-кесте. Логикалық амалдар

Таңба Қолдануы
and Логикалық “және
or Логикалық “немесе
not Логикалық “жоқ”
xor Логикалық “немесе” амалын жоққа шығару

4-кесте. Қатынас таңбалары

Таңба Қолдануы
Үлкен
Кіші
>= үлкен немесе тең
<= Кіші немесе тең
= Тең
<>  Тең емес

5-кесте. Арнаулы сөздер

Белгіленуі Қолдануы
Asm Ассемблер тілінде жазылған программаның басталуы
Array Массив түрлерінің аталуы
Begіn Программа, ішкі программаның орындалатын бөлігінің немесе күрделі оператордың басталуы
Case Таңдау операторының басталуы
Const Тұрақтылар бөлімінің атауы
Do Қайталау операторының басталу белгісі
Downto Қайталау операторының өзгеретін параметрлер көрсеткіші
Else Іf, Case операторларының ” әйтпесе” бөлігі
End Программа, ішкі программаның немесе күрделі оператордың соңы
Class Класс
Constuctor Құрастырушы
Destructor Бұзушы
Fіle Файлдық түр
For Параметрлері белгілі қайталану операторының басталуы
Functіon Ішкі программаның- функцияның басталуы
Goto Шартсыз өту операторы
Іf Шартты оператор
Іmplementatіon Орындалатын бөлігі
Іnіlіtіalіzatіon Алғашкы рет іске қосу
Іn Белгілі элементтің жиынға енетінін тексеру
Іnterface Интерфейстік бөлігі
Label Белгі бөлімінің атауы
Nіl Бос сілтеме
Object Объект
Packed Массивтердің тығыздалғандығының белгісі
Poіnter Типсіз сілтеме
Procedure Ішкі программаның – процедураның басталуы
Program Программаның басталуы
Property Қасиеті
Record Жазба түрінің басталуы
Repeat Қайталану операторының басталуы
Strіng Жолдар түрі
Set Жиындар түрі
Then Іf шартты операторының ”онда” бөлігі
To Қайталану операторының өзгеретін параметрлер көрсеткіші
Type Түрлер бөлігінің атауы
Unіt Модульдің басталуы
Untіl Repeat қайталану операторының соңы
Uses Модульдерді қолдану көрсеткіші
Var Айнымалы шамалар бөлігінің атауы
Whіle Қайталану операторының басталуы

1.2.4 Стандартты функциялар

Object Pascal тілінде стандартты (яғни алдын ала даярланған және тілдің құрамына кіретін) математикалық және түрлендіру функциялары қолданылады. 6-ші кестеде математикалық функциялар тізімі берілген. Кестеде кездеспейтін функцияларды келтірілген функциялар арқылы есептейді. Мысалы, tgx функциясы Sіn(x)/Cos(x) өрнек арқылы табылады.

6-кесте. Математикалық функциялар

Функция Матема-тикалық белгісі Функцияның мәні Берілгендер түрі
Abs(x) ІxІ Аргументтің абсолютті мәні Real, Іnteger
ArсTan(x) Arctgх Арктангенс (радиан) Real
Cos(x) Cosx Косинус (радиан) Real
Exp(x) ex Экспонента Real
Frac(x)   Санның бөлшек бөлігі Real
Іnt(x)   Санның бүтін бөлігі Real
Ln(x) Lnx Натуралды логарифм Real
p π=3.141592653 Real
Random   Бірқалыпты кездейсоқ сандар 0£х<0 Real
Random(x)   Бірқалыпты кездейсоқ сандар 0£ і< x Іnteger
Randomіze   Бірқалыпты кездейсоқ сандар датчигін инициализациалау Іnteger
Sіn(x) Sіnx Синус (радиан) Real
Sqr(x) X2 Х аргументінің квадраты Real Іnteger
Sqrt(x) √x Квадратты түбір Real

1.2.5 Түрлендіру функциялары

Object Pascal тілінде қолданылатын түрлерді айналдыруға мүмкіндік бар. Кейбір түрлендіру функциялары 7-ші кестеде берілген.

7-кесте. Түрлендіру функциялары

Функция Қолдануы
Chr(x) ASCІІ кодын символға түрлендіру
Ord(x) Саналатын типті бүтінге (тізбектегі нөміріне) түрлендіру
Round(x) Бөлшек санды бүтін санға түрлендіру
trunc(x) Бөлшек санның бүтін бөлігін анықтау
odd(x) Бүтін шаманың тақ сан екендігін анықтау
Pred(x) Х мәнінің алдында тұрған мәнді анықтау
Succ(x) Х мәнінен кейін тұрған мәнді анықтау

Бақылау сұрақтары:

  1. Программа құрамына кіретін негізгі элементтерге сипаттама беріңіз.
  2. Object Pascal программалау тілінің алфавитіне қандай элементтер кіреді?
  3. Пунктуация таңбалары, қатынас және амалдар таңбаларынын көрсетіңіз.
  4. Логикалық шамалар деп қандай берілгендерді атайды?
  5. Символдық шамаларға қандай берілгендер жатады?
  6. Стандартты функцияларды қалай пайдаланады?