- •Дәрістік сабақтардың конспектісі
- •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 мүмкіндіктері.
Бақылау сұрақтары
Мәліметтердің қандай типтерін бағдарламалаушы құра алады?
?
Мәліметтердің қандай реттiк типтерiн бағдарламалаушы құра алады?
Қандай функциялар реттiк типтiң айнымалылары үшiн қолданылады?
Мәліметтердің қандай бүтiнсанды физикалық типтерi Сiзге мәлiм?
Дәріс 7. Компоненттер палитрасындағы парақтар. Мәтіндік ақпараттарды енгізуге және бейнелеуге арналған компоненттер Деректердің құрылымдық типтері. Массивтер. Жиын.
Құрылымдық типтердің деректері құрылымдықпен қоса басқа типтердің деректерінен тұрады. Құрылымдық типтердің деректеріне жататындар:
жолдар;
массивтер;
жиындар;
жазбалар;
файлдар;
кластар.
Бұл типтерді 7-9 дәрістерде қарастырамыз.
Жолдар
Жолдар (жолдық типтер) 2.4 кестесінде көрсетілген үш физикалық және бір жалпы типтермен көрсетілген.
Кесте 2.4- Деректердің жолдық,физикалық типтері
Белгіленуі |
Символдардың максимал ұзындығы |
ShortString |
255 |
AnsiString |
Шамамен 2*1031 |
WideString |
Шамамен 2*1030 |
ShortString типінің деректері 256 элементтен тұратын – array[0..255] массиві болып табылатын жолды сипаттайды.Бұл массивтің (жолдар) нольдік байты жолдың ұзындығына көрсетеді. Бұрын мұндай жол String типімен сипатталатын. ShortString типі тілдің алдыңғы версияларымен сәйкестендіру үшін енгізілген.
AnsiString және WideString динамикалық массивтерді сипаттайды, олардың максимал ұзындығы компьютердің негізгі жадысының өлшемімен шектелген. AnsiString деректерінің типі ANSI кодында , ал WideString- Unicode кодында кодталады.
String типі ShortString немесе AnsiString типтеріне сәйкес келетін жалпы тип болып табылады.Бұл $H компиляторының директивасы.Келісіммен {$H+} және AnsiString-ке тең String типі қолданылады.Проекттің параметрлер файлында “+” белгі директивасы(және де басқа директивалар) Н=1 жазбасына ,”-” белгісі H=1 жазбасына сәйкес келеді.Шығарушы тип интерпритациясын проект параметрінің терезесі арқылы Huge String жалаушасын іске қосып немесе алып басқарады.
Жолдар фактілі түрде символдар массиві болғандықтан , жолдың бөлек символына үшін жолдың атын және осы символдың позициясын квадратты жақшада көрсету керек, мысалы strName[1].
Қарастырылған типтерден басқа PChar типі бар .Ол нолдік аяқталуы бар аталған жол болып табылады.Оның соңында #0 коды бар.Жолдың максимал ұзындығы компьютердің негізгі жадысының өлшемімен шектелген.
Массивтер
Массив деп жалпы бір аты бар біртипті элементтердің тізбектелген жиыны. Массив элементі болып құрылымдықпен қоса әр түрлі типтердің деректері болуы мүмкін.Массивтің әр элементі массив атымен және индекспен(массивтегі элемент номері) немесе егер массив көпөлшемді болса, онда индекстермен анықталады.массивтің бөлек элементіне 111 үшін осы массивтің аты және квадрат жақшаға алынған элемент номері, мысалы arr[1,35] немесе arr[7].
Индексті позициялар саны массив өлшемділігін анықтайды. Сонымен қатар массив өлшемділігі шектелмейді.Математикада бірөлшемді массив аналогі болып вектор , ал екіөлшемді массив аналогі болып матрица саналады.Массив элементтерінің индекстері қатарланған типке жатуы тиіс.Бір массивтің әр түрлі индекстерінің әр түрлі типтері болуы мүмкін.Ең жиі кездесетін индекс типі бүтін тип болып табылады.
Массивтер динамикалық және статикалық болып бөлінеді.Статикалық массив индекс шекаралары және сәйкес оның өлшемдері хабарлаған кезде , яғни программа компиляциясынан бұрын белгілі болады.Сатикалық массивтің типінің жазылу форматы:
Array[индекстер типі] of <Элементтер типі>;
Мысал.Статикалық массивтерді хабарлау.
Type tm=Array[1..10,1..100] of real;
Var arr1,arr2:tm;
Arr3:Array[20..100] of char;
Arr4:Array[‘a’..’z’] of integer;
arr1 және arr2 айнымалылары 1000 элементтен - 10 жол және 100 бағаннан тұратын екіөлшемді массив болып табылады. Осы массивтердің әр элементі real типті санды сипаттайды. arr1 және arr2 массивтерін хабарлау үшін tm арнайы типі енгізілген. arr3 және arr4 айнымалылары сәйкес 81 символ және 26 бүтін сан бірөлшемді массиві болып табылады.
Динамикалық массив тек оның элементтерінің типі көрсетілетін, ал массив өлшемі программаның орындалу барысында белгілі болатын массив болып табылады. Динамикалық массив қолдану кезінде динамикалық массивтің типін суреттеу форматы 4 версиясынан бастап мүмкін болды:
Array of<Элементтер типтері>;
Программаның орындалу барысында динамикалық массивтің өлшемін беру SetLength (var S; NewLength:Integer) процедурасы арқылы жүзеге асады.Бұл процедура s динамикалық массивіне NewLength-ке тең жаңа өлшем орнатады.Динамикалық массив және оның элементтерімен операцияларды тек массив өлшемін енгізгеннен соң орындауға болады.
Динамикалық массивтің өлшемін берген соң оның ұзындығын,минимал және максимал элементінің номерін анықтау үшін сәйкесінше Length(), Low() , High() функциялары қолданылады. Динамикалық массивтің номірленуі нолден басталады, сондықтан Low() функциясына ноль мәні қайтарылады.
Мысал. Динамикалық массивті қолдану.
Var n:integer;
m: Array of real;
…
Setlength(m,100);
For n:=0 to 99 do m[n]:=n;
SetLength(m,200);
Нақты сандардан тұратын динамикалық массивті сипаттаған соң 100 элементкке тең массив өлшемі анықталады. Әр элементке массивтегі номеріне тең мән беріледі.Элемент номірленуі нольден басталғандықтан ,соңғысының номері 99-ға тең. Циклдан кейін массив өлшемі 200-ге дейін үлкейеді.
Динамикалық көпөлшемді массивтің типін сипаттау үшін:
Array of array of <Элементтер типі>
конструкциясы қолданылады
Көпөлшемді динамикалық массив үшін SetLength(var S; NewLength1, NewLength2:Integer) процедурасы көмегімен жаңа өлшемдер орнату әр индекс үшін орындалады.
Массивке әрекет ,сонымен қатар енгізу және шығару операциялары, элемент бойынша жасалады. Элементті өңдеу цикл қолдану арқылы жүзегеиасады. Массив (бір объект сияқты) қатынас операцияларында және меншіктеу операторында қатыса алады. Бұл кезде массивтер құрылымы бойынша сәйкес болуы керек ,яғни бірдей типтер индекстері және бірдей типтер элементі болуы керек.
