Такой цикл, в котором происходит вычисление функции при изменении аргумента в заданных пределах, можно организовать и другими (возможно, более логичными и удобными) способами, а именно:
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
Используются технологии uCoz