Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.217.220.114] |
|
Сообщ.
#1
,
|
|
|
For i:=0 to Maximum do if i mod step = 0 then begin end; Автор Vit ---------------------------------------------------- Делаем от X до Y с шагом Z, в N записываем число, которое будем использовать. for i := 0 to Trunc(Y-X)/Z do begin N := X+i*Z; ShowMessage(IntToStr(N)) end Если, например, от 3 до 7 с шагом 2, то: for i := 0 to 2 do ShowMessage(IntToStr(3+i*2)) Автор Jin X |
Сообщ.
#2
,
|
|
|
Я бы не стал так делать при достаточно больших числах, т.к. такой цикл неоптимизирован.
В любом случае счётчик увеличивается на единицу, и такой способ является искусственным выходом из положения. Поэтому лучше заменять конструкцию FOR TO на WHILE DO : k := k_start; // задание начального значения k_start while k <= k_finish do // проверка достижения верхней границы цикла begin {...} ShowMessage(IntToStr(k)); inc (k, k_step); // увеличение переменной k на шаг k_step end; |