Îáúÿâëåíèå ìàññèâà
Ìàññèâ, êàê è ëþáàÿ ïåðåìåííàÿ ïðîãðàììû, ïåðåä èñïîëüçîâàíèåì äîëæåí áûòü îáúÿâëåí â ðàçäåëå îáúÿâëåíèÿ ïåðåìåííûõ.
 îáùåì âèäå èíñòðóêöèÿ îáúÿâëåíèÿ îäíîìåðíîãî ìàññèâà âûãëÿäèò ñëåäóþùèì îáðàçîì:
Èìÿ: array [íèæíèé_èíäåêñ. .âåðõíèé_èíäåêñ] of òèï
èìÿ – èìÿ ìàññèâà;
array – çàðåçåðâèðîâàííîå ñëîâî ÿçûêà Delphi, îáîçíà÷àþùåå, ÷òî îáúÿâëÿåìîå èìÿ ÿâëÿåòñÿ èìåíåì ìàññèâà;
íèæíèé_èíäåêñ è âåðõíèé_èíäåêñ – öåëûå êîíñòàíòû, îïðåäåëÿþùèå äèàïàçîí èçìåíåíèÿ èíäåêñà ýëåìåíòîâ ìàññèâà è, íåÿâíî, êîëè÷åñòâî ýëåìåíòîâ (ðàçìåð) ìàññèâà;
òèï – òèï ýëåìåíòîâ ìàññèâà.
Ïðèìåð:
temper:array[1..31] of real;
êîef:array[0. .2] of integer;
name:array[1..30] of string[25];
 îáùåì âèäå èíñòðóêöèÿ îáúÿâëåíèÿ äâóìåðíîãî ìàññèâà âûãëÿäèò òàê:
Èìÿ: array[ÍèæíÿÿÃðàíèöà1..ÂåðõíÿÿÃðàíèöà1, ÍèæíÿÿÃðàíèöà2..ÂåðõíÿÿÃðàíèöà2] of Òèï
Èìÿ – èìÿ ìàññèâà;
array – ñëîâî ÿçûêà Delphi, óêàçûâàþùåå, ÷òî îáúÿâëÿåìûé ýëåìåíò äàííûõ ÿâëÿåòñÿ ìàññèâîì;
ÍèæíÿÿÃðàíèöà1, ÂåðõíÿÿÃðàíèöà1, ÍèæïÿÿÃðàíèöà2, ÂåðõíÿÿÃðàíèöà2 – öåëûå êîíñòàíòû, îïðåäåëÿþùèå äèàïàçîí èçìåíåíèÿ èíäåêñîâ è, ñëåäîâàòåëüíî, ÷èñëî ýëåìåíòîâ ìàññèâà;
Òèï – òèï ýëåìåíòîâ ìàññèâà.
Ïðèìåð:
itog: array [1..12, 1..6] of integer
Ïðè îáúÿâëåíèè ìàññèâà óäîáíî èñïîëüçîâàòü èìåíîâàííûå êîíñòàíòû. Èìåíîâàííàÿ êîíñòàíòà îáúÿâëÿåòñÿ â ðàçäåëå îáúÿâëåíèÿ êîíñòàíò, êîòîðûé îáû÷íî ðàñïîëàãàþò ïåðåä ðàçäåëîì îáúÿâëåíèÿ ïåðåìåííûõ. Íà÷èíàåòñÿ ðàçäåë îáúÿâëåíèÿ êîíñòàíò ñëîâîì const.  èíñòðóêöèè îáúÿâëåíèÿ èìåíîâàííîé êîíñòàíòû óêàçûâàþò èìÿ êîíñòàíòû è åå çíà÷åíèå, êîòîðîå îòäåëÿåòñÿ îò èìåíè ñèìâîëîì «ðàâíî». Ïîñëå îáúÿâëåíèÿ èìåíîâàííîé êîíñòàíòû åå ìîæíî èñïîëüçîâàòü â ïðîãðàììå êàê îáû÷íóþ ÷èñëîâóþ èëè ñèìâîëüíóþ êîíñòàíòó. Íèæå â êà÷åñòâå ïðèìåðà ïðèâåäåíî îáúÿâëåíèå ìàññèâà íàçâàíèé êîìàíä-ó÷àñòíèö ÷åìïèîíàòà ïî ôóòáîëó, â êîòîðîì èñïîëüçóþòñÿ èìåíîâàííûå êîíñòàíòû.
Ïðèìåð:
const
NT = 18;
team: array[1..NT] of string[SN];
Äëÿ òîãî ÷òîáû â ïðîãðàììå èñïîëüçîâàòü ýëåìåíò ìàññèâà, íàäî óêàçàòü èìÿ ìàññèâà è íîìåð ýëåìåíòà (èíäåêñ), çàêëþ÷èâ èíäåêñ â êâàäðàòíûå ñêîáêè.  êà÷åñòâå èíäåêñà ìîæíî èñïîëüçîâàòü êîíñòàíòó èëè âûðàæåíèå öåëîãî òèïà, íàïðèìåð:
team [ 1] := 'Çåíèò';
d := koef[l]*koef[l]-4*koef[2]*koef[1];
ShowMessage(name[n+1]);
temper[i] := StrToFloat(Edit1.text);
Åñëè ìàññèâ íå ÿâëÿåòñÿ ëîêàëüíûì, ò. å. îáúÿâëåí íå â ïðîöåäóðå îáðàáîòêè ñîáûòèÿ, à â ðàçäåëå ïåðåìåííûõ ìîäóëÿ, òî îäíîâðåìåííî ñ îáúÿâëåíèåì ìàññèâà ìîæíî âûïîëíèòü åãî èíèöèàëèçàöèþ, ò. å. ïðèñâîèòü íà÷àëüíûå çíà÷åíèÿ ýëåìåíòàì ìàññèâà. Èíñòðóêöèÿ îáúÿâëåíèÿ ìàññèâà ñ îäíîâðåìåííîé åãî èíèöèàëèçàöèåé â îáùåì âèäå âûãëÿäèò òàê:
Èìÿ:array [íèæíèé_èíäåêñ..âåðõíèé_èíäåêñ] of òèï = (ñïèñîê);
ñïèñîê – ðàçäåëåííûå çàïÿòûìè çíà÷åíèÿ ýëåìåíòîâ ìàññèâà.
Ïðèìåð:
a: array[10] of integer = (0,0,0,0,0,0,0,0,0,0);
Team: array[1..5] of String[10]=('Çåíèò','Äèíàìî','Ñïàðòàê','Ðîòîð','ÑÊÀ');
Îïåðàöèè ñ ìàññèâàìè
Òèïè÷íûìè îïåðàöèÿìè ïðè ðàáîòå ñ ìàññèâàìè ÿâëÿþòñÿ:
– âûâîä ìàññèâà;
– ââîä ìàññèâà;
– ïîèñê ìàêñèìàëüíîãî èëè ìèíèìàëüíîãî ýëåìåíòà ìàññèâà;
– ïîèñê çàäàííîãî ýëåìåíòà ìàññèâà;
– ñîðòèðîâêà ìàññèâà.
Âûâîä ìàññèâà
Ïîä âûâîäîì ìàññèâà ïîíèìàåòñÿ âûâîä íà ýêðàí ìîíèòîðà (â äèàëîãîâîå îêíî) çíà÷åíèé ýëåìåíòîâ ìàññèâà.
Åñëè â ïðîãðàììå íåîáõîäèìî âûâåñòè çíà÷åíèÿ âñåõ ýëåìåíòîâ ìàññèâà, òî äëÿ ýòîãî óäîáíî èñïîëüçîâàòü èíñòðóêöèþ for.
Ïðèìåð:
const
NT = 5;
var
team: array[1..NT] of string[10] =('Çåíèò','Äèíàìî','Ðîòîð','Ñïàðòàê','ÑÊÀ'
procedure TForml.ButtonlClick(Sender: TObject);
var
st:string;
i:integer;
begin
for i:=l to NT do
st := st + IntToStr(i)+ ' '+ team[i] + #13;
end;
Ââîä (âûâîä) ìàññèâà
Ïîä ââîäîì ìàññèâà ïîíèìàåòñÿ ïðîöåññ ïîëó÷åíèÿ îò ïîëüçîâàòåëÿ (èëè èç ôàéëà) âî âðåìÿ ðàáîòû ïðîãðàììû çíà÷åíèé ýëåìåíòîâ ìàññèâà.
Äàííû â ìàññèâ ìîæíî ââîäèòü (âûâîäèòü) ñ ïîìîùüþ êîìïîíåíòîâ {SITELINK-S118}StringGrid {/SITELINK}è {SITELINK-S119}Memo{/SITELINK}{SITELINK-S119} {/SITELINK}(âêëàäêà Additional).
|