Форум: "Прочее";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];
ВнизО как! Найти похожие ветки
← →
TUser © (2008-08-20 15:20) [0]Что напечатает программа (чур, в уме)?
{$apptype console}
var i: integer;
begin
i := 0;
repeat
inc (i);
if i < 10 then continue;
until i < 20;
writeln (i);
end.
← →
brother © (2008-08-20 15:22) [1]1 ?
← →
Ega23 © (2008-08-20 15:27) [2]20
← →
Сергей М. © (2008-08-20 15:28) [3]
> О как!
>
А что "о как" ?
Не лезь в телах for- и repeat-циклов в содержимое переменной цикла, тогда и "чудес" не приключится)
← →
Сергей М. © (2008-08-20 15:29) [4]
> until i < 20
О как !
Тут и "чудес"-то вовсе нет)
← →
brother © (2008-08-20 15:32) [5]> 20
нифига) 0+1...в конец цикла... там i<20? тогда writeln.... те 1 )))
← →
Ega23 © (2008-08-20 15:33) [6]
> Ega23 © (20.08.08 15:27) [2]
>
> 20
>
Точнее, конечно 1. На until не так посмотрел.
← →
Rouse_ © (2008-08-20 15:33) [7]repeat
...
until False;
выход произойдет на первой же итерации
← →
brother © (2008-08-20 15:33) [8]> if i < 10 then continue;
в данном коде эта строчка лишина смысла...
← →
Игорь Шевченко © (2008-08-20 15:41) [9]
> repeat
> ...
> until False;
почему False ?
← →
oldman © (2008-08-20 15:42) [10]
> Что напечатает программа (чур, в уме)?
В уме программа ничего не напечатает
:)
← →
brother © (2008-08-20 15:43) [11]> В уме программа ничего не напечатает
> :)
у меня явно напечаталось 1 )))))) разные умы?)))))))))
← →
Германн © (2008-08-20 15:47) [12]
> TUser © (20.08.08 15:20)
А в чем прикол то? В continue?
← →
Vlad Oshin © (2008-08-20 15:49) [13]:)
Project1.dpr.8: if i < 10 then continue;
004040BD 83FB0A cmp ebx,$0a \\ сравнил, а на флаги забил
Project1.dpr.9: until i < 20;
004040C0 83FB14 cmp ebx,$14 \\сравнил
004040C3 7DEE jnl $004040b3 \\ тут не забил
причем, даже при отключенной оптимизации, не сравнивает первый раз
Хотя, по идее, должен бы был
← →
Rouse_ © (2008-08-20 16:01) [14]
> почему False ?
Для вечного цикла.
while True do ...
и
repeat ... until False;
← →
oldman © (2008-08-20 16:03) [15]
> Rouse_ © (20.08.08 16:01) [14]
> Для вечного цикла.
Шампунь имеет свойство кончаться?
← →
McSimm © (2008-08-20 16:05) [16]у меня в уме 10 получается,
проверить никак не могу.
← →
Игорь Шевченко © (2008-08-20 16:06) [17]
> Для вечного цикла.
а где в этой программе вечный цикл ?
← →
Rouse_ © (2008-08-20 16:07) [18]
> Шампунь имеет свойство кончаться?
Да мне так проще было в свое время запомнить по какому условию выход происходит :) Запомнить запомнил - да так на всегда и осталось :)
← →
McSimm © (2008-08-20 16:08) [19]
> мне так проще было
мне проще было запомнить фразу "пока не".
Помогает и в паскале и в английском :)
← →
Rouse_ © (2008-08-20 16:09) [20]
> а где в этой программе вечный цикл ?
Не цепляйся :) Я просто показал условие по которому цикл будет работать и для этого указал про выход на первой итерации, бо условие не верно для продолжения работы :)
← →
oldman © (2008-08-20 16:15) [21]
> Rouse_ © (20.08.08 16:09) [20]
> > а где в этой программе вечный цикл ?
> Не цепляйся
Читаем (желательно вслух и с выражением):
> Rouse_ © (20.08.08 16:01) [14]
> > почему False ?
> Для вечного цикла.
> while True do ...
> и
> repeat ... until False;
Не шути так больше...
:)
← →
McSimm © (2008-08-20 16:16) [22]
> указал про выход на первой итерации
А тут у меня с continue проблемы возникли, привык, что в "начало" цикла перебрасывает :)
repeat почти не пользовался, похоже привычка неправильная.
← →
Rouse_ © (2008-08-20 16:16) [23]
> Не шути так больше...
Эмнь... а чего не так? :)
← →
oldman © (2008-08-20 16:19) [24]
> Rouse_ © (20.08.08 16:16) [23]
> Эмнь... а чего не так? :)
Все так.
Но не хочется искать еще и выход из цикла твоих мессаг.
:)
← →
Rouse_ © (2008-08-20 16:20) [25]:))
← →
Игорь Шевченко © (2008-08-20 16:27) [26]цикл, приведенный в программе, вообще-то
repeat
...
until true;
← →
Rouse_ © (2008-08-20 16:32) [27]repeat until true бессмысленен сам по себе без манипуляций с итератором :)
← →
TUser © (2008-08-20 17:11) [28]
> А в чем прикол то? В continue?
угу
у меня были превратные представления о том, как он работает. судя по сообщениям в этой ветке, - не только у меня
← →
Ega23 © (2008-08-20 17:18) [29]Так Continue перебрасывает тебя на не в начало цикла, а туда, где проверка очередной итерации.
Для for и while - это начало, для repeat..until - это конец.
← →
Anatoly Podgoretsky © (2008-08-20 18:26) [30]> Vlad Oshin (20.08.2008 15:49:13) [13]
Все правильно, работает в соответствии со спецификацией на continue
> In Delphi code, the Continue procedure causes the flow of control to proceed to the next iteration of the enclosing for, while, or repeat statement.
> The compiler reports an error if a call to Continue isn"t enclosed by a for, while, or repeat statement.
> Note: Continue does not violate the flow of control dictated by a try..finally construct. If a call to Continue causes control to leave the try clause, the finally clause is entered.
Обрати особое внимение на примечание.
← →
DVM © (2008-08-20 22:54) [31]
> Vlad Oshin © (20.08.08 15:49) [13]
> 004040BD 83FB0A cmp ebx,$0a
> 004040C0 83FB14 cmp ebx,$14
> 004040C3 7DEE jnl $004040b3
это в уме так у тебя выглядит )
← →
Германн © (2008-08-21 01:41) [32]
> TUser © (20.08.08 17:11) [28]
>
>
> > А в чем прикол то? В continue?
>
> угу
>
> у меня были превратные представления о том, как он работает.
> судя по сообщениям в этой ветке, - не только у меня
>
Я так и понял.
← →
han_malign © (2008-08-21 11:15) [33]
> у меня были превратные представления о том, как он работает.
Вот!!! А если придерживаться, изначально закладываемой Виртом в Pascal, концепции Блочного(Структурного) программирования, исключающей явные переходы - никаких сюрпризов не было бы...
Почему-то, религиозное табу наgoto
не распространется на его предопределенное подмножествоcontinue
,break
,exit
... Raise - это вообще - сатанизм...
(провокация)
← →
@!!ex © (2008-08-21 11:59) [34]> [33] han_malign © (21.08.08 11:15)
exit никакого отношения к goto не имеет. это return
← →
ЛшдлуттнСфе (2008-08-21 12:57) [35]6,28 получилось.
← →
tesseract © (2008-08-21 13:04) [36]
> repeat until true бессмысленен сам по себе без манипуляций
> с итератором :)
А как же циклы ожидания в потоках ставить ? Только через WaitForMultipleObjects ?
← →
{RASkov} © (2008-08-21 13:09) [37]> 6,28 получилось.
Попробуй еще раз перегнать...
← →
McSimm © (2008-08-21 14:08) [38]
> > 6,28 получилось.
6.283184
← →
Skyle © (2008-08-21 15:30) [39]
> McSimm © (21.08.08 14:08) [38]
>
> > > 6,28 получилось.
>
> 6.283184
Пока 70 не получите - пить не советую. Смысла нет.
← →
ЛшдлуттнСфе (2008-08-21 17:12) [40]
> McSimm © (21.08.08 14:08) [38]
ты знал, ты знал!!!
:)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.04 c