В приведенном выше примере при помощи конструкции " if <условие> then goto <метка>" осуществлено, фактически, зацикливание выполнения программы. Действительно, в строке
if (a='y') or (a='Y') then goto once_again;
при утвердительном ответе пользователя ( если a='y' или a='Y'), содержится команда компьютеру перейти к выполнению строки программы, стедующей за меткой "once_again".
Воспользуемся такой возможностью зацикливания программы для расчета значений функции для заданного диапазона аргументов.
Например, пусть требуется вычислить значения функции Y=X*sin(X) при изменении аргумента Х в пределах от Х=0 до Х=10 с шагом dХ=0,2. Следующая программа выполняет эти вычисления:

var                         {в разделе var определяются переменные:}
x, y: real;              { X,Y типа real (вещественные)}
label next_x;         {в разделе label определяем метку "next_x" }
begin
x:=0;                     {переменной X присваиваем начальное значение 0}
next_x:                  {Метка. Сюда передается управление оператором goto..}
y:=x*sin(x);           {переменной Y присвоим значение X*sin(X), т.е. нашей функции}
Writeln(' x=',x:1:1,' y=',y:1:3);     {пишем на экран полученные результаты}
x:=x+0.2;                 {увеличиваем значение переменной X на шаг dХ =0,2}
if x<=10 then goto next_x;      {если Х<=10, то переход на строку под меткой "next_x"}
end.

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

                      то же на С                        то же на Basic                 то же на Fortran

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