- •Оглавление
- •Глава 1. На подступах к новому языку 28
- •Глава 2. Можно ли создать язык, улучшающий понимание и взаимопонимание? 35
- •Глава 3. Соображения, повлиявшие на создание языка дракон 39
- •Глава 4. Понимание и взаимопонимание — ключевые проблемы информатики 58
- •Глава 5. Проблема улучшения работы ума: новый когнитивный подход 65
- •Глава 6. Изюминки языка дракон 80
- •Глава 7. Эргономичные алгоритмы 104
- •Глава 8. Визуализация циклов 126
- •Глава 9. Визуализация логических формул 143
- •Глава 10. Что такое эргономичный текст? 154
- •Глава 11. Визуальные операторы реального времени 165
- •Глава 12. Дружелюбное программирование 177
- •Глава 13. Человеческая деятельность и формализация знаний: живописные примеры 194
- •Глава 14. Визуальный дракон-редактор 226
- •Глава 15. Описание визуального синтаксиса языка дракон 236
- •Глава 16. Визуальное структурное программирование 245
- •Глава 17. Исчисление икон и попытка предсказать будущее 267
- •Глава 18. Место языка дракон в системе человеческой культуры 282
- •Глава 19. Возможна ли эргономизация математики? 302
- •Глава 20. Можно ли стать интеллектуальным суперменом? 326
- •Маленькая увертюра
- •Легкомысленный словарик
- •Третий глаз для бизнесменов и руководителей
- •Интеллектуальный терроризм: фантазия или реальность?
- •Почему умные люди страдают и гибнут?
- •Разве такая проблема существует?
- •Информационный стресс — зловещий спутник информационного общества
- •Камикадзе умственного труда
- •Что такое интеллектуальный терроризм?
- •Гуманитарная постановка задачи
- •Компьютерная мифология: облегчают ли компьютеры умственный труд?
- •Что такое интенсификация интеллекта?
- •Критерий декарта и эргономизация науки
- •О чем эта книга?
- •Секреты мудрого дракона: объяснение на пальцах
- •Притча о том, как Господь Бог языки создавал
- •Смена терминов или изменение концепции?
- •Самая сложная вещь на свете
- •Зачем дракону две головы?
- •Справка о состоянии дел
- •На подступах к новому языку
- •Зачем нужен язык дракон?
- •В чем секрет дракона? — в когнитивном подходе
- •Почему люди не интересуются собственным мозгом?
- •Станет ли дракон чемпионом мира по критерию “понимаемость алгоритмов”?
- •На кого рассчитан язык дракон?
- •Перечень задач, решаемых с помощью языка дракон
- •Можно ли создать язык, улучшающий понимание и взаимопонимание?
- •Почему специалисты не понимают друг друга?
- •Язык дракон как “эсперанто” делового мира
- •Что такое интеллектуальное взаимопонимание?
- •В чем особенность дракона?
- •Соображения, повлиявшие на создание языка дракон
- •Что важнее: компьютеры или человеческий мозг?
- •Что такое производительность умственного труда?
- •Зависит ли производительность персонала от производительности компьютеров?
- •Можно ли увеличить скорость работы человеческого мозга?
- •Проблема формализации профессиональных знаний
- •Можно ли обойтись без когнитологов?
- •Чем отличается алгоритм от технологического процесса?
- •Что такое технологический язык?
- •Технологические и декларативные знания
- •Почему нельзя жить по-старому?
- •Социальные технологии и электронные методологии
- •Методология быстрой разработки систем rad
- •Схемы действий и язык дракон
- •Необходимость культурных изменений
- •Техноязык как элемент культуры
- •Понимание и взаимопонимание — ключевые проблемы информатики
- •Отсутствие понимания ведет к миллионным убыткам
- •Издевательство над здравым смыслом под названием “абсолютно правильная программа”
- •Спецификации программ — вот главный “гадючник”!
- •Спецификации программ и методология rad
- •Концепция когнитивного программирования
- •Проблема улучшения работы ума: новый когнитивный подход
- •Текст как зрительная сцена
- •Симультанное и сукцессивное восприятие
- •Как повысить продуктивность человеческого мозга?
- •Когнитивный недостаток текстового представления знаний
- •Каким должен быть формат диосцены?
- •Когнитивные рекомендации
- •Зачем нужны психологические эксперименты?
- •Ошибка джеймса мартина
- •Возможна ли стратегическая реформа мировой практики программирования
- •Изюминки языка дракон
- •Критика блок-схем
- •Преимущества дракон-схем
- •Иконы и макроиконы
- •Зачем нужна ветка?
- •Как работает ветка?
- •Как следует располагать ветки в поле чертежа?
- •Что такое шапка?
- •Что лучше: примитив или силуэт?
- •Как описать силуэт с помощью текстового языка?
- •Есть ли в алгоритме “царская дорога”?
- •Главный маршрут силуэта
- •Пересечения линий? — боже упаси!
- •Визуальный и текстовый синтаксис дракона
- •Семейство дракон-языков
- •Эргономичные алгоритмы
- •Визуальная проверка алгоритмов
- •Что такое эргономичный алгоритм?
- •Чем отличается икона “вопрос” от развилки?
- •Маршруты и формулы маршрутов
- •Что такое рокировка?
- •Использование рокировки для улучшения эргономичности
- •Вертикальное и горизонтальное объединение
- •Эргономичность литеральных алгоритмов
- •Что делать, если эргономические требования противоречат друг другу?
- •Икона-вставка как эргономический прием
- •Что такое подстановка?
- •Улучшение эргономичности алгоритмов с помощью цепочки эквивалентных преобразований
- •В Рис. 33. Эквивалентные преобразования алгоритмов ыводы
- •Визуализация циклов
- •Обычный цикл
- •Переключатель и переключающий цикл
- •Цикл для
- •Веточный цикл
- •Главный маршрут силуэта
- •Визуализация логических формул
- •Визуализация функции и
- •Визуализация функции или
- •Визуализация функции не
- •Визуализация сложных логических функций
- •Что такое эргономичный текст?
- •Можно ли сделать логические выражения эргономичными?
- •Пример для исследования эргономичности логических выражений
- •Логическое выражение с абстрактными идентификаторами
- •Логическое выражение с короткими смысловыми идентификаторами
- •Логическое выражение с длинными смысловыми идентификаторами
- •Важный момент, о котором часто забывают
- •Как присвоить значение логической переменной?
- •Правила записи рамочных логических выражений
- •Как построить эргономичный логический текст?
- •Визуальные операторы реального времени
- •Список операторов реального времени
- •Операторы ввода-вывода
- •Оператор “пауза”
- •Операторы “пуск таймера” и “синхронизатор”
- •Цикл ждать
- •Оператор “период”
- •Оператор “параллельный процесс”
- •Особенности операторов реального времени
- •Дружелюбное Программирование
- •Гибридный язык программирования дракон-си
- •Гибридный язык программирования дракон-модула
- •Пример эргономической оптимизации программы
- •Диалоговые программы
- •Оператор “Сообщение”
- •Оператор “Запрос”
- •Описание данных
- •Идентификаторы
- •Примеры правильных идентификаторов
- •Примеры неправильных идентификаторов
- •Пример сокращения длины сложного понятия
- •Правила записи арифметических выражений в операторах присваивания
- •Обработка массивов
- •Абстрактные дракон-схемы
- •Философия языка дракон
- •Классификация знаний
- •Человеческая деятельность и формализация знаний: живописные примеры
- •Что такое профессиональные знания?
- •Учебные экспертные системы
- •Учебная экспертная система (программа на языке бейсик)
- •Визуализация экспертных систем
- •Визуализация описания технологических процессов
- •Что такое методология?
- •Визуализация методологий
- •Система “человек—машина”
- •Визуализация биологических алгоритмов
- •Визуализация медицинских алгоритмов
- •Другие примеры визуализации
- •Описание структуры деятельности
- •Нужен ли стандарт для описания деятельности?
- •Визуальный дракон-редактор
- •Зачем нужен дракон-редактор?
- •Заготовка-примитив и заготовка-силуэт
- •Что такое атом?
- •Пример построения дракон-схемы “примитив”
- •Операция “пересадка лианы”
- •Операция “заземление лианы”
- •Пример построения дракон-программы “силуэт”
- •Формирование надписей “да” и “нет”
- •Описание визуального синтаксиса языка дракон
- •Общие понятия
- •Шампур-блок
- •Операция “ввод атома”
- •Дополнительные сведения об атомах
- •Критические и нейтральные точки
- •Правила использования операции “ввод атома” при построении дракон-схемы
- •Операции с лианой
- •Пересадка лианы
- •Заземление лианы
- •Прочие операции
- •Основные результаты
- •Визуальное структурное программирование
- •Постановка проблемы
- •Историческая справка
- •Отживающий метод?
- •Прав ли игорь вельбицкий?
- •Четыре принципа структуризации блок-схем, предложенные э. Дейкстрой
- •Почему научное сообщество не приняло видеоструктурную концепцию э. Дейкстры?
- •Парадокс структурного программирования
- •Плохие блок-схемы или плохие стандарты?
- •Блок-схемы и теоретическое программирование
- •Новые цели стандартизации блок-схем
- •Чем отличаются блок-схемы от дракон-схем?
- •В чем сходство визуального и текстового структурного программирования?
- •В чем различие визуального и текстового структурного программирования? Структурные, лианные и адресные блоки
- •Операции с лианой и оператор goto
- •Является ли текстовое структурное программирование формальным методом?
- •Почему самолет не машет крыльями?
- •Исчисление икон и попытка предсказать будущее
- •Визуальное логическое исчисление
- •Общеизвестные сведения о математической логике
- •Об одном распространенном заблуждении
- •Принцип абсолютизации текста
- •Визуализация понятий математической логики
- •Исчисление икон
- •Еще раз о шампур-методе
- •Шампур-схема как абстрактная модель программы
- •Преобразование шампур-схемы в шампур-программу
- •Шампур-метод и доказательство правильности программ
- •Возможна ли теория визуального программирования?
- •Гипотеза о будущем императивных языков программирования
- •Визуализация логики и интенсификация интеллектуальной деятельности
- •Место языка дракон в системе человеческой культуры
- •Между сциллой и харибдой
- •Принцип структуризации деятельности
- •Генеральная концептуальная схема
- •Проблема деятельности в эргономике
- •Искусственный интеллект: алгоритмизация — это ночной кошмар!
- •Специалисты по ии: долой алгоритмизацию!
- •Инженерные психологи: алгоритмизация деятельности — наше спасение!
- •Работники образования: алгоритмизация — это хорошо!
- •Кто же прав: декларативисты или императивисты?
- •Эргономический анализ проектно-конструкторской деятельности
- •Подводные камни проектно-конструкторской деятельности
- •Почему взорвался чернобыльский реактор? Традиционный подход к анализу причин чернобыльской аварии
- •Возможна ли гарантоспособная деятельность?
- •Принцип проектирования гарантоспособной деятельности
- •Гарантоспособный совокупный работник
- •Главное зло — плохо спроектированная деятельность творческого персонала
- •Сон разума рождает чудовищ
- •Интенсификация интеллекта и языки программирования
- •Улучшение работы ума — проблема номер один
- •Возможна ли эргономизация математики?
- •Почему джон фон нейман провалился на экзамене?
- •Существует ли пропасть между математикой и эргономикой?
- •Алгебра диофанта
- •Эргономический анализ алгебры диофанта
- •Эргономизация алгебры после диофанта
- •Осознание полезности эргономического поворота в математике
- •Эргономическая победа лейбница
- •Методологическая ошибка историков математики
- •Аналогия между математической диосценой и панелью отображения информации
- •Математическая и эргономическая эффективность
- •Как повысить производительность математического труда?
- •Два метода визуализации математики
- •Проект “когнитивный стиль” (cognistyle)
- •Пример математической визуализации с помощью метода cognistyle
- •Можно ли стать интеллектуальным суперменом?
- •На пороге создания теории улучшения работы ума
- •Человеческий мозг нужно грамотно проектировать
- •Разгадка тайны человеческого интеллекта
- •Развитие и интенсификация интеллекта
- •Знаковая и предметная информация
- •Знаковое и предметное обеспечение информатики
- •Знаковая и предметная программа
- •Переломная веха в истории информатики
- •Одноглазые миссионеры, или заброшенное дитя информатики
- •Когнитивная письменность — новый способ представления знаний
- •Что такое проектоника?
- •Проектоника и искусственный интеллект
- •Особенности проектоники
- •Мироинформация и мироинтеллект
- •Стратегическая интеллектуальная инициатива
- •Дорога в будущее
- •Интеллектуальные трудности как глобальная проблема
- •Вызов интеллектуального терроризма
- •Бессилие интеллекта
- •ЦЕль — значительное улучшение интеллекта
- •Список литературы интеллектуальный терроризм: фантазия или реальность?
- •Глава 1
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 13
- •Глава 16
- •Глава 17
- •Глава 18
- •Глава 19
- •Глава 20
- •Отзывы о книге в. Паронджанова “Как улучшить работу ума”
Улучшение эргономичности алгоритмов с помощью цепочки эквивалентных преобразований
Когда рисуешь алгоритм, нужно стремиться, чтобы он с самого начала удовлетворял правилам и был эргономичным. А если это не получилось? Если первый блин комом, как на рис. 31а? В этом случае необходимо довести алгоритм до ума с помощью последовательности эквивалентных преобразований. Вообще говоря, в примере на рис. 31а достаточно сделать всего две рокировки (преобразовав обе развилки) и мы сразу получим нужный ответ — искомую эргономичную схему на рис. 31д.
Однако, чтобы сделать изложение более наглядным, лучше избрать другой путь и двигаться к цели мелкими шажками. Для начала используем визуальную формулу на рис. 32 и с ее помощью заменим нижнюю развилку на рис. 31а на икону-вставку “Приведи комнату в порядок”. Результат подстановки представлен на рис. 31б. Затем выполним рокировку и получим схему на рис. 31в. После этого произведем обратную подстановку по формуле на рис. 32 и заменим икону-вставку на развилку “Чернильница разбилась?” Полученная схема показана на рис. 31г. Наконец, делаем еще одну рокировку и приходим к искомой эргономичной схеме на рис. 31д.
Д
Рис. 32. Пример
операции “подстановка”
В Рис. 33. Эквивалентные преобразования алгоритмов ыводы
1. Понятие эргономичного алгоритма весьма актуально. Применение достижений эргономики к теории алгоритмов позволяет значительно улучшить понимаемость алгоритмов и программ.
2. Понятие эргономичного алгоритма задается с помощью конечного набора четко определенных правил и признаков, таких, как “главный маршрут должен идти по шампуру” и т. д. Следовательно, это понятие является строгим.
3 . Рассмотренные выше четыре эквивалентных преобразования алгоритмов подтверждают, что эргономичность алгоритмов можно улучшить с помощью простых и ясных методов, которые в некотором смысле можно считать формальными.
Г Л А В А 8
Визуализация циклов
Успешность принятия решения во многом зависит от способности человека “визуализировать проблемную ситуацию”, наглядно представлять ее и оперировать наглядными образами.
Наталья Завалова, Борис Ломов, Владимир Пономаренко
Обычный цикл
В языке ДРАКОН имеется следующий ассортимент циклов:
-
обычный цикл;
-
переключающий цикл;
-
цикл ДЛЯ;
-
веточный цикл;
-
цикл ЖДАТЬ.
П
Рис. 34. Цикл
ДО
Рис. 35. Цикл
ПОКА
Рис. 36. Гибридный
цикл
р
Рис. 37. Пример
цикла ПОКА
р
Рис. 39. Досрочный
выход из цикла
происходит потому,
что Карлсон больше не хочет есть (сравни
с рис. 37)
Рис. 38. Пример
цикла ДО
р
Рис. 40. Досрочный
выход
из цикла, потому что
кончилась
краска
Рис. 41. Досрочный
выход из цикла, потому что краска в
ведре кончилась. И в сарае краски тоже
нет
р
Рис. 42. Два
досрочных выхода: (1) потому что краска
кончилась,
(2) потому что ребята позвали
играть в футбол
р
Рис. 43. Как
построить цикл в цикле
Рис. 44. Цикл
в цикле. Внутри цикла ПОКА
находится цикл ДО
(сравни с
рис. 37)
С
Рис. 45. Четыре
варианта конструкции “цикл в цикле”
-
цикл ДО (do-while),
-
цикл ПОКА (while-do),
-
гибридный цикл (do-while-do).
Примеры циклов ПОКА и ДО приведены на рис. 37, 38. Досрочный выход из цикла показан на рис. 39—42. Конструкция “цикл в цикле” представлена на рис. 43—45.
Анализируя рисунки, можно заметить следующие особенности.
-
Оператор “обычный цикл” имеет один вход и один или несколько выходов.
-
Цикл с одним выходом представляет собой шампур-блок (вход и выход находятся на одной вертикали).
-
Если цикл имеет более одного выхода, основной выход размещается на главной вертикали, дополнительные — правее ее.
-
Петля цикла находится правее главной вертикали и закручена против часовой стрелки.
-
Икона “вопрос” задает условие цикла, которое распадается на две части: условие продолжения и условие окончания (рис. 37).
-
Условие продолжения соответствует правому выходу иконы “вопрос”, условие окончания — нижнему.
-
Условие окончания может помечаться как словом “нет”, так и словом “да”. То же самое относится и к условию продолжения.