5. Програмиране с помощта на едномерни масиви в системата Delphi

Целта на този раздел е да научите повече за масивите, да придобиете умения за описване, въвеждане и извеждане на едномерни масиви, извършване на операции с масиви и намиране на максималните и минималните елементи в едномерен масив.

Масив и едномерен масив

В систематаDelphi, както и в други езици за програмиране, масивната структура от данни се използва много често. Стигаме до необходимостта да използваме масиви, когато трябва да свържем и използваме редица свързани стойности.

Масивите позволяват на програмиста да асоциира цяла колекция от данни с едно име на променлива. Можете да преместите масив в паметта като цяло, да го копирате и т.н., всичко по отношение на едно име на променлива.

Масиве структуриран тип данни, състоящ се от фиксиран брой подредени по индекс елементи от един и същи тип.

Едномерен масиве набор от елементи от един и същи тип, подредени в един ред.

Елементите на масива могат да бъдат данни от произволен тип, но само от един. Броят на елементите на масива е фиксиран по време на описанието и не се променя по време на изпълнение на програмата. Например, удобно е да се разглеждат резултатите от множество измервания на температурата на въздуха през годината като набор от реални числа, комбинирани в един сложен обект - масив от измервания.

Запазените думиarrayиof(array, from) се използват за описание на масив. Думатамасиве последвана от тип диапазон в квадратни скоби (всеки порядъчен тип може да се използва като тип диапазон), който се използва от компилатора за определяне на общия брой елементи на масива. Типът диапазон се дава от лявата и дясната граница на промяната на индекса на масива. Думатаоте последвана от типаелементи, които образуват масив.

m1 : масив [0..19] от реални;

В този пример са описани два едномерни масива: M е масив, състоящ се от 10 цели числа; M1 е масив, състоящ се от 20 реални числа.

mas: масив [0..N-1] от реални;

Масивът може да бъде деклариран в секцията за деклариране на константа като въведена константа с дадените стойности:

x : масив [0..4] от цяло число = (8,10,1,5,3);

Действия върху едномерни масиви

За работа с масив като цяло се използва името на масива, без да се посочва индексът в квадратни скоби.

Масивите, участващи в действията, трябва да бъдат идентични по структура, т.е. трябва да имат еднакви типове индекси и едни и същи типове елементи. Достъпът до всеки елемент от масива в програмата се осъществява с помощта на индекс - цяло число, което служи като пореден номер на елемента в масива. В една добре оформена програма индексът не трябва да надхвърля границите, определени от типа диапазон. КомпилаторътDelphiможе да контролира използването на индекси в програма както по време на компилиране, така и по време на изпълнение.

Могат да се извършат три действия върху масиви като едно цяло: „равно“, „неравно“ и операторът за присвояване:

TRUE, ако стойността на всеки елемент от масив A е равна на съответната стойност на елемент от масив B

TRUE, ако поне един елемент от масив A не е равен на стойността на съответния елемент от масив B

Всички стойности на елементите от масив B се присвояват на съответните елементи от масив A. Стойностите на елементите от масив B остават непроменени

//позволява ви да покажете съдържанието на клетката

където i е номерът на колоната;

0 е номерът на реда.

След изпълнение на този оператор за присвояване, полетоEdit1.Textще съдържа текстаот клетка на таблица;StringGrid1.Cells[i,0] – дефинира съдържанието на клетка с координати на таблица (i,0).

Четвъртата версия наDelphiвъведединамични масиви.Размерът на динамичния масив може да се променя по време на изпълнение на програмата.

Описание на едномерни динамични масиви:

Можете да извършвате операции с динамични масиви само след като зададете размерите на тези масиви, като използвате процедурата:

Параметрите на тези процедури са: x,y - имена на динамични масиви, n - размер на масивите.

ФункциитеLength( ),Low( ) иHigh( ) се използват съответно за определяне на дължината, минималния и максималния брой елементи на динамичен масив. Номерирането на елементите на динамичен масив започва от нула, така че функциятаLow( ) винаги връща стойност 0.

Изчислете сумата от s елемента на динамичен едномерен масивmas.

mas:масив от цяло число;

за n:= Low(mas) до High(mas) do

за n:= Low(mas) до High(mas) do

Пример за програмиране с използване на едномерен масив

Присвояване. Намерете минималния елемент в едномерен масив.

Задачата за намиране на минималните и (или) максималните стойности в масив от числа е доста често срещана.Типична техниказа търсене на минимума и максимумае да присвоите първия елемент от масива, в който се извършва търсенето, на променливите, които съхраняват стойностите на максимума и минимума в самото начало на алгоритъма.

1. Разработване на алгоритъм (фиг. 5.1):

а) входни данни: mas – масив от цели числа;

б) изходни данни: min – целочислена променлива;

в) междинни данни: i – брояч на цикли.