Циклы с условием окончания

Цель работы: изучение приёмов программирования алгоритмов с циклами, число повторений операторов в которых при постановке задачи неизвестно; выработка умений отладки и тестирования программ с циклами и разветвлениями, проведение простейшего вычислительного эксперимента.

Задание: В машинных программах значение функции exp(x) вычисляется как сумма S ряда (4). Составить программу для вычисления значения ех по формуле (4).

Условие окончания вычислений принять в виде: |uk/sk| < d, uk = xk/k!, где d – заданная относительная погрешность вычисления функции ex; uk и sk – соответственно значения члена ряда и суммы ряда на k-ой итерации цикла. Исследовать зависимость числа слагаемых ряда от значения х при заданной погрешности d.

/* Программа 6 для вычисления таблицы значений функции exp(x) по формуле (4) как суммы s степенного ряда с погрешностью d и числа слагаемых k суммы s. */

#include

#include

main()

{ int i, n;

double d, u, s, x, k;

< Вывод шапки программы, см. программу 1 или 2 >

printf("\n Введите погрешность d, размер таблицы n и n значений x: ");

scanf("%le%d", &d, &n); // ввод значений х в цикле for

printf("\n Таблица функции exp(х), погрешность s = %.3le \n", d);

printf(“\n\n \t x \t\t exp(x) \t\t s \t k"); // первая строка таблицы

for( i = 1; i

{ scanf("%le", &x); // ввод х из буфера клавиатуры

u = 1; s = 1; // значения u и s при k = 0

k = 0;

while ( fabs(u/s) >= d ) // вычисление суммы s

{ u = u*x / ++k; // рекуррентные формулы для u и s

s = s + u;

} // вывод строки таблицы:

printf("\n %7.3lf %10.3le %10.3le %5.0lf ", x, exp(x), s, k );

} // конец цикла for

}

Вопросы и упражнения:

1. Выполните программу для трёх значений d (1е-2, 1е-4, 1е-6) и трёх значений х (0.1, 1, 10). По результатам на экране сделайте выводы о сходимости ряда для функции ехр(х) по зависимости числа слагаемых k от х и от погрешности d: k(x), k(d).

2. Как вывести значения ехр(х) и s, чтобы увидеть их несовпадение?.

3. Модифицируйте программу, добавив цикл по заданному числу m значений d.

4.

Составьте программу вычисления функции ln(x) по разложению в ряд (5).

Рандомно подобранные статьи с сайта:

Программирование для начинающих. 8. Цикл


Похожие статьи:

  • Циклы с заданным числом повторений

    Цель работы: изучение приёмов алгоритмизации и программирования задач, требующих организации циклов с заданным числом повторений с использованием…

  • С заданной точностью. итерационные циклы

    Задача сводится к нахождению суммы , каждое слагаемое, которой является функцией от номера n, определяющего место этого слагаемого в сумме, а также может…

  • Цикл с постпроверкой условия

    Тема: Разработка, отладка и испытание циклических алгоритмов и программ. Цель работы: 1. Изучить структуру каждого из операторов организации цикла…

admin