double arrow

Цикл смешанного типа

Цикл итерационного типа

Для вычисления f(x)=у с погрешностью, не превышающим ∑, используется следующий алгоритм:

Каждое следующие приближение получается из предыдущего, прибавлением к нему нового слагаемого, являющегося результатом предыдущего вычитания. Вычисление проводятся, пока

Схема:

Инициализация
∑=1, ax=x, sx=x

Основные вычисления
∑+1, a i+1, Si+1

Подготовка перехода
, =?

Условие перехода
Переход при > 0


Цикл имеет 2 выхода. Вычисления f(x) производятся пока не выполнится одно из условий: и – N - ∑≠0

Схема:

i=1, ai=x, si=x


i+1, a i+1, Si+1

, =?

Переход при > 0
(N-i=?)
Переход при > 0


В цикле нужно контролировать число проверенных элементов и вовремя прекратить поиск. В программной части имеет место случаи, когда цикл должен быть повторен через некоторое время после изменения переменной в ячейке со счтетчиком, но команды в ячейке цикла уже изменены посредством переадресации. Тога посе выхода из цикла надо установить начальный вид команды. Для этого в алгоритм вводят блок восстановления, где имеет место D+S (Снач. → D).

Структура цикла с учетом возможной переадресации и восстановления:

Подготовка
Основные вычисления
Подготовка перехода
Переадресация
Команда условного перехода
Восстановление
   
 


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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: