Алгоритмы без программистов — это очень просто!
Гл. редактор Ю. В. Луизо Зав. редакцией Г. Г. Кобякова Художники Н. В. Пьяных, С. А. Ульянов Компьютерная подготовка оригинал-макета Ю. С. Лобанов, Т. А. Лобанова Технический редактор Л. А. Зотова Корректоры Л. И. Трифонова, Е. И. Борисова Лицензия ИД № 03590 от 19.12.2000 г. Гигиеническое заключение № 77.99.2.953.П.16308.12.00 от 01.12.2000 г. Подписано в печать 24.08.2001. Формат 60 ´ 90 1/16. Бумага офсетная. Гарнитура Таймс. Печать офсетная. Усл. печ. л. 22,5. Тираж 3000 экз. Заказ № 899. Изд. № 188 Издательство “Дело” Коммерческий отдел — тел.: 433-2510, 433-2502 E-mail: delo@ane.ru Internet: http://www.delo.ane.ru Отпечатано в Московской типографии № 6
Отзывы
[1] Применительно к сфере образования эргономический критерий Декарта есть не что иное, как требование минимизации умственных усилий учащегося, затрачиваемых на единицу прочно усваиваемых знаний, умений и навыков. [2] Когнитивная психология (психология познавательных процессов) уподобляет мозг компьютеру, исследует переработку информации человеком и рассматривает познание как “совокупность процессов переработки информации” [10]. Когнитивная наука (наука об интеллекте) — это более широкое понятие, представляющее собой сплав когнитивной психологии, психофизики, кибернетики, нейробиологии, лингвистики, математической логики и ряда других отраслей знания. [3] Императивный язык — это язык, который описывает работы и процессы, состоящие из действий, а также условия выполнения каждого действия. [4] Автоформализация — это не автоматическая формализация, а самоформализация, т. е. формализация знаний, которую человек выполняет САМ. [5] Мы используем термин “технологические знания” и в качестве синонима “императивные знания” вместо обычно употребляемого в литературе понятия “процедурные знания”, так как последнее сильно привязано к тематике искусственного интеллекта, где оно иногда трактуется слишком узко [12]. Кроме того, термин “технологические знания” соответствует развиваемой точке зрения, согласно которой технология является общим (родовым) понятием по отношению к понятиям “алгоритм” и “техпроцесс”. [6] Речь, разумеется, не идет о внутрикомпьютерных логических описаниях декларативных знаний, которые, в принципе, можно унифицировать; целесообразность подобной унификации — отдельный вопрос. [7] См.: Е. Г. Ойхман, Э. В. Попов. Реинжиниринг бизнеса: реинжиниринг организаций и информационные технологии. М.: Финансы и статистика, 1997. [8] АСУ — автоматизированная система управления. [9] Один из апостолов компьютерного мира Чарлз Хоар говорит: “Разве не привело бы нас в восторг, если бы добрая фея предложила вам взмахом своей волшебной палочки над вашей программой убрать все ошибки с одним только условием — вы должны переписать и ввести всю вашу программу три раза!” [10] Известный русский физиолог И. Сеченов считал, что исходным моментом отражения предмета является его контур, т. е. отделенность по известным граням от окружающего фона. Он называл контур “раздельной гранью двух реальностей”. [11] Требование хорошей структуры имеет некоторое сходство с законом “хорошей формы” гештальтпсихологии (законом прегнантности) [2]. [12] Блок-схема по определению содержит два основных элемента: блоки (фигуры с замкнутым контуром, внутри которых помещается текст) и соединяющие их линии. Блок-схема — широкое понятие, которое охватывает схемы алгоритмов и программ, схемы декомпозиции, схемы зависимости, схемы “сущность—связь”, схемы потоков данных и т. д. [13] Это связано с тем, что в нашем мозгу имеются специальные нейронные механизмы “для сегментации поля зрения, т. е. для разбиения его на участки, имеющие зрительно-смысловое значение” [4]. [14] Два алгоритма называются эквивалентными, если они дают одинаковые результаты для одних и тех же исходных данных. [15] Доказательство теорем 1 и 2 предоставляем читателю. Указание: необходимо опереться на теорему о структурировании и метод Ашкрофта—Манны [5, 6]. [16] Правило “главный маршрут идет по шампуру” — это необходимое, но отнюдь не достаточное условие эргономичности алгоритма. Другое условие — эргономизация текста. Вопрос “Ноги короче, чем брюки?” звучит вычурно, противоестественно и сбивает с толку читателя. Вместо него следует написать: “Брюки слишком длинные?” В итоге получим действительно понятный и эргономичный алгоритм. [17] Здесь необходимо уточнение. В дракон-схемах слова “да” и “нет” записываются только у выходов иконы “вопрос” и больше нигде. В следующей главе будет показано, что язык ДРАКОН не нуждается в специальных обозначениях для значений логических переменных. Использование слов “да” и “нет” в качестве значений переменных — это скорее педагогический прием для облегчения объяснений, а не принадлежность языка. [18] Указанное выражение можно еще больше упростить — вынести член ┐E за скобки, однако для наших целей это несущественно. [19] Авторами дракон-схем на рис. 105—107 и изображенной на них методологии являются В. Болнов, Д. Шипов и В. Кууль. [20] Автором данного параграфа является главный эргономист Московского вертолетного завода, член Международного эргономического общества А. Макаркин. [21] Как видно из рис. 131, предложенная Дейкстрой форма иконы “вопрос” (?) и конструкции “переключатель” (case), а также топология соединительных линий при переходе к языку ДРАКОН подверглись модернизации и эргономическим улучшениям. В частности, стремясь реализовать третий принцип (принцип единой вертикали), Дейкстра использует “внутренние” наклонные линии и избыточные изломы, что нарушает эргономическую гармонию рисунка. Чтобы устранить эти погрешности, в язык ДРАКОН внесены необходимые уточнения. Например, в блок-схеме конструкции repeat-until Дейкстра использует пять изломов и одну наклонную линию; в дракон-схеме всего два излома, а наклонных отрезков нет вовсе — см. нижний ряд на рис. 131. [22] В дальнейшем мы будем нередко использовать приставку “видео”, трактуя ее как “относящийся к визуальному программированию” или “относящийся к визуальному представлению знаний”. [23] В последнем случае для обозначения блок-схем иногда используют термин “органиграммы”. [24] Заметим, что силуэт на рис. 136 можно интерпретировать как детерминированный конечный автомат [19], показанный на рис. 137 (входной алфавит и переходная функция автомата не показаны). [25] Оперативная единица восприятия — это семантически целостное образование, формирующееся в результате перцептивного обучения и создающее возможность практически одноактного, симультанного и целостного восприятия объектов внешнего мира независимо от числа содержащихся в них признаков [1]. [26] Как и древние греки, Виет придерживался правила: сторону можно складывать только со стороной, квадрат — с квадратом, куб — с кубом и т. д. Поэтому для придания уравнению однородности Виет после входящих в него параметров писал planum (плоскость), solidum (тело) и т. д. [27] Декарт не мог этого сделать, поскольку он не знал действительных чисел. Последнее понятие появляется только в трудах Ньютона, который впервые провел арифметизацию алгебры, окончательно отделив ее от геометрии. [28] Обобщая, можно сказать, что любой рисунок в этой книге, а также его достаточно крупная смысловая часть также является суперзнаком. [29] Игра слов: деизм — религия разума эпохи Просвещения; с другой стороны, [30] По соображениям удобства на рис. 140 мы изображаем сопровождающую матрицу в транспонированном виде. [31] Экстероцептор — биологический датчик информации (рецептор), передающий в мозг информацию об окружающем мире. [32] Проприоцептор — биологический датчик, расположенный в тканях мышечного и суставного аппарата, воспринимающий их растяжение и сокращение и передающий в мозг информацию о положении мышц и суставов. Благодаря этой информации человек может, например, с закрытыми глазами попасть пальцем в кончик носа. [33] Интероцептор — биологический датчик, передающий в нервную систему информацию о состоянии внутренних органов (желудок, легкие, сердце и т. д.). Эта информация необходима для работы систем автоматического (бессознательного) управления пищеварением, дыханием, кровообращением и т. д. [34] См.: Р. Флиндт. Биология в цифрах. М.: Мир, 1992. С. 248, 277.
|