50097

Массивы. Линейные массивы. Двухмерные массивы – матрицы. Многомерные массивы

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2014-01-15

42 KB

3 чел.

PAGE  2

Лабораторная работа № 8

Массивы.

Линейные массивы.  Двухмерные массивы – матрицы. Многомерные массивы.

1. ОПИСАНИЕ ТИПА

На языке ПАСКАЛЬ можно обрабатывать не только отдельные переменные, но и их совокупности. Одной из таких совокупностей является массив. Массив - это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. Можно использовать и любой другой ранее описанный тип, поэтому вполне правомерно существование массивов записей, массивов указателей, массивов строк, массивов и т. д. Элементами массива могут быть данные любого, но только одного типа, включая структурированные. Тип элементов массива называется базовым, число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.

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

Дли описания массива предназначено словосочетание

Array  [нач.индекс .. конечный индекс ] of  Тип  

Формат:

Туре

<имя типа> = аrrау [тип индекса]  of  <тип компонент];

Var

<идентификатор,…> :   <имя типа>;

Массив может быть описан и без представления типа в разделе описания типов данных:

Var

< идентификатор,….> :  аrrау [тип индекса]  of  <тип компонент>

Пример:

Туре

Znak = array[1.. 255] of char;

Var

Мatrica:  array[l.. 4] of Znak;

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

Пример.

Type

Vector = array[l.. 4] of integer;

Massiv = array[1..4] of Vector;

Var

Matr : Massiv;  {матрица}

Trmer: array[1..6] of Massiv;  {трехмерный массив}

Ту же структуру можно получить, используя другую форму записи:

Var

Matr :  array [1. .4,1. .4] of integer;   Trmer: array [1..6, 1..4, 1..4] .

Если в такой форме описания массива задан один индекс, массив называется одномерным, если два индекса – двухмерным, если n индексов, n-мерным. Размерность ограничена только объемом памяти конкретного компьютера. Однако любой компьютер имеет фиксированный объем памяти, поэтому многомерные массивы могут быстро его заполнить. Здесь программист должен пойти на компромисс между требованиями задачи и реальным объемом оперативной памяти. В любом случае лучше рассчитывать объем памяти для массивов заранее и сохранять его на разумном уровне. Двухмерные массивы обычно используются для представления матриц.

Для описания массива можно использовать предварительно определенные константы:

Const

G1 = 4;  G2 = 6;

Var

MasY : array[1.. G1,   1.. G2]  of   real;

Элементы массива располагаются в памяти последовательно. Элементы с меньшими значениям индекса хранятся в более низких адресах памяти. Многомерные массивы располагаются таким образом, что самый правый индекс возрастает самым первым. Например, если имеется массив

А : array[l. .5,1. .5] of integer;

то в памяти элементы массива будут размещены по возрастанию адресов:

А [1,1]     А[1,2]  …  А[1,5]  

А [2,1]     А[2,2]  …  А[2,5]

.  .  .

                               А[5,5]

С массивами в целом можно выполнять только присваивание. Работают операции отношения  =, <>. При этом массивы должны быть одного типа, например: 

b := a;

Все остальные действия выполняются с отдельными элементами массива. Для обращения к элементу массива после имени массива указывается номер элемента в квадратных скобках:

a[4]    b[i]

С элементом массива можно делать все, что допустимо для переменных того же типа.

Пример

Упорядочивание по возрастанию элементов массива из 20 целых величин.

Для сортировки будем использовать метод выбора. Алгоритм состоит в том, что сначала выбирается наименьший элемент массива и меняется местами с первым элементом, затем просматриваются элементы, начиная со второго, и наименьший из них меняется местами со вторым элементом, и так далее n – 1 раз. На последнем проходе цикла при необходимости меняются местами предпоследний и последний элементы массива.

Program sort;                         { Сортировка выбором }

const n = 20;

var a : array [1 .. n] of integer;

   i, j, nmin, buf : integer;

begin

   writeln('Введите ', n, ' элементов массива');

   for i := 1 to n do

Begin

Write(‘a’,i);

