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

#include <stdio.h>     // включить описание стандартных функций ввода-вывода
#include <math.h>     // и описание математических функций - для синуса
main()
{
float x,y;
                 // определяем переменные X,Y типа real (вещественные)
x=0;                        // переменной X присваиваем начальное значение 0
next_x:                   // Метка. Сюда передается управление оператором goto..
y=x*sin(x);             // переменной Y присвоим значение X*sin(X), т.е. нашей функции
printf("\n x= %.2f y= %.2f ",x,y);     // пишем на экран полученные результаты
x=x+0.2;                 // увеличиваем значение переменной X на шаг dХ =0,2
if (x<=10) goto next_x;     // если Х<=10, то переход на строку под меткой "next_x"
}

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

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

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