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 , раздел Несостоятельность блок-схем Надеюсь меня сразу же не забанят ![]()
|
Автор: | Пётр Кушнир [ Пятница, 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 писал(а): Псевдокод не пробовали использовать? Эдак и на Обероне можно, другое дело что плакат ДРАКОНа нагляднее.Не сочтите за назойливость, интересно, откуда вы узнали о ДРАКОНе и об этом форуме? Ну да, ДРАКОН это не блок-схемы, это язык программирования ![]() ![]() Отсюда, кстати, следует, что блок-схемы - это не язык программирования. Подумайте над этим. Но даже если считать, что "ДРАКОН это не блок-схемы", у него те же недостатки, что и у блок-схем. Дополню это ссылкой на мнение Вирта: 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 писал(а): Ну я понял, что доказывать что-то верующим - бесполезно. Ничего, привыкнете. ![]() |
Автор: | 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 , раздел Несостоятельность блок-схем Спасибо за ссылку Надеюсь меня сразу же не забанят ![]() ![]() ![]() ![]() ![]() Брукс говорит тоже самое что и Паронджанов: 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 [ 23.14 КБ | Просмотров: 19338 ] |
Автор: | Alexey_Donskoy [ Понедельник, 13 Июль, 2009 11:59 ] |
Заголовок сообщения: | Re: Псевдокод вместо ДРАКОН-схем |
Flavy писал(а): а следующий уровень объединения? Когда надо объединить несколько операторов? Опять оператор? Дальше, очевидно, процедура, затем модуль (юнит, библиотека), ну и т.д. ![]() Что интересно, Форт стирает различия между оператором и процедурой, и всё это так легко наращивается, что получается "размазывание" иерархических уровней. Иногда это хорошо ![]() |
Автор: | Peter Almazov [ Понедельник, 13 Июль, 2009 18:21 ] |
Заголовок сообщения: | Re: Псевдокод вместо ДРАКОН-схем |
Flavy писал(а): Спасибо за ссылку Во-первых, Брукс говорит о несостоятельности блок-схем.![]() ![]() ![]() ![]() Брукс говорит тоже самое что и Паронджанов: Во-вторых, если у Вас есть общий план программы в виде блок-схемы на одну страницу, перепишите ее на псевдокоде, получится примерно в три раза короче. И нагляднее. Собственно, с этого и началась тема. Я настоятельно рекомендую Вам взять и лично проделать эту процедуру. В крайнем случае, можете предоставить блок-схему, которая Вам так нравится, и я сделаю это за Вас. |
Автор: | Иван Кузьмицкий [ Понедельник, 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/ |