Тема: Двумерные массивы. Записи.

 

План занятия:

  1. Матрицы – двумерные массивы.
  2. Описание двумерных массивов.
  3. Ввод-вывод двумерных массивов.
  4. Обработка двумерных массивов.
  5. Комбинированный тип. Записи.
  6. Описание записей.
  7. Операции с записями.
  8. Оператор With.

Скачать:

ВложениеРазмер
Microsoft Office document icon lekciya_7.doc33.5 КБ

Предварительный просмотр:

Лекция №9

Тема: Двумерные массивы.  Записи.

План занятия:

  1. Матрицы – двумерные массивы.
  2. Описание двумерных массивов.
  3. Ввод-вывод двумерных массивов.
  4. Обработка двумерных массивов.
  5. Комбинированный тип. Записи.
  6. Описание записей.
  7. Операции с записями.
  8. Оператор With.

  1. Матрицы – двумерные массивы

В математике очень распространено такое понятие, как матрица. Матрица – это таблица из коэффициентов A=(aij). Элементы матрицы образуют столбцы и строки. Первый индекс ( i ) указывает номер строки, второй ( j ) – номер столбца, на пересечении которых находится элемент aij.

 

Определим некоторые действия над матрицами.

  1. Две матрицы равны, если равны все элементы, стоящие в одинаковых местах.
  2. Суммой двух матриц A=(aij) и B=(bij) называется матрица С=(сij), где сij= aij+bij;
  3. Произведением матрицы A=(aij) на число L  называют матрицу, у которой каждый элемент равен произведению соответствующего элемента матрицы А на число L.

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

  1. Описание двумерных массивов

Описание двумерных массивов отличается от описания одномерных массивов только тем, что в мы указываем начальное и конечное значение для обоих индексов.

Array[n1..n2,m1..m2] Of Базовый Тип;

n1, n2 – начальное и конечное значения первого индекса;

m1, m2 – начальное и конечное значения второго индекса.

Вообще, мы можем описать не только двумерные, но и трех-, четырех-, … -мерные массивы, для этого необходимо указать через запятую начальные и конечные значения для каждого индекса.

  1. Ввод-вывод двумерных массивов

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

Ввод массива:

 For i:=1 To n Do

                For j:=1 To m Do

                        Read(A[i,j]);

Вывод массива:

For i:=1 To n Do

                Begin

                        For j:=1 To m Do

                                Write(A[i,j]:3);

                        Writeln;

                End;

  1. Обработка двумерных массивов.

Для обработки двумерных массивов также используются два вложенных цикла.

Пример.

Найти произведение массива А на число L.

For i:=1 To n Do

   For j:=1 To m Do

       A[i,j]:=A[i,j]*L;

  1. Комбинированный тип. Записи

Программирование часто используют для моделирования каких-либо объектов  или явлений. Для того, чтобы смоделировать объект, необходимо указать его характеристики. Так, например, объект окружность имеет такие характеристики, как координаты центра, радиус, объект преподователь имеет такие характеристики, как фамилия, имя, отчество, название предмета, который он преподает, номер группы, у которой он ведет свой предмет.

Указывать характеристики (свойства) объектов в программе гораздо удобнее, если все свойства одного объекта объединить в одну группу. Для этого в языке Паскаль существует такой тип, как записи. Запись – комбинация объектов разного типа. Составляющие запись характеристики называются полями. В записи каждое поле имеет свой идентификатор (имя). Так, например, полями для типа круг будут х,у, R.

  1. Описание записей

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

<имя типа>=record

                        имя поля1:тип поля1;

                        имя поля2:тип поля2;

                        .

                        .

                        .

                        end;

Здесь record и end – служебные слова.

Поля могут иметь любой тип, в том числе они могут быть массивом или записью. В разделе описания переменных, мы можем описать переменные этого типа, например.

Type

Round=record

                x,y:Real;

                R:Real;

                End;

Var

Circle1,Circle2:Round;

Krugi:Array[1..5]Of Round;

  1. Операции с записями

Можно присвоить переменной типа запись только значение переменной такого-же типа, т.е.

Circle1:=Circle2;

Circle2:=Krugi[1];

Krugi[5]:=Krugi[3];

(см. Описание записей)

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

Circle1.x:=5;

Circle1.y:=8;

Circle1.R:=2;

Read(Krugi[i].R);

Writeln(Krugi[i].x);

И т.д.

  1. Оператор With

Легко заметить, что постоянно указывать имя записи – не очень удобно, чтобы облегчить работу программиста, существует оператор With. Так часть программы

Circle1.x:=5;

Circle1.y:=8;

Circle1.R:=2;

может выглядеть следующим образом.

With Circle Do

 Begin

    X:=5;y:=8;R:=2;

End;

Общий вид оператора With выглядит следующим образом:

With имя переменной Do

      Оператор;

With, Do –служебные слова.

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