Конспект лекций по программированию для начинающих. Гладков В.П. - 136 стр.

UptoLike

Составители: 

138
c : matrix1;
d : matrix2;
e,f : mas2;
g,h : array [mon..fri] of string;
В разделе описания типов описаны следующие типы данных: одномерный
массив vector, состоящий из n (12) элементов типа real; двумерный массив matrix1,
состоящий из n·n (144) логических элементов и содержащий n строк и n столбцов;
двумерный массив matrix2, состоящий из 18 элементов целого типа и содержащий
3 строки и 6 столбцов; одномерный массив mas2, состоящий из 2·n (24) элементов
типа vector, этот же массив можно рассматривать
как двумерный, содержащий 2·n
строк и n столбцов, каждый элемент которого имеет тип real (всего 288 элементов);
перечислимый тип days состоит из перечислений названий дней недели.
Обратите внимание, что вместо того, чтобы задавать размерность некоторых
массивов числом 12, вначале определена константа n, равная 12. Этот простой
прием позволяет при изменении количества элементов в массиве модифицировать
только одну строку
программы n=12.
В разделе описаний переменных объявлены следующие переменные: массив a
типа vector; одномерный массив b, содержащий 12-(- 7)+1=20 элементов типа
char; массив с типа matrix1; массив d типа matrix2; массивы e и f типа mas2 и
одномерные массивы g и h, содержащие по 5 элементов типа string, индексы этого
массива принадлежат перечислимому типу days.
Поскольку массивы в Паскале статические, то количество элементов в них
должно быть
известно в момент трансляции. Если необходимо использование
динамических массивов, то приходится описывать массивы с максимально
возможным в данной задаче количеством элементов, а затем использовать только
часть из этих элементов. Это неудобно для многих задач. Выйти из этого
положения можно с помощью динамических массивов, для организации которых
используются указатели.
Чтобы обратиться
в тексте программы к конкретному элементу массива,
необходимо указать имя массива, а затем в квадратных скобках через запятую
перечислить индексы элемента. Здесь индексы могут быть заданы выражением
соответствующего типа. При использовании выражений в качестве индекса
приходится следить за тем, чтобы значение индекса не вышло за объявленные
пределы. Поскольку не все компиляторы
Паскаля отслеживают эту ситуацию,
следить за ней приходится программисту, причем тщательно, так как выход
значения индексного выражения за объявленные границы является очень
распространенной ошибкой.
Рассмотрим примеры обращений к элементам описанных ранее массивов. К
элементу массива x[2*j-1] можно обратиться, если значение индексного выражения
(2*j-1) находится на отрезке от 1 до 10. Также можно обратиться
к элементам
массивов y и z.
Запись p['y',false] позволит обратиться к элементу массива p, находящемуся в
строке с индексом 'y' и столбце с индексом false. Также можно обратиться к
элементам массивов q, r и s.
К третьему элементу массива а можно обратиться так: a[3]. Обращение a[2*i]
будет правильным, если 2*i будет иметь значение от 1 до n (12).
                                      138

             c : matrix1;
             d : matrix2;
             e,f : mas2;
             g,h : array [mon..fri] of string;
    В разделе описания типов описаны следующие типы данных: одномерный
массив vector, состоящий из n (12) элементов типа real; двумерный массив matrix1,
состоящий из n·n (144) логических элементов и содержащий n строк и n столбцов;
двумерный массив matrix2, состоящий из 18 элементов целого типа и содержащий
3 строки и 6 столбцов; одномерный массив mas2, состоящий из 2·n (24) элементов
типа vector, этот же массив можно рассматривать как двумерный, содержащий 2·n
строк и n столбцов, каждый элемент которого имеет тип real (всего 288 элементов);
перечислимый тип days состоит из перечислений названий дней недели.
    Обратите внимание, что вместо того, чтобы задавать размерность некоторых
массивов числом 12, вначале определена константа n, равная 12. Этот простой
прием позволяет при изменении количества элементов в массиве модифицировать
только одну строку программы n=12.
    В разделе описаний переменных объявлены следующие переменные: массив a
типа vector; одномерный массив b, содержащий 12-(- 7)+1=20 элементов типа
char; массив с типа matrix1; массив d типа matrix2; массивы e и f типа mas2 и
одномерные массивы g и h, содержащие по 5 элементов типа string, индексы этого
массива принадлежат перечислимому типу days.
    Поскольку массивы в Паскале статические, то количество элементов в них
должно быть известно в момент трансляции. Если необходимо использование
динамических массивов, то приходится описывать массивы с максимально
возможным в данной задаче количеством элементов, а затем использовать только
часть из этих элементов. Это неудобно для многих задач. Выйти из этого
положения можно с помощью динамических массивов, для организации которых
используются указатели.
    Чтобы обратиться в тексте программы к конкретному элементу массива,
необходимо указать имя массива, а затем в квадратных скобках через запятую
перечислить индексы элемента. Здесь индексы могут быть заданы выражением
соответствующего типа. При использовании выражений в качестве индекса
приходится следить за тем, чтобы значение индекса не вышло за объявленные
пределы. Поскольку не все компиляторы Паскаля отслеживают эту ситуацию,
следить за ней приходится программисту, причем тщательно, так как выход
значения индексного выражения за объявленные границы является очень
распространенной ошибкой.
    Рассмотрим примеры обращений к элементам описанных ранее массивов. К
элементу массива x[2*j-1] можно обратиться, если значение индексного выражения
(2*j-1) находится на отрезке от 1 до 10. Также можно обратиться к элементам
массивов y и z.
    Запись p['y',false] позволит обратиться к элементу массива p, находящемуся в
строке с индексом 'y' и столбце с индексом false. Также можно обратиться к
элементам массивов q, r и s.
    К третьему элементу массива а можно обратиться так: a[3]. Обращение a[2*i]
будет правильным, если 2*i будет иметь значение от 1 до n (12).