Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_Ч1.doc
Скачиваний:
7
Добавлен:
02.11.2018
Размер:
2.38 Mб
Скачать
      1. Инструкция repeat…until

Особенность этой инструкции состоит в том, что условие проверяется после выполнения операторов тела цикла, поэтому <инструкции тела цикла> выполняются, как минимум, один раз. Цикл Repeat называют еще циклом с постусловием.

Схема алгоритма выполнения этого цикла представлена на рисунке 5.3.

Рисунок 5.3 – Схема алгоритма выполнения цикла Repeat

На языке Delphi в общем виде инструкция Repeat записывается следующим образом.

Рисунок 5.4 – Синтаксис инструкции Repeat

Здесь <условие выхода из цикла> это выражение логического типа, определяющее условие завершения цикла.

Инструкция выполняется следующим образом:

  • Сначала выполняются <инструкции тела цикла> находящиеся между словами repeat и until.

  • Затем вычисляется значение выражения <условие выхода из цикла>. Если оно не выполняется (значение выражения равно false), то инструкции тела цикла выполняются еще раз.

  • Если условие выполняется (значение выражения равно true), то выполнение цикла прекращается.

Таким образом, инструкции цикла, находящиеся между repeat и until, выполняются до тех пор, пока не выполнится условие выхода из цикла.

      1. Прерывание цикла

При решении некоторых задач возникает необходимость прервать выполнение цикла, не дожидаясь выполнения условий выхода из цикла. Такая возможность обеспечивается инструкцией break. Эта инструкция может быть записана в любом месте тела цикла. В результате выполнение цикла сразу же прекращается. Помимо этой инструкции можно использовать инструкцию exit, которая прерывает выполнение не только цикла, но и всей процедуры. Можно использовать и инструкцию halt, но в этом случае завершится работа проекта.

      1. Итерационные алгоритмы

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

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

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

Таблица 5.1 Уравнения, решаемые методом итераций

Вариант

Уравнение

Итерационная формула

Ограничения

1

2

3

4

0

ab<1, x0>0

1

a>0, b>0,

b/a<6, x0<π/2

2

c>0, x0>0

3

a>1,

x0>0

Продолжение таблицы 5.1

1

2

3

4

4

ab>c,

x0<π/(2b)

5

a>0, b>0

c>1, x0>0

6

a>0, c>0,

x0>0

7

a>1, c>1,

b<c, x0>1

8

a>0, b>0,

c>0, x0>0

9

a>0, b>0,

c>0, x0>0

Алгоритм решения уравнений, приведенных в таблице 5.1.заключается в следующем.

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