Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Внизпочему нет STEP в цикле FOR??? Найти похожие ветки
← →
cvg (2004-07-09 11:24) [0]Еще вопрос от чайника: на строчку
for i := 12 to 120 step 8 do
компилятор говорит:
"DO" expected but indentifier "step" found
А как же тогда задать шаг инекремента i?
← →
VMcL © (2004-07-09 11:25) [1]while, repeat
← →
cvg (2004-07-09 11:30) [2]Ж:((((
Ну, может хоть так можно:
for i := 12 to 120 do
begin
i := i + 7:
//body
end;
← →
Reindeer Moss Eater © (2004-07-09 11:32) [3]почему нет STEP в цикле FOR???
Потому что не реализовали.
Ну, может хоть так можно:
нельзя
← →
ORMADA © (2004-07-09 11:33) [4]while i<120 do
begin
//body
i:=i+12;
end;
← →
ORMADA © (2004-07-09 11:34) [5]repeat
//body
i:=i+12;
until i<120
← →
cvg (2004-07-09 11:36) [6]Да, вижу уже, что то, что я предложил, не прокатывает... мля... По-моему, у Йенсена и Вирта такая фича была?..
← →
Anatoly Podgoretsky © (2004-07-09 11:40) [7]Потому что данным языком это не предусмотрено, цикл с шагом по сути цикл while (особый вид записи). Вирт не стал нарушать концепцию языка.
← →
Думкин © (2004-07-09 11:48) [8]> [6] cvg (09.07.04 11:36)
Я тебе уже в одной ветке дал совет, почему не следуешь?
← →
REA © (2004-07-09 13:31) [9]А в Си можно:
for (i=x=2;(i!=x++)||(--x);x+=(i--))
результат очевиден?
← →
Ega23 © (2004-07-09 13:33) [10]А зачем?
← →
Anatoly Podgoretsky © (2004-07-09 13:34) [11]REA © (09.07.04 13:31) [9]
А в Си нет чистого цикла FOR там по сути while
← →
cvg (2004-07-09 13:47) [12]Почему не следую? Потому что в Клиппере по жизни был STEP. И в в Перле есть for($i=2;$i<5;++$i) (сердечное спасибо корпорации Nuntacket и лично Ларри Уоллу).
← →
Amoeba © (2004-07-09 13:50) [13]
> cvg (09.07.04 13:47) [12]
Еще Васик вспомни.
← →
TUser © (2004-07-09 14:00) [14]А ты запусти программу
if "Pascal" = "Basic" then
showMessage("Вы можете использовать STEP в операторе FOR")
else
showMessage("Увы, использование STEP в операторе FOR недопустимо");
:)
← →
DimKa © (2004-07-09 14:43) [15]А можно так :
for j := 1 to 10 do begin
i := j * 12;
{операторы, работающие с i}
end;
← →
evvcom © (2004-07-09 15:13) [16]Лучше использовать [1] + поправлю [4]: i:=i+12; красивее и оптимальнее написать Inc(i, 12);
← →
Ega23 © (2004-07-09 15:16) [17]красивее и оптимальнее написать Inc(i, 12);
Уверен? Красивее - может быть, а вот с оптимальностью - вопрос спорный.
← →
nejest (2004-07-09 15:17) [18]2 DimKa
Можно, но While будет короче
← →
Anatoly Podgoretsky © (2004-07-09 15:18) [19]Как раз насчет красоты спорно, а насчет оптимальности без разницы, будет сгенерирован одинаковый код.
← →
Ega23 © (2004-07-09 15:20) [20]Anatoly Podgoretsky © (09.07.04 15:18) [19]
Я пытался найти описание Inc, но меня "обматерили", сказав
Unit SysIni was compiled with a different version of System. @RunError
← →
Anatoly Podgoretsky © (2004-07-09 15:23) [21]Это не проблема, пользуйся каноническими именами.
← →
TUser © (2004-07-09 18:17) [22]
> Я пытался найти описание Inc, но меня "обматерили",
А зачем тебе это описание? Впрочем, его можно найти в хелпе, а исходников ф-ции тебе Борланд все равно не даст.
← →
VMcL © (2004-07-09 18:53) [23]По поводу Inc().
AFAIR, при выключенной оптимизации Inc(X) генерит более оптимальный код, чем X:=X+1, а при включенной по-моему одинаковый - оптимальный. Можно в CPU Window проверить.
← →
VMcL © (2004-07-09 18:55) [24]>>Ega23 © (09.07.04 15:20) [20]
>>TUser © (09.07.04 18:17) [22]
Фактически функции Inc() в скомпилированном коде нет. Будет просто что-нибудь вроде:inc dword ptr [eax+123]
илиinc edx
← →
Тимохов © (2004-07-09 19:05) [25]если не ошибаюсь inc - это compiler magic, а не просто процедура.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.041 c