OberonCore https://forum.oberoncore.ru/ |
|
Альтернативные циклы https://forum.oberoncore.ru/viewtopic.php?f=27&t=1404 |
Страница 1 из 1 |
Автор: | Сергей Губанов [ Суббота, 14 Март, 2009 13:07 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Можно попробовать ввести цикл с мультиусловиями останова: Код: ПОВТОРЯТЬ Замена:Задача0 ПРИ условие0 СТОП Задача1 ПРИ условие1 СТОП Задача2 ПРИ условие2 СТОП Задача3 ПОВТОРЕНО ПОВТОРЯТЬ --> LOOP ПОВТОРЕНО --> END ПРИ --> IF СТОП --> THEN EXIT END |
Автор: | Info21 [ Суббота, 14 Март, 2009 16:16 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): Можно попробовать ввести цикл с мультиусловиями останова: Это стандартная схема оптимизации схемы линейного поиска (чуть более общо -- цикла Дейкстры), когда условия сложные, и их части хорошо бы сохранить для вычислений внутри соотв. ветки цикла (в вычислительных задачах, но не только).В таких задачах возникают (похоже) только LOOP с EXIT'ами под IF'ами на первом уровне в теле цикла. Что, кажется, есть в точности предложенное. Но до конца тут не ясно -- если под эту схему подгоняются аналогичные оптимизации многоветочного ц.Д. (с ходу не соображу), то можно обсуждать серьезно. |
Автор: | Сергей Губанов [ Воскресенье, 15 Март, 2009 22:35 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Info21 писал(а): Это стандартная схема оптимизации схемы линейного поиска (чуть более общо -- цикла Дейкстры)... Я бы сказал, что это "зеркальное отражение" цикла Дейкстры. У Дейкстры -- мультиусловие продолжения, здесь же мультиусловие останова.
|
Автор: | Info21 [ Воскресенье, 15 Март, 2009 23:09 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): Info21 писал(а): Это стандартная схема оптимизации схемы линейного поиска (чуть более общо -- цикла Дейкстры)... Я бы сказал, что это "зеркальное отражение" цикла Дейкстры. ... |
Автор: | Сергей Губанов [ Вторник, 17 Март, 2009 12:49 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
В языке Ада это основной цикл. Код: loop Просто свидетельство, для общего образования.
Задача0 exit when условие0; Задача1 exit when условие1; Задача2 exit when условие2; Задача3 end loop; |
Автор: | Info21 [ Вторник, 17 Март, 2009 15:06 ] |
Заголовок сообщения: | Альтернативные циклы |
В веточке про ключевые слова на родном языке возникло ответвление, сейчас попрошу сюда перенести... |
Автор: | Info21 [ Среда, 18 Март, 2009 11:31 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): В языке Ада это основной цикл. Так чем же он мотивирован?
|
Автор: | Сергей Губанов [ Среда, 18 Март, 2009 15:23 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Я передумал. Он не "зеркальное отражение" цикла Дейкстры. В ЦД выполнение заканчивается когда ложны все условия, а в Адском цикле выполнение заканчивается когда истинно хотя бы одно условие. Мощность разная. |
Автор: | Trurl [ Среда, 18 Март, 2009 17:35 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
А вот суперцикл из SETL Код: LOOP
INIT blocki $ loop initialization statements DOING blockd $ step statements at start of loop WHILE testw $ termination test at start of loop STEP blocks $ step statements at end of loop UNTIL testu $ termination test at end of loop TERM blockt $ loop termination statements DO blockb $ body of loop END LOOP |
Автор: | Илья Ермаков [ Среда, 18 Март, 2009 17:48 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Ужас! И "это нагородили математики"? )) Или "вот до чего доводит слишком долгая возня с теорией множеств"? ) |
Автор: | Geniepro [ Четверг, 19 Март, 2009 07:00 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
И при чём же здесь теория множеств? |
Автор: | Trurl [ Четверг, 19 Март, 2009 09:23 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Это просто попытка собрать в одной конструкции все виды циклов. Код: LOOP WHILE ... DO ... END $ WHILE ... DO LOOP DOING ... UNTIL ... END $ REPEAT ... UNTIL LOOP DO ... END $ LOOP ... END LOOP INIT ... WHILE ... STEP ... DO ... END $ сишный for(...;...;...){...} Но for сюда не влез. |
Автор: | Geniepro [ Четверг, 19 Март, 2009 09:49 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
У Алгола-68 похожий цикл: Код: FOR i FROM 1 BY 1 TO n WHILE TRUE DO print ("a") OD эквивалентноКод: TO n DO print ("a") OD
|
Автор: | Илья Ермаков [ Четверг, 19 Март, 2009 14:03 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Geniepro писал(а): И при чём же здесь теория множеств? "При" влиянии на мышление долгой возни исключительно с замкнутыми формальными системами Можете подставить вместо теории множеств какую-нить теорию категорий |
Автор: | Geniepro [ Четверг, 19 Март, 2009 14:43 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Илья Ермаков писал(а): "При" влиянии на мышление долгой возни исключительно с замкнутыми формальными системами Можете подставить вместо теории множеств какую-нить теорию категорий А откуда у Вас такие данные, что мол "исключительно с замкнутыми формальными системами"? |
Автор: | Илья Ермаков [ Четверг, 19 Март, 2009 18:36 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Закавычкано и засмайлено было, наверное, специально, чтобы пришёл наш Гений-про и домахался, "как пьяный до радио..." Но... "в каждой шутке есть доля шутки". В частности, многие ФП-шные активисты названной бедой сильно страдают. А потом другие им в рот смотрят и говорят "вах, как круто". |
Автор: | Geniepro [ Пятница, 20 Март, 2009 11:14 ] |
Заголовок сообщения: | Re: Альтернативные циклы |
Ваша правда, Лья-ер, ваша правда... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |