Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Итерационные алгоритмы нахождения суммы ряда
Для вычисления конечных сумм и произведений пользуются операцией переприсваивания в сочетании с циклическим оператором. Приведу пример вычисления вот такого произведения
Пример кода #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); cout << "Введите n" << endl; int n; cin >> n; int fact = 1; int FACTCOUNT = 3; if (FACTCOUNT!=0 || FACTCOUNT!=1) for (int jdx = FACTCOUNT; jdx>0; --jdx) fact *=jdx; float result = 1; for (int idx = 2; idx<n; ++idx) {
result *= (fact*log(idx)/log(5))/(7+sin(idx)+pow(7,idx));
} cout << result << endl; system("pause"); return 0; } Итерационный цикл - цикл, в котором число его повторений и поведение программы на каждом шаге цикла зависят от результатов, полученных на предыдущих шагах Наиболее широко они применяются в вычислительной математике, когда для получения численного результата используется итерационный цикл последовательных приближений к нему. Для примера вычислю с точностью приблизительно точностью введенной пользователем. #include "stdafx.h" #include <iostream> #include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); cout << "Введите точность" << endl; float n; cin >> n;
float intermediatResult; float result = 0; int idx = 0; do { intermediatResult = 1/pow(3,idx); result += intermediatResult; ++idx; } while (intermediatResult > n);
cout.precision(20); cout << "Результат = " << result << "\n"; cout << "Итератор " << idx-1 << endl; system("pause"); return 0; }
Date: 2015-08-15; view: 535; Нарушение авторских прав |