Операторы цикла предназначены для многократного выполнения некоторых операторов. Эти операторы называются телом цикла.
Различаются операторы цикла с предусловием и с постусловием. Блок-схемы операторов цикла показана на рисунке 1.2. Переменные, значения которых меняются в теле цикла, называются переменными цикла или параметрами цикла. Для того чтобы правильно реализовать циклический алгоритм, до входа в цикл переменным цикла необходимо задать соответствующие значения, называемые начальными значениями. В зависимости от того, при каком именно значении логического выражения U (ложь или истина) выполнение цикла завершается, возможны два вида оператора цикла с предусловием(рис.1.3.а) и два – с постусловием (рис.1.3.б) . Алгоритм цикла можно реализовать с помощью оператора перехода GOTO и метки.
Каждый оператор в Фортране может быть помечен. Если программа записана в фиксированном формате, то метка располагается с первой по пятую позицию. Меткой служит целое число без знака, в свободном формате метка стоит перед помечаемым оператором и отделяется от него пробелом.
Все языки программирования высокого уровня имеют специальные операторы цикла. В Фортране имеется два оператора цикла с предусловием: оператор DO и оператор DO WHILE.
ПРИМЕР: Составить программу, которая по заданным значениям A и B вычисляет значение переменной С по правилу: C равно разности A и B , если A больше B, иначе равно разности между B и A. На рисунке 1.3. показан текст программы, записанной в фиксированном формате.
Рисунок 1.3. Программа с оператором GOTO и меткой ЗАДАНИЕ: 1) Изменить программу так, чтобы значение переменной A задавалось с клавиатуры. Проверить работу получившейся программы. 2) Записать программу в свободном формате и проверить ее работу. |
Оператор цикла DO предназначен для многократного выполнения операторов, находящихся между заголовком оператора DO и оператором CONTINUE с меткой или оператором END DO.
Рисунок 1.2. Блок-схема операторов цикла с предусловием (а) и постусловием(б); U – логическое выражение..
Оператор CONTINUE не порождает каких-либо команд и используется для завершения оператора цикла или для ссылок в программе. Этот оператор часто называют пустым оператором.
Оператор цикла DO имеет вид:
DO N[,] I=M1, M2, M3
Здесь N – метка последнего оператора тела цикла (оператора CONTINUE); I – переменная целого, вещественного или вещественного двойной точности типа, которая называется параметром цикла, M1, M2, M3 – константы, переменные или арифметические выражения целого, вещественного или вещественного двойной точности типов. После метки N может стоять необязательная запятая. Величина M1 определяет начальное значение параметра цикла, M2 определяет конечное значение параметра цикла, а MЗ определяет шаг изменения параметра цикла.