Вычисление суммы (произведения ) знакопеременного ряда — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Вычисление суммы (произведения ) знакопеременного ряда

2017-12-22 177
Вычисление суммы (произведения ) знакопеременного ряда 0.00 из 5.00 0 оценок
Заказать работу

 

В некоторых вариантах заданий необходимо работать со знакопеременным рядом. Рассмотрим в качестве примера задачу, в которой необходимо вычислить значение y, заданной следующим образом:

.

Наличие сомножителя делает ряд знакопеременным. Изменение знака в теле цикла можно учесть путем введения вспомогательной переменной (назовем ее znak). Изменение знака можно реализовать с помощью оператора znak = -znak. Ниже приведен фрагмент программы, выполняющий необходимые вычисления:

y = 0;

znak = 1;

for(i = 2; i ≤ n; i++)

{ y = y + znak * sqr(i);

znak = - znak;

}
 
 

Вычисление очередного слагаемого по рекуррентной формуле

 

Пусть необходимо вычислить сумму следующего вида:

.

На первый взгляд, для вычисления рассматриваемой суммы необходимо организовать вложенные циклы. При этом внешний цикл должен накапливать сумму y, а внутренний цикл должен вычислять факториал i!. Такой подход имеет ряд недостатков. Во-первых, поскольку функция i! быстро растет, это может привести к переполнению разрядной сетки. В то же время значение очередного слагаемого, определяемого величиной

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

Другой подход к вычислению этой суммы связан с использованием функциональной связи между двумя последовательными значениями слагаемых искомой суммы y. Обозначим эти значения слагаемых через Ai и. Ai+1 Составим отношение этих слагаемых

При таком подходе отпадает необходимость в вычислении факториала i!. Кроме того, вычисления могут быть выполнены с помощью одного цикла (нет необходимости в организации вложенных циклов).

Следующий фрагмент программы реализует необходимые вычисления:

y = 0;

A = x*x*x*x / 24;

for (i = 4; i ≤ n; i++)

{

y = y + A;

A = A * x / (i + 1);

}

Методические указания по выполнению

Контрольного расчета

 

В контрольном расчете для данной лабораторной работы необходимо выбрать численные значения величин n и x. При контрольном расчете рекомендуется значение переменной n выбирать таким образом, чтобы можно было проверить организацию цикла при минимальном количестве вычислений. В рассматриваемом примере варианта 31 для контрольного расчета выбрано n = 5. Тогда с учетом начального значения k = 3 вычисления в рабочей части цикла будут выполняться трижды. Значение величины x следует выбирать таким образом, чтобы упростить вычисления. В варианте 31 удобно выбрать x = 3. Тогда d = = 2, а с = 2 * 32 = 54. При выбранных значениях величин n и x величина s будет равна s = 0 + (54 * 3 + 2 * cos 3 – 2, 3 / 3) + (54 * 4 + 2 * cos 4 – 2,3 / 4) + (54 * 5 + 2 * cos 4 – 2, 3 / 5) = 643, 478. Окончательный результат контрольного расчета:

y = 6,3 * 3 – 4* 643, 478 = -2555, 014.

Результаты расчетов необходимо свести в таблицу 4.3

Таблица 4.3

Таблица вычислений

Назначение набора данных Набор данных   Результаты ручных вычислений Результаты машинных вычислений
n x y y
Контрольный набор     -2555,014  
Рабочий набор   4,75    

 

 

4.7. Контрольные вопросы

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

2. Укажите, какие элементы Вашей программы относятся к предварительному подалгоритму, а какие - к завершающему подалгоритму?

3. Укажите, была ли необходимость в чистке цикла в Вашей программе?

4. Напишите программу для вычисления значения величины у, заданной следующим образом

.

5. Напишите рекуррентную формулу вычисления очередного слагаемого для вариантов 5, 7, 14.

 

 

Лабораторная работа 5

Программирование вложенных циклов

 

Постановка задачи

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

Варианты заданий

В работе необходимо вычислять значение(я) функции y = f (x). Варианты заданий отличаются видом функции (табл.5.1). В нечетных вариантах необходимо вычислять значение функции для одного значения аргумента x, а в четных следует решать задачу табулирования. При вычислении значения функции оказывается необходимым вычислять несколько сумм (произведений). Вычисление некоторых сумм (произведений) может потребовать организации вложенных циклов.

Таблица 5.1

Номер Функция Рабочий набор
x m Xнач xкон n
      - -  
  -        
  1,5   - -  
  -        
      - -  
  -        
  2,5   - -  
Номер Функция Рабочий набор
x m Xнач xкон n
  -        
      - -  
  -        
      - -  
  -        
      - -  
  -        
  1,5   - -  
  -        
  4,5   - -  
  - 0,5      
  1,2   - -  
  - 1,5 2,5    

Окончание табл. 5.1

 

Номер Функция Рабочий набор
x m Xнач xкон n
      - -  
  -        
      - -  
  -        
      - -  
  -        
      - -  
-        
      - -  
  -        

 

 


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

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.