Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

почему нет 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
14-1089207209
Алхимик
2004-07-07 17:33
2004.07.25
Опрос :)


8-1083819071
Kerget Ruslan
2004-05-06 08:51
2004.07.25
Проблемы при работе с TShockwaveFlash


3-1088406454
denmin
2004-06-28 11:07
2004.07.25
Как узнать координаты ячейки грида?


4-1087048881
kalmykovser
2004-06-12 18:01
2004.07.25
как узнать HICON ?


3-1088532595
3APA3A
2004-06-29 22:09
2004.07.25
Где хранятся юзеры и пароли?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский