Программирование алгоритмов на примере численных методов - Курсовая работа

бесплатно 0
4.5 107
Основные методы структурного программирования. Методы половинного деления, Крамера, прямоугольников. Применение языка программирования Turbo Pascal 7.0. Решение системы линейных алгебраических уравнений. Описание стандартных и не стандартных функций.


Аннотация к работе
В настоящее время резко возрос интерес к языкам высокого уровня благодаря возможности использования в научных исследованиях, в технике и экономике вычислительных машин, выполняющих построение некоторых величин в точном соответствии с указанным алгоритмом.Составить программу приближенного вычисления методом половинного деления следующего уравнения с заданной точностью ? =10-4 x2 2x ln(x)=0. Описать вышеуказанный метод, составить блок-схему программы, описать стандартные и не стандартные функции, применяемые в задаче, описать интерфейс и привести пример.Этот метод решения уравнений отличается от других методов тем, что для него не требуется выполнения условия, что первая и вторая производная сохраняют знак на интервале [a, b]. Если (что практически наиболее вероятно), то возможны два случая: либо f(x) меняет знак на отрезке [a, c] (Рисунок 1), либо на отрезке [c, b] (Рисунок 2).Пусть - определитель основной матрицы системы, а - определители матриц, которые получаются из А заменой 1-ого, 2-ого, …, n-ого столбца соответственно на столбец свободных членов: Основной определитель считается следующим образом: Аналогично считаются определители матриц, которые получаются из А заменой 1-ого, 2-ого, …, n-ого столбца соответственно на столбец свободных членов.Численное интегрирование состоит в нахождении интеграла от непрерывной функции f(x) по формуле Вид суммы определяет метод численного интегрирования, а разность - погрешность метода.3.1 Блок-схема modul 1(процедура polovin)Разработанная программа использует: Write (), Writeln (), Read (), Readln (). При выполнении оператора ввода Read() переменным присваиваются значения исходных данных. Процедура Readln() выполняет процедуру Read(), после чего переходит на следующую строку. С помощью процедур вывода Write() строится последовательность значений, которая является результатом выполнения программы. Процедура Writeln() выполняет процедуру Write(), а затем осуществляет переход в начало следующей строки.Программа GLAV сама по себе использует нестандартные модули 1, 2, 3, которые также содержат процедуры и функции, выполнение которых приводит к выполнению основной программы. Поэтому описание не стандартных процедур и функций, по сути, сводится к описанию процедур и функций, содержащихся в выше перечисленных модулях. Процедура polovin содержит пять внутренних переменных типа real, три из них получают первоначальное значение, используя стандартные процедуры ввода-вывода write-read. В ходе выполнения цикла while происходит проверка модуля разности интервала а и b и данного значения сумма , а также вычисление значений корня уравнения согласно формуле метода половинного деления. Выше указанная процедура использует стандартные процедуры и функции (clrscr, write, read, writeln, readkey), стандартные операторы (присвоение) и цикл while.Основная программа GLAV (использующая методы структурного программирования) работает следующим образом. При получении ответа соответствующего цифрам 1,2,3 передает управление одной из процедур описанных в не стандартных модулях пользователя. Управление передается соответственно одному из модулей (модуль 1, модуль 2, модуль 3) или другими словами процедурам пользователя (polovin, kramer, pr)Из таблицы 1, что корень уравнения лежит на отрезке от 1 до 2 , т. к. функция меняет знак на противоположный (в соответствие с методом половинного деления). Результаты решения по методу половинного деления были полученные с помощью программы Excel и сведены в таблицу 2. Таким образом, результаты расчета функции у= x2-2ln(x 2) по методу половинного деления полученные с помощью программы Excel дают более точный результат. Для этого считает основной определитель матрицы: Аналогично считаются определители матриц, которые получаются из А заменой 1-ого, 2-ого, …, n-ого столбца соответственно на столбец свободных членов. Определитель матрицы, полученный заменой столбца х на столбец свободных членов, считается по формуле: Определитель матрицы, полученный заменой столбца у на столбец свободных членов, считается по формуле: Определитель матрицы, полученный заменой столбца z на столбец свободных членов, считается по формуле: Находим значения х, у и z по формулам: Проверка результатов расчета осуществляются подстановкой данных в систему уравнений: Что дает абсолютно точный результат.В заключение хотелось бы отметить, что применение языка программирования Turbo Pascal 7.0 значительно упрощает работу по вычислению значений функций, нахождения корней уравнений и вычисления программы. Достаточно усовершенствовать отдельный модуль откомпилировать его и появляется возможность решать различные варианты задач с использованием данных методов.

