DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 276 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 14  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 15 Январь, 2019 16:56 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 439
Откуда: Астрахань-Сочи
Alexey_Donskoy писал(а):
А_МУР писал(а):
Лично я не использую синхронизатор. Синхронизатор полностью заменяет икона ВОПРОС...
Ни каких паралельных процессов и т.д. . Просто программа выполняетя своим чередом
Именно! Об этом и речь. Это уже нормальный алгоритмический подход.

Что-же тут нормального, когда клубок линий рисуется вместо пары однозначных символов?

Alexey_Donskoy писал(а):
В Драконе синхронизатор воплощает конкретную реализацию командного аппарата, но универсальным это решение мне отнюдь не кажется.
По идее синхронизатор пригодился бы исключительно для многопоточных систем, но тогда его синтаксис неудачен.
А для пауз в текущей ветке алгоритма... Что-то не то.


Не аргумент. Мы рассматриваем общую концепцию языка, без деления на многопоточные и однопоточные. И инструментарий должен быть стандартный. Синхронизатор решает задачу сносно, позволяя создавать хронологически привязанные действия. Я планирую в своем генераторе расширить действие Синхронизатора до полного указания времени/даты. Мне это нужно. Он (Синхронизатор) в принципе применим во многих сферах, в том числе в бухгалтерии и юриспруденции. Теория этого не запрещает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 17:05 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 439
Откуда: Астрахань-Сочи
LKom писал(а):
Дмитрий Бардынин писал(а):
Интересно, как вы делите подпрограммы и функции, ведь некоторые языки не имеют такого разделения.

В ИС Дракон в схеме функции к иконе Конец можно и нужно присоединить икону Параметры с результатом функции.

Согласен. Мы обходимся иконой Действие. Честно говоря, я бы сделал несколько икон Конец, и несколько икон Начало, т.к. я давно программирую Wiring, и это просто удобно. Для микроконтроллеров может быть непозволительна роскошь использования индивидуальных схем для разных задач, с множественными вызовами и т.д. Мы экономим память, такты, время. Иногда разные задачи можно решить просто разными точками входа и выхода в универсальные функции.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 17:19 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
Дмитрий Бардынин писал(а):

Это интересно, однако думаю, что к теме ветки относится слабо. Можете проиллюстрировать примером? Пока складывается впечатление, что это узкая версия под конкретную задачу. Например, слабо представляется применение ПРОСТРАНСТВА ИМЕН к юриспруденции.

Интересно, как вы делите подпрограммы и функции, ведь некоторые языки не имеют такого разделения. В принципе, все нужное нам в работе в редакторе Степанова, например, уже имеется.


Да вы правы - задача узкая программирования промышленных ПЛК.
Широкозадачный Дракон не мы, не кто другой разработать не сможет.
Начали с малости
Дракон должен разойтись на ветки по конкретным задачам, но иметь общее ядро.
Зачем общее ядро?
Думаю Вы догадываетесь и объяснять не буду!

Использование Дракона для юриспруденции имеет ряд отличий где детектор маршрута не нужен.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 17:20 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Дмитрий Бардынин писал(а):
Честно говоря, я бы сделал ... несколько икон Начало
Дракон это допускает. В ИС Дракон в схеме Силуэт тоже можно сделать несколько икон Заголовок.
Дмитрий Бардынин писал(а):
Честно говоря, я бы сделал несколько икон Конец,
Да, надо сделать возможность нескольких выходов из схем, в Силуэте без перехода на последнюю ветку, т.е. отказаться от догмы В.Д. Паронджанова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 17:50 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
Новая задача для Дракона -производственный процесс.
Работа со временем в каждой строчке программы


