Икона-вставка как эргономический прием 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Икона-вставка как эргономический прием



Мы уже знаем, что язык ДРАКОН запрещает применять пересечения, обрывы и соединители. Отсюда вытекает жесткое ограничение: любая дракон-схема должна целиком размещаться на одном листе бумаги. А если она слишком большая и вылезает за рамки прокрустова ложа?

Тогда можно взять бумагу больших размеров, например формата А1. А если схема громадная и все равно не помещается? На этот случай предусмотрены специальные приемы, позволяющие уменьшить габариты дракон-схемы и разрубить ее на куски. Эти приемы позволяют разместить дракон-схему на листах желаемого размера. Рассмотрим проблему на “миниатюрном” примере.

Предположим, линейный алгоритм состоит из четырнадцати икон, а бумажный лист небольшой, так что на нем можно разместить по вертикали не более десяти икон. Как быть?

На рис. 29 показаны два варианта решения проблемы. Алгоритм на рис. 29 а не годится, так как на участке АВ рабочая точка движется вверх, что запрещено правилами языка ДРАКОН. Преодолеть затруднение можно двумя способами: применить конструкцию “силуэт” (о которой шла речь в гл. 6) либо разделить алгоритм на две части. Рассмотрим последний способ. Для этого удалим из алгоритма несколько связанных по смыслу икон, а вместо них нарисуем икону-заместитель, которая называется вставкой (рис. 29 б). Вставка нужна, чтобы напомнить об изъятых иконах. Вставка занимает мало места — намного меньше, чем выброшенные иконы, поэтому алгоритм становится короче. Разумеется, выброшенные иконы не пропадают — они образуют новый алгоритм — алгоритм-вставку.

Икона-вставка — это команда “Передай управление в алгоритм-вставку” (рис. 30). Икона “конец” алгоритма-вставки означает: “Верни управление в основной алгоритм”. При этом управление возвращается в точку, расположенную после иконы-вставки. На языке программистов алгоритм-вставка — это процедура, а икона-вставка — это оператор “Вызов процедуры”.

Что такое подстановка?

Операция “подстановка” связана с использованием иконы-вставки. Она выполняется за три шага.

Шаг 1. Из дракон-схемы удаляется фрагмент, имеющий один вход и один выход.

Шаг 2. Вместо него подставляется икона-вставка с именем Х.

Шаг 3. К удаленному фрагменту добавляется икона-заголовок с тем же именем Х и икона-конец; в результате получается алгоритм-вставка.

Два алгоритма на рис. 29 неравносильны: их формулы не совпадают, поскольку маршрут на рис. 29 а содержит 14 икон, а на рис. 29 б — 17 икон (см. также рис. 30). Вместе с тем нетрудно убедиться, что подстановка — эквивалентное преобразование алгоритмов, так как исходный и преобразованный алгоритмы дают одинаковые результаты для одних и тех же исходных данных. Попутно заметим, что равносильные алгоритмы всегда эквивалентны (обратное неверно). Таким образом, операция “подстановка” представляет собой эквивалентное (но не равносильное) преобразование алгоритмов.

Улучшение эргономичности алгоритмов
с помощью цепочки
эквивалентных преобразований

Когда рисуешь алгоритм, нужно стремиться, чтобы он с самого начала удовлетворял правилам и был эргономичным. А если это не получилось? Если первый блин комом, как на рис. 31 а? В этом случае необходимо довести алгоритм до ума с помощью последовательности эквивалентных преобразований. Вообще говоря, в примере на рис. 31 а достаточно сделать всего две рокировки (преобразовав обе развилки)
и мы сразу получим нужный ответ — искомую эргономичную схему на рис. 31 д.

Однако, чтобы сделать изложение более наглядным, лучше избрать другой путь и двигаться к цели мелкими шажками. Для начала используем визуальную формулу на рис. 32 и с ее помощью заменим нижнюю развилку на рис. 31 а на икону-вставку “Приведи комнату в порядок”. Результат подстановки представлен на рис. 31 б. Затем выполним рокировку и получим схему на рис. 31 в. После этого произведем обратную подстановку по формуле на рис. 32 и заменим икону-вставку на раз­вилку “Чернильница разбилась?” Полученная схема показана на рис. 31 г. Наконец, делаем еще одну рокировку и приходим к искомой эргономичной схеме на рис. 31 д.

Для удобства читателя на рис. 33 дана общая сводка эквивалентных преобразований.

 

 

 

Выводы

1. Понятие эргономичного алгоритма весьма актуально. Применение достижений эргономики к теории алгоритмов позволяет значительно улучшить понимаемость алгоритмов и программ.

2. Понятие эргономичного алгоритма задается с помощью конечного набора четко определенных правил и признаков, таких, как “главный маршрут должен идти по шампуру” и т. д. Следовательно, это понятие является строгим.

3. Рассмотренные выше четыре эквивалентных преобразования алгоритмов подтверждают, что эргономичность алгоритмов можно улучшить с помощью простых и ясных методов, которые в некотором смысле можно считать формальными.


Глава 8:
Визуализация циклов

Успешность принятия решения во многом зависит от способности человека “визуализировать проблемную ситуацию”, наглядно представлять ее и оперировать наглядными образами.

Наталья Завалова, Борис Ломов,
Владимир Пономаренко

Обычный цикл

В языке ДРАКОН имеется следующий ассортимент циклов:

! обычный цикл;

! переключающий цикл;

! цикл ДЛЯ;

! веточный цикл;

! цикл ЖДАТЬ.

 

Первые четыре цикла рассматриваются в этой главе, цикл ЖДАТЬ — в гл. 11.

Составной визуальный оператор “обычный цикл” (рис. 2, макроикона 4) содержит иконы “вопрос” и “петля цикла” (рис. 1, иконы И4, И24). Он охватывает циклы трех типов (рис. 34—36):

! цикл ДО (do-while),

! цикл ПОКА (while-do),

! гибридный цикл (do-while-do).

 

Примеры циклов ПОКА и ДО приведены на рис. 37, 38. Досрочный выход из цикла показан на рис. 39—42. Конструкция “цикл в цикле” представлена на рис. 43—45.

Анализируя рисунки, можно заметить следующие особенности.

! Оператор “обычный цикл” имеет один вход и один или несколько выходов.

! Цикл с одним выходом представляет собой шампур-блок (вход и выход находятся на одной вертикали).

! Если цикл имеет более одного выхода, основной выход размещается на главной вертикали, дополнительные — правее ее.

! Петля цикла находится правее главной вертикали и закручена против часовой стрелки.

! Икона “вопрос” задает условие цикла, которое распадается на две части: условие продолжения и условие окончания (рис. 37).

! Условие продолжения соответствует правому выходу иконы “вопрос”, условие окончания — нижнему.

! Условие окончания может помечаться как словом “нет”, так и словом “да”. То же самое относится и к условию продолжения.



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 251; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.6.75 (0.008 с.)