Delphi және PASCAL тілдерінде массив ұғымын түсіндіру және массивтерді өңдеу


Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 69 бет
Таңдаулыға:
Мазмұны
Кіріспе. . 3
I - тарау. Массивтер туралы жалпы түсінік . . . 5
1. 1. Бір өлшемді массивтер. Массивті енгізу және шығару. 10
1. 2. Динамикалық массивтер. Массивтерге іздеу амалдарын қолдану… . . . 19
1. 3. Көп өлшемді массивтер. 28
1. 4. Тікелей қосу, таңдау, алмастыру көмегімен сұрыптау . . 35
1. 5. Бағдарлама мен алгоритмдердегі тапсырмаларды шешу жолдары… . . . 53
II - тарау. Flash көмегімен Delphi программалау ортасындағы электрондық құралды орындау . . . 60
2. 1. Delphi және Flash тілдерінің мүмкіндіктері . . . 61
2. 2. Электрондық құралдың сценарийі және Delphi ортасындағы оны орындалуы . . . 62
2. 3. Тапсырмалар мен сауалнама жүргізу . . . 67
Қорытынды . . . 69
Қолданылған әдебиеттер тізімі . . 70
КІРІСПЕ
Информатика-компьютердің көмегімен информацияны іздеу, сақтау, жинау, өлшеу мен өңдеудің әдісі, тәсілдері мен заңдылықтарын қарастыратын математикалық ғылым. Қазіргі информация ағымын адамзат тек ЭЕМ-нің көмегі арқылы ғана қабылдайды. Компьютер информацияны автоматты түрде өңдеуді жүзеге асырады. Сондықтан компьютер программалау информатиканың негізгі ядросы болып табылады, ал қазіргі есептегіш техникалар - оның материалдық базасы.
Информатика - компьютермен дами отырып, уақыт өте жалпы ғылымға -информацияны өңдеу туралы ғылымға айнала бастады. Мектепте көп программалау тілдерін оқытады: BASIC, PASCAL, DELPHI, HTML т. б.
Программалау тілдерін оқыту Информатика және есептеуіш техника негіздері курсының негізгі бір бөлігі болып табылады. Компьютерді адам қызметінің әртүрлі салаларында пайдалану үшін, программалау тілдерін меңгеру және сол тілдерде жазылған программаларды қолдана білу қажет. Қазіргі кезде программалау тілдерінің түрлері өте көп. Солардың ішіндегі мектеп информатикасында негізінен оқытылатыны -Паскаль тілі. Өйткені, компьютерлік сауаттылық пен программалауды алғашқы кезеңде үйретуге ең қолайлы тіл. Сонымен қатар, соңғы жылдары информатика курсы бойынша өтетін халықаралық олимпиадаларда программалауға таңдалынып жүрген тілдердің бірі - Паскаль тілі.
Оның ішінде массив ұғымы ең керегі, неге десеңіз, оны түсінген оқушы кез-келген программалау тілді меңгере алады, қайталау амалдарға арналған алгоритмдерді орындай алады. Массивтерге арналған амалдарға көп есептер негізделеді.
Осы дипломдық жұмыс орта мектептегі массивтерді өңдеу тақырыбын оқыту мектептің жоғары сынып оқушыларына және төменгі курс студенттерге арналады.
Дипломдық жұмыстың мақсаты : Delphi және PASCAL тілдерінде массив ұғымын түсіндіру және массивтерді өңдеу есептерін шығару жолдарын мектеп оқушыларына уйрету.
Дипломдық жұмыстың мақсатына сай төмендегідей міндеттер қойылды:
- Delphi және PASCAL бағдарламасы туралы әдебиеттердегі массив, массивті сұрыптау мен танысып, талдау жасау;
- бұл бағдарламаны студенттерге өздігінен меңгеру үшін массивтерді өңдеу туралы теориялық материалдар беріп, оны мысалдармен жасақтау;
- HTML гипермәтінді бағдарламалау ортасында қазіргі әр түрлі құралдарды пайдалана отырып, электрондық көмекші құрал жасау.
Түлектік жұмыстың құрылымы . Түлектік жұмыс кіріспеден, екі тараудан, қорытындыдан, қолданылған әдебиеттер тізімінен және қосымшадан тұрады.
Бірінші тарауда массивтер туралы жалпы түсінік беріледі. Бір өлшемді массивтер, массивтерді енгізу және шығару, динамикалық массивтер, массивтерге іздеу амалдарын қолдану, көп өлшемді массивтер, тікелей қосу, таңдау, алмастыру көмегімен сұрыптау, бағдарлама мен алгоритмдердегі тапсырмаларды шешу жолдары қарастырылады.
Екінші тарауда Flash көмегімен Delphi программалау ортасындағы электрондық құралды орындалу барысына арналған. Delphi және Flash тілдерінің мүмкіндіктері, электрондық құралдың сценарийі және Delphi ортасындағы оның орындалуы және тапсырмалар мен сауалнама жүргізу қарастырылған.
Пайдаланған әдебиеттер тізімі 12 көзден тұрады.
- МАССИВТЕР ТУРАЛЫ ЖАЛПЫ ТҮСІНІК
Массив бағдарламада қолданылатын ең қажетті түсінік. Массивте бірдей типке жататын шамалар, ақпараттар сақталып өңделеді. Арнайы бірдей типті шамаларды сақтау тәсілін массивтер деп атайды. Бір өлшемді массив (сызықты таблица - вектор), ал екі өлшемді массив (төрт бұрышты таблица - матрица) деп аталады. Айнымалылардың - массив элементтерінің типтері бірдей болады. Массив бір ғана атпен беріледі. Мысалы, нақты сандардан құрылған тізбектегі R атаулы массив деуге болады. Массивтің әр элементі массивтің атымен белгіленеді де, оның индексі қойылады. Яғни массив элементтері индекстері бойынша реттеліп жазылады.
Индекс типті массивті бейнелегенде пайдаланылса, индекс массив элементтерін белгілеу үшін операторлық бөлікте пайдаланылады. Индексті бейнелегенде қандай тип берілсе, индекс те сол типте болуы қажет. Индекс өрнек, айнымалы немесе тұрақты болып берілуі мүмкін. Сондықтан массивтерді кей жағдайларда индексті айнымалылар деп те атайды. Егер бағдарламалауда массив пайдаланылатын болса, онда ол айнымалы (Var) бөлігінде немесе тип (Type) бөлігінде сипатталуы қажет.
Массив программаның кез - келген басқа айнымалылары сияқты алдын - ала айнымалыларды сипаттау бөлімінде сипатталуы тиіс. Массивті сипаттау құрылымының жалпы түрі:
Аты: array [ төмендегі_индекс. . жоғарғы_индекс] of типі;
Массивтің жоғарғы индексін тұрақтылар бөлімінде анықтау:
const
N=18; // фамилялар саны
S=25 // фамаляның ұзындығы
var
t: array [1. . N of string [S] ;
Массив элементтерін программмада қолдану үшін массив атын және тік жақша ішінде номерін (индексін) көрсету керек.
t[1] :=’Томанов’;
Әдетте массивтермен жұмыс істегенде мынандай амалдар орындалады:
1) Массивті шығару;
2) Массивті енгізу;
3) Массивтің ең кіші немесе ең үлкен элементіе іздеу;
4) Массивті сорттау.
Есептеуді талап етпейтін алгоритмнің ең негізгі кластарының бірі «ақпараттық массивтерді өңдеу». Массивті өңдеу алгоритмі қазіргі ЭВМ жұмысында маңызды орын алады. Мысалы банкте айдың соңында банктік декларацияларды даярлау үшін барлық чектерді чек нөмері бойынша сұрыптайды. Телефон компаниялары телефон нөмерлерін іздеуді оңай болу үшін өз есептерін фамилия бойынша, фамилияларды аттары бойынша сұрыптайды.
1. 1. Массивті енгізу
Массивті енгізу деп программаны орындау кезінде пайдаланушыдан массивтің элементтерінің мәнін алу процесін айтамыз.
- StringGrid компонентін пайдаланып массивті енгізу
Ол компонент Additional бетінде (жапсырмасында) орналасқан.
StringGrid компоненттерінің қасиеттері:
Name - Компонент аты. Программа компонентінің қасиеттері мүмкіндік алу (доступ) үшін қолданылады.
ColCount - Кесте бағандарының саны
RowCount - Кесте жолдарының саны
Cells - Сәйкес кестедегі екі өлшемді массив. Col бағаны мен row жол номерінің қиылысуында орналасқан кесте ұяшығында элемент былай анықталады:
Cells[col, rov]
FixedСols - Кестенің арнайы Ерекшеленген сол жақ бағандар саны
FixedRows - Кестенің арнайы ерекшеленген жоғарғы жолдар саны
Options. goEditing - Кесте ұяшықтарындағы мәліметтерді редакциялауға TRUE - рұқсат, False - рұқсат жоқ.
Options. goTab - Курсорды кестенің келесі ұяшығына жылжыту үшін Tab пернесін (True) қолдану мемесе (False) қолданбау.
Options. GoAlWayShowEditor - Редакциялау режимінде компонентті табу белгісі. Егер қасиеттің мәні False онда ұяшықта курсор пайда болу үшін тексті тере бастау керек, <F2> пернесін басу керек немесе тышқанмен шерту керек.
DefaultColWidth - Кесте бағандарының ені.
DefaultRowHeight - Кесте жолдарының биіктігі.
GridLineWidth - Кесте ұяшықтарын жиектейтін сызық ені.
Left - Кесте алаңының сол жақ жиегінен форманың жоғарғы жиегіне дейінгі
қашықтық
Top - Кесте алаңының жоғарғы жиегінен форманың жоғарғы жиегіне дейінгі
қашықтық.
Height - Кесте алаңының биіктігі.
Width - Кесте алаңының ені.
Font -Кесте ұяшығындағы мәліметті бейнелеу үшін қолданылатын қаріп
ParentFont - Форма шрифтінің сипаттамаларыны белгісі.
2-мысал. Массив элементінің арифметикалық орташасын есептейтін программаны қарастырайық.
StringGrid компонентінің қасиеттерінің мәндері
ColCount =5
FixedCols = 0
RowCount = 1
DefaultRowHeight = 24
Height = 24
DefaultColWidth = 64
Width = 328
Options. goEditing = True
Options. AlwaysShowEditing = True
[Options. AlwaysShowEditing = True]
Options. goTabs = True
Procedure TForm1. Button1CLick(Sender: Tobject) ;
var
a: array [1. . 5] of integer; // массив
Summ: integer; // элементтер қосындысы
Sr: real; // арифметикалық орташа
i: integer; // индекс
begin
// массивті енгізу
for i: 1 to 5 do // егер ұяшық бос болса, ондағы массив
// элементі нөл болса
if Length (StringGrid1. Cells[i - 1, 0] <>0
then a[i] =StrToInt(StringGrid1. Cells[i-1, 0] )
else a[i] :=0;
// Массивті өңдеу
Summ: =0;
for i:= 1 to 5 do
Summ: = Summ + a[i] ;
Sr: = Summ / 5;
// нәтижені шығару
Label2. Caption: = ‘Элементтер қосындысы:’ + InttoStr(Summ) + # 13 +
‘Арифметикалық орташа:’ + FloattoStr(Sr) ;
end;
Ескерту . <Enter> пернесін басқанда курсор кестенің келесі ұяшығына өтетіндей ету үшін оны OnKeyPress оқиғаны өңдеу процедурасының көмегімен жасаймыз. Осы процедураға кесте ұяшығына енгізілетін мәліметтерді фильтрация сүзгілеуді тапсыруға болады. Ұяшықа тек сандар енгізуді қарастырамыз.
Мұнда кездесетін Col қасиеті программаның орындалуы кезінде кестенің курсор тұрған колонкасының номерін көрсетеді. Осы қасиетті курсорды кестенің қажетті ұяшығына жылжыту үшін пайдалануға болады. Дегенмен, кестенің колонкалары оның жолдары сияқты нөлден бастап номерленетіндігін есте сақтау керек.
Procedure TForm1. StringGrid1. KeyPress(Sender: Tobject; var Key: Char ) ;
begin
case key of
#8, ’0’. . ’9’: ; // цифрлар мен <Backspase> пернесі
# 13 : // <Enter> пернесі
if StringGrid1. Col < StringGrid1. ColCount - 1
then StringGrid1. Col:= StringGrid1. Col + 1
else Key:=chr(0) :// басқа символдар кіргізілмейді
end;
end;
Ескерту . Егер бөлшек сандардан тұратын массивті енгізу қажет болса, яғни (a:array [1. . 5] of real), онда OnKeyPress оқиғаны өңдеу процедурасы басқаша қиынырақ түрге енеді.
3-Мысал . Бөлшек сандар массивін енгізу және өңдеу .
Procedure PForm1. Button1Click (Sender; Tobject) ;
var
a: array [1, . 5] of real; // массив
Summ: real; // элементтер қосындысы
Sr: reаl; // арифметикалық орташа
i: integer; // индекс
bеgin
// массивті енгізу
// егер ұяшық бос болса, ондағы оған сәйкер келетін
// массив элементі нөл болады деп санаймыз
for i: 1 to 5 do
if Length (StringGrid1. Cells[i - 1, 0] < >0
then a[i] :=StrToInt(StringGrid1. Cells[I-1, 0] )
else a[i] :=0;
// Массивті өңдеу
Summ: =0;
for i:= 1 to 5 do
Summ: = Summ + a[i] ;
Sr: = Summ / 5;
// нәтижені шығару
Label2. Caption: = ‘Элементтер қосындысы:’ + InttoStr(Summ) + # 13 +
‘Арифметикалық орташа:’ + FloattoStr(Sr) ;
end;
// Бұл функция ұяшыққа тек мүмкін болған символдарды енгізуді қамтамассыз етеді.
Procedure TForm1. StringGrid1. Key Press(Sender: Tobject; var Key:Char ) ;
begin
case key of
#8, ’0’. . ’9’: ; // цифрлар мен <Backspase>
# 13 : // <Enter> пернесі
if StringGrid1. Col < StringGrid1. ColCount - 1
then StringGrid1. Col:= StringGrid1. Col + 1;
‘. ’, ’, ’:// санның бүтін және бөлшек бөлігін ажыратушы
begin
if Key < > 0 then Key: = Chr(0) // екінші ажыратқышты болдырмау
end;
‘ - ‘ : // минусты ұяшық бос кезде тек бірінші символ
// ретінде енгізуге болады
if Legth(StringGrid1. Cells[StringGrid1. Col, 0] ) <>0
else Key:=chr(0) :// басқа символдар тоқауыл
end;
Массивті шығару
Егер программада массивтің барлық элементтерінің мәнін шығару қажет болса, онда ол үшін for инструкциясын пайдаланған қолайлы болады.
4- мысал. Келесі программада номерленген фамилялар тізімін жауапқа шығарады.
Қасиеттерге Label1. AutoSize = (Label1. AutoSize = True) деп мән беру арқылы бақылаңдар.
implementation
{$R*. dfm}
const N = 5;
var
t: array[1. . n] of string[10] = (‘Салиев’, ’Садыков’, ’Манапов’, ’Асанов’) ;
Prоcedure TBorm1. Button1Click (Sender: Tobject) ;
var
S:string: // фамилялар тізімі
i: integer: // массив элементінің номері, индекс
begin
// формаға шығару үшін тізімді қалыптастыру
for i: =1 to N do
s: = Inttostr(i) + ‘ ‘+t[i] +# 13;
// тізімді шығару
Label1. Caption: = S;
end;
5-мысал. Кездейсоқ бүтін сандардан тұратын массив элементтерін енгізіп, оны Label1 өрісіне шығару программасы.
procedure TForm1. Button1Click(Sender: Tobject) ;
var
a:array[1. . 5] of integer;
st:string;
i:integer;
begin
randomize;
for i:=1 to 5 do
a[i] :=random(10) ;
for i:=1 to 5 do
st:=st+inttostr(a[i] ) +#13;
label1. caption:=st;
end;
1 сурет - нәтижені экранға шығарады.
Memo компонентін пайдаланып массивті енгізу
Memo компоненті көптеген жолдан тұратын тексті енгізу мүмкіндігін береді. Сондықтан оны символдық массивті енгізу үшін қолдану ыңғайлы. Ол Standart бетінде орналасқан.
Memo компонентін пайдаланып массивті енгізгенде, массивтің әрбір элементінің мәні жеке жолда жазылады және әрбір элементтен соң <Enter> пернесін басу керек.
Memo компонентінің қасиеттері:
Name - компонент аты. Программада компоненттің қасиеттеріне “ доступ ” болу үшін қолданылады.
Text - Memo алаңында тұратын мәтін. Бір бүтін ретінде қарастырылады.
Lines - Memo алаңындағы мәтін. Жолдардың (қосындысы) жиынтығы ретінде қарастырылады. Жолға оның номері бойынша хабарласады
Lines. Count - Memo алаңындағы мәтіннің жолдарының саны.
Left - алаңның сол жақ жиегінен форманың сол жақ жиегіне дейінгі қашықтық.
Top - алаңның жоғарғы жиегінене дейінгі қашықтық.
Height - алаңның биіктігі.
Width - алаң ені.
Font - енгізілетін мәтіннің қаріпі.
ParentFont - форма шрифті қасиетінің белгісі.
6-мысал. Memo компонентін пайдаланып, символдық массивті енгізу.
Procedure TForm1. Button1Click (Sender: Tobject) ;
var
Size = 5; // массив өлшемі
var
a: array[1. . SIZE] of String[30] ; // массив
n: integer: // Memo алаңындағы жолдарының саны
i: integer: // Массив элементінің индексі
st: string;
begin
n := Memo1. Lines. Count;
if n =0 then begin
ShowMessage (‘ Бастапқы мәліметтер енгізілмеген!‘) ;
Exit;
end;
//
if n > SIZE then begin
ShowMessage(‘ Жолдар саны массив өлшемінен артық!’) ;
n:= SIZE;
end;
for i: = 1 to n do
a[i] : = Form1. Memo1. Lines[i -1] ; // Memo жолдары нөлден
басталады
// Массивті шығару
if n> 0 then begin
st: = ‘ Енгізілген массив: ’+ # 13;
for i: =1 to n do
st: = st + IntToStr (i) + ‘ ‘ + a[i] + #13;
ShowMessage(st) ;
end;
end;
Бұл программа бойынша негізгі жұмысты TForm. Button1Click процедурасы орындайды. Ол Memo алаңында текст бар ма, соны тексереді. Егер текст бар болса, (бұл кезде Lines. Count қасиетінің мәні нөлден үлкен), онда процедура енгізілген жолдардың саны мен ассивтің өлшемін салыстырады. Егер бұл сан массивтің өлшемінен артық болса, онда программа n - ның мәнін өзгертеді, сонымен бірге алғашқы SIZE жолды енгізуге дайындайды.
Массивтің ең кіші (үлкен) элементін іздеу
Массивтің ең кіші элементін іздеу есебі үшін бүтін сандар массивін алайық. Массивтің ең кіші (үлкен) элементін іздеу алгоритмі былай орындалады, алдымен массивтің бірінші элементін ең кішісі (үлкен) деп алып, оның басқа элементтерін осы элементпен салыстырады.
Егер тексеру кезінде осы ең кіші (үлкен) элементпен кіші (үлкен) элемент кездессе (табылса), онда осы элемент кіші (үлкен) болады және келесі элементтерді тексеру жалғастырылады.
StringGrid1 компонентінің қасиеттерінің мәндері:
ColCount =005
FixedCols = 000
RowCount = 001
DefaultRowHeight =024
Height =024
DefaultColWidth = 064
Width = 328
Options. goEditing = True
Options. AlwaysShowEditing = True
Options. goTabs = True
7- мысал. Массивтің ең кіші элементін іздеу бағдарламасы
Procedure TForm1. Button1Click (Sender: Tobject) ;
Const
Size = 5;
var
a: array[1. . SIZE] of integer; // бүтін сандар массиві
min: integer: // Массив ең кіші элементінің саны
i: integer: // ең кішімен салыстырылатын элемент нөмері
begin
for i: = 1 to SIZE do
a[i] : = StrToInt(StringGrid1. Cells[I - 1, 0] ) ;
// ең кіші элементін іздеу
min: = 1; // бірінші элемент ең кіші болсын
for i: = 2 to SIZE do
if a[i] < a[min] then min: = I;
// жауапты шығару
label2. caption: = ‘ Массивтің ең кіші элементі:’ ‘+
IntToStr(a[min] ) + # 13+
‘ элемент номері: ‘ + IntToStr(min) ;
end;
Диалогтық (нәтижелік) терезенің жалпы түрі
5 бүтін сан енгіз және іздеуге басындар
Массивтің ең кіші элементі: 15
Элемент номері: 2
1-кесте:ең кіші элементті экранға шығарады.
Массивтен берілген элементті іздеу
Көптеген есептерді шешуде массивте бізге қажет ақпарат бар ма? Соны анықтау қажет болады. Мысалы, студенттер тізімін Асанов деген фамиляны іздеу керек. Мұндай типтегі есептерді массивтегі іздеу деп атайды.
Массивте іздеуді ұйымдастыру үшін әртүрлі алгоритмдерді қолдануға болады. Оның ішіндегі қарапайымы - жай (сорттау) теру алгоритмі. Іздеу - массив элементтерін үлгімен рет бойынша салыстыру арқылы жүзеге асырады. Үлгіге тең болатын элемент табылғанмен немесе барлық элементтер тексеріліп болғанша бұл процесс жалғасады. Жай теру алгоритмі массив элементтері реттелмеген жағдайда қолданылады.
Жай теру алгоритмі
Мысал ретінде сандар массивіндегі іздеу программасының текстін алайық. Массив элементтерін теру repeat құрылымымен жүзеге асырылады. Оның денесіндегі if құрылымы массивтің әрбір элементін үлгімен тексереді және егер элементпен үлгі тең болса found айнымалыға true мәнін меншіктейді.
Егер массивте үлгіге тең элемент табылса немесе массивтің барлық элементтері тексеріліп болса ғана цикл жұмысын аяқтайды. Цикл аяқталғанда found айнымалының мәніне байланысты іздеудің нәтижесі немесе керісінше болғандығын нәтиже бермегендігі туралы анықтауға болады.
Іздеу (Button1) командалық тетігіне шерткенде TForm1. Button1Click процедурасы іске қосылады. Бұл поцедура StringGrid1 компонентінен массивті, ал Edit1 (компонентіне) редакциялау алаңына (үлгіні) санды енгізеді. Сонан соң массивте енгізілген сан бар ма соны тексеру орындалады. Тексеру барысында процедурасы іздеу нәтижесі туралы мәлімет шығарады.
8-мысал. Бүтін сандар массивіндегі іздеу программасы.
Procedure TForm1. Button1Click(Sender:Tоbject) ;
Const S = 5;
var a :array[1. . S] of integer; // массив
obr : integer; // іздеу үшін үлгі
found : Boolean; // TRUE - үлгінің элементпен сәйкес келуі
i : integer; // массив элементінің индексі
begin
// массивті енгізу
for i: = StrToInt (StringGrid1. Cells [I - 1, 0] ) ;
// іздеу үшін үлгіні енгізу
orb: = StrToInt(edit1. text) ;
// іздеу
found: = FALSE; // қажетті элемент массивте жоқ болсын
i:=1;
repeat
if a[i] = orb then found: = TRUE
else i:= i+ 1
until (i > s) or (found = TRUE) ;
if found then ShowMessage (‘Іздеу нәтижелі болды:‘ + IntToStr(i) )
else ShowMessage(‘Үлгімен сәйкес келетіні жоқ‘)
end;
Салыстыру амалын сандармен қатар жолдарға да қолдануға болатындықтан бұл алгоритмді сандық және жолдық массивтерде іздеу үшін пайдалануға болады.
1. 2. Динамикалық массивтер
Delphi-дің 4-нұсқасынан бастап динамикалық массивтер енгізілген. Программада мұндай массивтерді бейнелегенде индекстің шекараларын көрсетудің қажеті жоқ:
Var
A: array of integer;
B: array of array of char;
C: array of array of array of real;
Бұл мысалдағы динамикалық А массивінің бір, В массивінің екі, С массивінің үш өлшемі бар. Жадыны бөлу мен динамикалық массивтердің әрбір өлшемі бойынша индекстердің шекарасын көрсету программаның орындалуы барысында SetLength функциясының көмегімен массивті тағайындау жолымен жүзеге асырылады. Мұндай оператордың орындалуы барысында:
SetLength(A, 3) ;
Бір өлшемді А динамикалық массивті тағайындалады, яғни үш бүтін санды орналастыруға жететін жадыдан орын бөлінеді. Динамикалық массивің кез келген өлшемі бойынша индекстің жоғарғы шекарасы 2-ге тең болады.
Динамикалық массивтің идентификаторы жадының алғашқы байтының адресінен тұратын көрсеткішке сілтеме жасап, бөлінген орынға массивті орналастырады. Сондықтан осы жадыны босату үшін идентификаторға Nil мәнін меншіктеу жеткілікті (Басқа тәсілмен Finanalize процедурасын пайдалану болып табылады) :
Var
A, B: array of integer:
Begin //Жадыны үлестіреміз:
SetLength(A, 10) ;
SetLength(A, 20) ; //Массивтерді пайдаланамыз:
A:=Nil;
Finanalize(B) ;
End;
Орнатылған динамикалық массивтің ұзындығын өзгертуге алдымен жаңа массивті орналастыруға қажетті жады даярланады, одан кейін екі массивтің элементтері жаңа орынға тасымалданады да, бұрынғы массивке бөлінген жады босатылады. Үлкен динамикалық массивтің шекараларын өзгертуге байланысты қосымша уақытты қысқарту үшін бірден ұзындығы үлкен массив құру қажет.
Көп өлшемді массивтерде алдымен оның алғашқы өлшемінің ұзындығы тағайындалады, одан кейін екінші, үшінші тағы сол сияқты мысалы,
Var
A: of array of integer; //Екі өлшемді динамикалық массив;
Begin / Бірінші өлшемнің ұзындығын тағайындаймыз (бағандар мөлшері) ;
SetLelgth(A, 3) ;
// Әрбір бағанның ұзындығън береміз;
SetLength(A, [0], 3) ;
SetLength(A, [10], 3) ;
SetLength(A, [2], 3) ;
. . .
end;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz