Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Теоретическая часть. Массив – фиксированное количество упорядоченных однотипных компонент, снабженных индексами



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

Объявление типа массива:

<имя типа>= array [<тип индекса(сов)>] of <тип компонент>;

Пример 8:

type Arr=array [1..3] of Real; Matrix=array [1..3,1..2] of Integer;

Вместо квадратных скобок можно использовать круглые скобки с точкой:

type Arr=array (.1..3.) of Real;

Компоненты массива могут быть любого (в том числе структурированного) типа.

Индекс может быть любого порядкового типа, кроме LongInt. При использовании в качестве индекса Integer или Word можно использовать лишь их диапазон.

Описание переменных-массивов производится либо в разделе описания переменных:

var M1, M2: Arr; Matr: Matrix; M4, M5: array [1..3] of Real;

либо в разделе описания констант:

const M3: Arr=(1,2,3); Mat: Matrix=((1,2),(3,4),(5,6));

Здесь M1, M2 – массивы уже объявленного типа Arr, M3 – массив-типизированная константа, M4, M5 – тип массива описывается в разделе переменных var. В последнем случае массивы M4, M5 не идентичны типу Arr, им нельзя присваивать значения других массивов.

Доступ к элементам массива осуществляется указанием имени массива, за которым в квадратных скобках указывается значение индекса (см. пример 9).

Пример 9:

writeln(M1[2]); writeln(Matr[X, Y]); X:= M2[Succ(I)];

Присвоение другого массива возможно только для массивов идентичного типа! Для массивов, описанных в примере 10 допустим оператор A:=B, недопустим C:= A;

Пример 10:

var A, B: array [1..5] of Integer; C: Array[1..5] of Integer;

Пример 11:

var Si: array [0..100] of Real; X, Step: Real; i: Integer; begin Step:= 0.1; X:=0; for i:= 0 to 10 do begin Si[i]:= Sin(X); X:= X + Step; end; end.

В примере 11 производится вычисление значений функции sin(x) на отрезке [0, 10] с шагом 0.1 и помещение их в массив Si.

Пример 12.

var A: array [1..5,1..5] of Real; i, j: Integer; begin for i:= 1 to 5 do for j:= 1 to 5 do begin write('A[',i,',',j,']='); readln(A[i,j]); end; for i:= 1 to 5 do begin for j:= 1 to 5 do write(A[i,j]:10:2); writeln; end; end.

В примере 12 вводятся элементы двумерного массива и выводятся на экран в виде таблицы значений.

Варианты заданий

  Вычислить сумму элементов на побочной диагонали двумерного массива.
  Вычислить сумму элементов, находящихся выше главной диагонали двумерного массива.
  В одномерном массиве поменять местами максимальный и минимальный элементы.
  В двумерном массиве поменять местами столбцы с максимальным и минимальным элементами.
  В двумерном массиве поменять местами строки с максимальным и минимальным элементами.
  Упорядочить элементы массива по возрастанию.
  Подсчитать количество пар одинаковых соседних элементов в одномерном массиве.
  Инверсировать одномерный массив (расположить его элементы в обратном порядке).
  В двумерном массиве (NxN) произвести зеркальную перемену элементов относительно главной диагонали.
  В двумерном массиве (NxN) произвести зеркальное отражение относительно горизонтальной оси симметрии.
  В двумерном массиве (NxN) произвести зеркальное отражение относительно вертикальной оси симметрии.
  В двумерном массиве (NxN) произвести зеркальное отражение относительно побочной диагонали.
  Определить, сколько раз один одномерный массив встречается в другом.
  Повернуть двумерный массив на 90о по часовой стрелке.
  Повернуть двумерный массив на 90о против часовой стрелки.
  В двумерном массиве (NxM) найти и вывести максимальные элементы по столбцам с указанием значения и местоположения.
  В двумерном массиве (NxM) найти и вывести максимальные элементы по строкам с указанием значения и местоположения
  Перемножить 2 матрицы (NxM) по правилам матричного произведения.

Требования к оформлению отчета приведены в разделе "Содержание и оформление отчета".





Дата публикования: 2015-04-07; Прочитано: 221 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...