русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Итерационные циклы


Дата добавления: 2014-11-27; просмотров: 882; Нарушение авторских прав


Большое место среди циклов с неизвестным числом повторений занимают циклы, когда в процессе повторения тела цикла образуется последовательность значении y1, y2,…,yn,…, сходящаяся к некоторому пределу а, т. е.

.

Каждое новое значение уn в такой последовательности определяется с учетом предыдущего уn-1 и является по сравнению с ним более точным приближением к искомому результату (пределу) а. Циклы, реализующие такую последовательность приближений (итераций), называются итерационными.

В итерационных циклах условие продолжения (окончания) цикла основывается на свойстве безграничного приближения значений уn к пределу а при увеличении n. Итерационный цикл заканчивают, результат отождествляют со значением уn, т.е. считают, что уn ≈ а, если для некоторого значения n выполняется условие

,

где ε – допустимая погрешность вычисления результата.

Типичным примером итерационного циклического процесса может служить задача вычисления суммы бесконечного ряда. Понятие суммы связано с понятием сходимости бесконечного ряда. Бесконечный ряд значений t0, t1, ..., tn, ... называется сходящимся, если сумма sn = t0 + t1, ...,tn,… его первых (n + 1) слагаемых при беспредельном возрастании n стремится к некоторому пределу S, который и называется суммой ряда, т. е.

; .

Общий член tn сходящегося ряда при этом стремится к нулю, т. е.

; .

Следовательно, последовательность s1, s2, ..., sn, ... является искомой последовательностью значений и определяет следующее условие окончания суммирования:

или .

 

Пример.

Вычислить с погрешностью ε=10-4 значение функции s=cos(x), используя разложение в ряд:

,

где .

Для решения задачи необходимо, во-первых, определить значение очередного слагаемого tn, во-вторых, осуществлять накопление суммы по итерационной формуле:



.

Для определения tn в данном примере из-за наличия факториала целесообразно использовать не прямое вычисление, а рекуррентное соотношение: .

Подставим в формулу, определяющую tn, вместо n величину (n-1):

.

Определим сомножитель :

.

Напомним, что m!=1·2·…·m, поэтому

.

Начальное значение t0=1 находится подстановкой в формулу для общего члена tn при n=0.

procedure TForm1.Button1Click(Sender: TObject);

Var

eps, s, t, f, x, y: real;

n: integer;

Begin

eps:=StrToFloat(Edit1.Text);

x:=StrToFloat(Edit2.Text);

s:=0;

t:=1;

n:=1;

while abs(t)>eps do

Begin

s:=s+t;

f:=-sqr(x)/(2*n*(2*n-1));

t:=t*f;

n:=n+1

end;

y:=cos(x);

Memo1.Lines.Add('S= '+FloatToStr(s)+' Y= '+FloatToStr(y))

end;

End.

Так как надобности в запоминании значений всех слагаемых tn и промежуточных сумм sn нет, то в программе используются простые переменные: s – очередное значение суммы ряда, t – очередное значение члена ряда, f – очередное значение сомножителя .

Для проверки полученного результата осуществляется вызов стандартной функции cos(x), значение которой присваивается переменной y. Для организации цикла с предусловием, в котором условие является условием продолжения цикла.

Пример создания приложения

Задание. Создать Windows-приложение, которое выводит таблицу значений функции и ее разложения в ряд в виде суммы с погрешностью ε=10-4, для значений x от xn до xk с шагом h=(xk–xn)/8. На панели интерфейса предусмотреть возможность управления выводом исходных данных и погрешности вычислений.



<== предыдущая лекция | следующая лекция ==>
Отладка логических ошибок | Размещение компонентов на Форме


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.35 сек.