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.        


 

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

54071. Здоровым и грамотным должен быть каждый! Логопедическая спартакиада 63.5 KB
  Скачет лягушонок Дети хлопают в ладоши Квакваква прыгают на месте Плавает утёнок хлопают в ладоши Крякрякря Ставят руки к груди и разводят в стороны. Прыгает козлёнок Хлопают в ладоши Ме – ме ме Ставят руки на пояс наклоняются вперёд А за ним ягнёнок Хлопают Бе – бе – бе приседают Вот мы на зарядке Хлопают Раз дватри Прыгают на месте Все вокруг стараются Хлопают Спортом занимаются Шагают на месте Эстафета Собери букву По команде: Марш первый учащийся с мячом в руках бежит к обручу. Звуковая разминка...
54072. Логопедичне заняття. Осіння лісова галявина 210.5 KB
  Логопедичне заняття Вид. Виховувати вміння слухати вказівки логопеда. Логопед. Діти а зараз давайте пограємо в гру З якого дерева листочок Логопед показує дітям листочок а діти називають.
54073. Звук "ш". Лісова школа (Старша логопедична група) 1.38 MB
  Формувати в малят уявлення про навчання в школі ознайомити із звуком ш акустичною характеристикою; закріпити вміння ділити слова на склади визначати звук який найчастіше звучить у вірші аналізувати слово з допомогою звукових фішок пригадувати слова зі звуком ш ; узгоджувати числівники з іменниками в орудному відмінку; розвивати фонематичні процеси слуховий контроль. Обладнання: фішки для звукового аналізу шишкикартинки картинки з предметами у множині іграшка Лунтик...
54074. Логопедичні міні-заняття як дієва форма корекційно-розвивальної роботи з дітьми дошкільного віку 196 KB
  Наприклад вправа Хто летить хто не летить Учительлогопед промовляє вірш а діти пантомімою зображують: Хто летить хто не летить. Так швиденько покажіть Хто летить хто не летить. Летить летить воронаЛетить летить корова Летить летить шпак Летить летить грак. Летить летить горобчик.
54075. ЛОГОПЕДИЧНА РОЗВАГА «СВЯТО БЕРЕЖЛИВОСТІ» 140 KB
  Закріпити словник споріднених слів гончар гончарство гончарський гончарний гончарня; уточнити та розширити словник антонімів чистий брудний святковий буденний повсякденний натуральна природна штучна однотонна різнокольорова теплий холодний літній зимовий новий старий рвати штопати бруднити ...
54076. Подорож Кораблем Часу. Логопедична розвага 127.5 KB
  Логопедична розвага Подорож Кораблем Часу Мета: узагальнити знання дітей про пори року вчити описувати їх; уточнити та закріпити словник синонімів омонімів та прислів’я; розвивати фонематичний слух вміння утворювати присвійні прикметники від іменниківназв диких звірів вміння ділити слова на склади підбирати слова з певною кількістю складів; удосконалювати навички звукового аналізу і синтезу слів; продовжувати розвивати дрібну моторику рук вміння працювати як правою так і лівою...
54077. Использование вектора на логопедических занятиях 216 KB
  Для пропедевтики оптической дисграфии в первую очередь необходимо использовать задания, направленные на развитие зрительно-пространственных представлений и зрительно-моторных координаций.
54078. Взаємозв’язок логопеда та родини у корекційно-відновлювальній роботі з дітьми логопатами 32.5 KB
  Одне з важливих завдань професійної діяльності вчителя логопеда дитячого дошкільного навчального закладу є залучення батьків до проведення роботи із дітьми – логопатами по закріпленню засвоєного матеріалу на корекційно відновлювальних заняттях. Оволодіння дитиною мови успішно йде тоді коли з ним займаються не тільки в дошкільному закладі але і в сім'ї: Передумовою ефективного залучення сімейного оточення до корекції звуковимови у дітей є чітко організована взаємодія логопеда з батьками регулярна...
54079. Зима 36.5 KB
  Матеріали: дзеркала на кожну дитину вітрячки сніжинки ілюстрації зими сніжинки чарівна паличка мікрофон предметні картинки музика Моцарта п’єса Сніжинки музика до пісні Сніжокпушокавтор не відомий бубон Хід заняття. Сніжинки. Логопед торкається паличкою до кожної дитини повідомляє що вони тепер сніжинки. А тепер мої сніжинки давай подорожувати та про зиму розповідати.