![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Операторы цикла
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 вообще не оператор цикла