Высокоуровневые методы информатики и программирования. Степанов А.Г. - 26 стр.

UptoLike

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

26
ных вида Налог_запись_2, однако и в этом случае мы должны будем индивидуально
описать последовательность манипуляций с ячейками памяти для каждого сотруд-
ника, включенного в список. Для нашего примера это вполне возможно, но реальный
список может состоять, например, из 100 фамилий.
Кроме всего прочего, каждый раз при изменении количества сотрудников мы
должны корректировать объявления переменных и, возможно, делать добавления в
текст программы. Программирование существенно упростится, если ввести в рас-
смотрение массивы данных, имеющие смысл Начислено(1 To 4), Налог(1 To 4),
К_выдаче(1 To 4) и рассматривать их элементы с одинаковыми номерами как записи,
относящиеся к сотруднику, имеющему соответствующий идентификационный номер.
На первый взгляд этот способ ничем существенным не отличается от использования
идентификаторов одиночных переменных с номерами, однако если вспомнить, что
существует возможность обращения к элементу массива с использованием иденти-
фикатора другой переменной, то можно рассматриваемую задачу попытаться опи-
сать и в общем виде.
Пример 7. В общем виде выражение для вычисления величины суммы к вы-
даче для каждого сотрудника может быть записано как:
К_выдаче(i) = Начислено(i) – Налог(i)
Здесь символом = обозначена операция присваивания результата вычисле-
ний в правой части оператора ячейке, указанной в левой части. Во время выполне-
ния этой операции старое содержимое ячейки К_выдаче(i) теряется и она получает
новое значение. В то же время символ есть символ операции вычитания.
Если организовать повторения вычислений по этой формуле столько раз,
сколько сотрудников имеется в списке для последовательно изменяющихся значе-
ний индекса i, то рассматриваемая задача может быть решена заметно проще, чем в
случае объявления одиночных переменных.
Иногда приходится создавать массивы, размер которых невозможно опреде-
лить на этапе компиляции программы. В нашем примере нам может быть неизвестно
общее число сотрудников, для которых должна быть начислена зарплата. Конечно,
можно объявить массивы с запасом, так, чтобы номер максимального элемента мас-
сива был заведомо большим максимально возможного числа сотрудников, допустим
100 человек. Однако такой прием приводит к нерациональному распределению па-
мяти. Альтернативой является метод динамического объявления размера массива.
В этом случае конкретный размер массива вычисляется в процессе выполнения про-
граммы и память для хранения данных отводится тоже во время выполнения. Чтобы
воспользоваться этим методом, необходимо первоначально объявить массив без