Вложения:
15475637872435566068178804731116.jpg
15475637872435566068178804731116.jpg [ 4.81 МБ | Просмотров: 7657 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 18:19 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Дмитрий Бардынин писал(а):
Мы используем редактор "Дракон" в образовательном процессе.

Неудачный у Вас выбор редактора.
В образовательном процессе: алгоритм в прикладной области и программный код не совмещены в одной схеме.

В.Д. Паронджанов предлагает совмещать в одном флаконе:
"Язык ДРАКОН. Алгоритм и программа в одном флаконе" - здесь


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 18:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
LKom писал(а):
надо сделать возможность нескольких выходов из схем, в Силуэте без перехода на последнюю ветку, т.е. отказаться от догмы В.Д. Паронджанова.
Не совсем так.

1. ДРАКОН допускает несколько выходов из алгоритма. Этому ничто не мешает.

2. Чтобы графика силуэта была не громоздкой, а эргономичной (приятной для глаза), в схеме делается чисто графическое (не алгоритмическое!) добавление — графический переход (псевдопереход) на последнюю ветку "Завершение".
Это значит, что в алгоритме НЕТ перехода на последнюю ветку.
Алгоритм при этом НЕ меняется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 18:38 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Владимир Паронджанов писал(а):
2. Чтобы графика силуэта была не громоздкой, а эргономичной (приятной для глаза),
в схеме делается чисто графическое (не алгоритмическое!) добавление —
графический переход (псевдопереход) на последнюю ветку "Завершение".

Не нужен "графический переход (псевдопереход) на последнюю ветку "Завершение"",
поставьте икону "Конец".

Схема не будет загромождаться лишними иконами Адрес,
которые не всегда можно присоединить, к примеру внутри петли цикла.
Тогда и ветка "Завершение" не нужна.
---
В программировании давно имеется понимание о "раннем возврате".
"Почему ранний возврат из функций так важен?" - https://habr.com/ru/post/348074/
Изображение


Последний раз редактировалось LKom Вторник, 15 Январь, 2019 18:45, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 18:42 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Подробности см. в книге "Учись..." на стр. 202 и 203:

Цитата:
При этом надо четко различать:
• фактическую работу алгоритма;
• эргономичное изображение дракон-схемы.

Фактически полка с надписью «Выход» играет роль конца работы.
Иными словами (см. рис. 139), маршрут, доходя до полки, ОБРЫВАЕТСЯ.
Происходит выход из алгоритма, но не через икону конец, а через икону полка. Полка играет роль конца.

Но с эргономической точки зрения, такие «обрывы» нежелательны.
Потому что у дракон-схемы будет нарисован не один конец, а несколько.

Фактически алгоритм может иметь несколько концов. Неприятность в том, что глядя на схему, человеку трудно воспринимать алгоритм, имеющий несколько концов. Такой алгоритм похож на елку, увешанную «концами», как елочными игрушками.

Подобная зрительная сцена распыляет внимание и мешает сосредоточиться на главном.
Поэтому, с эргономической точки зрения, желательно создать видимость того, что у схемы всего один конец. Это нетрудно сделать. Рис. 139 наглядно показывает, что бегунок, двигаясь к концу алгоритма, пробегает через иконы:

• икона полка с надписью «Выход»;
• икона адрес «завершение»;
• икона имя ветки «завершение»;
• икона конец.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 18:57 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Владимир Паронджанов писал(а):
Фактически полка с надписью «Выход» играет роль конца работы.
Иными словами (см. рис. 139), маршрут, доходя до полки, ОБРЫВАЕТСЯ.
Происходит выход из алгоритма, но не через икону конец, а через икону полка. Полка играет роль конца.

Вы же вводите в заблуждение:
1. В иконе Полке 2 текст, предлагаете писать только 1, а что во 2-м?
2. Используете икону Полка не по назначению.
3. Создаете противоречие - по тексту "Выход", а в графике продолжается маршрут.
4. Для пользователя создаются совсем не нужные маршруты.
5. На рис. 139 предлагаются термины "Данный алгоритм" и "Вызывающий алгоритм". Уже перебор нагрузок для пользователя. Сознание пользователя находится в "Данном алгоритме", а ему на мозги капают "Вызывающим алгоритмом". С иконой Конец таких нагрузок не возникнет, даже если их несколько.

Для зрителя не будет ни наглядности, ни понятности. Полное противоречие целям Дракона.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 20:13 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
Пространство имён — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён).

Идентификатор, определённый в пространстве имён, ассоциируется с этим пространством. Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же значение, как и такой же идентификатор, определённый в другом пространстве. Языки с поддержкой пространств имён определяют правила, указывающие, к какому пространству имён принадлежит идентификатор (то есть его определение).

Например, Андрей работает в компании X, а ID ( идентификатор) его как работника равен 123. Олег работает в компании Y, а его ID также равен 123. Единственное (с точки зрения некой системы учёта), благодаря чему Андрей и Олег могут быть различимы при совпадающих ID, это их принадлежность к разным компаниям. Различие компаний в этом случае представляет собой систему различных пространств имён (одна компания — одно пространство). Наличие двух работников в компании с одинаковыми ID представляет большие проблемы при их использовании, например, по платёжному чеку, в котором будет указан работник с ID 123, будет весьма затруднительно определить работника, которому этот чек предназначается.

В больших базах данных могут существовать сотни и тысячи идентификаторов. Пространства имён (или схожие структуры) реализуют механизм для сокрытия локальных идентификаторов. Их смысл заключается в группировке логически связанных идентификаторов в соответствующих пространствах имён, таким образом делая систему модульной. Ограничение видимости переменных может также производиться путём задания класса её памяти.

Операционные системы, многие современные языки программирования обеспечивают поддержку своей модели пространств имён: используют каталоги (или папки) как модель пространства имён. Это позволяет существовать двум файлам с одинаковыми именами (пока они находятся в разных каталогах). В некоторых языках программирования (например, C++, Python) идентификаторы имён пространств сами ассоциированы с соответствующими пространствами. Поэтому в этих языках пространства имён могут вкладываться друг в друга, формируя дерево пространств имён. Корень такого дерева называется глобальным пространством имён.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 20:36 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
А_МУР писал(а):
Пространство имён — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён).