План
СОДЕРЖАНИЕ

Введение

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

2. Математическое описание метода

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

2.2 Метод Крамера

2.3 Метод прямоугольников

3. Блок-схема программы

3.1 Блок-схема модуля1 (процедура polovin )

3.2 Блок-схема модуля 2 (процедура kramer)

3.2.1 Блок-схема модуля 2 (функция det, op)

3.3 Блок-схема модуля 3 (процедура pr)

4. Описание стандартных функций

5. Описание не стандартных функций

5.1 Модуль 1 (процедура polovin)

5.2 Модуль 2 (процедура kramer)

5.2.1 Модуль 2 (функция op)

5.3 Модуль 3 (процедура pr)

6. Описание интерфейса

7. Численный пример

Заключение

Список используемых источников

Приложение

Вывод
структурный программирование функция уравнение

В заключение хотелось бы отметить, что применение языка программирования Turbo Pascal 7.0 значительно упрощает работу по вычислению значений функций, нахождения корней уравнений и вычисления программы. Достаточно усовершенствовать отдельный модуль откомпилировать его и появляется возможность решать различные варианты задач с использованием данных методов. Более того, текст главной программы более читаем, и занимает меньше места. Имеющиеся наработки в отдельных модулях можно использовать в других программах. Четко выраженная структура программы позволяет более ясно представить цели и задачи стоящие перед программистом.

Список литературы
1. Информатика: учебник для вузов / А.Н. Гуда [и др.]; под ред. В.И. Колесникова. - М.: Дашков и К, 2008. - 400 с.

2. Чекмарев, Ю.В. Вычислительные системы, сети и телекоммуникации [Электронный ресурс]/ Ю.В. Чекмарев.- «ДМК Пресс», 2010. - Загл. с экрана.- Режим доступа: http://e.lanbook.com/books/element.php?pl1_cid=258&pl1_id=1108.

3. Шаньгин, В.Ф. Защита компьютерной информации [Электронный ресурс]/ В.Ф. Шаньгин.- «ДМК Пресс», 2010. - Загл. с экрана.- Режим доступа: http://e.lanbook.com/books/element.php?pl1_cid=258&pl1_id=1146 .

4. Артемова, С.В. Информатика. Методические указания по выполнению лабораторных работ/ С.В. Артемова, Т.И. Чернышова, Н.Г. Чернышов. - Тамбов, Тамб. гос. техн. ун-т, 2006. - 54 с.

5. Галявов, И.Р. Borland C для себя [Электронный ресурс]/ И.Р.. Галявов. - «ДМК Пресс», 2009. - Загл. с экрана.- Режим доступа: http://e.lanbook.com/books/element.php?pl1_cid=258&pl1_id=1230.

6. Алексеев, Е.Р FREEPASCAL и Lazarus: Учебник по программированию [Электронный ресурс]/ О.В. Чеснокова, Т.В.Кучер.- «ДМК Пресс», 2010. - Загл. с экрана.- Режим доступа: http: //e.lanbook.com/books/element.php?pl1_cid =258&pl1_id =1267.

7. Буч, Г. Язык UML руководство пользователя [Электронный ресурс]/ Г.Буч, Д. Рамбо, И. Якобсон. - «ДМК Пресс», 2008. - Загл. с экрана.- Режим доступа: http: //e.lanbook.com/books/element.php?pl1_cid =258&pl1_id =1246.

8. OPENOFFICE.org для профессионала [Электронный ресурс].- «ДМК Пресс», 2009. - Загл. с экрана.- Режим доступа: http: //e.lanbook.com/books/ element.php?pl1_cid =258&pl1_id =1223.

9. Дьяконов, В.П. MATHLAB 9.5 /10/11 в математике, физике и образовании [Электронный ресурс]/ В.П.Дьяконов. -«ДМК Пресс»,- 2010. - Загл. с экрана.- Режим доступа: http: //e.lanbook.com/books/ element.php?pl1_cid =258&pl1_id =1181.

10. http//crems.jesby.tstu.ru.88

11. www.kib.ru/info/course

12. http://study.utmn.ru/~izaharova
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?