OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 11:45

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




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 11:20 

Зарегистрирован: Суббота, 09 Август, 2008 14:22
Сообщения: 71
Откуда: Украина, Херсон
"...Необходимо помнить, что структурное программирование, как правило,
плохо подходит для описания систем глобальных действий. Это выявилось
уже в теории. А именно, в теореме о структурировании схем программ, до-
казанной Бемом и Джакопини, вводились дополнительные локальные булев-
ские переменные, в совокупности которых, по сути дела, запоминалось со-
стояние программы. Без введения дополнительных переменных невозможно
структурировать даже следующий цикл с двумя выходами (см. рис. 3.4).
В общее употребление структурное программирование вошло после по-
пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука-
занные нами ограничения не было даже намека, так же, как и на ограничения,
вытекающие из самой теоремы Бема-Джакопини...."
Что это за теорема такая Бема-Джакопини?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 11:54 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Neplul писал(а):
Что это за теорема такая Бема-Джакопини?
Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 12:21 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Neplul писал(а):
"<...>В общее употребление структурное программирование вошло после по-
пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука-
занные нами ограничения не было даже намека, так же, как и на ограничения,
вытекающие из самой теоремы Бема-Джакопини...."
Вот именно.
Дейкстра - жуликоватый популяризатор?.. ой... :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 12:41 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Дональд Кнут в защиту goto: html и pdf.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 16:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Эти проблемы уже обсуждались в разделе ДРАКОНа. Да, для управляющей, событийной логики классическое структурное программирование (один выход из конструкции) может быть неудобным.
Но в одномерном пространстве текста другого выбора нет, только так можно внести ясность.
Чертёж - другая ситуация. Там уже возможно некое "двумерное структурное программирование", где выходы не стягиваются вновь в одну линию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 17:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
AVC писал(а):
Дональд Кнут в защиту goto:
Дейкстра сделал простую и понятную вещь:
прояснил логическую/математическую структуру императивного программирования и вывел свой формализм из первых принципов.

Мое обдуманное мнение: Дональд Кнут -- "рукосуй", как все ярко выраженные комбинаторные типы.
Обобщения его -- кривые или тривиальные.
Его утверждение (в тексте, указанном AVC) насчет того, что классические математики выиграли (won) у конструктивистов -- просто неверно. Он элементарно не понимает этого своего простенького и привлекательного лозунга.

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

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

Принял "статистическое решение" и дальше читать Кнута не стал.......


Последний раз редактировалось Info21 Воскресенье, 26 Октябрь, 2008 21:19, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 17:41 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
AVC писал(а):
Дональд Кнут в защиту goto: html и pdf.
А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 19:47 

Зарегистрирован: Суббота, 09 Август, 2008 14:22
Сообщения: 71
Откуда: Украина, Херсон
AVC писал(а):
Neplul писал(а):
Что это за теорема такая Бема-Джакопини?
Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.

Спасибо, учили такое только нам не говорили что она так называется.
На счет go to то я считаю что его можно использовать в программировании, только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 20:24 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Neplul писал(а):
...только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались).

Простое провозглашение принципов без поддержки формализма - пустое занятие. Проговаривание (даже на повышенных тонах, вплоть до визга и слюн) лозунгов и конкретное запретительство с непременным битиём ручек - совершенно разные по эффективности действия...
Си++ - богатейший язык. Одно "но" - поддерживать-то он разныя парадигмы поддерживает, но нет мер по обеспечению объяснений компилятору каких именно... А так получается, что синтаксис с семантикой разруливания типов и использования переменных (на самом низком уровне - представления в и использования памяти) мы делаем, а "парадигмы поддерживать" - опять на самый ненадёжный элемент оставили - ЧЕЛОВЕКА (сиречь ПРОГРАММИСТА)... Остаётся только смеяться.
Посему ломание копий по поводу "лучшести" языкофф - клоунада. Всё опять сводится к выявлению отдельных талантов, мастерски отображающих предметные области на средства реализации, и УМЕЮЩИХ организовать "формализмы" поддержки своих систем понятий...
А есть "идтина" , нету ли его - КАКАЯ РАЗНИЦА? Любой человек и так понимает, что существует некий порог понимания собственного навороченного кода, если начинаешь отходить от апробированных схем и подходов. А - не понимает - тогда он сам себе злобный буратино!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 21:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Владимир Лось писал(а):
... А - не понимает - тогда он сам себе злобный буратино!
Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 21:33 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Info21 писал(а):
Владимир Лось писал(а):
... А - не понимает - тогда он сам себе злобный буратино!
Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)

Носить с собой валидол.
Потому, как 99% из этих хомосапиенсов жутко желает, что бы их детки и внучкИ "харашо устроились", а уразуметь, что зависшая система, как раз одним из таких "харашоустроившихся" унуков и написана - мозгов не хватает!
И мне их НЕ ЖАЛКО.
Просто начинают работать хаотично установившиеся обратные связи в Системе. "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!" А - НЕ ХАЙ! Вот так и будут дедушки с внучками собственное дерьмо разгребать!
Потому, как когда полученный диплом - не свидетельство обретённых знаний и показатель общего уровня культуры, а просто - пропуск на "место" - погани справы у цьому суспильстве!
Но именно так мы захлёбываемся. И отношение к "оберонам" - только малая часть всеобщего захлёбывания в дерьме текучки и погони за мэйнстримом. Правила уже установлены: остановился (хотя бы, что бы в покое поразмыслить) - ЗНАЧИТ ОТСТАЛ!!! Только вот вопрос: ОТ ЧЕГО? И ЧТО ПОТЕРЯЛ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 21:39 

Зарегистрирован: Понедельник, 02 Июнь, 2008 19:35
Сообщения: 305
Info21 писал(а):
Владимир Лось писал(а):
... А - не понимает - тогда он сам себе злобный буратино!
Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)
Писать жалобу. Против парадигмы - сложность источник доходов программистов и компаний, государства не попрешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 21:44 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Владимир Лось писал(а):
... "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!"

Живописна мова :-) Где-то был у меня учебник... надо бы подучить :-)

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

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

Я бы сказал "захлёбывания в дерьмовом потоке мейнстрима".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Воскресенье, 26 Октябрь, 2008 22:22 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Valery Solovey писал(а):
AVC писал(а):
Дональд Кнут в защиту goto: html и pdf.
А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.
На русском пока не нашёл. :(
Чтобы не тратить сейчас много времени на перевод (вдруг скоро найдётся на русском), можно сосредоточиться исключительно на программных кусках (на коде).
Всё же подброшу русских ссылок.
http://ru.wikipedia.org/wiki/GOTO (попытка объективного перечисления pro et contra)
Дейкстра. Доводы против оператора goto (с чего всё началось)
http://phpclub.ru/faq/goto (сайт посвящен PHP, но много ссылок на сайт info21)
Владимир Юнев. Точки выхода или немного о структурном программировании ("разделяй и властвуй"; любопытны также комментарии)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Понедельник, 27 Октябрь, 2008 15:10 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 12:42 

Зарегистрирован: Суббота, 09 Август, 2008 14:22
Сообщения: 71
Откуда: Украина, Херсон
Господа у кого есть хорошая литература на русском языке про формальную верификацию(логику Хоара, работы Флойда, детонационная семантика и др.)
Заранее спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 12:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Neplul писал(а):
детонационная семантика

денотационная, от нотация >> денотат


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 13:01 

Зарегистрирован: Суббота, 09 Август, 2008 14:22
Сообщения: 71
Откуда: Украина, Херсон
Info21 писал(а):
Neplul писал(а):
детонационная семантика

денотационная, от нотация >> денотат

Спасибо! Извиняюсь :oops: первоначально так и писалось но я его с дуру исправил с помощью встроенного орфографического словаря. :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 18:47 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Первоисточников по верификации на ЖД не нашёл. Попробуйте поискать на EuroProg.ru и на Infanata.org.

Вот есть пара книжек-учебников по методам верификации софта (темпоральные логики и чё-то ещё), но сам не смотрел.


Вложения:
_klark_gamberg_pered_verification.djvu [4.6 МБ]
Скачиваний: 397
mthprogsys.pdf [666 КБ]
Скачиваний: 501
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структурное программирование
СообщениеДобавлено: Вторник, 02 Декабрь, 2008 18:48 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
А, ещё можно глянуть на сайте у А.А. Шалыто (ИТМО).
У него там точно были материалы (и его, и другие) по этим вопросам, хотя больше с уклоном в верификацию автоматных программ.


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

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


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

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


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

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