OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 18 Август, 2019 22:48

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




Начать новую тему Ответить на тему  [ Сообщений: 113 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Программы AB_VJAZ и DAL_VJAZ
СообщениеДобавлено: Вторник, 19 Январь, 2010 23:10 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Программы AB_VJAZ и DAL_VJAZ

Программа Аutomated Builder for VJAZ BS
V 1.40, от 19.01.2010
(находится на стадии тестирования)
сокращенные названия: AB VJAZ, AB
VJAZ BS - block-schemes visual language

(модератор) предварительное обсуждение: viewtopic.php?p=39631#p39631


Новые возможности:

1) ДС "Силуэт" -> ВЯЗ БС -> ЯПВУ

В каталоге \drt архива ab140.rar находится файл Новый_10.drt, кодирующий
ДС "Силуэт". Последовательное преобразование силуэта сначала в БС, а
затем и в исходный код процедуры можно проследить в файлах test12.txt и
test12.cpp .

Ограничения для ДС "Силуэт" в дракон-си:

- у ДС "Силуэт" должен быть только 1 заголовок;
- в первой строке иконы "имя ветки" ДС "Силуэт" должно быть слово
"ветка" и следующий за ним через пробел номер ветки; самая левая
ветка должна иметь номер 1, и номера веток должны возрастать по
порядку слева направо;
- для организации переходов между ветками внутри силуэта вводится
локальная переменная wetka типа int, которой при инициализации
присваивается значение 1.


2) Интеграция программы vjazprg в и.с.DRAKON Г.Н. Тышова

Для интеграции программы vjazprg в и.с.DRAKON нужно:
1) скопировать в рабочий каталог ДРАКОНа программу vjazprg;
2) скопировать в рабочий каталог ДРАКОНа командный файл f5.bat,
находящийся в каталоге \drt архива ab140.rar;
3) скопировать в рабочий каталог ДРАКОНа файл конфигурации ab.cfg и
исправить заданные в нем пути к рабочим файлам;
4) перенести из находящегося в каталоге \drt архива ab140.rar файла
Drakon.ini в файл Drakon.ini, находящийся в рабочем каталоге ДРАКОНа,
строку
FileCmd=,file1.txt,f5.bat

5) запустить и.с.DRAKON и выбрать одну из загруженных ДС;
6) войти в редактирование текста одной из икон выбранной ДС;
7) нажать клавишу "F5".

После этого будут сгенерированны указанные в ab.cfg файл текстового
формата представления БС и файл исходного кода для проекта ДРАКОНа.
При возникновении ошибок в процессе перекодировки ДС -> БС
(например, если длина одной из текстовых строк элемента ДС будет больше
40 символов - кстати, неплохо бы отображать в ДРАКОНе текстовые
координаты курсора при вводе текста) в рабочем каталоге ДРАКОНа будет
создан файл диагностических сообщений diag_2.txt.


3) Исходный код программы vjazprg

Исходный код программы vjazprg, написанной на С и реализующей алгоритмы
перекодировки ДС -> БС и БС -> ЯПВУ, находится в каталоге \vjazprg
архива ab140.rar. Алгоритм перекодировки ДС -> БС см. в файле
ds_w_bs.txt.

4) Сплошные линии логических связей при отображении БС в окне АВ

Чтобы вернуться к отображению линий логических связей в псевдографике,
нужно в файле ab.cfg задать параметру __рис_псевдографика значение "1".






Об остальном подробнее см. файл ab.txt из архива a140.rar .

Буду рад вашим замечаниям и предложениям.

Вложение:
Комментарий к файлу: AB V1.40 с примерами
ab140.rar [548.18 КБ]
Скачиваний: 371


Последний раз редактировалось Дмитрий_ВБ Понедельник, 11 Апрель, 2011 12:20, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 11:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 399
Откуда: Москва
Уважаемый Дмитрий!

Благодарю Вас за прекрасную инициативу и желаю дальнейших творческих успехов.

Дмитрий_ВБ писал(а):
в первой строке иконы "имя ветки" ДС "Силуэт" должно быть слово
"ветка" и следующий за ним через пробел номер ветки; самая левая
ветка должна иметь номер 1, и номера веток должны возрастать по
порядку слева направо;
- для организации переходов между ветками внутри силуэта вводится
локальная переменная wetka типа int, которой при инициализации
присваивается значение 1.


