Такой цикл, в котором происходит вычисление функции при изменении аргумента в заданных пределах, можно организовать и другими (возможно, более логичными и удобными) способами, а именно:
1. При помощи конструкции while <условие> do <выражение>. Здесь
<выражение> выполняется тогда и до тех пор, пока истинно
<условие>. Причем <выражение> может состоять из нескольких операторов (строк), заключенных в блок между словами
begin...end;.
Для заданной функции и аргументов запишем:
var
x, y: real;
begin
{начало программы}
x:=0;
{переменной X присваиваем начальное значение 0}
while x<=10 do {пока X<=10 выполнять следующее:}
begin
{начало блока строк, которые следует выполнять, пока X<=10}
y:=x*sin(x);
{вычисляем Y}
Writeln(' x=',x:1:1,' y=',y:1:3); {вывод на экран результатов}
x:=x+0.2;
{увеличиваем значение переменной X на шаг dХ =0,2}
end;
{конец блока строк, которые следует выполнять, пока X<=10}
end.
{конец программы}
2. При помощи конструкции repeat <выражение> until <условие>. Здесь
<выражение> выполняется до тех пор, пока
<условие> не станет истинно. Причем сначала выполняется
<выражение>, а потом происходит проверка истинности условия. Таким образом,
<выражение> выполняется хотя бы один раз.
<Выражение> также может состоять из нескольких операторов (строк), заключенных в блок между словами
repeat ... until;.
Для заданной функции и аргументов запишем:
var
x, y: real;
begin
{начало программы}
x:=0;
{переменной X присваиваем начальное значение 0}
repeat
{повторять следующие команды (строки): }
y:=x*sin(x); {эту строку,}
Writeln(' x=',x:1:1,' y=',y:1:3); {эту,...}
x:=x+0.2
{и эту,}
until x>10;
{до тех пор, пока значение переменной Х не станет больше 10}
end.
{конец программы}
3. При помощи явного задания цикла конструкцией типа
for <переменная цикла> := <начальное значение переменной цикла> to <конечное значение переменной цикла> do <выражение>. Здесь
<переменная цикла> - любая переменная целого типа, которая при выполнении цикла изменяется от
<начального значения переменной цикла> до <конечного значения переменной цикла>
с шагом 1. <Выражение> может состоять из нескольких операторов (строк), заключенных в блок между словами
begin ... end;, часто называется "тело цикла".
Для заданной функции и аргументов запишем:
var
x, y: real;
i: integer;
{описываем переменную целого типа - i, понадобится для цикла}
begin
{начало программы}
for i:=0 to 50 do {задаем цикл по i, в котором i изменяется от 0 до 50 с шагом 1}
begin
{начало блока, составляющего тело цикла}
x:=i*0.2;
{так получим изменение X от 0 до 10 с шагом 0,2 }
y:=x*sin(x);
Writeln(' x=',x:1:1,' y=',y:1:3);
end;
{конец цикла}
end.
{конец программы}
то же на С то же на Basic то же на Fortran
аналог на JavaScript