Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_lektsiam_6_9.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
351.23 Кб
Скачать
  1. Синтаксис оператора цикла с постусловием. Организация на его основе бесконечного цикла (л.7) .

Оператор цикла с постусловием do-while – является не столь универсальным, как оператор while, поскольку его выражение-условие располагается в конце цикла, и операторы его тела будут, в отличие от цикла while, всегда выполняться как минимум один раз. Это означает, что оператор не годится для записи цикла, тело которого при определенном условии вообще не должно выполняться.

Оператор do-while требует использования составного оператора, когда в его теле необходимо записать более одного оператора.

Общий принцип работы цикла do-while такой же, как у цикла с предусловием, но в отличие от while, выражение-условие проверяется не перед выполнением тела цикла, а после него. Тело цикла do-while выполняется до тех пор, пока значение выражения-условия равно true.

Для оператора do-while, как и для while, переменные цикла, инициализируются до входа в цикл. Тело цикла do-while также состоит как бы из двух частей: собственно тела и блока «модификации» значений переменных цикла. Отсутствие модификации переменных цикла также приведет к неправильной работе цикла (зацикливанию).

С помощью do-while можно организовать бесконечный цикл: do…..while (true).

  1. Синтаксис оператора цикла for. Организация на его основе бесконечного цикла. Использование «неполных» форм записи оператора цикла for (л.7) .

Общую структуру параметрического цикла for можно представить так:

for (инициализация ; выражение-условие ; модификации) тело цикла;

Инициализация используется для определения и инициализации переменной цикла и выполняется один раз в начале выполнения цикла. Операция «последовательное выполнение» позволяет записать в этой части несколько операторов, разделенных запятой:

for (int i=0, j=2; …..)

int k, m;

for (k=1, m=0; ……..)

Областью действия переменных, объявленных в части цикла «инициализация», является цикл.

Выражение-условие определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, то цикл выполняется.

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

  1. Выражение оператора цикла for через while (л.7) .

Любая из частей оператора цикла for может быть опущена (но точки с запятой надо оставлять на своих местах). Параметрический цикл for реализован как цикл с предусловием, поэтому любой цикл while может быть приведен к эквивалентному ему циклу for, и наоборот, по следующей схеме:

for (b1; b2; b3) оператор  b1;

while (b2) {

оператор;

b3;

}

  1. Реализация в С++ алгоритмов циклов с параметром (л.7) .

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

Изменение параметра цикла можно записать так: x = xn (h) xk параметр х изменяется от начального значения xn с шагом h до конечного значения xk, т.е. параметр х принимает значения xn, xn+h , xn+2*h, …, xn+k*h; или можно рассматривать иначе:

x=xn;

x=х+h; (выполняется в цикле, пока х ≤ xk;)

xn xn+h xn+2*h xk=xn+k*h

x=xn x+h x+h x+h

  1. Реализация в С++ алгоритмов с итерационными циклами (л.7) .

Итерационный цикл организуется

  • когда число повторений цикла определяется в процессе вычислений, в зависимости от получаемых результатов;

  • когда вычисления выполняются по одинаковым формулам с использованием при очередном прохождении цикла в качестве исходных данных результатов предыдущего этапа прохождения цикла: x, y, z à x1, y1, z1 à x2, y2, z2 à ….. или иначе

x, y, z à x, y, z (но это уже другие значения переменных!!!);

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

Итерационные циклы тесно связаны с итерационными методами решения уравнений и систем.

Примеры алгоритмов с итерационными циклами:

  • вычисление корня нелинейного уравнения (методом итераций, методом касательных (Ньютона), методом деления отрезка пополам и т.д.),

  • вычисление суммы бесконечного числа слагаемых (функции путем разложения ее в бесконечный ряд (ряд Тейлора), интеграла и т.д. )

  1. Алгоритм табулирования на отрезке функции двух аргументов с равномерным изменением шага каждого из них ( метод. указания к лаб.работе 2: алгоритмы с вложенными циклами) .

Алгоритм табулирования функции на отрезке:

  1. Задать a, b, c, x_n, x_k, h

  2. Для всех x от x_n до x_k с шагом h выполнять

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]