- •Дәрістік сабақтардың конспектісі
- •1 Дәріс. Кіріспе. Курстың мақсаты. Пәнді игеру негіздері, басқа пәндермен байланысы. Программалық жабдықтаудың даму тарихы Процедуралық бағдарламалаудан объектілі-бағытталған бағдарламалауға өту
- •Мұрагерлену
- •Полиморфизм және виртуалды әдістер
- •2 Дәріс. Объектілі бағдарланған визуальді программалаудың принциптері
- •2.1 Сурет – Интеграцияланған өңдеу ортасының түрі
- •2.2 Сурет – Жөндеудің диалогтық терезесі
- •2.3 Сурет – Компоненттер тақтасы қасиеттерінің сұхбаттық терезесі
- •3 Дәріс. Delphi программасының интегралданған өңдеу ортасы
- •2.4 Сурет – Компоненттің қасиеттеріне қатынау
- •Қосымшаның жұмыс істеу қабілетін анықтау
- •2.5 Сурет – Компонентке тиісті оқиғалар тізімі
- •4 Дәріс. Delphi программасындағы жобалар Object Pascal тілі
- •Негізгі түсініктер
- •Алфавит
- •Бағдарламаның құрылымы
- •Түсініктемелер
- •Мәліметтердің типтері
- •Операторлар
- •Компилятор директивалары
- •Дәрiс 5. Қосымша программалардағы қателерді жөндеу
- •Бүтiнсанды типтер
- •Литерлiк тип
- •Логикалық типтер
- •Мәлiметтердің нақты типтерi
- •Бақылау сұрақтары
- •Дәрiс 6. Delphi тіліндегі мәліметтердің типтері
- •Саналымды типтер
- •Интервалды типтер
- •Бақылау сұрақтары
- •Дәріс 7. Компоненттер палитрасындағы парақтар. Мәтіндік ақпараттарды енгізуге және бейнелеуге арналған компоненттер Деректердің құрылымдық типтері. Массивтер. Жиын.
- •Массивтер
- •Жиындар
- •Дәріс 8. Ақпараттардың басқа түрлерін бейнелеуге арналған компоненттер Деректердің структуралық типі. Жазбалар. Файлдар. Жазбалар.
- •Файлдар
- •9 Дәріс. Тақталар және сыртқы әрлеуге арналған компоненттер. Жүйелік диалогтар
- •10 Дәріс. Қолданушының графиктік интерфейсін жобалау Қарапайым операторлар.
- •11 Дәріс. Графика және мультимедиа
- •15. Дәріс Әртүрлі ақпараттық жүйелер класына арналған Delphi мүмкіндіктері.
4 Дәріс. Delphi программасындағы жобалар Object Pascal тілі
Object Pascal тілі Delphi бағдарламалау тілі және стандартты Pascal тілінің объектілі-бағытталған кеңейтілімі болып саналады. Delphi жүйесі VCL визуалды компоненттер кітапханасының көмегімен визуалды бағдарламалауға мүмкіндік туғызады. Осы дәрісте Object Pascal тілінде бағдарламалаудың негізгі жабдықтары мен әдістері қарастырылады.
Негізгі түсініктер
Object Pascal тілінің негізгі түсініктерін қарастырайық.
Алфавит
Object Pascal тілінің алфавиті келесі символдардан:
Латын алфавитінің үлкен (А-Z), кіші (а-z) – 26 әрпінен және (_) сызу белгісінен;
10 цифрдан (0-9);
23 арнайы символдардан (+-*/.,:;=><’(){}[]#$^@ пробел) тұрады.
Арнайы символдардың комбинациясы келесі құрама символдарды құрайды:
:= – меншіктеу
<> – тең емес
.. – мәндер диапазоны
<= – кіші немесе тең
>= – үлкен немесе тең
(* және *) – фигуралық жақшаның бір түрі {және}
(. және .) – тік жақшаның бір түрі [және]
Тіл сөздігі
Бір бірінен ажыратқыштар арқылы бөлінген және бағдарламада белгілі бір мағынаны білдіретін алфавиттің бөлінбейтін белгілерінің тізбегі сөздерді құрайды. Ажыратқыш ретінде пробел, жол соңының символы, түсініктеме, басқа да арнайы символдар және олардың комбинациялары пайдаланылуы мүмкін.
Сөздер:
бастапқы сөздерге;
стандартты идентификаторларға;
қолданушы идентификаторларына бөлінеді.
Бастапқы (тіркеп алынған) сөздер тілдің құрамдық бөлігі болып табылады, оның өзіндік жазу белгісі бар және де белгілі бір мағынаны білдіреді. Мысалы, Label, Unit, Goto, Begin, Interface сөздері бастапқы сөздер болып саналады. Код редакторында бастапқы сөздер қалың шрифтпен ерекшеленеді.
Стандартты идентификаторлар өндірушімен алдын ала анықталған келесі тіл құраушыларын:
мәліметтер типтерін;
тұрақтыларды;
процедуралар мен функцияларды белгілеу үшін қолданылады.
Бастапқы сөздерге қарағанда кез келген стандартты идентификаторларды қайта өзгертуге болады. Бірақ мұндай өзгертулер қате тудыруы мүмкін, сондықтан стандартты идентификаторларды қандайда бір өзгеріссіз қолданған жөн. Стандартты идентификаторларға Sin, Pi, Real сөздері жатады.
Қолданушының идентификаторлары белгілердің, тұрақтылардың, айнымалылардың, процедуралардың, функциялардың аттарын және мәліметтердің типтерін таңбалауда қолданылады. Бұл атауларды бағдарламалаушы келесі ережелерге сүйене отырып өзі тағайындайды:
1. Идентификатор әріптер мен цифрлардан құралады;
2. 0-9999 аралығында жатқан таңбасыз бүтін сандардан құралған белгілерден басқа идентификатор міндетте түрде әріптен басталады;
3. Идентификаторда кіші және үлкен әріптерді бірдей қолдана беруге болады, оларды компилятор бірдей интерпретациялайды. Арнайы символдарды қолдануға болмайтындықтан көрнекілік үшін идентификаторлардың жеке құраушыларын үлкен әріптен бастауға болады, мысалы, NumberLines немесе btnOpen.
4. Екі идентификатордың арасында кем дегенде бір ажыратқыш болу керек.
Бағдарламаның құрылымы
Бағдарламаның бастапқы мәтіні сөздердің тізбегінен құрылады, бұл жерде жол кез келген аумақтан басталуы мүмкін. Бағдарлама құрылымы бастиек пен блоктан тұрады.
Бастиек бағдарламаның басында келесі түрде орналасады:
Program <Бағдарлама аты>;
Блок екіге бөлінеді: сипаттау және орындау. Сипаттау бөлімінде бағдарламаның элементтері сипатталады, ал орындаушы бөлімінде қажетті нәтижені алу үшін бағдарламаның әртүрлі элементтерімен орындалатын іс-әрекеттер келтіріледі.
Жалпы жағдайда сипаттау бөлімі келесі бөліктерден тұрады:
модульдерді іске қосу;
белгілерді баяндау;
константаларды баяндау;
мәліметтердің типтерін сипаттау;
айнымалыларды баяндау;
процедуралар мен функцияларды сипаттау.
Бөлімдердің соңынан нүктелі үтір қойылады.
Ескерту. Баяндау мен сипаттау терминдерінің айырмашылығын айта кетейік. Бағдарламадағы кейбір объектіні баяндау дегеніміз оны орналастыру үшін негізгі жадыдан орын бөлу. Бағдарламадағы кейбір құрастыруларды сипаттау баяндаудағыдай жадыдан орын бөлуді қажет етпейді.
Бағдарламаның құрылымын жалпы жағдайда келесі түрде көрсетуге болады:
Program <Бағдарлама аты>;
Uses <Модульдердің тізімі>;
Label <Белгілердің тізімі>;
Const <Тұрақтылардың тізімі>;
Type <Типтерді сипаттау>;
Var <Айнымалыларды баяндау>;
<Процедураларды сипаттау>;
<Функцияларды сипаттау>;
Begin
<операторлар>;
End.
Нақты бағдарламаның құрылымында сипаттау және баяндау бөлімдерінің кейбіреуі болмауы да мүмкін. Модульдерді іске қосу бөлімінен өзге бағдарламаның бастиегінен кейін орналасқан сипаттау және баяндау бөлімдері бағдарламада кез келген ретпен бірнеше рет кездесуі мүмкін. Бұл жерде бағдарламаның барлық элементтері қолданылмас бұрын сипатталуы және баяндалуы тиіс. Бағдарламаның әрбір бөлімін жеке қарастырайық.
Модульдерді іске қосу бөлімі тіркеп алынған Uses сөзі мен іске қосылатын стандартты және қолданушының кітапханалық модульдерінің аттарының тізімінен тұрады. Бұл бөлімнің форматы:
Uses <1 аты>, <2 аты>,…, <N аты>;
Мысал. Модульдерді іске қосу.
Uses Crt,Dos,Mylib;
Белгілерді баяндау бөлімі тіркеп алынған Label сөзінен басталып, одан кейін үтір арқылы белгілердің атаулары жалғасады. Бұл бөлімнің форматы:
Label <1 аты>, <2 аты>,…, <N аты>;
Мысал. Белгілерді жариялау.
Label belgi1, belgi2, 10, 567;
Константаларды баяндау бөлімінде константалар идентификаторларына олардың тұрақты мәндері меншіктеледі. Бөлім Const бастапқы сөзімен басталып, оның артынан константаларға мәндерді меншіктейтін бірнеше құрастырулар жалғасады. Бұл құрастырулар константаның атынан және мәні константаға меншіктелетін өрнектен тұрады. Константаның аты өрнектен теңдік белгісі арқылы ажыратылып, оның соңынан нүктелі үтір қойылады. Бұл бөлімнің форматы:
Const <1 Идентификатор>=<Өрнек>;
…
< N Идентификатор>=<Өрнек>;
Мысал. Константаларды баяндау.
Const st1=’WORD’; ch=’5’; n34=45.8;
Константаның типі ретінде компилятор автоматты түрде өрнек типін қабылдайды.
Delphi-де алдын ала баяндамай-ақ қолдануға болатын константалардың көптеген түрлері бар, мысалы, Nil, True және MaxInt.
Типтерді сипаттау бөлімінде қолданушы мәліметтерінің типтері көрсетіледі. Бұл бөлімнің болуы міндетті емес. Типтер айнымалыларды баяндау бөлімінде ашық емес түрде сипатталуы мүмкін. Типтерді баяндау бөлімі Type бастапқы сөзімен басталып, оның артынан теңдік белгісі арқылы бөлінген типтердің атаулары мен олардың сипаттамалары жалғасады. Әр типтің аты мен оның сипаттамасы нүктелі үтір арқылы ажыратылады. Бөлім форматы:
Type <1 тип аты>=<Тип сипаттамасы>;
…
<N тип аты>=<Тип сипаттамасы>;
Мысал. Типтерді сипаттау.
Type char2 = (‘a’..’z’);
massiv=array [1..100] of real;
mont=1..12;
Delphi-де алдын ала сипаттауды қажет етпейтін көптеген стандартты типтер бар, мысалы, Real, Integer немесе Boolean.
Бағдарламаның әрбір айнымалысы баяндалуы тиіс. Баяндау міндетті түрде айнымалыны қолданбас бұрын орындалуы керек. Айнымалыларды баяндау бөлімі Var бастапқы сөзінен басталып, одан кейін үтір арқылы айнымалылардың аттары және қос нүкте арқылы – олардың типі жалғасады. Бөлім форматы:
Var <идентификаторлар> : <типі>;
…
<идентификаторлар> : <типі>;
Мысал. Айнымалыларды баяндау.
Var a, bhg, u7: real;
simvol: char;
n1, n2: integer;
Ескерту. Айнымалыларды баяндау типтеріне байланысты айнымалыларды орналастыру үшін жады бөлуді қамсыздандырады, бірақ оларға алғашқы мәндерді меншіктей алмайды. Бағдарламалаушы айнымалыларды қолданбас бұрын оларға өз бетінше керекті мәндерді меншіктеуі қажет.
Ішкі бағдарлама деп логикалық түрде аяқталған және орындауға аты арқылы бағдарламаның кез келген жерінен шексіз рет шақыруға болатын бағдарламаның арнайы даярланған бөлігін атайды. Ішкі бағдарламалардың екі түрі бар: процедуралар мен функциялар. Әрбір ішкі бағдарлама блок түрінде бейнеленеді және процедуралар мен функцияларды сипаттау бөлімінде анықталуы керек. Процедуралар мен функцияларды сипаттау осы дәрісте төменде келтіріледі.
Операторлар бөлімі Begin бастапқы сөзінен басталып, одан кейін нүктелі үтір арқылы ажыратылған тілдің операторлары жалғасады. Бұл бөлімді End бастапқы сөзі аяқтайды, одан кейін нүкте қойылады. Бөлім форматы:
Begin
<оператор 1>;
…
<оператор N>;
End..
Бұл жерде тілдің кез келген операторлары, мысалы, меншіктеу операторы немесе шартты оператор қолданылуы мүмкін.
