Пример выполнения лабораторной работы
Лабораторная работа № 2 Цикл с постусловием Задание: Выполнить два задания (простой цикл и ряд Тейлора) по вариантам с использованием циклов с постусловием Теоретический материал Цикл с постусловием используется в тех случаях, когда заранее известно, что тело цикла повторится, по меньшей мере, один раз. Оператор цикла do..while особенен тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла. Формат записи: do { команды } while (условие); Примечание: обратите внимание на обязательную точку с запятой после условия Цикл работает следующим образом: выполняется тело цикла (операторы, заключенные между словами do и while), затем проверяется условие цикла, если оно истинно, то тело цикла выполняется вновь, затем проверяется условие, и т. д. Когда условие, наконец, станет ложным, цикла завершится, и далее будет выполняться следующий за циклом оператор. При программировании операторов тела цикла следует обеспечить влияние, по крайней мере, одного из операторов тела цикла на значение условия, иначе цикл будет выполняться бесконечно.
Пример выполнения лабораторной работы Для примера рассмотрим функцию у= , разложенную в сумме ряда (количество слагаемых n=40). Заметим, что значения s и y при одинаковых значениях x будут приблизительно равными. В подсчете суммы s можно увидеть закономерность. Например, следующее слагаемое суммы будет выглядеть: . А сумма для n слагаемых можно записать в виде: Подобную сумму легко посчитать, используя цикл. На каждом шаге цикла к s будет прибавляться новое слагаемое и по окончанию цикла в s будет храниться итоговая сумма всех n слагаемых Блок-схема решения:
Код программы будет следующим: double x = 0; // объявляем переменную x для получения от пользователя числа cout >> “Введите x: ”; cin << x; // запрашиваем у пользователя значение double y = log(abs(2.0 * sin(x / 2))) * (-1); // высчитываем значение y по полученному значению x double s = 0; int i = 1; int n = 40; // задаем начальные значения для цикла do // начинаем цикл { s += cos(i * x) / i;// к s прибавляем слагаемое на i-м шаге i++; // увеличиваем счетчик i на единицу } while (i <= n);// условие окончания цикла cout << “y = ” << y << “ s = ” << s; // выводим что получилось на экран
Разбиение задач по вариантам
|