Идентификатор, определённый в пространстве имён, ассоциируется с этим пространством. Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же значение, как и такой же идентификатор, определённый в другом пространстве. Языки с поддержкой пространств имён определяют правила, указывающие, к какому пространству имён принадлежит идентификатор (то есть его определение).

Например, Андрей работает в компании X, а ID ( идентификатор) его как работника равен 123. Олег работает в компании Y, а его ID также равен 123. Единственное (с точки зрения некой системы учёта), благодаря чему Андрей и Олег могут быть различимы при совпадающих ID, это их принадлежность к разным компаниям. Различие компаний в этом случае представляет собой систему различных пространств имён (одна компания — одно пространство). Наличие двух работников в компании с одинаковыми ID представляет большие проблемы при их использовании, например, по платёжному чеку, в котором будет указан работник с ID 123, будет весьма затруднительно определить работника, которому этот чек предназначается.

В больших базах данных могут существовать сотни и тысячи идентификаторов. Пространства имён (или схожие структуры) реализуют механизм для сокрытия локальных идентификаторов. Их смысл заключается в группировке логически связанных идентификаторов в соответствующих пространствах имён, таким образом делая систему модульной. Ограничение видимости переменных может также производиться путём задания класса её памяти.

Операционные системы, многие современные языки программирования обеспечивают поддержку своей модели пространств имён: используют каталоги (или папки) как модель пространства имён. Это позволяет существовать двум файлам с одинаковыми именами (пока они находятся в разных каталогах). В некоторых языках программирования (например, C++, Python) идентификаторы имён пространств сами ассоциированы с соответствующими пространствами. Поэтому в этих языках пространства имён могут вкладываться друг в друга, формируя дерево пространств имён. Корень такого дерева называется глобальным пространством имён.

Пространство имен необходимо для понимания работы таймера

Это функциональная схема таймера для КОНТРОЛЛЕРОВ


Вложения:
универсальный таймер.png
универсальный таймер.png [ 26.08 КБ | Просмотров: 7634 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 20:40 

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

Согласно структурному программированию программа имеет один вход и один выход. Я стараюсь придерживаться этого правила (в пределах возможного).

Поэтому в дракон-схеме Силуэт одна икона Заголовок и одна икона Конец.

Это важное правило.

Очень важно, что эти две иконы имеют фиксированное место на чертеже.

Заголовок — всегда в верхнем левом углу.
Конец — всегда справа, в конце последней ветки.

Это помогает читать дракон-схему Силуэт, упорядочивает ее, делает регулярной, исключает хаотичное представление.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 21:12 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 439
Откуда: Астрахань-Сочи
LKom писал(а):
Дмитрий Бардынин писал(а):
Мы используем редактор "Дракон" в образовательном процессе.

Неудачный у Вас выбор редактора.
В образовательном процессе: алгоритм в прикладной области и программный код не совмещены в одной схеме.

В.Д. Паронджанов предлагает совмещать в одном флаконе:
"Язык ДРАКОН. Алгоритм и программа в одном флаконе" - здесь


У нас так и есть: алгоритм и является программой для ребят. В текст итоговой программы они на заглядывают, просто заливают в микроконтроллер, и всё.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2019 21:50 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
Дмитрий Бардынин писал(а):

У нас так и есть: алгоритм и является программой для ребят. В текст итоговой программы они на заглядывают, просто заливают в микроконтроллер, и всё.


В этом и заключается моя разработка- конечный результа загрузка со схемы в контроллер


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Январь, 2019 08:00 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
А_МУР писал(а):
Пространство имен

Алексей, на мой взгляд, для входов и выходов в пространстве имен надо использовать икону Полка. Точно так же, как и для переменных.

Кроме того, у вас опечатка:
в правой иконе Имя ветки должно быть Выход (а не Вход).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Январь, 2019 08:52 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
Владимир Паронджанов писал(а):
А_МУР писал(а):
Пространство имен

Алексей, на мой взгляд, для входов и выходов в пространстве имен надо использовать икону Полка. Точно так же, как и для переменных.

Кроме того, у вас опечатка:
в правой иконе Имя ветки должно быть Выход (а не Вход).


Да опечатался!

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Январь, 2019 08:56 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
В левой схеме веточного цикла не должно быть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Январь, 2019 09:18 

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 332
LKom писал(а):
В левой схеме веточного цикла не должно быть.

Да он то меня и смущает!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Январь, 2019 09:45 

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

А_МУР писал(а):
Да он то меня и смущает!

Чтобы удалить ненужный веточный цикл, надо:

1) В последней ветке пространства имен убрать икону Адрес.
2) Вместо нее установить икону Конец


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 276 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 14  След.

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


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

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


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

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