Студопедия

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


Мы поможем в написании ваших работ!

Порталы:

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



Мы поможем в написании ваших работ!




Лабораторная работа №1 Вычисление суммы бесконечного ряда

Цели работы.

1. Получение навыков составления алгоритмов и программ обработки последовательностей на примере задачи вычисления суммы бесконечного ряда.

2. Реализация элементарных математических вычислений с использованием операторов языка программирования С.

3. Организация элементарного ввода/вывода и осуществление контроля вводимых данных средствами языка С.

 

 

Задание.

1. Провести анализ элемента ряда.

2. Составить рекуррентную формулу для вычисления элемента ряда.

3. Составить алгоритм решения задачи.

4. Провести тестирование алгоритма, сравнив результаты ручного просчета с результатами, полученными в трассировочной таблице.

5. Запрограммировать алгоритм на языке С.

6. Провести тестирование программы на нескольких примерах.

 

Содержание отчета

1. Титульный лист.

2. Задание.

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

– формулировка задачи (с учетом варианта задания);

– входные данные - указать имена переменных и их типы;

– ограничения на входные данные;

– выходные данные (результаты) - указать имена переменных и их типы;

– дополнительные данные (промежуточные переменные) - указать имена переменных и их типы, а также комментарии относительно назначения переменных.

4. Метод решения задачи (математическая модель).

5. Алгоритм.

6. Тестовые примеры (ручной просчет по формулам задания и трассировочная таблица алгоритма).

7. Листинг программы на языке С.

8. Тестовые примеры, демонстрирующие результаты работы программы.

 

Отчет оформляется на заполненных с одной стороны листах бумаги формата А4. Возможно оформление отчета от руки (за исключением листингов программ!).

 

Формулировка задачи.

Даны действительные числа x, e (x≠0, 0<e<1). Вычислить с точностью e сумму бесконечного ряда и указать количество учтенных слагаемых (вариант задания выбирается по номеру в журнале).

 

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

 

1. ; 2. ;
3. ; 4. ;
5. ; 6. ;
7. ; 8. ;
9. ; 10. ;
11. ; 12. ;
13. ; 14. ;
15. ; 16. ;
17. ; 18. ;
19. ; 20. ;
21. ; 22.
23. ; 24. ;
25. 26.
27. 28.
29. 30.

 

Методические указания

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

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

 

Пример. Вычислить сумму членов ряда:

 

с точностью до члена ряда, меньшего ε.

Решение.

Обозначим через un = (-1) - текущий член ряда.

Для уменьшения затрат времени на вычисление n+1-го члена ряда используем рекуррентную формулу, которая вычисляется следующим образом:

 

Тогда Un+1 = * Un.

 

 

Рекуррентную формулу можно вычислить иначе, чем было показано выше (применяется для вычисления n-го элемента ряда):

 

 

.

 

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

 

un =

Функция pow(x,n) имеет в качестве входных параметров вещественное число x и целое n.

Промежуточные параметры: целое i – счетчик цикла.

Выходные параметры: целое n – значение степени.

Схема нахождения x в степени n такова:

 

Шаг 1: ввод исходных данных.
Шаг 2: задание начального значения степени p = 1 и счетчика цикла i = 1.
Шаг 3: в итерационном цикле со значением счетчика i от 1 до n вычисляется значение i-ой степени входного параметра x по формуле p=p*x;
Шаг 4: возвращение результата p.

 

Функция fact(n) имеет в качестве входных параметров целое число n.

Промежуточные параметры: целое i – счетчик цикла,

p – временное слагаемое для нахождения факториала.

Выходные параметры: целое p – факториал.

Схема алгоритма нахождения факториала n такова:

 

Шаг 1: ввод исходных данных.
Шаг 2: задание начального значения f = 1, i = 2.
Шаг 3: в цикле с предусловием (i <= n ) на каждом шаге умножаем текущее значение p на i.
Шаг 4: возвращение результата f.

 

Необходимо отметить, что решение задачи вторым методом является намного более ресурсоёмким и при достаточно больших значениях x может потребовать много времени даже на соврмемнных компьютерах. Основная причина ресурсоёмкости, кроется в вычислении функций степени и факториала на каждой итерации, в то время как для первого метода решения аналогичный результат достигается с помощью всего-лишь одной простой формулы. Кроме того, даже при небольших значениях i величина факториала может оказаться слишком большой, при реализации алгоритма на компьютере это приведет к переполнению разрядной сетки типа данных переменной, хранящей значение факториала.

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

Блок-схема решения данной задачи с использованием рекуррентной формулы представлена на рисунке 1.1.

 

 

Рисунок 1.1 – Блок схема решения с использованием рекуррентной формулы

 

Блок-схема решения данной задачи с использованием функций степени и факториала представлена на рисунке 1.2 (обратите внимание, что в алгоритме приведена только расчетная часть, проверка правильности исходных данных не выполнялась, в лабораторной работе дополнить алгоритм необходимыми операторами).

 

 


<== предыдущая страница | следующая страница ==>
 | Отечественная история. Цивилизация – это сообщество людей, объединённое осознанием совокупности системообразующих ценностей

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




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.005 сек.