Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




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

Задание: В машинных программах значение функции 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 <stdio.h>

#include <math.h>

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 <= n; 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).





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 560 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2206 - | 2159 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.