Дмитрий!

Если позволите, я хотел бы высказать критическое замечание.
В иконах "имя ветки" Вы пишете Ветка 1, Ветка 2, Ветка 3 и т.д.
Возникает вопрос.

Какой смысл имеет ветка?
Какой смысл имеет Ветка 1?
Какой смысл имеет Ветка 2?
Какой смысл имеет Ветка 3?
Какой смысл имеет Ветка 4?

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

Этот недостаток можно и нужно устранить.
Для этого в иконе "имя ветки" надо писать СОДЕРЖАТЕЛЬНОЕ
название ветки. Такое название устраняет ребус и дает читателю
(и автору) программы ТОЧНУЮ информацию о СМЫСЛЕ ветки.

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

Тем самым Вы сумеете приблизиться к лозунгу Дракона:
"Взглянул -- и сразу стало ясно!"
"Посмотрел -- и сразу понял!"

Мне кажется, эту труднсть можно очень легко убрать, если использовать goto.
Или я не прав?

В заключение еще раз искренне благодарю Вас за огромную
и очень ценную проделанную работу.

Владимир Паронджанов


Последний раз редактировалось Владимир Паронджанов Среда, 20 Январь, 2010 11:54, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 11:53 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Дмитрий!

Если позволите, я хотел бы высказать критическое замечание.
В иконах "имя ветки" Вы пишете Ветка 1, Ветка 2, Ветка 3 и т.д.
Возникает вопрос?
Какой смысл имеет ветка?
Какой смысл имеет Ветка 1?
Какой смысл имеет Ветка 2?
Какой смысл имеет Ветка 3?
Какой смысл имеет Ветка 4?

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

Этот недостаток можно и нужно убрать.

--------

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

--------

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 12:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 399
Откуда: Москва
Цитата:
Но... ведь в иконе "имя ветки" может
быть несколько строк, и никто не мешает использовать их для обозначения
смысла действий, выполняемых в ветке. А первая строка выполняет
роль метки и нужно, чтобы эта метка была более заметной.


Дмитрий!

Метка должна быть содержательной.
Именно метка должна раскрывать смысл ветки.

К сожалению, используемые Вами метки (Ветка 1, Ветка 2, Ветка 3 и т.д.)
не дают мне как читателю НИКАКОЙ ИНФОРМАЦИИ
о семантике программы.

Эти метки бессмысленны. Они играют роль визуальной помехи,

Дмитрий!

Вы хорошо знаете, что метка должна выполнять функцию МНЕМОНИКИ.
Но Ваши метки НЕ ЯВЛЯЮТСЯ МНЕМОНИКОЙ.

Цитата:
А первая строка выполняет
роль метки и нужно, чтобы эта метка была более заметной

Ваши слова говорят, что бессмысленные, НЕМНЕМОНИЧНЫЕ метки
Ветка 1, Ветка 2, Ветка 3 должны быть более заметными.
По-моему, это неверно. Или я не прав?

Дмитрий!

Скажите, Вы являетесь противником использования GOTO?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 12:55 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Ну, если честно, я сделал так, как мне было удобнее. Если посмотреть
в test12.cpp на сгенерированный исходный код силуэта, то видно, что
там есть переменная-переключатель. И номер для нее где-то должен
присваиваться. Почему бы не в начале ветки ? А к номеру должно
прилагаться какое-нибудь слово, например - ветка (кстати, слово там
может быть любым, даже просто буква N, само слово я специально не
проверяю).
По поводу goto - был бы противником, писал бы на Обероне. Кстати,
переход от заголовка одной ветки к заголовку другой и выполняется
по goto. Тут дело в другом - у меня перекодировка каждой ветки
выполняется отдельно. Это сделано с целью улучения читаемости
исходного кода. А затем перекодированные по отдельности фрагменты
опять собираются вместе и замыкаются в цикл с использованием
пееменной-переключателя. Так что в этом смысле мое решение применить
переключатель диктуется той логикой перекодировки, которую я применяю.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 13:10 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 399
Откуда: Москва
Уважаемый Дмитрий!

