DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 02:16

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




Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 14 Апрель, 2016 16:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Цитата:
в ваших кругах много говорится про Р-Технологию от института Глушкова, но на сайте glushkov.org я ничего найти не смог .. если есть какие-то ссылки детального описания этой технологии и работ Вильбицкого - тоже буду очень признателен.

Р-технология Игоря Вельбицкого см.
viewtopic.php?f=62&t=4047


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 14 Апрель, 2016 17:12 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Степан Митькин писал(а):
adva писал(а):
Основной корифей здесь — Олег Гарипов.
http://www.integratorspace.com/

Почему-то по данному адресу ничего не открывается


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Апрель, 2016 12:32 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Всем, привет. Наконец-то меня зарегистрировали и далее не требуется обращаться к В.Д. за перепостом. Какой форум предпочтительней: раздел на easyelectronics или этот? Судя по тому, что сообщения оттуда переносились сюда, решил что правильнее далее писать тут. Это верно?

По ссылке: http://www.integratorspace.com/ -- у меня все открывается, но только "раз в сутки". Не знаю почему, но повторно зайти на этот ресурс не удается. Только "на следующий день".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 07:48 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Редактор "ИС ДРАКОН" от Тышова.

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

Порядок действий для тех кто захочет повторить сей "подвиг" (можно оформить в ДРАКОНЕ и сделать заставкой к программе вместе бесполезных текстов):

-1. Скачать архив с программой и распаковать *всё* в папку, где он и будет жить далее;
0. Создать (ручками в ОС) папку для хранения проектов (не нашел где указывается в программе как папка проектов);
Запустить редактор.

Это можно вынести на заставку редактора при первом запуске (вместо бесполезной сейчас текстовки):

Первый запуск (важно!):
1. Откройте меню "Справка"->"Установить" и выбрать куда: "на компьютер" и/или "на флешку" (втыкнуть!);

Начало работы:
2. Создайте новый лист: меню "Файл"->"Новый";
3. Сразу же(!) сохраните его "Файл"->"Сохранить как", указав путь до папки сохранения (или перейдя в неё) и название листа без расширения;
4. Скопируйте туда же файл с описанием целевого языка из папки Prg_Lang каталога Дракона;
5. Правая кнопка мыша на пустом месте листа - вызывает "контекстное меню" (КМ);
6. В КМ выберите "Гном" появится схема "Гном" из 3-х икон: "Заголовок", "Модуль";
7. Придумайте уникальный заголовок всему модулю на схеме Гном;
8. В тело модуля напишите это (именно так в 3 строчки):
/myProgs/main.c
Prg_C.lpr
Blink.drt

Здесь:
1 строка - путь и название файла куда будет компилироваться программа
2 строка - название файла целевого языка компиляции
3 строка - название вашего файла, куда вставляли схему "Гном"

9. В третий слева квадратик снизу иконы Модуль впишите это:
#include "arhat.h"
====
// конец модуля

Здесь:
1 строка(и) - все необходимые предварительные команды, которые будут вставлены ДО тела компиляции
==== - обязательный разделитель "ДО" и "ПОСЛЕ". НЕ УДАЛЯТЬ!
последняя строка - обязательный комментарий, можно пустой.

10. И только теперь, Вы можете добавлять интересующую для разработки схему "Примитив" или "Силуэт" и начинать заполнять её.

11. В выбранной схеме точно также есть программный код (третий квадратик в самом верху иконы)
, который точно также содержит разделитель ====. То что сверху - ДО тела компиляции, то что снизу - ПОСЛЕ. Сюда можно вписывать название функции схемы с параметрами и начальной открывающей скобкой и после ==== не забыть проставить закрывающую тело функции скобку тоже.

Возможно я только начал освоение и написал глупость .. но мне так остался непонятен шаманский смысл этого алгоритма, который к тому же не описан нигде целиком .. только кусками по разным видео, темам и разных(!) форумов.

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

Осталось также непонятным зачем нужны слои комментария "А" и "Б", да ещё и в купе основным слоем ДРАКОН, который по сути ничем, кроме как комментарием тут не выступает. (Ожидалось что привязка к языку позволяет упростить писание кода в терминах языка .. этого нет ни разу, есть только усложнение такового).

Также осталось непонятным КАК можно включить отображение на иконах того или иного слоя? Можно ли писать непосредственно в икону, а не "в нижнее окно редактора"? Похоже что нет.

