DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 15:38

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 09 Декабрь, 2022 11:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Язык ДРАКОН и переключатель (switch, case), иконы Выбор и Вариант

В чем проблема
Переключатель занимает много места, а на экране (бумаге) места мало. Как быть?

Ответ для случая "переключатель на бумаге"
Дано
Переключатель содержит 6 икон Вариант, а на книжной странице по ширине можно разместить всего 3 иконы Вариант
(см. рис. 113а).
Вложение:
Рис. 113а Диагностика ТОД спец область    .png
Рис. 113а Диагностика ТОД спец область .png [ 131.75 КБ | Просмотров: 1963 ]

Что делать? Четвертый выход переключателя соединяем с иконой Адрес "Продолжение исследований".
На следующей дракон-схеме икону Имя ветки "Продолжение исследований" соединяем с оставшейся частью переключателя.
Вложение:
Рис. 113мм Диагностика ТОД спец область2    .png
Рис. 113мм Диагностика ТОД спец область2 .png [ 82.56 КБ | Просмотров: 1963 ]

Выводы
1. Данный способ позволяет видоизменить переключатель с шестью иконами Вариант и разместить его в двух ветках силуэта, по три иконы Вариант в каждой ветке.

2. Аналогично можно наращивать переключатель по три иконы Вариант: 3, 6, 9, 12, 15 и т. д. Чтобы изобразить переключатель с 15-ю иконами Вариант, потребуются 5 веток силуэта.

3. Три дополнительных "выхода" переключателя можно строить либо на иконах Вариант, либо на иконах Вопрос (оператор if).
_________________________________

Такое решение годится только для алгоритмов (но не для программирования).

Прошу критиковать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Декабрь, 2022 14:19 

Зарегистрирован: Вторник, 27 Апрель, 2021 05:25
Сообщения: 100
Откуда: Томск
Хотелось бы прокомментировать сразу выводы о предложенном способе.
Владимир Паронджанов писал(а):
Выводы
1. Данный способ позволяет видоизменить переключатель с шестью иконами Вариант и разместить его в двух ветках силуэта, по три иконы Вариант в каждой ветке.
Всё-таки я не ощутил увеличения эффективности в этом способе. Всё равно в процессе перебора Вариантов пользователь задаётся вопросом "А что я должен выбрать?" и возвращает взгляд на икону Выбор соответствующего переключателя. Здесь его траектория взгляда увеличивается, ломается и рассеивается, потому что он, цепляясь за ветки, должен найти ту самую, которая хранит начало переключателя. Всё-таки оригинальный переключатель в этом плане был устроен проще, потому что напоминал железную дорогу, каждый Вариант которой являлся шпалой.
Владимир Паронджанов писал(а):
2. Аналогично можно наращивать переключатель по три иконы Вариант: 3, 6, 9, 12, 15 и т. д. Чтобы изобразить переключатель с 15-ю иконами Вариант, потребуются 5 веток силуэта.
Возникает задача, как назвать эти ветки, содержащие варианты переключателя? Для первой можно допустить "Продолжение исследований", но как быть со следующей? "Продолжение исследований 2"? Дополнительную сложность вызовет использование нескольких переключателей. Тогда ветви будут иметь массивные названия по типу "Продолжение исследований для переключателя 1 под номером 2" (это не стоит того).
Владимир Паронджанов писал(а):
3. Три дополнительных "выхода" переключателя можно строить либо на иконах Вариант, либо на иконах Вопрос (оператор if).
_________________________________
Такое решение годится только для алгоритмов (но не для программирования).

Прошу критиковать.
Здесь я не совсем понял о каких "трёх дополнительных "выходах" идёт речь. Метод предлагает один дополнительный выход, основанный на заземлении лианы.

Дополнительно к этому иллюстрации и логика говорят, что в случае использования переключателя с более чем тремя вариантами, ветвь должна принудительно прерваться, хотя логически этот разрыв может быть не обоснован. Я привёл пример в виде трёх схем алгоритма программы, делающей рекламные рассылки и собирающая статистику пользователей-покупателей некоторой сети магазинов. Ни один из вариантов не кажется мне цельным и удобоваримым.
Вложение:
20221210173555.png
20221210173555.png [ 101.56 КБ | Просмотров: 1944 ]
Вложение:
20221210174132.png
20221210174132.png [ 82.24 КБ | Просмотров: 1944 ]
Вложение:
20221210174354.png
20221210174354.png [ 85.11 КБ | Просмотров: 1944 ]


Хотя первая картинка выглядит неплохо. Добавим цветов для читаемости и попытаемся решить проблему нагромождения. Использую соединитель. Это хорошее средство, которое было придумано в случае размещения одного силуэта на нескольких страницах (viewtopic.php?f=172&t=1917). Почему бы с помощью него не отмечать ЛЮБЫЕ прерывания линий одной дракон-схемы, разделённой границами листа, экрана?
Вложение:
20221210175717.png
20221210175717.png [ 74.52 КБ | Просмотров: 1944 ]


Что даёт этот способ:
1. Сохранение оригинальной дракон-схемы с возможностью генерации из неё текста программы
2. Появляется возможность автоматического модуля, который по заданным рамкам способен автоматически разбить схему и расставить на распознанных оборванных линиях соединители. Вид соединителя: белый кружочек на обрыве линии с уникальной цифрой внутри.
3. Поиск иконы Выбор сводится к горизонтальному просмотру страниц и поиску соответствующих двух соединительных точек.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2022 10:11 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Алексей, вы правы. Я согласен с вашим предложением. Правильное предложение. Молодец.