Я повесил объявление о Вашей работе на сайте Компьютерры-он-лайн.
Может, кто заинтересуется.
Вот ссылка
http://www.computerra.ru/forum/index.ph ... age1066936

Если хотите, выступите там и разъясните Вашу позицию.
Мне кажется, это будет полезно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 17:13 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 399
Откуда: Москва
Уважаемый Дмитрий!

Чтобы собрать больше откликов, Вам надо сделать побольше объявлений на
различных программистских сайтах.

Как это сделать?

Можно взять пример с Ярослава Романченко (Sage), который создал язык
ДРОН = Дракон + Оберон.

Вот ссылка
viewtopic.php?p=17926#p17926

На этой ссылке Вы найдете 9 адресов, на которых Ярослав Романченко
разместил свою информацию о языке Дракон-Оберон = ДРОН

Ваши сообщения стоит повесить на тех сайтах, где люди проявляют интерес
к языку си


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 17:48 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Уважаемый Владимир Даниелович, ну что я могу сказать по этому
поводу - мне была интересна задача перекодировки из Дракона
в исходный код программы, и я ее решил, как смог. Возможно, что мое
решение неполное, а для некоторых случаев даже и неправильное.
Ну, что получилось. Код программы vjazprg я открыл, так что энтузиасты,
если такие найдутся, смогут поучаствовать в дальнейшем продвижении
идеи. А я по мере своих сил буду участвовать в обсуждении и анализе
предлагаемых вариантов. Ну и, если возникнут дельные замечания
и предложения, развивать имеющуюся у меня на руках версию программы.
А перспектива заниматься популяризаторской деятельностью меня сейчас
не слишком привлекает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 18:15 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 399
Откуда: Москва
Дмитрий_ВБ писал(а):
А перспектива заниматься популяризаторской деятельностью
меня сейчас не слишком привлекает.


Дмитрий!

Я с уважением отношусь к Вашему решению не заниматься
популяризаторской деятельностью.

Если Вы не возражаете, я (в меру моих сил) попробую
посодействовать распространению Ваших идей и наработок.

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

Такой текст (за Вашей подписью) я попытаюсь распространить
в разных местах.

Буду очень рад, если Вы сочтете возможным принять мое предложение.

Владимир Паронджанов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 21:44 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Извините, Владимир Даниелович, но о каких идеях Вы говорите ?

Как кто-то написал на форуме Компьютерры: "Сейчас всё находится на этапе "простейший текстовый редактор" и оконный интерфейс с консольной псевдографикой (типа DOS-овского Turbo Vision)"

Я с самого начала написал Ярославу Романченко, что моя программка - это всего лишь макет.

Алгоритм перекодировки Дракон -> ЯПВУ не отлажен - а как распространять то, чего еще нет ?

Еще раз могу повторить - код программы vjazprg мной открыт как OpenSource для ознакомительных и учебных целей, раз уж
мы находимся на образовательном форуме.
В ближайший месяц, а может быть и больше, в силу моих личных обстоятельств у меня не будет свободного времени, которое
я бы смог уделить для дальнейшего развития выложенной мной программы. Поэтому пусть этим лучше займутся молодые и
головастые студенты, обучающиеся на факультете кибернетики какого-нибудь института. Здесь Вам лучше обратиться за
содействием, например, к Илье Ермакову.

С уважением, Дмитрий


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 23:09 

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 21
Цитата:
Поэтому пусть этим лучше займутся молодые и головастые студенты .. Здесь Вам лучше обратиться за содействием, например, к Илье Ермакову.
Ага, "у Абдулы много людей".. но они ещё дракон-редактор не доделали. Увы, это закономерность: прогресс тянут студенты (Linux) и пенсионеры (Puppy Linux).. В какую чёрную дыру проваливается "мужчина в полном расцвете сил" не понятно. :( Извиняюсь за оффтоп, но давно глаз режет. (пост можно стереть)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Среда, 20 Январь, 2010 23:15 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9129
Откуда: Россия, Орёл
Увы. Но старания есть... :) Просто приходится выгребать всё время против течения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Четверг, 21 Январь, 2010 06:57 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Илья Ермаков писал(а):
Просто приходится выгребать всё время против течения.
Может, лучше просто сделать выбор между преподавательской и инженерной деятельностью?
"За двумя зайцами погонишься - от обоих получишь!" :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Четверг, 21 Январь, 2010 08:17 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9129
Откуда: Россия, Орёл
Да не... кадры-то растут... растут кадры :)
А их много надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Четверг, 21 Январь, 2010 17:45 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Дмитрий_ВБ писал(а):
Код программы vjazprg я открыл, так что энтузиасты,
если такие найдутся, смогут поучаствовать в дальнейшем продвижении
идеи. А я по мере своих сил буду участвовать в обсуждении и анализе
предлагаемых вариантов. Ну и, если возникнут дельные замечания
и предложения

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

Да еще - на самом визуальном языке?

Да еще - чтобы универсальный был в той или иной степени, т.е. описывал генерацию текстов программ не только на Си, а, к примеру, на ассемблере и Паскале?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Четверг, 21 Январь, 2010 17:59 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
TAU писал(а):
Дмитрий_ВБ писал(а):
Вот возникла такая вдруг бредовая идея: а что, если не код, а алгоритм программы-генератора опубликовать?

Да еще - на самом визуальном языке?



Кстати, с этого в 2005 и началось. Если посмотреть файл ds_w_bs.txt
из архива ab140.rar, то в конце приводится первоначальный формат
файла текстового представления БС - он генерировался из комментариев,
находившихся в тексте процедуры. Там же говорится, какую процедуру в
нынешнем исходном коде нужно выбросить, чтобы получить начальный
вариант генерации текста БС.

Более серьезно по поводу алгоритма. Исходный код программы vjazprg состоит из 2-х файлов:
- файл логики нижнего уровня vjazprg.cpp, в котором и находятся процедуры нижнего уровня, реально
выполняющие всю работу в программе;
- файл логики верхнего уровня l_vjaz.cpp, генерируемый из файла текста БС l_vjaz.txt.
Именно из файла l_vjaz.txt сгенерирован алгоритм работы программы vjazprg, приведенный в файле
ds_w_bs.txt. Все вышеперечисленные файлы находятся в архиве ab140.rar.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Воскресенье, 12 Сентябрь, 2010 21:40 

Зарегистрирован: Вторник, 15 Декабрь, 2009 11:43
Сообщения: 127
Ответ Драконографу:

Т.к. в программе ab_vjaz, которая рассматривается в теме "Система разработки и документирования ПО РВ",
генерации исходного кода ПО не предусматривается, предлагаю перенести обсуждение вопроса о генерации
структурного кода ПО из визуальной схемы сюда.

Вы писали:
Не совсем понял - ведь в структурных текстовых импер-конструкциях точки слияния записываются ("имитируются") заменителями БП (end-if, end-case, od, wend и т.п.). И отслеживать их можно практически только по отступам - что тоже непросто.

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

По поводу генерации структурного кода ПО из визуальной схемы - вот мои очередные предложения,
файл dajakon1.htm в rar-овском архиве:

Вложение:
dajakon1.rar [135.87 КБ]
Скачиваний: 412


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Понедельник, 13 Сентябрь, 2010 05:01 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Дмитрий_ВБ писал(а):
Ответ Драконографу:
Вы писали:
Не совсем понял - ведь в структурных текстовых импер-конструкциях точки слияния записываются ("имитируются") заменителями БП (end-if, end-case, od, wend и т.п.). И отслеживать их можно практически только по отступам - что тоже непросто.

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дракон-си
СообщениеДобавлено: Понедельник, 13 Сентябрь, 2010 05:06 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Дмитрий_ВБ писал(а):
Ответ Драконографу:

Т.к. в программе ab_vjaz, которая рассматривается в теме "Система разработки и документирования ПО РВ",
генерации исходного кода ПО не предусматривается, предлагаю перенести обсуждение вопроса о генерации
структурного кода ПО из визуальной схемы сюда.

