Составляя алгоритмы, важно заботиться не только об организации действий, но и об организации объектов, над которыми производятся действия. Эти объекты называются данными. Один из самых распространенных способов организации данных - табличный.
Табличным называется расположение данных в нескольких строках одинаковой длины. Если в таблице всего одна строка, то такую таблицу называют линейной. Если таблица состоит не менее чем из двух строк, то ее называют прямоугольной.
Для обозначения таблиц используют латинские буквы. Строки таблиц нумеруются сверху вниз, а столбцы - слева направо. Элемент, расположенный на i-м месте линейной таблицы A, обозначают A (i), а элемент, расположенный на пересечении i-й строки и j-го столбца прямоугольной таблицы X, обозначают X (i, j). Например, в таблице А
A (1, 1) = 7, A (2, 3) = 0, A (3, 2) = 6, A (3, 4) = 1,2.
Табличный способ расположения данных - основной для нового исполнителя - РОБОТА-МАНИПУЛЯТОРА. Данные, с которыми работает РОБОТ-МАНИПУЛЯТОР,- это микросхемы, транзисторы и другие радиодетали. Они разложены в ячейках прямоугольного стеллажа. Каждая ячейка рассчитана на хранение только одной детали. РОБОТ снабжен грузовым отсеком для хранения деталей, взятых со стеллажа. Он может перемещаться вдоль стеллажа, переходя от ячейки к ячейке и не выходя при этом за пределы стеллажа.
Укажем список допустимых действий РОБОТА-МАНИПУЛЯТОРА:
1. Запросить наименование детали.
2. Переместиться к левой нижней ячейке стеллажа.
3. Переместиться к началу ряда.
4. Переместиться к соседней сверху (снизу, справа, слева) ячейке.
5. а) Переложить деталь из ячейки в грузовой отсек, б) Переложить деталь из грузового отсека в ячейку. (Ячейка, о которой идет речь в пунктах а) и б) - та, напротив которой находится РОБОТ.)
6. Проверить одно из следующих условий:
а) можно шагнуть вверх (вниз, вправо, влево) или нельзя;
б) есть деталь в ячейке, напротив которой находится РОБОТ, или нет;
в) совпадает наименование детали в ячейке, напротив которой находится РОБОТ, с наименованием запрошенной детали или не совпадает;
г) пуст грузовой отсек или не пуст.
Вот пример алгоритма для РОБОТА-МАНИПУЛЯТОРА. Выполняя этот алгоритм, РОБОТ запросит наименование детали, а затем соберет в грузовой отсек все такие детали из нижнего ряда стеллажа:
Запросить наименование детали.
Переместиться к началу стеллажа.
Пока можно идти вправо, повторять:
Если наименование детали, лежащей в ячейке, совпадает с наименованием запрошенной детали, то:
Переложить деталь из ячейки в грузовой отсек.
Конец ветвления.
Шаг вправо.
Конец цикла.
Если наименование детали, лежащей в ячейке, совпадает с наименованием запрошенной детали, то:
Переложить деталь из ячейки в грузовой отсек.
Конец ветвления.
Табличная форма организации данных полезна и при решении вычислительных задач. Для работы с таблицами ВЫЧИСЛИТЕЛЬ имеет следующие допустимые действия:
1. Запросить таблицу.
2. Сообщить таблицу.
После слов "таблицу" указывают обозначение таблицы, а также (например, в скобках) число строк и столбцов в ней:
Запросить прямоугольную таблицу А из 12 строк и 2 столбцов.
Запросить линейную таблицу В из 15 элементов.
Кроме того, в команде присваивания могут использоваться, кроме обычных переменных, переменные, являющиеся элементами таблиц. Номера строк и столбцов могут быть как числами, так и алгебраическими выражениями: А (1, 2), В (I + J), C(I + 1, 2 - J). Вот пример команды присваивания:
Присвоить X значение С (2) ⋅ sin (В (К) + Х).
При работе с таблицами полезна еще одна форма записи цикла - цикл "Для каждого":
Для каждого i от L до R:
P1
Р2
...
Pn
Конец цикла по i.
Выполняя этот цикл, ВЫЧИСЛИТЕЛЬ сначала присваивает i значение L. Затем он проверяет, больше ли i, чем R; если да, то цикл заканчивается (не начавшись), если нет, то ВЫЧИСЛИТЕЛЬ выполнит действия P1, Р2, ..., Рn, число i увеличивается на 1, и для этого нового значения i повторяется тело цикла до тех пор, пока i не превзойдет R. Разумеется, можно использовать другие обозначения для "счетчика" и границ цикла. Кроме того, вместо L и R можно писать алгебраические выражения или просто числа. Переменная i выступает в роли "счетчика".
Чтобы ВЫЧИСЛИТЕЛЬ, имитируемый с помощью ЭВМ, был способен работать с таблицей, в начале программы нужно сообщить размеры таблицы. Это делают командой
ТАБЛИЦА...,
где вместо многоточия пишут имя таблицы и ее размеры в круглых скобках. По этой команде ЭВМ резервирует в памяти место, где будет размещаться таблица.