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

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

8.5. ЗАДАЧИ
1.   В программе идентификации символов, приведенной в данной главе, предполагалось, что классы символов не пересекались. Как бы вы на­писали подпрограмму для проверки принадлежности в пересекаю­щихся классах, таких как строчные буквы, прописные буквы, цифры и алфавитно-цифровые символы?
2.  Напишите фрагмент программы, которая по заданному N (степени числа 2) устанавливает начальное значение в массиве CountTable [О ... N - 1], как это описано в данной главе.
3.   Как себя "будут вести" различные алгоритмы двоичного поиска, если их применить (вопреки спецификации) к неупорядоченным мас­сивам?
4.  На заре программирования Ф. Брукс столкнулся с проблемой пред­ставления большой таблицы на компьютере с небольшим объемом па­мяти. Он не мог хранить всю таблицу, так как места хватало только на то, чтобы представить каждый элемент в виде нескольких битов (фактически на каждый элемент отводилась только одна десятичная цифра - я ведь сказал, что это было очень давно!). Альтернативный подход заключался в использовании численного анализа, чтобы по­добрать функцию, соответствующую этой таблице. В результате зна­чения функции были весьма близки к табличным (ни одно значение не отличалось более чем на пару единиц от истинного). На ее реализа­цию потребовался крайне малый объем памяти, но в силу реальных ограничений зта аппроксимация не оказалась достаточно хорошей. Как мог бы Брукс получить требуемую точность при ограниченной памяти?
5.  Типичный пример последовательного поиска для определения того, есть ли элемент Т в массиве X [1 ... N], был приведен в задаче 9 гл. 4.
I := 1
while I <= M and ХСП ф Т do I := 1+1
При общепринятом способе оптимизации программы ее работу уско­ряют, помещая элемент Т на "сторожевую позицию" в конец массива.
ХСМ+13 := Т
I :; 1
while ХСП Ф Т do I := 1+1
Исключение проверки I < N обычно уменьшает время работы прог­раммы на 20 - 30 %. Реализуйте эти две программы и измерьте время их работы в своей системе.
115


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