DRAKON.SU
https://forum.drakon.su/

Псевдокод вместо ДРАКОН-схем
https://forum.drakon.su/viewtopic.php?f=62&t=1502
Страница 1 из 2

Автор:  Peter Almazov [ Пятница, 24 Апрель, 2009 16:42 ]
Заголовок сообщения:  Псевдокод вместо ДРАКОН-схем

Модератор: Обсуждение использования псевдокода вместо ДРАКОН-схем вынесено из темы "Пример алгоритма на ДРАКОНе" (viewtopic.php?f=62&t=957).

Евгений Темиргалеев писал(а):
Зацените:
См. viewtopic.php?p=28448#p28448.

Псевдокод не пробовали использовать?
Извиняюсь за резкость (это мой первый пост), но вы что, тут ослепли все?
Люди восторгаются БЛОК-СХЕМАМИ!
Ребята, ну вы хоть Брукса для начала почитайте, что ли. Вот ссылка http://www.podgoretsky.com/ftp/Docs/Misc/brooks/XV.htm , раздел Несостоятельность блок-схем

Надеюсь меня сразу же не забанят :)

Вложения:
svn2.png
svn2.png [ 20.82 КБ | Просмотров: 19451 ]

Автор:  Пётр Кушнир [ Пятница, 24 Апрель, 2009 17:43 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Peter Almazov писал(а):
Люди восторгаются БЛОК-СХЕМАМИ!
Извините, ДРАКОН это не блок-схемы, это язык программирования.
Peter Almazov писал(а):
Псевдокод не пробовали использовать?
Эдак и на Обероне можно, другое дело что плакат ДРАКОНа нагляднее.

Не сочтите за назойливость, интересно, откуда вы узнали о ДРАКОНе и об этом форуме?

Автор:  Иван Кузьмицкий [ Пятница, 24 Апрель, 2009 18:51 ]
Заголовок сообщения:  Re: Работа с хранилищем Subversion

Peter Almazov писал(а):
Ребята, ну вы хоть Брукса для начала почитайте, что ли. Вот ссылка http://www.podgoretsky.com/ftp/Docs/Misc/brooks/XV.htm , раздел Несостоятельность блок-схем


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


Даже Брукс считает визуализацию алгоритмов полезным делом! А про генерацию программ из "блок-схем", у него ни слова, между прочим...

Автор:  Peter Almazov [ Вторник, 28 Апрель, 2009 07:44 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

См. viewtopic.php?p=28639#p28639
Пётр Кушнир писал(а):
Peter Almazov писал(а):
Люди восторгаются БЛОК-СХЕМАМИ!
Извините, ДРАКОН это не блок-схемы, это язык программирования.
Peter Almazov писал(а):
Псевдокод не пробовали использовать?
Эдак и на Обероне можно, другое дело что плакат ДРАКОНа нагляднее.

Не сочтите за назойливость, интересно, откуда вы узнали о ДРАКОНе и об этом форуме?


Ну да, ДРАКОН это не блок-схемы, это язык программирования :lol: :lol:
Отсюда, кстати, следует, что блок-схемы - это не язык программирования. Подумайте над этим.
Но даже если считать, что "ДРАКОН это не блок-схемы", у него те же недостатки, что и у блок-схем. Дополню это ссылкой на мнение Вирта: http://blogs.gotdotnet.ru/personal/allo ... d8b3aa598c , с которым я полностью согласен.

На Дракон и форум попал с сайта http://www.computerra.ru. Я там на форуме зарегистрирован как "Пётр А"

Автор:  Peter Almazov [ Вторник, 28 Апрель, 2009 07:48 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Илья Ермаков писал(а):
Да не является он, не является :)

Силуэт - это автомат. Предельно строгая штука.

Илья, поясните, пожалуйста, что такого фундаментального-автоматного содержится в Драконе? На псевдокоде реализация автомата выглядит так (A):
Код:
пока Состояние <> КонечноеСостояние цикл
  выбор по Состояние
    случай ххх:
      действия и вычисление следующего состояния
    случай yyy:
      действия и вычисление следующего состояния
    и т. д.
конецЦикла


Можно нарисовать блок-схему алгоритма (А) и медитировать над ней.
Вы заметили, что схемы Дракона похожи на схему алгоритмя (А). Ну что же, похвала за наблюдательность. Но не более того.
А дальше-то что? Какие преимущества есть у пользователя Дракона по сравнеию со схемой (А)? И как строгость автомата соотносится с Драконом?

Автор:  dvuugl [ Вторник, 28 Апрель, 2009 09:51 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

to Peter Almazov
Про "автоматность" дракона здесь есть отдельная тема.
Формальный язык - это алфавит + грамматика (строгие правила построения слов, предложений).
Всё это в ДРАКОНе есть, но алфавит- графический. Это при поверхностном взгляде конечно может вводить в заблуждение. И есть СТРОГИЕ правила соединенная графических элементов в графические же "слова" (макроиконы) и в предложения (в ветви силуэтов, в "примитивы"). И правила эти таковы, что их соблюдение "автоматом" даёт наибольшую понимаемость, эргономичность. В этих правилах, в этом строгом синтаксисе и содержится весь "изюм" ДРАКОНа, его ноу-хау, его "формула открытия", а не в геометрических фигурках самих по себе.
В традиционных блок-схемах есть в лучшем случае только алфавит, обязывающего синтаксиса нет, максимум общие рекомендации того или иного автора. Они не язык, они - свободная иллюстрация вашей мысли. ДРАКОН-схема же не иллюстрация мысли, а сама мысль выраженная в правилах языка, как и в правилах любого другого языка вообще.
А коль скоро разных областей специалисты в лице ДРАКОНА могут говорить по одним правилам, зримым и легко читаемым, то это серьёзно способствует их совместной работе.

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

То есть ДРАКОН едва ли не первый из ФОРМАЛЬНЫХ ЯЗЫКОВ, вышедший за область программирования, да ещё и в графической форме. Это вдвойне новое явление, и как всё чересчур новое поначалу вызывает недоумение.

Автор:  Peter Almazov [ Вторник, 28 Апрель, 2009 15:51 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

dvuugl писал(а):
То есть ДРАКОН едва ли не первый из ФОРМАЛЬНЫХ ЯЗЫКОВ, вышедший за область программирования, да ещё и в графической форме. Это вдвойне новое явление, и как всё чересчур новое поначалу вызывает недоумение.

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

Автор:  dvuugl [ Вторник, 28 Апрель, 2009 16:40 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Вам же жирным по белому сказано: ДРАКОН перекрывает узкую область программирования, выходит за рамки этой области. Так же как UML например. Фейнман, кажется, говаривал "Если какая-то вещь не физика (здесь- не программирование), это не значит что с ней что-то не в порядке." И с ДРАКОНОМ и с программистами всё в порядке.

Автор:  Peter Almazov [ Среда, 29 Апрель, 2009 07:17 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

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

My Hopes on Computing Sience
Proc. 4th Int. Conf. On Software Engineering, Sept. 17-19, 1979, Munich, Germany (EWD 709)

Автор:  Александр Ильин [ Среда, 29 Апрель, 2009 07:45 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Peter Almazov писал(а):
Ну я понял, что доказывать что-то верующим - бесполезно.
Мы тоже это поняли, про вас.

Автор:  Geniepro [ Среда, 29 Апрель, 2009 08:23 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Peter Almazov писал(а):
Ну я понял, что доказывать что-то верующим - бесполезно.
Ничего, привыкнете. :lol:

Автор:  Axcel [ Среда, 29 Апрель, 2009 09:40 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Цитата:
Ну я понял, что доказывать что-то верующим - бесполезно. Флаг вам в руки.

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

Автор:  Peter Almazov [ Среда, 29 Апрель, 2009 10:47 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Александр Ильин писал(а):
Peter Almazov писал(а):
Ну я понял, что доказывать что-то верующим - бесполезно.
Мы тоже это поняли, про вас.

Ну вот и ладушки.

Автор:  Рэйлвэй Каген [ Четверг, 09 Июль, 2009 09:56 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Насколько я понял, первой работой по псевдокоду была:
Harlan D. Mills. How to write correct programs and know it. SIGPLAN Not., 10(6):363–370, 1975.

Только уж очень она неуловимая. Может есть у кого?

Автор:  Flavy [ Понедельник, 13 Июль, 2009 08:52 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Peter Almazov писал(а):
Ребята, ну вы хоть Брукса для начала почитайте, что ли. Вот ссылка http://www.podgoretsky.com/ftp/Docs/Misc/brooks/XV.htm , раздел Несостоятельность блок-схем

Надеюсь меня сразу же не забанят :)
Спасибо за ссылку :D :D Убедили!!! :lol: :lol:
Брукс говорит тоже самое что и Паронджанов:
Brooks писал(а):
Блок-схема, помещающаяся на одной странице, для большой программы по существу превращается в общий план программы, перечень ее основных этапов или блоков, и, как таковая, она очень удобна.
..........
В свое время предложенные Голдстайном и Нейманом маленькие квадратики на блок-схемах вместе со своим содержанием выступали в качестве языков высокого уровня, объединяя абсолютно непонятные операторы машинного языка в группы, имеющие определенный смысл. Как давно уже указал Айверсон, в систематическом языке высокого уровня такая группировка уже осуществлена, так что каждый квадратик просто соответствует оператору.
Это прямые цитаты...
Ко второй хочется добавить - а следующий уровень объединения? Когда надо объединить несколько операторов? Опять оператор?

Автор:  Рэйлвэй Каген [ Понедельник, 13 Июль, 2009 10:43 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Flavy писал(а):
а следующий уровень объединения?..
Вероятно, некоторые подходы могут быть найдены в современной лингвистике. Разумеется, при определённых граничных условиях, таких как конечный синтаксис исполнителя. Начать можно с:
Chomsky N. Syntactic Structures (2Ed). 1957. 2002.
Chomsky N. The Minimalist Program. 1995.
Вложение:
Комментарий к файлу: Chomsky N. Syntactic Structures (2Ed)
ling.PNG
ling.PNG [ 23.14 КБ | Просмотров: 19338 ]

Автор:  Alexey_Donskoy [ Понедельник, 13 Июль, 2009 11:59 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Flavy писал(а):
а следующий уровень объединения? Когда надо объединить несколько операторов? Опять оператор?
Дальше, очевидно, процедура, затем модуль (юнит, библиотека), ну и т.д. :)

Что интересно, Форт стирает различия между оператором и процедурой, и всё это так легко наращивается, что получается "размазывание" иерархических уровней. Иногда это хорошо :)

Автор:  Peter Almazov [ Понедельник, 13 Июль, 2009 18:21 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Flavy писал(а):
Спасибо за ссылку :D :D Убедили!!! :lol: :lol:
Брукс говорит тоже самое что и Паронджанов:
Во-первых, Брукс говорит о несостоятельности блок-схем.
Во-вторых, если у Вас есть общий план программы в виде блок-схемы на одну страницу, перепишите ее на псевдокоде, получится примерно в три раза короче. И нагляднее. Собственно, с этого и началась тема. Я настоятельно рекомендую Вам взять и лично проделать эту процедуру.
В крайнем случае, можете предоставить блок-схему, которая Вам так нравится, и я сделаю это за Вас.

Автор:  Иван Кузьмицкий [ Понедельник, 13 Июль, 2009 18:37 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Peter Almazov писал(а):
Во-первых, Брукс говорит о несостоятельности блок-схем.


Поправочка - Брукс говорит о полезности блок-схем.

Автор:  Илья Ермаков [ Понедельник, 13 Июль, 2009 21:30 ]
Заголовок сообщения:  Re: Псевдокод вместо ДРАКОН-схем

Peter Almazov писал(а):
Во-вторых, если у Вас есть общий план программы в виде блок-схемы на одну страницу, перепишите ее на псевдокоде, получится примерно в три раза короче. И нагляднее.


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

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/