Кстати, те же вопросы естественным образом всплыли и в этой теме - быть может, туда?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: О предложениях по ДАЯКОН
СообщениеДобавлено: Понедельник, 13 Сентябрь, 2010 08:20 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Дмитрий_ВБ в download/file.php?id=1749 писал(а):
ДАЯ[КОН] - дружелюбный алгоритмический язык, [который обеспечивает наглядность,] подмножество языка ДРАКОН
(Должен ли у каждого народа быть свой алгоритмический язык - ДКАКОН у китайцев, ДААКОН у американцев и ДГАКОН у греков ?)

Ну, каждый народ имеет свой алфавит, и потому аббревиатура на другом естественном языке в большинстве случаев будет будет несколько иначе записана :lol: По-русски же мы можем расшифровывать её и несколько иначе - ДРужелюбный Алгоязык... - тем самым подчёркивая неспецифичность языка текста. Хотя "русский" здесь, по-моему, означает всего лишь принадлежность культуре, в которой создан техноязык... :)
А если серьёзно - то свой неформальный (для целей импер-эскизирования) стандарт техноязыка естественным образом формируется у носителей любого естественного языка - гибридизацией с этим языком - также, как и формальный стандарт формируется гибридизацией с искусственным языком. Это даже не вопрос - надо только учесть общие требования, предъявляемые к тексту при гибридизации - я сформулировал их, как сам понимаю, в этом подпункте и конкретизировал для действий в конце этого подпункта.
Но этого мало - не следует забывать и об этом:
Илья Ермаков в viewtopic.php?p=48527#p48527 писал(а):
Алгоритмы - это только небольшая составляющая структуры программной системы.

Именно поэтому я занимаюсь вопросами, отражёнными, в частности, в этом сообщении - т.е. целостным визуальным представлением всего прогязыка. Ему должна соответствовать текстовая запись (которую в этом сообщении называю метаязыком ТФРД). Посему о дальнейшем:
Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Блок "вставка" исключен, т.к. в ДАЯ каждый блок может быть ссылкой, см. ниже описание формата текстового представления блок-схем в ДАЯ.

Вставка - это ссылка и метка (для возврата из процедуры, вызванной по ссылке) одновременно, и эргономичнее выделить этот случай особым типом вершины. С таким взглядом, видимо, связано и следующее допущение:
Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Формат текстового представления БС в ДАЯ состоит из последовательно размещенных друг за другом описаний БС...

Процедуры должны организовываться в схему программы (процесса) - и д.б. язык текстового представления этих схем, с которыми связаны тексты процедур. Конечно, этот язык можно формировать отдельно (я определяю его как ПК-язык) - а потом из его вершин просто ссылаться на БС процедур (что отражается и в тексте процесса).

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Почему Г.Н.Тышов в
качестве формата сохранения дракон-схем в файлах выбрал не их структурированное текстовое представление, приведенное в качестве примера В.Д.Паронджановым, а непригодный для редактирования "вручную" drt-формат ? ...
Рассмотрим 2 варианта изображения цикла в и.с.Дракон: ...
Для случая выходов из цикла с использование переменной вопроса цикла перевод в текстовый формат представляется совершенно очевидным: ...
Для случая выхода из цикла с обходом вопроса цикла не все так очевидно, потому что операторы выхода из цикла заданы неявно. ...

Посмотрите на результаты Рэйлвей Каген, в частности, в этом сообщении - записывая импер-структуру как список для стековой машины, он получил, что БП назад в примитивной записи представить проблематично. Кстати, в ПРОТОНе вводятся представления для вершин-соединителей - но они промежуточные, до получения окончательного результата - и здесь есть над чем подумать...

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Я глубоко не влезал в этот вопрос, но есть у меня подозрение, что по мере усложнения дракон-схемы с использованием досрочных выходов
из цикла найти однозначное соответствие между графическим и текстовым представлениями дракон-схемы становится все более трудной задачей.