Замечания

1. Я бы не стал использовать соединители в вашем последнем чертеже. И без них все ясно.

2. Соединители испольуются для других целей — только для верхней и нижней горизонтальных шин (линий контура).

3. Я использую соединители только на границе книжного разворота. Разворот — это две книжных страницы.

4. Внутри кружка соединителя должна быть белая заливка вокруг цифры.

5. Читаемость вашего последнего чертежа будет лучше, если убрать цветовую заливку переключателя. Оставить только заливку фона (по правилу отделения фигуры от фона).

6. Вторую (последнюю) ветку силуэта надо перенести вправо, на вторую страницу. Туда, где находится шестая икона Вариант.

7. К сожалению, в программах Тышова и Митькина не предусмотрена икона Соединитель и печать на бумаге. Об таком требовании говорил участник tonyk.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2022 16:30 

Зарегистрирован: Вторник, 27 Апрель, 2021 05:25
Сообщения: 100
Откуда: Томск
Владимир Паронджанов писал(а):
2. Соединители используются для других целей — только для верхней и нижней горизонтальных шин (линий контура).
Моё предложение заключается именно в увеличении случаев использования соединителей в дракон-схемах.
Владимир Паронджанов писал(а):
3. Я использую соединители только на границе книжного разворота. Разворот — это две книжных страницы.
В таком случае ограничение по ширине будет не один лист А4,а два листа. Программный модуль на условном Python, думаю, сможет найти прерывание линии на границах двух областей и поставить туда соединители. Вопрос пока обдумывается на теоретическом уровне, практически такую задачу лично я убираю в долгий ящик, хотя она вполне неплоха даже для студенческой практики.
Владимир Паронджанов писал(а):
7. К сожалению, в программах Тышова и Митькина не предусмотрена икона Соединитель и печать на бумаге. Об таком требовании говорил участник tonyk.
Именно поэтому требуется эта функция. Допустим, написан условный код, решающий эту проблему. Он выкладывается в общий доступ и разработчики интегрируют его в свои проекты, вводом специальной опции "Сохранить как .doc".

Техническая задача:
Входные данные: изображение размером NxM пикселей, выбранный формат листа с размерами KxL пикселей
Возможные промежуточные действия: поворот на 90 градусов, разделение изображения, поиск разделённых горизонтальных/вертикальных линий разных фрагментов дракон-схемы, добавление соединителей
Выходные данные: файл формата .doc, содержащий версию дракон-схемы пригодную для печати


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2022 20:26 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Alex_st_Tomsk писал(а):
[Моё предложение заключается именно в увеличении случаев использования соединителей в дракон-схемах.
На первое место надо ставить интересы читателя.
Нужны ли читателю дополнительные соединители?

Лишние соединители играют роль визуальных помех, они распыляют внимание и отвлекают читателя от главного — от содержания дракон-алгоритма.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2022 20:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Alex_st_Tomsk писал(а):
Техническая задача:
Входные данные: изображение размером NxM пикселей, выбранный формат листа с размерами KxL пикселей
Возможные промежуточные действия: поворот на 90 градусов, разделение изображения, поиск разделённых горизонтальных/вертикальных линий разных фрагментов дракон-схемы, добавление соединителей
Выходные данные: файл формата .doc, содержащий версию дракон-схемы пригодную для печати
Алексей, важную роль для пользователей играет вопрос.

Доступан ли ваш редактор для использования? Или хотя бы для тестирования?

Нет, не доступен. А когда будет доступен? Неизвестно.

В этих условиях ставить дополнительные мелкие задачи, без которых можно обойтись, неразумно.

Вам стоит не разбрасываться, а сосредоточиться на главной задаче — как можно скорее обнародовать ваш вариант дракон-конструктора. Чтобы люди смогли попробовать новый редактор, оценить ваш труд и сравнить его с известными решеними.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 12 Декабрь, 2022 06:53 

Зарегистрирован: Вторник, 27 Апрель, 2021 05:25
Сообщения: 100
Откуда: Томск
Владимир Паронджанов писал(а):
Алексей, важную роль для пользователей играет вопрос.

Доступен ли ваш редактор для использования? Или хотя бы для тестирования?

Нет, не доступен. А когда будет доступен? Неизвестно.

В этих условиях ставить дополнительные мелкие задачи, без которых можно обойтись, неразумно.

Вам стоит не разбрасываться, а сосредоточиться на главной задаче — как можно скорее обнародовать ваш вариант дракон-конструктора. Чтобы люди смогли попробовать новый редактор, оценить ваш труд и сравнить его с известными решениями.
Владимир Данилович, здесь же всё-таки задана другая тема для обсуждения. Читатели этой темы могут не знать, кто я и что у меня планируется за редактор - им это может быть вовсе неинтересно. Поэтому я пишу версии только в рамках этой темы.
Касательно моего редактора, я сделаю объявление в соответствующей теме viewtopic.php?f=143&t=7151 . По поводу разбросов на другие темы - мне несложно поразмышлять над другими задачами параллельно. Тем более далее свою версию до практической реализации я продвигать не хотел, главное было показать свою точку зрения другим энтузиастам, среди которых могут быть и разработчики, знатоки языков программирования.
На редакторе я конечно сосредоточен, у меня обязательство и моральное, и утверждённое планом обучения в ВУЗе.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB