OberonCore https://forum.oberoncore.ru/ |
|
Структурное программирование https://forum.oberoncore.ru/viewtopic.php?f=27&t=1219 |
Страница 1 из 2 |
Автор: | Neplul [ Воскресенье, 26 Октябрь, 2008 11:20 ] |
Заголовок сообщения: | Структурное программирование |
"...Необходимо помнить, что структурное программирование, как правило, плохо подходит для описания систем глобальных действий. Это выявилось уже в теории. А именно, в теореме о структурировании схем программ, до- казанной Бемом и Джакопини, вводились дополнительные локальные булев- ские переменные, в совокупности которых, по сути дела, запоминалось со- стояние программы. Без введения дополнительных переменных невозможно структурировать даже следующий цикл с двумя выходами (см. рис. 3.4). В общее употребление структурное программирование вошло после по- пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука- занные нами ограничения не было даже намека, так же, как и на ограничения, вытекающие из самой теоремы Бема-Джакопини...." Что это за теорема такая Бема-Джакопини? |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 11:54 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): Что это за теорема такая Бема-Джакопини? Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.
|
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 12:21 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): "<...>В общее употребление структурное программирование вошло после по- Вот именно.пуляризировавшей его работы Э. Дейкстры, в которой, к сожалению, на ука- занные нами ограничения не было даже намека, так же, как и на ограничения, вытекающие из самой теоремы Бема-Джакопини...." Дейкстра - жуликоватый популяризатор?.. ой... ![]() |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 12:41 ] |
Заголовок сообщения: | Re: Структурное программирование |
Дональд Кнут в защиту goto: html и pdf. |
Автор: | Илья Ермаков [ Воскресенье, 26 Октябрь, 2008 16:02 ] |
Заголовок сообщения: | Re: Структурное программирование |
Эти проблемы уже обсуждались в разделе ДРАКОНа. Да, для управляющей, событийной логики классическое структурное программирование (один выход из конструкции) может быть неудобным. Но в одномерном пространстве текста другого выбора нет, только так можно внести ясность. Чертёж - другая ситуация. Там уже возможно некое "двумерное структурное программирование", где выходы не стягиваются вновь в одну линию. |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 17:32 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): Дональд Кнут в защиту goto: Дейкстра сделал простую и понятную вещь:прояснил логическую/математическую структуру императивного программирования и вывел свой формализм из первых принципов. Мое обдуманное мнение: Дональд Кнут -- "рукосуй", как все ярко выраженные комбинаторные типы. Обобщения его -- кривые или тривиальные. Его утверждение (в тексте, указанном AVC) насчет того, что классические математики выиграли (won) у конструктивистов -- просто неверно. Он элементарно не понимает этого своего простенького и привлекательного лозунга. Дейкстра, повторюсь, вывел свою теорию построения программ из первых принципов. Разумеется, в идеальных предположениях. (Кто, окончив ун-т по соотв. специальностям, не понимает таких вещей?) Что ради оптимизации приходится отступать от строгой структурности -- тривиально, и что в дурно спроектированных языках вызов процедур дорог и т.п., и может стать необходимым отказаться от структурности -- тоже тривиально. Но, например, Вирт минимизировал сей оверхед именно чтобы поддерживать структурность -- а, следовательно, в конечном счете и надежность программ. Принял "статистическое решение" и дальше читать Кнута не стал....... |
Автор: | Valery Solovey [ Воскресенье, 26 Октябрь, 2008 17:41 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.
|
Автор: | Neplul [ Воскресенье, 26 Октябрь, 2008 19:47 ] |
Заголовок сообщения: | Re: Структурное программирование |
AVC писал(а): Neplul писал(а): Что это за теорема такая Бема-Джакопини? Точную формулировку не помню, но смысл в том, что для формулировки любого алгоритма достаточно последовательности (операторов), ветвления (if ... then ... else) и циклов (с одним входом и одним выходом). В неструктурном goto нет необходимости.Спасибо, учили такое только нам не говорили что она так называется. На счет go to то я считаю что его можно использовать в программировании, только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались). |
Автор: | Wlad [ Воскресенье, 26 Октябрь, 2008 20:24 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): ...только при условии правильного применения (схемы Янова) , но так как многие программисты не пользуются даже методами Дейкстры, то лучше его вообще убрать из языка(что бы руки не чесались). Простое провозглашение принципов без поддержки формализма - пустое занятие. Проговаривание (даже на повышенных тонах, вплоть до визга и слюн) лозунгов и конкретное запретительство с непременным битиём ручек - совершенно разные по эффективности действия... Си++ - богатейший язык. Одно "но" - поддерживать-то он разныя парадигмы поддерживает, но нет мер по обеспечению объяснений компилятору каких именно... А так получается, что синтаксис с семантикой разруливания типов и использования переменных (на самом низком уровне - представления в и использования памяти) мы делаем, а "парадигмы поддерживать" - опять на самый ненадёжный элемент оставили - ЧЕЛОВЕКА (сиречь ПРОГРАММИСТА)... Остаётся только смеяться. Посему ломание копий по поводу "лучшести" языкофф - клоунада. Всё опять сводится к выявлению отдельных талантов, мастерски отображающих предметные области на средства реализации, и УМЕЮЩИХ организовать "формализмы" поддержки своих систем понятий... А есть "идтина" , нету ли его - КАКАЯ РАЗНИЦА? Любой человек и так понимает, что существует некий порог понимания собственного навороченного кода, если начинаешь отходить от апробированных схем и подходов. А - не понимает - тогда он сам себе злобный буратино! |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 21:17 ] |
Заголовок сообщения: | Re: Структурное программирование |
Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)
|
Автор: | Wlad [ Воскресенье, 26 Октябрь, 2008 21:33 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.)Носить с собой валидол. Потому, как 99% из этих хомосапиенсов жутко желает, что бы их детки и внучкИ "харашо устроились", а уразуметь, что зависшая система, как раз одним из таких "харашоустроившихся" унуков и написана - мозгов не хватает! И мне их НЕ ЖАЛКО. Просто начинают работать хаотично установившиеся обратные связи в Системе. "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!" А - НЕ ХАЙ! Вот так и будут дедушки с внучками собственное дерьмо разгребать! Потому, как когда полученный диплом - не свидетельство обретённых знаний и показатель общего уровня культуры, а просто - пропуск на "место" - погани справы у цьому суспильстве! Но именно так мы захлёбываемся. И отношение к "оберонам" - только малая часть всеобщего захлёбывания в дерьме текучки и погони за мэйнстримом. Правила уже установлены: остановился (хотя бы, что бы в покое поразмыслить) - ЗНАЧИТ ОТСТАЛ!!! Только вот вопрос: ОТ ЧЕГО? И ЧТО ПОТЕРЯЛ? |
Автор: | Borg [ Воскресенье, 26 Октябрь, 2008 21:39 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Владимир Лось писал(а): ... А - не понимает - тогда он сам себе злобный буратино! Хорошо, а что делать пенсионерам в очереди в регистратуру в поликлинике, когда в регистратуре "опять зависла система"? (Опять с этим столкнулся на прошлой неделе.) |
Автор: | Info21 [ Воскресенье, 26 Октябрь, 2008 21:44 ] |
Заголовок сообщения: | Re: Структурное программирование |
Владимир Лось писал(а): ... "Ото ж мы жилЫ погано, не хай наши диточкЫ краще поживуть!" Живописна мова ![]() ![]() Только в этом случае я бы писал вместе: нехай. А в другом случае -- отдельно: не хай. Владимир Лось писал(а): ... И отношение к "оберонам" - только малая часть всеобщего захлёбывания в дерьме текучки и погони за мэйнстримом. ... Я бы сказал "захлёбывания в дерьмовом потоке мейнстрима". |
Автор: | AVC [ Воскресенье, 26 Октябрь, 2008 22:22 ] |
Заголовок сообщения: | Re: Структурное программирование |
Valery Solovey писал(а): AVC писал(а): А на русском есть?. А то я со своим английским, наверное, больше суток на перевод потрачу.![]() Чтобы не тратить сейчас много времени на перевод (вдруг скоро найдётся на русском), можно сосредоточиться исключительно на программных кусках (на коде). Всё же подброшу русских ссылок. http://ru.wikipedia.org/wiki/GOTO (попытка объективного перечисления pro et contra) Дейкстра. Доводы против оператора goto (с чего всё началось) http://phpclub.ru/faq/goto (сайт посвящен PHP, но много ссылок на сайт info21) Владимир Юнев. Точки выхода или немного о структурном программировании ("разделяй и властвуй"; любопытны также комментарии) |
Автор: | Valery Solovey [ Понедельник, 27 Октябрь, 2008 15:10 ] |
Заголовок сообщения: | Re: Структурное программирование |
Спасибо. |
Автор: | Neplul [ Вторник, 02 Декабрь, 2008 12:42 ] |
Заголовок сообщения: | Re: Структурное программирование |
Господа у кого есть хорошая литература на русском языке про формальную верификацию(логику Хоара, работы Флойда, детонационная семантика и др.) Заранее спасибо! |
Автор: | Info21 [ Вторник, 02 Декабрь, 2008 12:55 ] |
Заголовок сообщения: | Re: Структурное программирование |
Neplul писал(а): детонационная семантика денотационная, от нотация >> денотат |
Автор: | Neplul [ Вторник, 02 Декабрь, 2008 13:01 ] |
Заголовок сообщения: | Re: Структурное программирование |
Info21 писал(а): Neplul писал(а): детонационная семантика денотационная, от нотация >> денотат Спасибо! Извиняюсь ![]() ![]() |
Автор: | Илья Ермаков [ Вторник, 02 Декабрь, 2008 18:47 ] | |||
Заголовок сообщения: | Re: Структурное программирование | |||
Первоисточников по верификации на ЖД не нашёл. Попробуйте поискать на EuroProg.ru и на Infanata.org. Вот есть пара книжек-учебников по методам верификации софта (темпоральные логики и чё-то ещё), но сам не смотрел.
|
Автор: | Илья Ермаков [ Вторник, 02 Декабрь, 2008 18:48 ] |
Заголовок сообщения: | Re: Структурное программирование |
А, ещё можно глянуть на сайте у А.А. Шалыто (ИТМО). У него там точно были материалы (и его, и другие) по этим вопросам, хотя больше с уклоном в верификацию автоматных программ. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |