Вычисление функции с одновременно изменяющимися
Несколькими аргументами
Дана: функция F = f(x, y, z), аргументы x, y и z изменяются одновременно: x от хн с шагом hx , y от ун до ук с шагом hy, z от zн с шагом hz.
Вычислить: значения функции.
Из условия задачи видно, что область изменения аргументов дана только для параметра у. Для параметров х и z конечные значения не даны. Это правильно. Если бы для них были бы установлены эти значения, то задачу решить бы было бы невозможно. Такая формулировка была бы неправильной. В самом деле, в каждом из этих параметров могут быть различные начальные значения, различные шаги изменения, различные конечные значения. При этом достичь заданных, в общем – то, различных конечных значений одновременно просто невозможно.
Для решения такого вида задач поступают следующим образом. Используют параметрический цикл и в его заголовок, в качестве параметра цикла, выносят параметр с заданной областью изменения. В приведенном примере – это у. Остальные аргументы (х и z) инициализируют до цикла. В теле цикла предусматривают изменение аргументов, не использованных в качестве параметров цикла (х и z). На рис. 5 приведена блок – схема решения этой задачи.
Рис. 4. Блок – схема вычисления функции с одновременно
изменяющимися несколькими аргументами.
Очевидно, что этим методом можно решать такие задачи с любым количеством аргументов.
Итерационные циклы
Итерационными называют такие циклы, у которых заранее неизвестно количество шагов. С помощью итерационных циклов решаются задачи, использующие метод последовательных приближений.
Примером, использующим итерационный цикл, может быть следующая задача.
Вычислить: сумму , для любых
х > 1. Вычисление производить, пока .
Анализ выражения для вычисления суммы показывает, что знаменатель дроби постоянно возрастает, а значение дроби – уменьшается. Таким образом, каждое очередное слагаемое будет все меньше и меньше. Если его значение станет меньше числа 10-5, то изменение суммы будет ничтожно мало, и процесс вычисления можно прекратить.
_
+
+
Рис. 6. Блок – схема итерационного цикла с предусловием
В итерационных циклах основанием для завершения их работы является некое условие. Если оно выполняется, то цикл работает, в противном случае цикл прекращает работу. В представленной задаче цикл работает до тех пор, пока условие выполняется. Итерационные циклы могут быть представлены с предусловием или с послеусловием. Циклы с предусловием предусматривают вначале проверку условия выполнения цикла, а затем, если условие выполняется, осуществляется выполнение тела цикла.
В циклах с послеусловием эта процедура производится в обратном порядке – сначала выполняется тело цикла, а после этого проверяется условие выполнения цикла. В этих циклах возможно выполнение один раз тела цикла даже тогда, когдаэто не должно происходить.Об этом становится известно уже после выполнения тела цикла. Казалось бы, что циклы с послеусловием бессмысленны, но существуют области задач, где их применение более предпочтительно.
На рис. 6 и 7 приведены блок – схемы вычислений с использованием циклов соответственно с предусловием и послеусловием.
+ –
Рис.7. Блок – схема итерационного цикла с послеусловием