readln(a[i]);

end;

   for i := 1 to n - 1 do begin      { просмотр массива n-1 раз }

       nmin := i;

       for j := i + 1 to n do        { поиск минимума }

           if a[j] < a[nmin] then nmin := j;

           buf := a[i];              { перестановка }

           a[i]:= a[nmin];           { двух }

           a[nmin]:= buf;            { элементов массива }

       end;

       writeln('Упорядоченный массив:');

       for i := 1 to n do write(a[i]:5)

end.        


 

А также другие работы, которые могут Вас заинтересовать

14292. Фотоаппараты. Музыкальные инструменты 158 KB
  Тема 6 Фотоаппараты. Музыкальные инструменты Лекция 10 1 вопрос Особенности сервисного обслуживания фототоваров Сервисное обслуживание фототоваров имеет существенные отличия связанные со спецификой данной товарной группы и включает разнообразные услуги от серви
14293. Музична культура 217 KB
  Тема 12 Музична культура. 10 клас. 2930 Національна хорова і музичнопісенна культура представлена професійними колективами Думка1930 Трембіта 1951 український народний хор під керівництвом Г. Верьовки. 1989 початок конкурсу хорів ім.. М. Леонтовича. 1923-1928 респуб
14294. Морально-дидактическое понимание музыки в Средневековье 52 KB
  Моральнодидактическое понимание музыки в Средневековье Период Средневековья в Западной Европе начинается с распада Римской империи. Он охватывает период 515 века. В это время пишется множество философских и музыкальных трактатов посвященных проблемам музыкальноэ
14295. МУЗЫКАЛЬНОЕ ОБРАЗОВАНИЕ В ЭПОХУ ВОЗРОЖДЕНИЯ 49.5 KB
  МУЗЫКАЛЬНОЕ ОБРАЗОВАНИЕ В ЭПОХУ ВОЗРОЖДЕНИЯ Эпоха Возрождения Ренессанса фр. отразила социальные изменения при переходе от феодального к буржуазному обществу. Эпоха эта не имеет точных исторических границ но ее характерные черты проявились уже в 14 в. в Италии и Фр...
14296. МУЗЫКАЛЬНОЕ ВОСПИТАНИЕ В ЗАПАДНОЙ ЕВРОПЕ В 17-18 ВЕКАХ 51.5 KB
  МУЗЫКАЛЬНОЕ ВОСПИТАНИЕ В ЗАПАДНОЙ ЕВРОПЕ В 1718 ВЕКАХ Период 1718 вв. в истории европейской цивилизации во многих областях становится рубежным и определяющим. Интенсивно развивается наука: великие открытия совершают Г.Галилей И.Ньютон Р.Декарт Ф.Бэкон Б.Спиноза Как н...
14297. Музыкальная драматургия в увертюре «Эгмонт», фрагменте сонаты № 14, Л.В. Бетховена 85.5 KB
  Урок музыки в 7 классе тема урока: Тема урока: Музыкальная драматургия в увертюре Эгмонт фрагменте сонаты № 14 Л.В. Бетховена. Цель урока: формирование понятия музыкальная драматургия через исполнение ...
14298. Русские народные музыкальные инструменты 35.5 KB
  Русские народные музыкальные инструменты Цель: Познакомит с русскими народными инструментами Задачи: учить определять и различать русские народные инструменты; развивать тембровый и ритмический слух учащихся; воспитывать интерес и любовь к русскому фоль...
14299. Владимир Яковлевич Шаинский 48 KB
  Владимир Яковлевич Шаинский Владимир Яковлевич Шаинский российский и советский композитор. Народный артист РСФСР 1986 год. Лауреат Государственной премии СССР 1981 год. Известен как автор нескольких десятков песен для детей в том числе музыки для мультфильмов...
14300. Влияние музыки на организм человека 147.45 KB
  Курсовая работа по общей психологии на тему: Влияние музыки на организм человека Введение Данная курсовая работа является попыткой раскрыть и объяснить особенности реакции человеческого организма на определённые звуковые раздражители а точнее от прослу...