русс | укр

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

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

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

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


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

Вычисление бесконечных сумм


Дата добавления: 2013-12-23; просмотров: 1593; Нарушение авторских прав


End.

End;

Begin

S:=0;

Readln(x, k);

Begin

Program K_S;

var x,s,a,c:real;

n,b:integer;

writeln('введите x и количество слагаемых');

a:=1;

b:=sqr(sqr((x+1)));

c:=2*3;

for n:=3 to k+1 do

s:=s+a*(b/c)*sin(Pi/(n-1));

a:=a*(-1);

b:=b*(x+1);

с:=с*(2*n-1)*(2*n-2);

writeln('S=',s:8:5);

 

 

Общая формулировка задач рекуррентного вычисления суммы бесконечного количества элементов:

,

где , т. е. последующее значение элемента А вычисляется на основе предыдущего его значения. Вычисление продолжается до тех пор, пока разница между предыдущим и последующим значением суммы не станет меньше, чем заданное пользователем значение точности:

.

 

В остальном постановка этой задачи аналогична постановке задачи нахождения суммы конечного количества элементов.

 

Общую методологию решения подобных задач рассмотрим на следующем примере:

Необходимо вычислить значение :

 

(2)

 

Вначале, как и в случае с задачей вычисления суммы конечного количества элементов, разобьём исходную формулу суммы на несколько частей (рис. 9).

 

b

Рисунок 9 – Разбиение элемента суммы формулы 2

 

Элемент n можно вычислить без использования рекуррентной формулы, поэтому для него отдельной переменной не выделено.

Затем сведём в таблицу значения каждой из частей формулы при разных значениях переменной n (см. таблицу 7).

 

Таблица 7 – Изменения частей элемента формулы 2

n a b c
-1 x1 4! = 1*2*3*4
-1 x-1 5! = 1*2*3*4*5
-1 x-3 6! = 1*2*3*4*5*6

 

 

Из таблицы 7 видно, что значение переменной а неизменно, поэтому от её использования можно отказаться. Составим рекуррентные формулы для оставшихся переменных:



 

Рассмотрим подробнее рекуррентное выражение для переменной с. Если обратиться к таблице 7, то можно заметить, что последующее значение переменной с получается домножением предыдущего значения на одно число. При n = 2 необходимо домножить на 5, при n = 3 необходимо домножить на 6.

Это число зависит от числа n, оно соответствует формуле элемента суммы, связанного с переменной с – n+3 (см. рис. 9).

После составления рекуррентных формул можем перейти к составлению алгоритма и программы.

 

 

Рисунок 10 – Блок-схема алгоритма вычисления

суммы конечного количества элементов

 

Блок 3 (рис. 10) предназначен для инициализации переменных a и b. В качестве начальных значений используем значения из первой строки таблицы 7 (при n = 2). Затем в этом же блоке вычисляется и сохраняется в переменной s первый элемент суммы, вычисляемый при n = 1.

Цикл repeat не использует переменную счётчик, поэтому вводим её самостоятельно (переменная n). Инициализируется эта переменная также в блоке 3. Её начальное значение - 2, т. к. первый элемент суммы уже вычислен и сохранён до начала цикла.

В теле цикла (блок 4) сначала сохраняем значение переменной s в переменной sp, затем вычисляем новые значения переменных a и b, добавляем к переменной s новый элемент суммы и увеличиваем значение счётчика n.

Теперь в переменной s находится последующее значение суммы , а в переменной sp – предыдущее.Заголовок цикла repeat (блок 5) проверяет условие окончания цикла на основе этих значений и при истинности условия передаёт управление на блок вывода результатов 6.

Теперь можно перейти к реализации алгоритма в исходном тексте программы на языке Pascal.

 

 



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


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


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

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

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


 


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

 
 

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

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