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

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ») в г. Смоленске

Кафедра информатики

Расчетное задание

По курсу «Информатика и программирование»

Студент:

Куропатина А.В.

Группа:

ПИЭ-11

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

Нестеров А.П.

Вариант:

12

Смоленск, 2011

Задание 1. Решение алгебраических и трансцендентных уравнений

  1. Теоретическое введение

В практических вычислениях часто приходиться решать уравнения вида:

F(x) =0, (1)

где F(x) определена и непрерывна на некотором конечном или бесконечном интервале a<x<b.

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

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

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

Для заданного уравнения применяется метод половинного деления.

Метод половинного деления.

Для нахождения корня (1), принадлежащего отрезку [a;b], делим отрезок пополам, т.е. выбираем начальное приближение равным x0=(a+b)/2. Если F(x0)=0, то x0 является корнем уравнения. Если F(x0)<>0, то выбираем тот отрезок [a;x0] или [x0;b], на концах которого функция F(x) имеет противоположные знаки. Полученный отрезок снова делим пополам и проводим то же рассмотрение и т.д.

Процесс деления отрезков пополам продолжается до тех пор, пока длина отрезка, на концах которого функция имеет противоположные знаки, не будет меньше наперед заданного числа eps.

  1. Техническое задание

Найти корень уравнения y = sin(ln(x))- cos(ln(x)) + 2ln(x), расположенный на найденном отрезке, с абсолютной погрешностью eps методом половинного деления.

  1. Анализ технического задания

Для выполнения задания требуется:

  • Найти область определения функции, корень.

  • Определить способ задания входных параметров – ввод с экрана.

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

  1. Блок-схема

Блок-схема алгоритма

Блок-схема функции

  1. Модульная структура программы

  1. Спецификация на программные модули

Модуль 1.

  1. Имя модуля TForm1.Button1Click(Sender: TObject).

  2. Имя вызывающего модуля – Unit1.

  3. Выполняемые функции – реализует алгоритм нахождения корня уравнения.

  4. Входные данные – a, b, eps.

  5. Выходные данные – x.

  6. Особенности, ограничения – координата начала отрезка должна быть больше нуля.

Модуль 2.

  1. Имя модуля F.

  2. Имя вызывающего модуля – TForm1.Button1Click(Sender: TObject).

  3. Выполняемые функции – вычисление значения функции.

  4. Входные данные – x.

  5. Выходные данные – F.

  6. Особенности, ограничения – значение входного параметра x должно быть больше нуля.

Модуль 3.

  1. Имя модуля Unit1

  2. Имя вызывающего модуля – нет.

  3. Выполняемые функции – обеспечивает работу всех модулей.

  4. Входные данные – нет.

  5. Выходные данные – нет.

  6. Особенности, ограничения – нет.