Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач 3.doc
Скачиваний:
3
Добавлен:
04.08.2019
Размер:
128 Кб
Скачать

Московский Авиационный Институт

(Национальный исследовательский университет)

Факультет прикладной математики и физики.

Курсовой проект

по курсу «Алгоритмы и структуры данных»

Задание №3

Тема:

«Вещественный тип. Приближенные вычисления.

Табулирование функций»

I семестр

Студент

Группа 8О-100Б

Преподаватель

Москва, 2011.

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

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

  1. Общий метод решения:

Создаем две функции (одна вычисляет с использованием встроенных функций, другая по формуле Тейлора) и сравниваем их значения на заданном интервале. Для эффективного вычисления по формуле Тейлора находим коэффициент различия n-ого члена от n+1-ого члена (получаем путём деления n+1-ого члена на n-ый член), Первый член мы задаем, а каждый следующий получаем путём умножения коэффициента различия на предыдущий. Значение функции получаем путём сложения этих членов

  1. Общие сведения о программе:

Операционная система: Microsoft Windows 7 Ultimate Service Pack 1

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

Число строк программы: 68

Полное имя программы: C:\Users\Никита\Documents\Dev_cpp\Course\Kurs_3.c

Программа компилируется и вызывается с помощью утилиты Bloodshed Dev-C++ со встроенным GNU компилятором (вызов компиляции с запуском- клавиша F9)

  1. Функциональное назначение:

Программа предназначена для сравнения результатов функции посчитанной встроенными функциями exp(2x)и по формуле Тейлора. Обрабатываемые данные имеют тип double.

  1. Описание логической структуры (словесное описание алгоритма):

Создаем функции, отвечающие за определенные компоненты программы (подсчет машинного Эпсилон, функции считающие через стандартные функции языка и т.д.). В основной функции цикл зависящий от значений заданного интервала (в моем варианте это [1;0.6]) и каждый раз считающий значения функций и выводящий их на экран.

  1. Описание переменных и констант:

    Имя

    Тип

    Назначения

    eps

    double

    Хранит значение машинного Эпсилон

    x

    double

    Аргумент функции

  2. Описание подпрограмм:

double abs(double x)

Считает модуль данного аргумента

Имя

Тип

Вид

Назначения

x

Double

входной параметр и возвращаемое значение

Входной параметр и результат вычислений

double epsylon()

Считает машинное Эпсилон

Имя

Тип

Вид

Назначения

Eps

Double

входной параметр и возвращаемое значение

Входной параметр и результат вычислений

double f(double x)

Считает значение функции с помощью встроенных функций языка программирования.

Имя

Тип

Вид

Назначения

X

Double

входной параметр возвращаемое значение exp(2x)

Входной параметр результат вычислений

exp(2x)

double next(double x, double n)

Вычисляет следующий элемент в ряду Тейлора

Имя

Тип

Вид

Назначения

X

Double

входной параметр

Входной аругмент

N

Double

входной параметр

Номер считаемого элемента ряда Тейлора

double g(double x)

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

Имя

Тип

Вид

Назначения

X

Double

входной параметр

Входной аргумент

N

Double

Лог. перем

Счетчик и переменная, подставляемое в функцию next

Step

Double

Лог. перем

Переменная, хранящая значение функции next на данном этапе, и подставляемая в функцию sum

Sum

Double

Возвращаемое значение

Переменная, хранящая значение ряда Тейлора до n-ого элемента. Возвращаемое значение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]