- •Дәрістік сабақтардың конспектісі
- •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 мүмкіндіктері.
9 Дәріс. Тақталар және сыртқы әрлеуге арналған компоненттер. Жүйелік диалогтар
Қосалқы программа ұғымы
Практикалық есептерге программа құрғанда үлкен программаның белгілі бір бөлігін әртүрлі мәндер бойынша бірнеше рет қайталап пайдалануға тура келеді. Мұндай программаның бөлігін қайталап жаза бермес үшін оны қосалқы программа ретінде жазған ыңғайлы.
Қосалқы (көмекші) программа дегеніміз – жеке программа ретінде бөлек жазылған, қажет кезінде оған оралып, пайдалануға болатын негізгі программаның арнайы бөлігі. Қосалқы программаға автоматты түрде енуге және одан шығуға болады. Қосалқы программаны қолдану мынадай мүмкіндіктер береді:
Негізгі программаның көлемі кішірейеді;
Негізгі программада пайдаланылған айнымалыларды қосалқы программада да пайдалануға болады;
Қосалқы программаға берілген жады ұяшықтарын ол орындалмай тұрғанда бос ұяшық ретінде (бос айнымалы ретінде) пайдалануға болады;
Қосалқы программаны пайдалану құрылымдық программалауға мүмкіндік береді.
Әрбір қосалқы программаға қатынас жасау үшін оның аты болады. Паскаль тілінде қосалқы программаларды құру және қолдану принциптері басқа жоғары деңгейлі программалау тілдеріне ұқсас.
Паскаль тілінде басқа алгоритмдік тілдер сияқты қосалқы программаның екі түрі бар: процедура және функция.
Бағдарламаның орындалу барысында өрнектер көмегімен әр түрлі мәндер есептеліп, қолданылатын деректерді өңдеу жүргізіледі. Өрнек дегеніміз деректер құрамын, операцияларды және деректерге жүргізілетін операциялардың орындалу ретін анықтайтын конструкция.
Өрнектер: 1 операндтардан;
2 операция белгілерінен;
3 дөңгелек жақшалардан құралады.
Қарапайым жағдайда өрнек 1 айнымалы немесе тұрақтылардан тұруы мүмкін. Өрнек мәнінің типі орындалатын операциялардың құрамы мен операндтар типімен анықталады.
Операнд дегеніміз үстінен әрекет жүргізілетін деректер. Операнд ретінде тұрақтылар (литералдар), айнымалылар, массив әрекеттері мен функцияларды айтуға болады.
Операнд операцияға жүргізілетін әрекеттерді анықтайды. Операциялар унарлы және бинарлы болуы мүмкін. Унарлы операция бір операндқа тиісті және оның белгісі операнд алдынан жазылады, мысалы, –X. Бинарлы операция екі операциялар арасындағы қатынасты өрнектейді және оның белгісі операндтар арасына жазылады, мысалы, X+Y.
Дөңгелек жақшалар операциялар орындалуының ретін көрсету үшін қолданылады.
Операция типіне қарай өрнектер арифметикалық, логикалық және жолдық болады.
Арифметикалық өрнектер
Арифметикалық өрнектің орындалу нәтижесі сан болып табылады. Оның типі осы өрнекті құрайтын операндтар типінен тұрады. Арифметикалық өрнектерде сандық типтер ( бүтін және нақты), арифметикалық операциялар және функцияларды қолдануға болады.
Арифметикалық өрнектің мәнінің типі операнд және операциялар типімен анықталады. Егер операцияларда бүрін санды операндтар қатысса, онда операция нәтижесі бүтін санды тип болады. Егер операндтың біреуі нақты типке жатса, онда нәтиже нақты болады..
2.6. кесте – Бинарлы арифметикалық операциялар
-
Операция
Белгілеу
Операндтар типі
Нәтиже типі
+
Қосу
Бүтін санды
Нақты
Бүтін санды
Нақты
-
Алу
Бүтін санды
Нақты
Бүтін санды
Нақты
*
Көбейту
Бүтін санды
Нақты
Бүтін санды
Нақты
/
Бөлу
Бүтін санды
Нақты
Бүтін санды
Нақты
Унарлы арифметикалық операциялар + ( белгіні сақтау) және – ( белгіні терістеу) сан белгісіне жатады және сан типін өзгертеді.
System ,Sys Utils, Math модульдерінде сандық деректермен жұмыс істеу үшін көп функциялар бар. Оларды арифметикалық өрнектерде қолдануға болады. Келесі функцияларды белгілейік:
• Abs(x) – x – абсолют мәні;
• Sqrt(x) – x – квадрат түбірі;
• Sqrt(x) – x квадраттау;
• Ln(x) – x натуралды логорифм;
• Exp(x) – санды х дәрежесіне шығару;
• Sin(x) – радианда берілген х бұрышының синусы.
Sin функциясынан басқа да тригонометриялық функциялар бар.
Функция аргументі болып сан, айнымалы, константа немесе өрнек болады.
Мысал, арифметикалық өрнектер
X+12.3)/30*sin(2*aipha)
Y+X
Exp (3)
Бүтін санды тип айнымалыларымен келесі арифметикалық операциялар жүргізуге болады.
• Div – 2 санды бөлгенде бүтін бөлігі;
• Mod – 2 санды бөлгендегі қалдық..
Мысал: Бүтін санды операндтарға арифметикалық операцияларды қодану a, b, d бүтін санды (integer) және оларға а: = 10; b:=7; d:= -56. Онда арифметикалық операциялар орындалу нәтижесінде келесі мәндер алынады:
A+7 17
48
5*d -280
56/b 8.0
56 div b 8
40 div 13 3
40 mod 13 1
Бүтін санды тип деректеріне келесі биіктік (разрядты) операциялар орындауға болады:
• Shl – солға ығысу;
• Shr – оңға ығысу;
•And –ЖӘНЕ (арифметикалық көбейту)
• Or – НЕМЕСЕ (арифметикалық қоу)
• Xor – НЕМЕСЕ арифметикалық алым
•Not – ЕШ (арифметикалық жоққа шығару).
Биттік операциялардың разряд бойынша орындалуы келесі кестеде 2.7.
Операция |
Сипатталуы |
Бит 1 |
Бит 2 |
Бит нәтижесі |
Not |
Арифметикалық терістеу |
0 1 |
|
1 0 |
And |
Арифметикалық көбейту |
0 0 1 1 |
0 1 0 1 |
0 0 1 1 |
Or |
Арифметикалық қосу |
0 0 1 1 |
0 1 0 1 |
0 1 1 1 |
Xor |
Арифметикалық жою НЕМЕСЕ |
0 0 1 1 |
0 1 0 1 |
0 1 1 0 |
Мысал, Биттік операцияларды қолдану.
a және b айнымалылары бүтін санды (integer) болып сипатталсын және оларға a:=186; b:=99. мәндері берілсін. Онда келесі битті операциялар нәтижесінде мынадай мәндер алынады:
Not a -187
a Or b 251
a And b 34
a Xor b 217
Мысалы, And операциясының орындалу нәтижесі келесідей:
10111010 186
01100011 99
------------------
00100010 34
Ескерту. And, Or, Xor, Not биттік операцияларынан басқа логикалық тип деректеріне қолданылатын логикллық операциялар қолданылады.
Object Pascal дәрежеге шығару операциясы жоқ. Бүтін дәрежеге шығаруды осы санға көп рет көбейту циклінде орындауға болады. Х санын оң нольдік емес дәрежеге шығару Exp(A*ln(x)) арқылы орындалады..
Және де бүтін санды типке Odd (x): Boolean функциясы қолданылады. Бұл Х өрнегінің дұрыстығын талдайды (анализ).
Логикалық өрнектер.
Логикалық өрнектің нәтижесі болып True немесе False логикалық мағыналары болады. Мұндай өрнектер шарты және цикл операторларында қолданылады.
Логикалық өрнектің құрамында :
• Логикалық константалар True, False;
• Boolean типті логикалық айналмалылар;
• Салыстыру операциялары (қатынастар);
• Логикалық операциялар;
• Дөңкелек жақша.
Екі мән, берілген өрнектер, айнымалылар немесе константалар арасындағы қатынасты орнату үшін келесі салыстыру операциялар қолданылады:
= - тең;
< - кіші;
> - үлкен;
<= - кіші немесе тең;
>= - үлкен немесе тең;
<> - тең емес.
Салыстыру операциялары сәйкес өрнектерді есептегеннен кейін орындалады. Операция нәтижесі False мәнін қабылдайды, егер сәйкес қатынастың орны болмаса және True егер сәйкес орны болса.
Ескерту. Логикалық операциялардың анықтығы операциялардан жоғары. Сондықтан салыстыру операциялар бар логикалық өрнек логикалық операцияның операнды болса, оны дөңгелек жақшаға жазу керек.
Логикалық операцияның орындалу нәтижесі 2.8. кестесіне сәйкес келеді және оларды логикалық өрнектерге ( логикалық тип операнды) логикалық тип болады (Boolen). And, Or, Xor логикалық операциялары бинарлы, Not – унарлы. Еске түсірейік, Object Pascal бүтін сандардың биттеріне разрядты әрекет орындайтын бір атты лог-қ операциялар бар.
Операциялар |
Сипаттамалар |
Операнд 1 |
Операнд 2 |
Нәтиже |
Not |
Терістеу |
False True |
True |
False |
And |
Логикалық ЖӘНЕ |
False False True True |
False True False True |
false false false true |
Or |
Логикалық НЕМЕСЕ |
False False True True |
False True False True |
false true true true |
Xor |
Жою НЕМЕСЕ |
False False True true |
False True False true |
False True True False |
2.8. кесте. Логикалық операциялар
Мысал. Логикалық өрнектер.
X<10
X+17>=y
(x>a) and (x<b)
x, a, b, y айнымалылары мысалы, сандық немесе жолдық тип болуы мүмкін.
Жолдық өрнектер.
Жолдық типтің орындалу нәтижесі болып символдар жллы болып табылады. Жолдар үшін <<+>> -2 жолды қосу оперрациясын және келесі функцияларды қолдануға болады:
• Length (S): integer – S жолының ұзындығын анықтау.
• Copy(S; Index, Count: integer): String –S жолынан Count ұзындықты символды жолды шығару. Жол бағыныңқы Index позициясында символдан басталады.
• Concat (S; Index, Count: integer): String – sl, …, sn. жолдарын біріктіру
• Pos (Substr: String; S: String): integer – S жолына кіретін Substr жолбағыныңқы бастап символ позициясын анықтау, осы кезде бірінші кіріс ізделінеді. Егер жолбағыныңқы табылмаса, ноль қайтарылады.
Функциялардан басқа жолдық айнымалыларға келесі процедуралар қолданылады:
• Insert (Source: String; var S: String; Index: Integer) – Index позициясынан бастап, Source жолын S жолына енгізу.
• Delete (var S :String; Index, Count: Integer)- Index позициясынан бастап,S жолынан Count ұзындықты жолбағыныңқыны алып тастау.
• Val (S; var V; var Code: Integer)- S жолын V санына түрлендіру. Нәтиже типі санның жолда өрнектелуіне байланысты. Code параметрі операция нәтижемінің кодын қайтарады, егер операция жақсы орындалса, кері жағдайда ноль мәні қайтарылады.
• Str (x [Width [: Decimals ]]; var S)- x сандық мәнінің s жолына түрлендіру.
Белгіленген программалардан басқа да жолдармен жұмыс жасауға арналған көптеген процедуралар мен функциялар SysUtilsмодулінде бар. Кейбіреулерін көрсетейік:
• IntToStr (Value: Integer) : String –Value бүтін өрнегінің жолға түрленуі.
• StrToInt (const S: String): Integer – S жолының бүтін санға түрленуі.
• FloatToStr (volue: Extended): String- Value нақты орынның мәнісінің жолға түрленуі
• StrToFloat (const S:String):Extended- S жолының нақты санға түрленуі
• DateToStr (Date:TDate Time): String- Date өрнегінде күн мәнінің жолға түрленуі
• TimeToStr (Time: TDate Time): String- Time өрнегінде уақыт мәнінің жолға түрленуі.
• StrToDateTime (const S: String): TDate Time – S- жолының күн белгісінің форматына түрленуі.
• StrToTime (const S : String): TDate Time – S жолының уақыт белгісінің форматына түрленуі.
• Upper Case(const S: String): String – S жолдық символының жоғарғы регистр жол символына түрленуі
• Lower Case(cosnt S:String):String – S жолдық символдарының төменгі регистр жол символдарына түрленуі.
• Trim Left(cosnt S:String): String – S жолының басында пробелдер мен басқару символдарын жою.
• Trim Right(cosnt S:String): String- S жолының алдыңғы пробелдер мен басқару символдарын жою.
Ескертейік, уақыт пен күнді көрсететін айнымалылармен жұмыс жасау үшін TDateTime типі және Now(), Date(),Time(), функциялары қолданылады.
Мысал: Жолдық өрнектер.
`abcdk`+s
`мөлшер тең`+FloatToStr(x)
S айнымалысы жолдвқ тип, ал x- нақты тип.
Беттері көрсетілген негізгі әдебиет:
[833-838]
[67-69, 115-122]
[C.62-68].
Бақылау сұрақтары
1.Өрнек неден тұрады?
2. Операнд нені білдіреді ?
3. Қандай операцияларды білесіңдер ?
4. Қандай өрнек типтерін білесіз ? Мысал келтір.
