9. Отделы заказов в некоторых больших магазинах позволяют клиентам заказывать товары по телефону, указывая номера в каталоге. В базе данных магазина в качестве первичного ключа для поиска используется номер телефона клиента (клиенты знают свои номера телефонов, и ключи почти уникальны). Как бы вы организовали базу данных, чтобы обеспечить эффективный ввод и поиск заказов?
10. В 1401 г. инженеры фирмы Lockheed должны были передавать ежедневно около дюжины чертежей из системы автоматизированного проектирования (САПР) со своего завода в Саннивейле, шт. Калифорния, на испытательную базу в Санта Круз. Хотя оборудование было всего в 25 милях, связь с помощью курьера на автомобиле занимала около часа (из-за заторов и горных дорог) и обходилась 100 дол. ежедневно. Предложите альтернативные способы передачи данных и оцените их стоимость.
1.7. ЛИТЕРАТУРА ДЛЯ ДОПОЛНИТЕЛЬНОГО ЧТЕНИЯ
Создавая свои "Программные средства", Керниган и Плоджер (Kerni-ghan, Plauger. Softwares Tools) решили много мелких, но сложных и важных проблем программирования. Эта книга была первоначально опубликована в 1976 г. издательством Addison-Wesley. Более позднее издание со многими важными изменениями появилось в 1401 г. под названием "Программные средства на Паскале" (Software Tools in Pascal). Их подход к разработке программного обеспечения как к созданию инструментов может изменить ваши взгляды на программирование. Материал этой книги показывает, к чему следует стремиться при программировании -к программе простой структуры, которую легко использовать и сопровождать. Однако иногда авторы этой книги приводят тонкие решения трудных задач. Ссылки в предметном указателе на "алгоритмы" и "структуры данных" указывают на многие из таких жемчужин. К несчастью, изящные идеи часто описаны так просто, что читатель может подумать, что они действительно очевидны. Когда вы будете читать эту замечательную книгу, обязательно потратьте время, чтобы оценить эти жемчужины - они основываются на мощных методах.
В примере, описанном в данной главе, основная задача программиста была не столько техническая, сколько психологическая: он не мог продвинуться вперед, так как пытался решить неправильно сформулированную задачу. Мы в конце концов решили ее, прорвав его концептуальную блокаду и сведя эту задачу к более простой. Такие препятствия рассматриваются в книге "Концептуальный прорыв" Дж. Л. Адамса (James L. Adams. Conceptual Blockbusting) (второе издание выпущено издательством Norton в 1979 г.). Эта книга является мощным стимулом к развитию творческого мышления. Хотя она написана не в расчете на