Cтраница 2
Если возникает такая ситуация, что цикл заканчивается одним из запрещенных операторов, в него необходимо добавить еще один оператор, называемый оператором продолжения. [16]
Операторы этих двух альтернатив пишутся с отступом. Операторы продолжения ( CONTINUE) обязательно завершают каждую альтернативу и пишутся с той же колонки, что и условный оператор. [17]
Операторы внутри конструкции ЦИКЛ-ПОКА пишутся с отступом. Оператор продолжения завершает эту конструкцию и пишется на одном уровне с условным оператором. Поскольку в условном логическом операторе фигурирует оператор перехода, обходящий совокупность последующих операторов, если проверяемое условие истинно, необходимо программировать отрицание исходного условия. [18]
В принципе почти каждый оператор в Фортране может быть помечен меткой ( числом от 0 до 9999), на ко - торую возможен переход в процессе вычислений. Оператор продолжения является пустым оператором, служащим для расстановки меток. Операторы формата предназначены для организации ввода-вывода, и обращение к ним операторами чтения и печати READ и WRITE осуществляется ссылкой на метку. [19]
Это неисполняемый оператор, он отмечает конец цикла и тем самым обязан иметь метку, указанную в операторе DO. Вы полнение оператора продолжения заключается в переходе к следующему оператору, так что нахождение оператора CON - TINUE в любом месте программы не оказывает влияния на последовательность выполнения других операторов. [20]
Этот оператор является эквивалентом пустого оператора алгола: в результате его выполнения просто продолжается обычный порядок выполнения операторов. Как правило, оператор продолжения используется для того, чтобы с его помощью пометить нужную точку в программе. [21]
Обратно, пусть Р - интерполяционный оператор, причем Y int P. При этом Е является оператором продолжения. [22]
Если бы вычисления велись один раз, то меткой 5 был бы отмечен первый из операторов продолжения программы. Но условный оператор не может быть последним среди операторов тела цикла, поэтому появилась необходимость в пустом операторе. [23]
Конечный оператор цикла но может быть оператором цикла, оператором перекода, условным оператором, оператором возврата, паузы и останова. Если цикл по условию задачи должен быть закончен одним из запрещенных операторов, то в качестве конечного оператора цикла рекомендуется использовать оператор продолжения, разместив его после запрещенного оператора. [24]
В языке Си имеется три оператора безусловной передачи управления: оператор завершения break, оператор продолжения continue, оператор перехода goto. Оператор завершения break обеспечивает возможность выхода из оператора цикла или оператора-переключателя switch, внутри которого он был употреблен, в ближайший оператор, охватывающий этот оператор цикла или оператор-переключатель switch. Оператор продолжения continue обеспечивает возможность перехода к следующему шагу цикла, внутри которого он был употреблен. Оператор перехода goto обеспечивает возможность перехода на метку, по форме совпадающую с идентификатором, внутри одной функции. Переход допускается в любое место из любого. [25]
Его использование в структуре ЕСЛИ-ТО-ИНАЧЕ вполне уместно. Оно учитывает возможность будущих модификаций программы. Употребление метки в операторе продолжения делает эту метку частью структуры. Если структура позднее будет меняться, то будет необходимо изменить только те операторы, которые необходимо менять содержательно. Кроме того, препроцессор также обычно порождает программу для ЕСЛИ-ТО-ИНАЧЕ, используя операторы продолжения для отделения альтернатив ТО и ИНАЧЕ и для завершения структуры. [26]
Начальная позиция может перемещаться вправо и влево в зависимости от того, какое предложение записывается. Когда встречается условный оператор или оператор цикла, колонка, в которой он расположен, становится начальной позицией. Конец условного оператора и тела цикла ( например, оператор продолжения) вызывает возврат начальной позиции в прежнее состояние или сдвиг влево на один отступ. Сам оператор продолжения должен помещаться точно под соответ-ствующим условным оператором или оператором цикла. [27]
Начальная позиция может перемещаться вправо и влево в зависимости от того, какое предложение записывается. Когда встречается условный оператор или оператор цикла, колонка, в которой он расположен, становится начальной позицией. Конец условного оператора и тела цикла ( например, оператор продолжения) вызывает возврат начальной позиции в прежнее состояние или сдвиг влево на один отступ. Сам оператор продолжения должен помещаться точно под соответ-ствующим условным оператором или оператором цикла. [28]
Его использование в структуре ЕСЛИ-ТО-ИНАЧЕ вполне уместно. Оно учитывает возможность будущих модификаций программы. Употребление метки в операторе продолжения делает эту метку частью структуры. Если структура позднее будет меняться, то будет необходимо изменить только те операторы, которые необходимо менять содержательно. Кроме того, препроцессор также обычно порождает программу для ЕСЛИ-ТО-ИНАЧЕ, используя операторы продолжения для отделения альтернатив ТО и ИНАЧЕ и для завершения структуры. [29]