ПОИСК Статьи Рисунки Таблицы Оператор цикла из "Программирование и вычислительные методы в химии и химической технологии" Из определения оператора цикла можно заключить, что его различные типы могут отличаться только списком цикла. Список цикла состоит из отдельных элементов списка цикла, которые разделяются занятыми. В простейшем случае список цикла может содержать только один элемент списка. [c.89] При записи оператора цикла допускается три типа элементов списка цикла, причем объединяться в список они могут произвольным образом. [c.89] Пример 7. Вычислить у = п х при х = 1,1, е, 3, (3 +. [c.89] При такой записи управляемый оператор выполняется столько раз, сколько элементов содержит список цикла, причем элементы перебщаются последовательно слева направо, такчто х принимает значения 1,1 и т. д. [c.89] Оператор цикла позволяет выполнить управляемый оператор столько раз, сколько значений принимает параметр цикла, изменяясь от начального значения Л с шагом5 до конечного значения С. Выполнение такого оператора иллюстрируется блок-схемой на рис. 18. [c.90] Поскольку проверка на окончание цикла производится с учетом знака приращения параметра цикла, параметр цикла может не только возрастать, но и уменьшаться. [c.90] Скалярное произведение векторов есть число, для обозначения которого введем идентификатор т. Алгоритм заключается в том, что произведения соответствующих элементов массивов А ъ. В будут складываться со значением переменной т, начальное значение которой, очевидно, должно быть равно нулю. Процесс повторяется до тех пор, пока не будет прибавлено произведение последних элементов. Следовательно, необходимо организовать цикл по индексу i, который изменяется от 1 до к. [c.90] Для определенности положим к = 10. [c.90] Оператор цикла обеспечивает изменение параметра цикла от единицы до 10. В данном случае параметр цикла используется для выбора переменных с индексами Ai и В, а следовательно, является величиной типа integer. [c.91] Начальное й конетаое значений параметра цикла, шаг йзмёне-ний могут быть не постоянными, а зависящими от других переменных или даже от своих предыдущих значений. Но в любом случае окончание цикла будет определяться значением параметра. Следует иметь в виду, что значение параметра цикла не может быть изменено в процессе выполнения управляемого оператора. Параметр цикла определяется только списком цикла. [c.92] Оператор цикла с элементом итерационного типа имеет несколько ограниченные возможности в смысле задания начального значения параметра цикла и его возрастания, но обеспечивает почти полную свободу в способе окончания цикла. В этом случае окончание цикла производится в зависимости от выполнения или невыполнения некоторого условия, которое, вообще говоря, может быть и не связано с параметром цикла. [c.92] Выполнение такого оператора иллюстрируется блок-схемой на рис. 19. [c.92] Параметр цикла Т полагается равным значению выражения Е. Если при этом логическое выражение F истинно, то выполняется управляемый оператор и снова параметру цикла присваивается значение выражения Е. Если учесть, что в выражение, определяющее начальное значение (выражение Е), могут входить переменные, вычисляемые в управляемом операторе, то при каждом повторении параметр цикла будет принимать новые значения. [c.92] Для того чтобы вычислить величину х, необходимо задать численные значения А, начального приближения xf и точности расчета б. [c.92] Программа начинается с присваивания начального приближения не ременной xf оператором ввода. Оператор цикла вычисляет новое приближение по формуле (3—21) и сравнивает абсолютную величину разности двух последующих приближений с заданной опшбкой del. Если величйнц совпадают с заданной точностью, то оператор цикла прекратит вычисление новых приближений и передаст управление оператору вывода. В противном случав выполнится управляемый оператор, т. е. вновь вычисленное значение будет присвоено предыдущему, произойдет повторение вычислений и проверка условия окончания цикла. Очевидно, число повторений цикла зависит от того, насколько близко значение начального приближения к решению, а также от заданной точности расчета. Существенно заметить, что при проверке берется абсолютная величина. Если вместо абсолютной величины брать разность со знаком, то может случиться, что первое вычисленное приближение окажется меньше начального и цикл закончится раньше, чем начнутся вычисления. [c.93] Возвращаясь к общему виду оператора цикла, заметим что элементы списка цикла указанных типов могут включаться в список цикла в произвольном порядке и количестве. Последовательность их выполнения определяется порядком следования в списке. [c.93] Оператор перехода, написанный внутри составного управляемого оператора, может передавать управление не только любому помеченному оператору, внутри составного, но также и любому помеченному оператору вне оператора цикла и, следовательно, может прекратить выполнение оператора цикла. Таким образом, выход из цикла возможен даже в том случае, если не выполнено условие на окончание цикла. [c.93] Если С [i] станет больше трех при i ф к, то оператор иере хода передаст управление пустому оператору за пределами цикла. [c.93] Вернуться к основной статье