DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 143 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8  След.
Автор Сообщение
СообщениеДобавлено: Среда, 12 Октябрь, 2016 10:27 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
https://en.wikipedia.org/wiki/Algorithm ... algorithms
Цитата:
Structured programming, canonical structures: Per the Church–Turing thesis, any algorithm can be computed by a model known to be Turing complete, and per Minsky's demonstrations, Turing completeness requires only four instruction types—conditional GOTO, unconditional GOTO, assignment, HALT.

Kemeny and Kurtz observe that, while "undisciplined" use of unconditional GOTOs and conditional IF-THEN GOTOs can result in "spaghetti code", a programmer can write structured programs using only these instructions; on the other hand "it is also possible, and not too hard, to write badly structured programs in a structured language".[38]

Tausworthe augments the three Böhm-Jacopini canonical structures:[39] SEQUENCE, IF-THEN-ELSE, and WHILE-DO, with two more: DO-WHILE and CASE.[40] An additional benefit of a structured program is that it lends itself to proofs of correctness using mathematical induction.[41]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 12:08 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Аргументы, которые вы приводите, довольно таки поверхностные. Почему?
Так как вы говорите о тривиализированной концепции структурного программирования.
В своей заметке Дейкстра писал (http://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/EWD1308.html):
Цитата:
Apparently, IBM did not like the popularity of my text; it stole the term "Structured Programming" and under its auspices Harlan D. Mills trivialized the original concept to the abolishment of the goto statement.


Чтобы обсуждать более предметно нужно понимать в чем изначально заключалась концепция структурного программирования.
Вы знаете?


Последний раз редактировалось Rifat Среда, 12 Октябрь, 2016 13:22, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 13:13 

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

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

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

Таким образом, мы преследуем сходные или близкие цели. Объективно мы являемся не оппонентами, а союзниками. Между союзниками иногда возникают разночтения. Это не страшно.
Убежден, что со временем все прояснится и все недоразумения исчезнут.

Но сегодня до этого пока еще далеко.

Rifat писал(а):
вы говорите о тривиализированной концепции структурного программирования.
В своей заметке Дейкстра писал (http://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/EWD1308.html):
Цитата:
Apparently, IBM did not like the popularity of my text; it stole the term "Structured Programming" and under its auspices Harlan D. Mills trivialized the original concept to the abolishment of the goto statement.

Передо мной лежит книга в русском переводе (IBM corporation 1979)
Цитата:
Лингер Р., Миллс Х., Уитт Б. Теория и практика структурного программирования. Пер. с англ. М.: Мир, 1982. — 406 с.
Это тоже тривиализированная концепция структурного программирования, украденная у Дейкстры? Или нет? Как Вы считаете?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 14:47 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Если Дейкстра говорит о том, что Миллс тривиализировал концепцию, а книга написана Миллсом, то, наверно, эта книга содержит тривиализированную концепцию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:38 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Термин "структурное программирование" ввел Дейкстра на конференции НАТО в 1969 году:
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1969.PDF (страницы 65-68).

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

А статья Миллза, где он заочно спорит в Дейкстрой расположена в http://trace.tennessee.edu/cgi/viewcontent.cgi?article=1019&context=utk_harlan

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:51 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Основное различие в их взглядах заложено в следующих цитатах:
Цитата:
... his (Dijkstra's) main argument for structured programming was to shorten then mathematical proofs of correctness of programs!

На что Mills отвечает:
Цитата:
The ideas of structured programming, mathematical correctness, and high-level languages are mutually independent.


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

Миллз же говорит о том, что структурное программирование может быть полезно и без доказательства корректности (но, тогда теряется суть, из-за которой и возникло структурное программирование).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:52 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Rifat писал(а):
Возможно, Дейкстра имел в виду эту статью, когда говорил о том, что Миллз тривиализировал идею.

Это имеет или нет отношение к ИС Дракон?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:54 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Rifat, Вы же хотели задавать простые вопросы по ИС Дракон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:57 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Соответственно, когда кто-то говорит, что данный вид программы представляет собой двумерное структурное программирование, то хотелось бы увидеть, что двумерное структурное программирование близко к структурному программированию именно по изначальному смыслу структурного программирования: по тому, что данная структура сокращает (упрощает) доказательство корректности алгоритма.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 12 Октябрь, 2016 15:58 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
LKom писал(а):
Rifat писал(а):
Возможно, Дейкстра имел в виду эту статью, когда говорил о том, что Миллз тривиализировал идею.

Это имеет или нет отношение к ИС Дракон?

Да, это имеет отношение к Дракону, так как говорят, что Дракон представляет собой двумерное структурное программирование.


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

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

Знание нотации не является свидетельством какого либо мастерства.


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

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Владимир Паронджанов писал(а):
Справка для Рифата

Термин "Двумерное структурное программирование" появился в статье Ильи Евгеньевича Ермакова http://2010.it-edu.ru/docs/C4/a4a%20Ермаков%20И.Е1287620722076198.doc
Цитата:
Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН») // Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования». Москва, 8-10 ноября 2010. — М.: Издательство=МГУ им. М. В. Ломоносова, 2010. — С. 452—461.



Аргументы были к тому, что данный термин неправильный.
А то, что Дракон - это нотация никто и не спорит.


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

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Rifat писал(а):
Да, это имеет отношение к Дракону, так как говорят, что Дракон представляет собой двумерное структурное программирование.
Правильно говорят о двумерной природе записи алгоритма.

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

Программирования при этом нет никакого, происходит проектирование.
При этом не надо говорить "структурное" или нет, т.к. не надо переносить понятия из области программирования.


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

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Существует методологический принцип Бритва Оккама - «Не следует множить сущее без необходимости».

Будем проще.


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

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

Отличие заключается в том:

в структурных конструкциях выполнение вложено в конструкция и не изменяют маршрут,
в Драконе иконы Вопрос и Выбор меняют направление маршрута и не связано с выполнением,
в Драконе выполнение размещается в иконах на линиях маршрута,

со структурными конструкциями маршрут линейный,
в Драконе маршрут образует сеть связей.


Последний раз редактировалось LKom Среда, 12 Октябрь, 2016 17:17, всего редактировалось 1 раз.

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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
книга в русском переводе (IBM corporation 1979)
Цитата:
Лингер Р., Миллс Х., Уитт Б. Теория и практика структурного программирования. Пер. с англ. М.: Мир, 1982. — 406 с.

Рифат, эту книгу Вы можете скачать здесь:
http://www.twirpx.com/file/940600/


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

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Спасибо, эта книга у меня уже есть. Я ее недавно просмотрел.
Там много полезных и интересных вещей, в том числе и про доказательство коррекности.
Но, заметил несколько различий от подхода Дейкстры:
- Миллз предлагает сначала составить алгоритм и только затем его верифицировать (Дейкстра же говорит о том, что составление алгоритма и доказательство должно идти одновременно)
- В одной из глав Миллз предлагает сначала составить неструктурный алгоритм, а затем его преобразовать к структурному виду (Дейкстра же предлагает сразу конструировать алгоритм со структурными конструкциями).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Октябрь, 2016 09:53 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Для меня важную роль сыграла книга
Цитата:
Йодан Э. Структурное проектирование и конструирование программ. М.: Мир, 1979. – 415 с.
Мне понравилось, как Йодан изложил метод Ашкрофта-Манны в разделе "Метод введения переменной состояния" на С. 192–196 и в пункте 41 на стр. 226, а также на рис. 4.36.

Думаю, это место будет интересно участнику albobin.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Октябрь, 2016 16:37 

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

Термин "Двумерное структурное программирование" появился в статье Ильи Евгеньевича Ермакова http://2010.it-edu.ru/docs/C4/a4a%20Ермаков%20И.Е1287620722076198.doc
Цитата:
Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН») // Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования». Москва, 8-10 ноября 2010. — М.: Издательство=МГУ им. М. В. Ломоносова, 2010. — С. 452—461.


Rifat писал(а):
Аргументы были к тому, что данный термин неправильный.
Рифат, какой термин является неправильным?
Правильно ли я понял, что Вы считаете неправильным термин "Двумерное структурное программирование", появившийся в статье Ермакова И. Е. и Жигуненко Н. А.?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 14 Октябрь, 2016 10:16 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 105
Откуда: Псков
Владимир Паронджанов писал(а):
Для меня важную роль сыграла книга
Цитата:
Йодан Э. Структурное проектирование и конструирование программ. М.: Мир, 1979. – 415 с.
Мне понравилось, как Йодан изложил метод Ашкрофта-Манны в разделе "Метод введения переменной состояния" на С. 192–196 и в пункте 41 на стр. 226, а также на рис. 4.36.

Думаю, это место будет интересно участнику albobin.

Спасибо за "наводку". Посмотрю при случае.


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

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


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

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


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

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