1.1 Программаның элементтері
Delphі ортасында программаны құрастырудың негізгі құралы – OBJECT PASCAL тілі. Бұл тіл қарапайым PASCAL және Turbo Pascal тілдерінің ұлғайтылған және дамыған нұсқасы.
Object Pascal программалау тілінің негізгі элементтері келесі:
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.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 : іnteger; y: 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.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і | 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) | Х мәнінен кейін тұрған мәнді анықтау |
Бақылау сұрақтары: