![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Икона-вставка как эргономический приемСодержание книги
Поиск на нашем сайте
Мы уже знаем, что язык ДРАКОН запрещает применять пересечения, обрывы и соединители. Отсюда вытекает жесткое ограничение: любая дракон-схема должна целиком размещаться на одном листе бумаги. А если она слишком большая и вылезает за рамки прокрустова ложа? Тогда можно взять бумагу больших размеров, например формата А1. А если схема громадная и все равно не помещается? На этот случай предусмотрены специальные приемы, позволяющие уменьшить габариты дракон-схемы и разрубить ее на куски. Эти приемы позволяют разместить дракон-схему на листах желаемого размера. Рассмотрим проблему на “миниатюрном” примере. Предположим, линейный алгоритм состоит из четырнадцати икон, а бумажный лист небольшой, так что на нем можно разместить по вертикали не более десяти икон. Как быть? На рис. 29 показаны два варианта решения проблемы. Алгоритм на рис. 29 а не годится, так как на участке АВ рабочая точка движется вверх, что запрещено правилами языка ДРАКОН. Преодолеть затруднение можно двумя способами: применить конструкцию “силуэт” (о которой шла речь в гл. 6) либо разделить алгоритм на две части. Рассмотрим последний способ. Для этого удалим из алгоритма несколько связанных по смыслу икон, а вместо них нарисуем икону-заместитель, которая называется вставкой (рис. 29 б). Вставка нужна, чтобы напомнить об изъятых иконах. Вставка занимает мало места — намного меньше, чем выброшенные иконы, поэтому алгоритм становится короче. Разумеется, выброшенные иконы не пропадают — они образуют новый алгоритм — алгоритм-вставку. Икона-вставка — это команда “Передай управление в алгоритм-вставку” (рис. 30). Икона “конец” алгоритма-вставки означает: “Верни управление в основной алгоритм”. При этом управление возвращается в точку, расположенную после иконы-вставки. На языке программистов алгоритм-вставка — это процедура, а икона-вставка — это оператор “Вызов процедуры”. Что такое подстановка? Операция “подстановка” связана с использованием иконы-вставки. Она выполняется за три шага. Шаг 1. Из дракон-схемы удаляется фрагмент, имеющий один вход и один выход. Шаг 2. Вместо него подставляется икона-вставка с именем Х. Шаг 3. К удаленному фрагменту добавляется икона-заголовок с тем же именем Х и икона-конец; в результате получается алгоритм-вставка.
Два алгоритма на рис. 29 неравносильны: их формулы не совпадают, поскольку маршрут на рис. 29 а содержит 14 икон, а на рис. 29 б — 17 икон (см. также рис. 30). Вместе с тем нетрудно убедиться, что подстановка — эквивалентное преобразование алгоритмов, так как исходный и преобразованный алгоритмы дают одинаковые результаты для одних и тех же исходных данных. Попутно заметим, что равносильные алгоритмы всегда эквивалентны (обратное неверно). Таким образом, операция “подстановка” представляет собой эквивалентное (но не равносильное) преобразование алгоритмов. Улучшение эргономичности алгоритмов Когда рисуешь алгоритм, нужно стремиться, чтобы он с самого начала удовлетворял правилам и был эргономичным. А если это не получилось? Если первый блин комом, как на рис. 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; просмотров: 293; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.171.188 (0.007 с.) |