Поэтому тот же Илья Ермаков в этом сообщении и говорит о том, чтобы не клепать циклы с досрочными выходами, а сочинять цикл Дейкстры - но для этого сочинителю надо выводить маршрутную логику, опираясь на смысл алгоритмизуемого процесса...

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Пример структурной блок-схемы
Продолжим рассмотрение ДС и соответствующей ей БС для случая выходов из цикла с использованием переменной вопроса цикла: ...
Введем новый вид отображения примитива или ветки силуэта:
логическая структура схемы. Здесь текстом действий будут обозначения
структурных блоков процедуры, привязанные к этим действиям.
Настоящий текст действия можно просмотреть, наведя указатель ныши
на прямоугольник действия, аналогично режиму сжатия БС (см. выше).
Предполагается, что на экране будут отображаться 2 окна:
слева логическая структура схемы, а справа, по выбору, Б-схема или
Д-схема.
Изменения в логической структуре схемы будут сразу же отображаться
на внешнем виде создаваемой блок-схемы.
Если нужно будет ввести новое действие, то надо в окне логической
структуры схемы дважды щелкнуть мышью между двумя действиями.

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

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

Пф-ф! :) Для непрограммиста, конечно, не всё понятно ;), но вижу здесь следующее:
    * Б-схема есть "выкладка" Д-схемы в линию, только вместо линейных БП-обходов вертикалей, нарушающих линейный порядок (вводимых как показанов этом подпункте для ветвлений и в этом подпункте для циклов) вводятся, я так понимаю, дополнительные переменные и новые развилки по ним? А зачем?
    * вводится вершина типа Цикл, но неясно, чем она является - оператором или меткой?
    * операции над вводимой переменной Вопрос цикла (кстати на схемах они ошибочно записаны как отношения, видимо, правильно как в тексте - присваивания) - в чём их смысл?
    * вводится индексация порядка вертикалей, но по иному принципу, чем при обсуждении лиорасширения пока в этом примере - как "многоуровневая нумерация элементов содержания", причём роль "нумеруемых заголовков" играют, видимо, какие-то иконы. Не совсем понял по схемам, какие - но сама идея очень интересна - хотелось бы разъяснений.

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
При таком подходе номера действий приобретают справочный характер и нужны:
1) для быстрого нахождения нужного действия при открытии для редактирования окна текстового представления блок-схемы;
2) для более удобного установления соответствия между действиями в окне логической структуры блок-схемы и в окне отображения блок-схемы.

А правильно ли, когда есть что-то справочное? Не получается ли избыточность, "зашумляющая" восприятие?

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
При возникновении неразрешимых логических несоответствий в логической структуре схемы она будет сбрасываться и приводиться к линейному виду - действия без условий, с возможностью отката к последнему правильнову состоянию.

А почему возникают эти несоответствия? М.б. попробуем разобраться?

Дмитрий_ВБ в download/file.php?id=1749 писал(а):
Для совсем неподготовленных пользователей не подходит, но я с самого начала предупреждал, что у меня предложения в первую очередь
для программистов.

Визуальное представление (набор представлений) д.б. для всех участников процесса - чтобы согласовывать представления заказчика и разработчика. Тогда можно спецификацию последовательно преобразовывать в совокупность описаний программных модулей и инструкций по их применению - а не пытаться сначала программировать куски процесса автономно от пользователя, а потом документировать их для того же пользователя.
О работе по стандартам, пытающимся разделять разработку и документирование - Хейвуд и Кармайкл в книге, вложенной в это сообщение, приводят любопытную статистику - посмотрите на с. 15 примечание. То же говорил фон Нейман (я это цитировал в Драконографике), общий смысл - мы не м.б. уверены, что любое описание программы будет менее точным и сложным, чем она сама - поэтому разумно требовать, чтобы из самой программы (шире - алгомодели работы любого косавта) человеку д.б. максимально ясно, "как она это делает" - а этому как раз удовлетворяет визуализация на гибридном прогязыке (включая дракон-инструкцию, "что оператору делать с программой").

Естественно, не всё сразу - но общая концепция должна с самого начала позволять непротиворечивое расширение представления новыми компонентами (здесь - языками ТФРД, записывающими разные типы схем). Концепция логической структуры, похоже, позволяет это - т.е. по этому принципу можно закодировать текстом любой силуэт, очевидно, необязательно алгоритмический - именно поэтому она интересна. Не возникнут ли какие-то частные проблемы с текстованием неалгоритмических структур по этому принципу - надо смотреть...


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

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


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

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


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

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