Такой цикл, в котором происходит вычисление функции при изменении аргумента в заданных пределах, можно организовать и другими (возможно, более логичными и удобными) способами, а именно:

1. При помощи конструкции 

do while (<условие>) 
<выражение>
end do
Здесь <выражение> выполняется тогда и до тех пор, пока истинно <условие>. Причем <выражение>, часто называемое телом цикла, может состоять из нескольких операторов (строк).
Для заданной функции и аргументов запишем:

x=0                        !переменной X присваиваем начальное значение 0
do while(x.le.10)   !пока X<=10 выполнять следующее:
y=x*sin(x)             !вычисляем Y
write(*,*)" x=",x," y=",y        !вывод на экран результатов
x=x+0.2                 !увеличиваем значение переменной X на шаг dХ =0,2
enddo                    !конец блока строк, которые следует выполнять, пока X<=10
end                        !конец программы

2. При помощи явного задания цикла конструкцией типа 

do <п.ц.> = <нач. п.ц.>, <кон. п.ц.>, <шаг>
<выражение> 
end do
Здесь <п.ц.>- переменная цикла, которая при выполнении цикла изменяется от <нач. п.ц.>, начального значения переменной цикла до <кон. п.ц.>, конечного значения переменной цикла с шагом <шаг>. <Выражение> может состоять из нескольких операторов (строк). Для заданной функции и аргументов запишем:

do x=0, 10.1, 0.2   !задаем цикл по x в котором x изменяется от 0 до 10,1 с шагом 0,2
y=x*sin(x) 
write(*,*)" x=",x," y=",y
end do
                   !конец цикла
end                        !конец программы

Обратите внимание на то, что цикл задан до 10,1 а не до 10 ровно. Это сделано потому, что переменная x- вещественного (real) типа, а при проведении вычислений с переменными этого типа неизбежны незначительные погрешности, связанные с представлением данных в памяти компьютера. И, хотя эти погрешности ничтожны, их приходится учитывать...

                    <<ранее             к оглавлению        далее>>

                      то же на —                        то же на Basic                 то же на Pascal

                аналог на JavaScript
Используются технологии uCoz