Другие языки программирования и технологии

Опишите по человечески как работает массив array (записывать в массив и извлекать из него) . Чет немного туплю. Помогите

Массив — это набор однотипных элементов.

К однотипным элементам могут быть отнесены
— числовые данные (Byte, Word, Integer, Real и т. д.) ;
— символьные (Char) или булевые (Boolean);
— строки (String)
— записи (Record)
— ссылки.

Единственное ограничение, это ограничение на размер отводимой паскалем под переменные памяти.
Если не ошибаюсь, в 64 килобайт.
Т. е. если создать массив из 32768 целочисленных переменных (или 256 типа String), то уже для других не останется свободной памяти!

«Записывать» данные в массив и получать точно так-же как и в простые переменные:

N := 1; { переменной N присвоили значение 1 }
Arr[1] := 2; { ячейке 1 массива Arr присвоили значение 2 }
Arr[3] := 5; { ячейке 3 массива Arr присвоили значение 5 }
N := Arr[3]; { переменной N присвоили значение ячейки 3 массива Arr }
WriteLn(N); { выводим значение переменной N равное 5 }
WriteLn(Arr[1]); { выводим значение ячейки массива равное 2 }

Преимущество использования массива в том, что к набору однотипных данных можно обращаться в цикле.
К примеру:

var Arr : array [1..5] of Byte;

for i := 1 to 5 do Arr[ i ] := i;


Так ведь проще, чем вводить 5 переменных с уникальным именем и обращаться к ним только по конкретному имени:

var A1, A2, A3, A4, A5 : Byte;

A1 := 1;
A2 := 2;
A3 := 3;
A4 := 4;
A5 := 5;


А если таких значений нужно 1000?
Денис Глазков
Денис Глазков
87 730
Лучший ответ
Элементарно. Массив - это набор переменных, имена которых содержат номер, который можно вычислять в ходе выполнения программы, чтобы перебирать эти переменные.
То есть вместо переменных a1,a2,a3... пишем a[1],a[2],a[3]... Можно при нахождении номера использовать выражения, например, a[2*i+8].
Массив объявляется не как отдельные переменные, а сразу, например, a:array[1..8]of integer;
Могут быть многомерные массивы (таблицы) типа b[1..5][1..8] с обращением к элементам b[3][4] или, что эквивалентно, b[1..5,1..8] c обращением b[3,4].
Аналогично можно создавать трех- и больше мерные массивы, соответствующие в наглядном представлениям кубам и т. д.
Азбуку программирования любую Открой, это есть на первых страницах. Не переписывать же их тебе.
Ablialim Ablaev
Ablialim Ablaev
35 996
ссылка на элемент массива преобразуется в указатель на ячейку в памяти в виде
type array[x] = type( @array + sizeof(type)*x )
где @ - указатель на ячейку памяти
type - тип переменной, тайпкаст (если используется как функция)
sizeof() - функция, возвращающая размер записи типа в байтах
многомерный массив - как массив массивов

Похожие вопросы