- •Дәрістік сабақтардың конспектісі
- •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 мүмкіндіктері.
10 Дәріс. Қолданушының графиктік интерфейсін жобалау Қарапайым операторлар.
Өз ішінде операторлары жоқ операторлар қарапайым операторлар деп аталады. Оларға жататындар:
меншікті операторы;
көшу операторы;
бас оператор;
процедурены шақыру операторы.
Меншіктеу операторы (МО)
МО тілдің негізгі операторы болып табылады. Ол бір бөлікте орналасқан өрнекті есептер және айнымалының нәтижесін меншіктейді. Айнымалы мен өрнек сәйкес типті болуы керек, мысалы, нақты және бүтін (бірақ кері емес). Кез келген типті меншіктеуге болады, файлдық типтен басқа. Меншіктеу операторының форматы:
<Оператор аты>:=<Өрнек>;
Айнымалы атының орнына массив элементтік немесе жазбаны көрсетуге болады. Меншіктеу белгісі “:=” теңдік “=” белгісін өзгеше екенін ескертейік. Меншіктеу белгісі өрнек мәнінің бірінші есептеліп, содан соң айнымалыға меншіктеледі. Сондықтан Х сандық айнымалы және белгілі мәні бар шарт кезінде келесі құрылым дұрыс:
x:=x+l;
Меншіктеу операциясының мысалдары:
var x, y: real;
n: integer;
stroke: string;
…………
n: = 17*n-l;
stroke:= `Дата`+DateToStr(Date);
x:= -12.3*sin(pi/4);
y:=23.789E+3;
Көшу операторы (КО).
КО программадағы операторлардың орындалу ретін өзгертуге қолданылады. Ол кейбір оператордан кейін рет бойынша емес, басқа операторды орындау қажет болған жағдайда қолданылады. Бұл кезде көшуді орындау үшін көшетін операторда метка болуы қажет. Метка оператордан қос нүкте арқылы ажыратылады. Метка ретінде идентификатор немесе 0...9999 диапазонындағы бүтін сан болса алады. Барлық меткалар қай процедура, функция блогында қолданылатын меткаларды хабарлайтын бөлімде алдын-ала жазуы тиіс.
Көшу операторының форматы: goto <Метка>;
Көшу операциясын қолдану мысалы:
Label ml;
…………
goto ml;
………….
Ml: <оператор>;
Көшу операторының көмегімен басқаруды көшу операторына дейін немесе кейін орналасқан операторларға беруге болады. Структураланған операторлар ішінде басқаруды беруге тиым свлынады және де басқа блокта орналасқан операторларға тыйым салынады.
Бос оператор (БО).
БО нүктелі үтірден тұрады. Ол программаның кез келген жерінде орналасады. Басқа БО сияқты БО меткамен белгіленуі мүмкін. БО ешқандай әрекет жасамайды және басқаруды цикл соңына немесе құрама операторға беру үшін қолданылуы мүмкін.
Процедураны шақыруопрераторы (ПШО)
ПШО стандартты немесе қолданушымен сипатталған процедураны активтеу үшін қолданылады және көшіретін параметрлер тізімімен бірге процедура атын білдіреді.
Структкраланған операторлар (СО).
СО басқа операторлардан белгілі ереже бойынша құрасырылған конструкция. Бұларға жататындар:
құрама;
шартты;
таңдау;
цикл (қайталау)
мүмкіндік операторы.
Құрама оператор (ҚО).
ҚО кез келген оператор санынан құралған топ. Олар бір-бірінен үтірлі нүкте арқылы ажыратылып begin және end операторлы жақшамен ажыратылады.
ҚО форматы:
Begin <операторl>;…;<оператор N>; end;
Оғаш кіретін операторлар санына қарамастан, 1 бүтін ретінде қарастырылады және программаның оператор болу мүмкін деген кез келген жерінде орналасады. ҚО көбінесе шартты және цикл операторларында қолданылады. Мысалы :
Begin Beep;
Editl. Text:=`қате`;
Exsit;
End;
Қарасытылған ҚО шартты операторды қайсыбір шарттың орындалуын тексеру кезінде қолданылады. Қате болған кезде әрекетті көрсету үшін.
ҚО бір-біріне енгізілуі мүмкін. Бұл кезде ҚО енгізілуіне шек қойылмайды.
Шартты оператор (ШО).
ШО кейбір операторлардың белгілі шарттарды орындаукезінде орындалуы немесе орындалмауын қамтамасыз етеді.ШО жалпы жағдайда программаны екі бағытқа бөлуге арналған және
If<Шарт > then <оператор1> [else<оператор2> ]; форматы бар.
Шарт логикалық тип өрнегін көрсетеді. Оператор келесі түрде жұмыс жасайды: егер шарт тура (True мағынасы) болса, 1 оператор орындалады, 2 оператор да құрама оператор болуы мүмкін. ШО жазбасын қысқаша түрде жазуға болады, егер else сөзі және оператор болмаған жағдайда. Бұл жағдайда шарт орындалмаған кезде басқару бірден шарттан кейін тұрған операторға беріледі. Үш немесе одан да көп бағытқа бұтақтануды ұйымдастыру үшін бір-біріне енген бірнеше ШО қолдануға болады. Бұл кезде әр else соған сәйкес келетін then – ге сәйкес.
Мысал. Программада ШО жазылу нұсқалары:
If x> 0 then x : = x+l else x :=0
If q = 0 then a : = l;
Таңдау операторы (ТО)
ТО-ры ШО-дың жалпылануы және бар нұсқалар арасынан таңдауға мүмкіндік береді, яғни кездейсоқ сан бағыттарына бұтақтану. Бұл оператор сектор деп аталатын өрнектен, нұсқалар тізімінен , else аса қажет емес else бұтағынан тұрады. ТО форматы:
Case< өрнек – селектор> of
<тізім 1> : <оператор 1>;
<тізім N> : <оперратор N> else
<оператор>;
end;
Өрнек-селектор реттік тип болуы керек. Әр нұсқа берілген оператор түрінен қос нүкне арқылы ажыратылған конструкциялар тізімін көрсетеді. Константалар тізімі диапазондар мен мәндер кездейсоқ санынан тұрады. Олар бір-бірінен үтір арқылы ажыратылады. Диапазон шекаралары “ ..” бөлгіші арқылы 2 константамен жазылады. Константа типі өрнек-селектор типімен сәйкес болуы керек. Таңдау операторы түрде орындалады:
селектор өрнектің мәні есептеледі;
сәйкес тізімдегі диапазондар мәні мен селектордың константалар мәні мен сәйкестігінің нұақаларын қарастыру орындалады;
егер нұсқа үшін ізденіс тура болса, сол нұсқа операторы орындалып, содан соң таңдау операторының жұмысы аяқталады;
егер барлық тексерулер дұрыс емес болса, else сөзінен кейін тұрған оператор орындалады (бар болған жағдайда).
Мысал. ТО нұсқасы.
Case Day Number of
1..5: str Day: = `Жұмыс күні`;
6,7: str Day: = `Демалыс күні`;
else str Day: = ‘ ‘;
end;
аптаның күн номері бар Day Number бүтін айнымалысының мәніне қарай str Day жолдық айнымалыға сәйкес мән беріледі.
Цикл операторы (ЦО).
ЦО цикл құру үшін (қайталау) қолданылады. Цикл көп рет орындалуы мүмкін. Қайталанатын операторлар тобын цикл денесі деп атайды. Цикл құру үшін алдында қарастырылған шарт операторы мен көшу операторын қолданады. Бірақ көп жағдайда ЦО қолданған ыңғайлы. ЦО үш түрі бар:
параметрмен;
алдын ала шарты бар;
кейіегі шарты бар.
Егер қайталану саны белгілі болса, онда параметрі бар цикл операторы, кері жағдайда алдын ала немесе кейінгі шарты бар операторлар қолданылады. ЦО орындалуы goto көшу операторы немесе break параметрсіз процедурасымен тоқтатылуы мүмкін. Параметрсіз процедура continue көмегімен цикл денесінің қайталануын тоқтатуға болады. ЦО бір-біріне енгізілуі мүмкін.
Параметрлі цикл операторы (ПЦО).
ПЦО 2 форматы бар: For <параметр>:= <өрнек1> to <өрнек2> do <оператор>; немесе
For <параметр>:=<өрнек1 downto <өрнек2> <оператор>;
Цикл параметрі реттік типті айнымалыны көрсетеді. Өрнек 1 және өрнек 2, сәйкес, цикл параметрінің бастапқы және соңғы мәндері, цикл параметрінің типіне сәйкес тип болуы керек. ЦО цикл денесінің толық орындалуын қамтамасыз етеді 1 цикл форматының параметрінің қадамы әрқашан “1”-ге тең, 2 үшін “1”,яғни параметр мәні 1-ге өседі (for…to) неммесе азаяды (for…downto). Егер for to циклі үшін бастапқы мән соңғысынан үлен болса цикл бір рет те орындалмауы мүмкін және керісінше. Мысал. ПЦ сипатталу нұсқасы.
Var n, k: integer;
S:=0
For n := 1 to 10 do
S:= s +m[n];
For k:=0 to2 do
For n:= 5 to 10 do
Begin
Arrl [k,n]: =0;
Arr2 [k,n]: =l;
End;
Бірінші циклда S массивінің 10 мәнінің есептелуі орындалады. Екінші жағдайда 2 цикл бір-біріне енгізілген, оларды arr1 және arr2 екі өлшемді массив элементтерінің мәні есептеледі.
Кейінгі шарты бар цикл операторы.
Кейінгі шарты бар цикл операторын 1 ден кем емес және қайталанудың жалпы саны белгісіз жағдайда қолданған дұрыс. Келесі түрдегі формат:
repeat
<Оператор1>;
……….
<Оператор until <шарт>;
Шарт - логикалық типті өрнек. Repeat және until сөздерінің арасындағы сөздер цикл денесін құрайды және өрнек True мәнін қабылдағанша орындала береді. Тек цикл соңында тексерілетін болған соң цикл денесі минимум 1 рет орындалады. Цикл денесінде кездейсоқ операторлар саны бар. Кейінгі шартты операторды көрсету үшін m массивінің 10 мәнінің қосындысын есептейтін мысал көрсетейік:
Var x : integer;
Sum: real;
M: array[1..10] of real;
…..
x: = 1;
sum: = 0;
repeat
sum: = sum + m [x];
x: = x+1;
until (x< 10);
Алдын ала шарты бар цикл операторы
Алдын ала шарты бар цикл операторын цикл денесінің қайталануы белгісіз және цикл денесі бір рет те орындалмауы жағдайында қолданған тиімді. Бұл pereat…until операторына ұқсас, тек айырмашылығы шарттың оператор басында тұруында. Форматы:
While <Шарт> do оператор; немесе while<> do begin <оператор1>
<оператор2>
……
<оператор N>
end;
мысал. Цикл құру кезінде WHILE операторын қолдану
Var x: integer; Sum: real;
M: array[1..10] of real;
X: = 1; sum: =0
While x < = 10 do begin
Sum: = sum+m[x];
X: = x+1;
End;
Егер циклдың бірінші орындалуында шарт орындалмаса (логткалық өрнектің мәні False), онда цикл денесі 1 рет те орындалмайды және цикл операторынан кейінгі операторға көшу орындалады.
Оператор доступа
Тез оъектілердің құрама бөлшектерінен тез және оңай жұмыс жасау үшін керек. Жазба жұмыс жасау үшін сол жазбаның атын беру керек. Формат:
With <Объект aты> do <опеаратор>;
Do сөзінен кейіегі операторда объектінің құрама бөлігіне қарау үшін осы объектінің атын бермеуге болады. Мысалы: //құрама аттар толық жазылады
Formal. Canvas. Pen. Color: = cl Red;
Formal. Canvas. Pen. Width: = 5;
Formal. Canvas. Rectangle (10, 10, 100 100);
Немесе
// with Form 1. convas do операторлар қолдану
begin
Pen. Color: = cl Red;
Pen. Width: = 5;
Rectangle (10, 10, 100, 100);
End;
Екінші мысалда да формада қызыл қарандашпен 5 пиксел қалыңдықты тіктөртбұрыш салынады. Сурет салу бетінің қасиеті мен методына назар аудару үшін операторын қолдану ыңғайлы. операторында бірнеше объект атын қолдануға болады.
With <Объект аты1>,.., <объект аты N> do <оператор>
Мұндай формат келсі конструкцияға эквивалентті:
With <Объект аты1> do
With <Объект 2> do
................
With <объект аты N>
<оператор>
Бұл жағдайда объект атының құрама бөлігіне <объект аты N> қолданылады немесе <объект аты N-1>, <объект аты1> дейін.
Беттері көрсетілген негізгі әдебиет
[841-848]
[81-115]
[C.69-77]
[82-89]
Бақылау сұрақтары:
Қандай қарапайым операторлар білесіз ?
Қандай құрама операторлар білесіз ? мысал
Меншіктеу операторының форматы қандай?
Көшу операторының форматы қандай?
Бос оператордың форматы қандай?
Процедураны шақыру операторы не үшін қолданылады?
Құрама операторының форматы қандай?
Шартты оператордың форматы қандай?
Таңдау операторының форматы қандай?
Цикл операторының форматы қандай?
операторының форматы қандай?
