МЕНЮ:
Аналитик | Постановщик задач | Проектировщик | Программист | Программист БД
Инженер по тестированию | Тестировщик | Инженер по документированию
Инженер по внедрению | Инженер поддержки | Менеджер проекта | Менеджер подразделения
Менеджер по продажам | Менеджер по маркетингу | Администратор | Администратор БД
Литература | Контакты
\

Книга Жемчужены творчества программистов на IT БАЗАР

7. Для системы управления колледжем программисту требуются струк­туры данных для учета числа свободных мест на различных курсах. Каждый из 6000 учебных курсов имеет уникальный четырехзначный идентификационный номер (от 0000 до 3030) и трехзначный счетчик числа мест (от 000 до 309). После создания структуры данных на осно­ве файла, содержащего номера курсов и числа мест, программа долж­на была обработать ленту, содержащую примерно 80 000 заявок на курсы.
Рис. 1.4
/80000Л г\ ответов у
Обработка запросов
Каждый запрос с правильным номером курса либо отвергается (если соответствующий счетчик числа мест равен 0), либо удовлетворяется (в этом случае счетчик числа мест уменьшается на 1). Запросы с не­верными номерами курсов помечаются и игнорируются. После выде­ления места под объектные коды, буфера и т. п. в системе остается для пользойателя около 30 Кбайт ОЗУ. В первом варианте своей программы на Коболе программист представил описание каждого курса в виде записи на диске из 7 байтов (4 байта отведено для номе­ра курса и 3 - для счетчика числа мест). Операции обращения к дис­ку сделали бы эту структуру слишком накладной. Как вы считаете, лучший ли это способ организации информации о курсах? 8. Одна из проблем, связанная с увеличением объема программы с целью сокращения времени ее работы, состоит в том, что сама иници­ализация памяти может занять много времени. Покажите, как обойти эту проблему, разработав методику обнуления всего одномерного массива при первом обращении к нему. Вы можете использовать до­полнительную память, пропорциональную размеру массива. Так как этот метод уменьшает время инициализации за счет использования дополнительной памяти, его следует применять только тогда, когда свободное пространство дешево, время дорого, а массив разрежен­ный. (Эта задача из упражнения 2.12, помещенного в книге Ахо, Хоп-крофта и Ульмана "Разработка и анализ алгоритмов для ЭВМ" (Aho, Hopcroft, Ullman. Design and Analysis of Computer Algorithms), выпущен­ной издательством Addison-Wesley в 1974 г.
19


Страница №20
*
Зайцев нет
© "IT БАЗАР", 2003. Все права защищены. Создание: © "z-group" студия веб-дизайна, 2003.
Также может поискать работу на прямую в следуйщих организациях:
IT БАЗАР