Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие массива. Способы ввода массивов




Массив – это упорядоченная последовательность однообразных данных, объединенных под одним именем.

Элементами массива могут быть данные любого типа, включая структурированные.

Тип элементов массива называется базовым. Особенностью языка Паскаль является то, что число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.

Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует совокупность номеров (индексов), определяющих его местоположение в общей последовательности. Доступ к каждому отдельному элементу осуществляется путем индексирования элементов массива. Индексы представляют собой выражения любого скалярного типа (чаще целого), кроме вещественного.

Тип индекса определяет границы изменения значений индекса. Для описания массива предназначено словосочетание array of (массив из).

Одномерные массивы

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, или одномерным.

<имя массива>:= array [<количество элементов>] of <тип переменной>;
Каждый элемент массива в общем виде описывается как А[I], где
А-имя массива, I - номер или индекс массива (0<=I<=N, но практически употребляется 1<=I<=N) A[I] - значение элемента массива.

var i:integer;

a:array[1..10] of string[10];

begin

for i:=1 to 10 do

a[i]:=GetSubStr(Edit1.text,' ',i);

end;

Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А — имя массива, I — индекс (номер) строки,
J — индекс (номер) столбца.

Матрицу можно задать двумя способами:

<имя матрицы>: array [<количество строк>] of array [<количество столбцов>] of <тип переменной>;

<имя матрицы>: array [<количество строк >,<количество столбцов>] оf <тип переменной>].

Соотношение индексов в квадратной матрице

I=J элементы матрицы расположены на главной диагонали
I<J элементы матрицы расположены над главной диагональю
I>J элементы матрицы расположены под главной диагональю
I+J=N+I элементы матрицы расположены на побочной диагонали (N — количество строк или столбцов в квадратной матрице)
I+J<N+I элементы матрицы расположены над побочной диагональю
I+J>N+I элементы матрицы расположены под побочной диагональю [9].

Рассмотрим процедуры, которые бы формировали одномерный массив двумя способами:
1) случайным образом,
2) вводом элементов с клавиатуры.
Предположим, что мы будем работать с массивом целых чисел. Пусть нам достаточно иметь максимальное количество элементов равное 50. Процедура принимает параметр по ссылке массив Massiv заданного типа и целую переменную n, отвечающую за количество заполняемых ячеек массива. Также нам нужна будет локальная переменная i, которая будет выполнять функции параметра цикла и использоваться для указания номера, определяющего местоположение элемента в массиве.

· Формирование одномерного массива случайным образом. Зададим значение каждого элемента результатом случайной функции Random(10). Заполнение массива зададим циклическим оператором for, в теле которого выполняется вычисление случайного числа функцией Random(10), после чего это значение присваивается очередному i-му элементу массива.

 

Type

mas=array [1..m] of integer; {массив из m целых чисел}

Procedure InsertMas1(Var massiv: mas; n:integer);

Var

i: integer;

Begin

Randomize;

for i:=1 to n do

massiv[i]:= Random(10);

End;

· Формирование одномерного массива вводом элементов с клавиатуры.

Type

mas=array [1..m] of integer; {массив из m целых чисел}

Procedure InsertMas2 (Var massiv:array; n:integer);
Var
i:integer;
Begin
for i:=1 to n do
begin
write('Введите',i,'-ый элемент массива');
readln(massiv[i]);
end;
End;

Операции работы с двумерными массивами аналогичны операциям работы с одномерными массивами, нужно только не забывать о различиях между массивами. Обычно при работе с двумерными массивами используются вложенные циклы.
Очень часто значения элементов массива вводятся с клавиатуры. Этот способ задания информации слишком трудоемок при работе с массивами больших размеров. Для отладки широкого класса алгоритмов такой ввод информации должен быть заменен на формирование элементов массива случайным образом. Для этого используют встроенные средства Турбо Паскаля, процедуру Randomize и функцию Random. Вы уже сталкивались с этими средствами. Сегодня же наша задача создать процедуры различного ввода элементов в массив и процедуру вывода элементов на экран [11].

 


 

 




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 4051; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.