Главная Случайная страница


Полезное:

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


Категории:

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






Расчет ряда





Пример программы расчета значения суммы заданного количества n членов ряда разложения функции cos x на интервале 0 ≤ x ≤ π/2 приведен ниже.

 

#include "stdafx.h"

#include <conio.h>

#include <math.h>

#include <locale.h>

 

int _tmain(int argc, _TCHAR* argv[])

{

/* Программа расчета значений суммы n членов ряда разложения

функции cos x на интервале 0? x? pi/2 */

int

i; /*Номер члена ряда*/

int

n; /*Количество членов ряда*/

float

rcos; /*Сумма членов ряда, значение функции cos x*/

float

ai; /*Значение i-го члена ряда*/

float

x; /*Значение аргумента функции*/

int

n; /*Значение степени x*/

 

setlocale(LC_ALL, "russian"); //Русский язык

printf("Программа расчета значений суммы членов \n");

printf("ряда разложения функции cos x на \n");

printf("интервале [0, pi/2]\n");

printf("\n");

printf("Введите значение аргумета функции\n");

scanf("%f", &x);

printf("Введите значение количества членов ряда\n");

scanf("%d", &n);

printf("Значения членов ряда разложения функции cos x:\n");

rcos = 0; /* Начальное значение суммы членов ряда */

ai = 1.0; /* Первый (нулевой) член */

n = 0; /* Подготовка к расчету ряда */

/* Задание i – номера члена ряда */

for (i = 0; i <= n - 1; i++)

{

/* Печать i-го члена */

printf("%4d) %10.6f\n", i, ai);

rcos = rcos + ai; /* Увеличение суммы на очередной член */

/* Подготовка следующей итерации */

/* Расчет значение степени x */

n = n + 2; /* Арифметическая прогрессия 2,4,6,… */

/* Расчет значения следующего члена */

ai = -ai * x * x / nFact);

}

printf("Рассчитанное значение cos %f = %f\n", x, rcos);

printf("Эталонное значение cos %f = %f\n", x, cos(x));

/*Завершение выполнения программы*/

printf("\nНажмите любую клавишу\n");

_getch();

return 0;

}

 

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

Наглядный тест составьте самостоятельно.

 

Date: 2015-08-24; view: 214; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию