Основы алгоритмизации и вычислений: Учебно-практическое пособие, страница 28

Второй вид циклического процесса, это циклический процесс с предусловием. Этот вид циклического процесса применяется в ситуациях, когда процесс, повторяемый в цикле выполняется только в случае выполнения условия, причем перед началом цикла проверяется истинность этого условия. Цикл со счетчиком является частным случаем цикла с предусловием, однако в структуре цикла со счетчиком, за ранее известно сколько раз будет повторен процесс, а в общем случае цикла с предусловием нет. Цикл с предусловием, может не выполнится ни одного раза, если заранее заданы параметры невыполнимого условия, например, если телефон работает, то набирать номер пока не произойдет соединение. В этом примере видно, что для выполнения цикла должны выполниться условия «телефон работает» и «нет соединения», то есть если телефон не работает или соединение уже установлено цикл не выполниться ни одного раза. Рассмотрим алгоритм включающий в себя цикл с предусловием на примере. Найти сумму цифр от Aнач до Aкон с шагом dA, рисунок 23. Исходными данными для построения алгоритма решения задачи являются Aнач, Aкон и dA. Результатом работы алгоритма будет являться сумма, придадим ей символическое название S. Для решения этой задачи нам необходимо сложить все числа, которые входят в промежуток от Aнач до Aкон с шагом dA, то есть на первом шаге мы присвоим символическому объекту значение ноль S=0, на втором шаге мы прибавим к S=Aнач, далее S=S+dA,…, S=S+dA до тех пор, пока Aнач+n*A будет меньше или равно Aкон. Для того, чтобы не повторять одну и туже операцию некоторое количество раз и организуется цикл с предусловием, который будет выполнять этот процесс автоматически.

            При выполнении циклического процесса, сначала проверяется условие, и если исходные данные заданы таким образом, что Aнач заранее больше Aкон, то при таких исходных данных процесс внутри цикла не выполнится ни разу. Общая структура алгоритма организации цикла с предусловием приведена на рисунке 24.

            И последним вариантом циклического процесса является цикл с постусловием, единственным отличие данного вида цикла является то, что сначала выполняется какое либо действие, а затем проверяется, требуется повторить или нет. В примере с набором номера телефона, формулировка будет звучать так: набирать номер телефона и если нет соединения, то повторить.  Общая структура алгоритма организации цикла с постусловием приведена на рисунке 25.

5.5. Приближенные вычисления.

            При решении задач вычислительного характера, редко удается получить абсолютно точные результаты. Причинами этого являются участвующие в вычислениях операции деления. Если исходные числа были иррациональными, то точно представить их в виде конечных десятичных дробей невозможно, так как их запись содержит бесконечное число цифр. Поэтому, приходиться вместо исходных иррациональных чисел, оперировать рациональными числами, полученными из данных иррациональных чисел путем записи их в рациональном виде, путем записи их с конечным числом знаков, то есть округлении.

            Возникают подобные ситуации, и в случае когда исходные числа были рациональными, а  в результате операций над ними получились иррациональные, например при делении единицы на три получим 1/3=0,333…, в результате выполнения операций подобные числа так же округляются до конечного числа знаков.

            Кроме того, одним из самых важных источников погрешности, является неточность самих исходных данных. Обычно исходные данные для большинства задач моделирования получают на основе физических экспериментов и опытов. Любой эксперимент связан с измерениями и наблюдениями, которые сами по себе не могут оказаться абсолютно точными в связи с возможностями измерительной аппаратуры. Даже при определении площади комнаты, когда необходимо знать только ее длину и ширину, как бы мы не старались, мы не сможем измерить абсолютно точно, даже сам измерительный прибор, заранее содержит какую то погрешность измерений. И естественно, при решении задач мы идеализируем их исходные данные, то есть вместо реальных задач решаем приближенную к реальности идеальную задачу, даже с измерением площади комнаты, углы не могут быть абсолютно прямыми, то есть комната заранее не является прямоугольником.