Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Операторы цикла


luiziann ©   (2009-05-15 10:56:00) 

Дан интервал изменения аргумента с шагом H.
Необходимо  решить одну функцию с данным аргументом 4-мя способами: while, repeat, for, if
вот что-то с 2-мя последними туплю.
вроде как со школы помню что у оператора for есть шаг step вроде бы, только что гугл не помог. не могли бы показать как в цикле for указать шаг изменения переменной цикла.

с if то же что-то не очень просеку.. может имеется ввиду использование операторов безусловного перехода?


Anatoly Podgoretsky   (2009-05-15 12:10:00) [1]

А не кто и не требовал другого, задача поставлена так - решить с помощью FOR, а извращения любые, по вкусу.


Сергей М.   (2009-05-15 12:01:00) [2]


> luiziann   (15.05.09 11:19) [8]


Хоть так хоть иначе - шаг переменной for-цикла в Паскале как был так и остался равным единице.


oldman   (2009-05-15 11:50:00) [3]


> for x:= 1 to (xEnd - xBeg) div h  do begin


Наверное for x:=0 to ...

Поскольку при min=1, max=11, step=2
должно бать 6 шагов (1,3,5,7,9,11), а не 5


luiziann   (2009-05-15 11:19:00) [4]

xBeg - начальное значение
xEnd - конечное
h - шаг

for x:= 1 to (xEnd - xBeg) div h  do begin

  наша_функция( xBeg + h*(i-1) );

end;

где-то так?


oldman   (2009-05-15 11:15:00) [5]


> а вот как сделать цикл с заданным шагом используя FOR  ?


Элементарно, Ватсон!
пусть А меняется от I до J с шагом К.
естественно одной математической операцией вычисляем количество шагов N.

и

A:=I;
for M:=1 to N do begin
{обработка текущего А}
A:=A+K;
end;


Slym   (2009-05-15 11:15:00) [6]

luiziann   (15.05.09 10:56)
если if - оператор цикла тогда забыли GOTO (не бейте по голове)


Palladin   (2009-05-15 11:13:00) [7]


> а вот как сделать цикл с заданным шагом используя FOR  ?

делением и умножением


palva   (2009-05-15 11:12:00) [8]


> а вот как сделать цикл с заданным шагом используя FOR  ?

Никак. На for пишется цикл с целым счетчиком, а в теле цикла по значению счетчика вычисляется текущее значение. Типа
ValCurrent := ValInitial + i*Step
Это если счетчик ведется с нулевого значения (for i:=0 ...)


luiziann   (2009-05-15 11:07:00) [9]

блин, точно наверное в бэйсике..
знакомый попросил решить пацану его....

я понимаю конечно что if не оператор цикла )))  но в условии написано, что нужно решить функцию 4-я способами...
хрен с ним с этим if, сделаю переход goto с ним..
а вот как сделать цикл с заданным шагом используя FOR  ?


Anatoly Podgoretsky   (2009-05-15 11:03:00) [10]

> luiziann  (15.05.2009 10:56:00)  [0]

Хватит и одного способа, но правильного.


Palladin   (2009-05-15 10:57:00) [11]


> вроде как со школы помню что у оператора for есть шаг step
> вроде бы

ага, в бейсике... видать давно школу оканчивал...

а if вообще не оператор цикла


Наверх

Титульная страница Поиск, карта сайта Написать письмо