В целом, огромная благодарность автору за его труд, сделано реально много и наверное хорошо.

У меня под wine только трижды вывалил "исключение нарушения адреса", но ни разу не вывалился окончательно и все три раза были связаны с моими попытками запустить что-то, не указав чего-то важного .. то есть нарушив порядок описанный выше. Есть смысл дополнительно проверить ветки на контроль параметров, где запускается компиляция, в условиях не заданного модуля, имени файла, языка и т.д.

Как итого:
Невозможность увидеть код, да вкупе с тем, что переменные никак не фигуряют в теле икон, практически исключает использование ребенком этого редактора. Утерять, использовать переменную без инициализации, а потом вылавливать ошибки исполнения .. увольте. По сути, вся наглядность языка ДРАКОН исчезает из-за этого недостатка: код никак не зависит от схемы.
Никаких изменений в создании ДРАКОН-схемы при указанном языке модуля - я не обнаружил. То есть, как понимаю, предлагается сначала создать ДРАКОН-схему на естественном языке, а потом присобачить к ней код реализации на том же самом С++. Для простых алгоритмов это наверное можно, но не понимаю "зачем" .. а для сложных, с классами, обработчиками прерываний .. автоматами (и не одним) .. это чревато сложно вылавливаемыми ошибками.

В общем, скетч сделал, скомпилял, всё получилось. Для прикручивания к Ардуине ничего собственно не надо делать "особенного".
Для этого надо иметь:
а) Образец ДРАКОН-схемы с уже заготовленными иконами: "Гном"[#include "Arduino.h"], "Примитив"[main()], "Примитив"[setup()] и "Примитив"/"Силуэт"[loop()]
б) В описании модуля надо указывать целевой файл как *.ino или *.cpp и потом переименовать в *.ino (я делал так)
в) полученный результат можно будет компилировать средствами Ардуино ИДЕ.


Вложения:
blink.ino.txt [904 байт]
Скачиваний: 529
blink.drt [947 байт]
Скачиваний: 555
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 09:40 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Да, ещё. Прикладываю первую программку, написанную ребенком с использованием ИС ДРАКОН


Вложения:
уроки.png
уроки.png [ 13.57 КБ | Просмотров: 15362 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 10:02 

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

Желательно тщательно рассмотреть замечания и
предложения, а также ответить на вопросы.

Особенная просьба ответить:
к Геннадию Тышову,
к LKom,
к Сергею Ефанову
и другим специалистам.


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Arhat109 писал(а):
... как понимаю, предлагается сначала создать ДРАКОН-схему на естественном языке, а потом присобачить к ней код реализации на том же самом С++. Для простых алгоритмов это наверное можно, но не понимаю "зачем" .. а для сложных, с классами, обработчиками прерываний .. автоматами (и не одним) .. это чревато сложно вылавливаемыми ошибками.
Интересное замечание. Желательно его обсудить.

Остановлюсь на первой части текста. Для простоты сформулирую так:
Arhat109 писал(а):
... как понимаю, предлагается сначала создать ДРАКОН-схему на естественном языке, а потом присобачить к ней код реализации на [целевом языке]
Да, это так.
Какая цель? Цель — сократить число ошибок, получить (по возможности) безошибочный результат.
За счет чего? Составляя "ДРАКОН-схему на естественном языке" мы (почти совсем) исключаем ошибки, связанные с разветвлениями и циклами. Несколько преувеличивая, можно сказать:
Цитата:
«ДРАКОН предотвращает ошибки на ветвлениях и циклах»
Что же остается? Остаются ошибки только на линейных участках.
Это основная мысль.

Наверно, с этим можно спорить. Возможно, нужны какие-то оговорки.

В основе моих рассуждений лежит постулат:
Цитата:
1. Самые трудные ошибки связаны с разветвлениями и циклами.

2. Обнаружить ошибку на линейном участке, как правило, легче, чем ошибку при ветвлениях и циклах.

Arhat109, что Вы об этом думаете?

У Вас, наверно, есть возражения? Какие?


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

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Вложение:
Уроки.png

Вот вариант программы от сына Arhat109, с заменой цикла параллельными действиями.
Выключен режим Программирования и отключено отображение "А-, Б-, П-, С-текстов".

----

Для тех участников форума, кому интересен Дракон.

На схеме имеется выполнение параллельных действий одним исполнителем.

Исполнитель сам устанавливает последовательность выполнения, то есть определен набор действий без указания последовательности выполнения.

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

У andr, приводился пример вычисления суммы функций, функции при этом могут вычисляться одновременно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 12:55 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Я получил письмо от Сергея Дмитриевича Ефанова, мнением которого я очень дорожу:
Цитата:
Re: ИС Дракон
Ефанов Сергей <...@lipetsk.ru>
Кому: Паронджанов Владимир

сегодня, 11:41
Здравствуйте, Владимир Даниэлович.

Я полностью согласен с замечаниями в адрес ИС Дракон, высказанными Arhat109.

В высшей степени желательно, чтобы уважаемый LKom ответил по существу на чрезвычайно важные и глубокие замечания Владимира Arhat109 и Сергея Ефанова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 13:36 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Владимир Даниэлович, наверное я был несколько опрометчив, поскольку конечно же Вы правы: ДРАКОН полезен безусловно, как средство формирования Алгоритма (любого, абстрактно) автором, который может даже и вовсе не искушен в программировании.

Упрощает ли ДРАКОН программирование по уже составленному алгоритму? Боюсь Вас разачаровать, но мне этот момент не виден в применении к конкретно этому редактору. Даже в части ветвлений и циклов, а не только действий. И дело в том, что код программы "упрятан" в квадратики.

Привел пример следующей, ещё недоделанной программы. Как видим, ребенок начал с вопроса "линия справа" .. а ведь для того чтобы ответить на этот вопрос предварительно надо опросить датчик (получить значение), и только потом выяснять "черное" или "белое" .. тем не менее: можно ли реальзовать этот вопрос "линия справа?"? Угу, легко. Надо лишь в "квадратик кода" записать не сравнение, а составное условие:

(digitalRead( leftSensor ) == IS_BLACK)

.. и фсё. :) Видно ли это на ДРАКОН-схеме? Нет! Есть ли тут "ошибка"? Да! Дело в том, что далее, надо снова принимать решение (тут этого блока ещё нет) и придется повторно считывать датчик .. но машинка в движении и значение датчика уже, внезапно, относится к иному месту на трассе.
Правильно записать условие так:

( (ls=digitalRead( leftSensor )) == IS_BLACK)

но .. имеем прямое нарушение принципов ДРАКОН-схемы: реализация ДЕЙСТВИЯ внутри проверки условия. Да, на "С" так пишут и часто ..


Вложения:
Линия1.png
Линия1.png [ 6.48 КБ | Просмотров: 15333 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 13:38 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
http://forum.oberoncore.ru/viewtopic.php?p=95672#p95672
Владимир Паронджанов писал(а):
В высшей степени желательно, чтобы уважаемый LKom ответил по существу на чрезвычайно важные и глубокие замечания Владимира Arhat109 и Сергея Ефанова.
Не уверен, что у Владимира Arhat109 замечания являются "чрезвычайно важными и глубокими". Суета наблюдается.
Может быть подождем, когда Геннадий Тышов ответит Владимиру Arhat109 и Сергею Ефанова.

В.Д. Паронджанов, вы торопитесь разбираться.

Владимир Arhat109 быстро осваивает язык Дракон и ИС Дракон или выберет ДраконЕдитор. Возможно после освоения будет меньше вопросов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 16 Апрель, 2016 16:02 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Да, согласен. Ни разу не претендую на "важность" своих вопросов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 09:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Степан Митькин писал(а):
adva писал(а):
А есть идеи по поводу удобного представления данных?

Идеи есть. Причём реализованные.
Основной корифей здесь — Олег Гарипов.
http://www.integratorspace.com/

Участник нашего форума Олег Гарипов (Olegar) делает доклад на ютубе (видео):
https://www.youtube.com/watch?v=gOQ690wKWbM

Еще одно видео Олега Гарипова (Olegar):
https://www.youtube.com/watch?v=koK2LCyF_IM

Напоминаю. Олег живет и работает в Канаде, город Галифакс (Новая Шотландия).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 10:05 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Спасибо, вот и у меня возник вопрос как отражать "контекст исполнения" (данные) в ДРАКОН.

Привожу прямое переложение на ДРАКОН нашего робота по линии, который готовился к Робофесту .. возможно где-то именование данных расходится промеж себя .. прошу прощения, делалоль "наспех", в целом должно быть понятно.


Вложения:
Повороты(1).png
Повороты(1).png [ 19.44 КБ | Просмотров: 15261 ]
Robokrut_line.png
Robokrut_line.png [ 54.21 КБ | Просмотров: 15261 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 10:17 

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

В языке есть средства для отображения различных видов циклов.

Желательно и надо использовать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 10:20 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Здесь, так и осталось непонятным как работает префикс "Синхронизатор" .. он действует на весь переключатель или "до куда"? По идее, хотел выразить что весь блок до иконы "Конец" выполняется с заданной периодичностью.

Создать функцию "поворот" и посмотреть как прописываются параметры мне не удалось, программа не позволяет ввести текст в икону "ЗАголовок" .. как понимаю, следствие "демо версии". Описал заголовок комментарием.

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

Ещё, я бы разрешил писание текста прямо в иконе .. неудобно прыгать между окном редактора и иконой и не всегда очевиден режим .. пометка к заголовку. Но это - "мелочи" с предыдущим.

Расхождения в представлении данных тут. Полноценная среда программирования выдает подсказки в таких случаях или позволяя выбрать предыдущее написание из найденных или показывая что "символ не определен" .. что сильно помогает в разработке сложных систем.
Решению подобного вопроса (как понимаю не решен ни в одном редакторе), мне кажется, надо уделить основное внимание.
Может быть использование "полок", нет?

LKom, это особенность программирования Ардуино ИДЕ в среде wiring: пользователь среды создает 2 функции setup() -- тут схема "Настройка", и loop() - тут "Главный цикл". В квадратиках "код" - это и прописано, но я так и не нашел способа как это отразить на схеме.
Функции main() у Ардуино нет совсем, ибо она "встроенная" в Wiring.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 10:30 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Arhat109, у Вас контакты с Геннадием Тышовым есть?

Пообщайтесь.

Программа работает без ограничений.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 11:55 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Arhat109 писал(а):
Спасибо, вот и у меня возник вопрос как отражать "контекст исполнения" (данные) в ДРАКОН.

Я использую Полку.
Например, в tracer:
Вложение:
lt_02a.png
lt_02a.png [ 81.27 КБ | Просмотров: 15247 ]
Вложение:
lt_01a.png
lt_01a.png [ 485.81 КБ | Просмотров: 15247 ]
Вложение:
lt_03a.png
lt_03a.png [ 13.22 КБ | Просмотров: 15247 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 12:59 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Спасибо, тоже решил что так наверное можно.

Пообщался с Тышовым по скайпу, некоторые вопросы оказались "моей болезнью роста", в смысле я нашел некий "свой" способ создания программы в "ИС ДРАКОН", поэтому он не всегда реагировал ожидаемо. Часть вопросов является следствием моей привычки к иным средствам разработки, которые "продвинуты" гораздо дальше (автоподстановки, автоконтроли областей видимости, переменных, методов, классов; автоформатирование, автодокументирование и т.д.) .. Но часть вопросов, оказывается носит системный характер, в частности отсутствие возможности читать программный код непосредственно в иконах. А часть вопросов была связана с уже сложившимся применением редактора как-то: назначение А и Б блоков и наличие множественных колонтитулов или методика перемещения по схеме с клавиатуры.

Кстати, колонтитулы тоже можно активно использовать для комментирования контекста исполнения. К сожалению, средств контроля потока данных тут не предполагается ни из колонтитулов ни из полок .. это только ещё один вид "комментария" к алгоритму. Вот и получается: комментариев - тьма, а программу посмотреть "негде". Сделано строго, согласно выражению автора: "Коментарии гораздо важнее алгоритма" (который сам по сути .. тоже "комментарий").

Отсутсвие возможности смотреть код непосредственно в иконах (утеря наглядности), практически отсутствие понятия "проект" (риск смешения файлов компиляции: "что открыто, то и есть проект") для моих целей обучения сына программированию пока ставит крест на этом инструменте. В связи с тем, что автор отвечает на другом форуме, дальнейшее обсуждение ИС ДРАКОН предлагаю вести на easyelectronics.

В общем, пока для себя ИС ДРАКОН закрыл. Буду смотреть остальные редакторы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Апрель, 2016 13:59 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Arhat109 пообщался с Тышовым, остались -
    1. DRAKON Editor Web.
    2.
    3. Фабула.
    4. DRAKON Editor.


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

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


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

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


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

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