Автор: Пользователь скрыл имя, 19 Февраля 2013 в 20:31, курсовая работа
Одной из особенностей сегодняшнего времени является широкое использование средств вычислительной техники в народном хозяйстве. Наибольшее распространение получили персональные компьютеры. На их основе создаются автоматизированные рабочие места, информационно-справочные системы, системы управления производством и т.п.
Введение………………………………………………………………..5
Основная часть…………………………………………………………6
1 Описание программы……………………………………………….6
Общие сведения ……………………………………………………6
1.2 Физическая постановка задачи…………………………………..6
1.3 Функциональное назначение……………………………………..6
1.4 Описание логической структуры…………………………………6
1.4.1 Алгоритм программы…………………………………………..6
1.4.2 Используемые методы…………………………………………..7
1.4.3 Структура программы………………………………………….7
1.5 Вызов и загрузка программы…………………………………….8
1.6 Входные данные……………………………………………………8
1.7 Выходные данные…………………………………………………8
2 Руководство оператора……………………………………………..9
2.1 Назначение программы……………………………………………9
2.2 Условия выполнения программы………………………………..9
2.3 Выполнение программы………………………………………….10
2.4 Сообщение оператору…………………………………………….12
3 Текст программы…………………………………………………….13
Заключение……………………………………………………………..20
Список использованных источников…………………………………. 21
Приложение А. Нахождение корня уравнения методом половинного деления отрезка при заданной точности вычисления с помощью Microsoft Excel……………………………………………..
Министерство
общего и профессионального
Российской Федерации
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ
имени академика С.П. КОРОЛЕВА
Факультет инженеров воздушного транспорта
Кафедра организации и управления перевозками
Программа
отыскания корня
методом половинного деления на отрезке
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по информатике
Выполнила студентка гр. 9418
Руководитель курсовой работы
Доцент Давыдов Е.И.
Оценка ______________
_______________________
(Подпись преподавателя)
«___»__________2011 г
Самара
2011
ЗАДАНИЕ
Составить программу отыскания корня уравнения
С заданной точностью методом половинного деления на отрезке (a, b). Предусмотреть графическую иллюстрацию процесса и результатов решения.
РЕФЕРАТ
Курсовая работа.
Пояснительная записка 22с., 6 рис., 2 табл., 6 источников
ТРИГОНОМЕТРИЧЕСКОЕ УРАВНЕНИЕ, МЕТОД ПОЛОВИННОГО ДЕЛЕНИЯ, ОТЫСКАНИЕ КОРНЯ УРАВНЕНИЯ, ПРОГРАММИРОВАНИЕ, TURBO PASCAL 7.0
Разработана программа, рассчитывающая значение корня тригонометрического уравнения методом половинного деления на отрезке (a,b) с заданной точностью ε.
Используется физическая и математическая постановки задачи. Вычисление производится с помощью языка Turbo Pascal 7.0.
Исходные данные по значениям a и b отрезка и точности ε вводятся с клавиатуры. Предусмотрена графическая иллюстрация результатов решения.
СОДЕРЖАНИЕ
Введение………………………………………………………… |
5 |
Основная часть………………………………………… |
6 |
1 Описание программы……………………………… |
6 |
|
6 |
1.2 Физическая постановка задачи…… |
6 |
1.3 Функциональное назначение…………… |
6 |
1.4 Описание логической структуры… |
6 |
1.4.1 Алгоритм программы……………………………… |
6 |
1.4.2 Используемые методы…………………………… |
7 |
1.4.3 Структура программы…………………………… |
7 |
1.5 Вызов и загрузка программы………… |
8 |
1.6 Входные данные………………………………………… |
8 |
1.7 Выходные данные……………………………………… |
8 |
2 Руководство оператора……………………… |
9 |
2.1 Назначение программы………………………… |
9 |
2.2 Условия выполнения программы…… |
9 |
2.3 Выполнение программы………………………… |
10 |
2.4 Сообщение оператору……………………………………………. |
12 |
3 Текст программы……………………………………… |
13 |
Заключение…………………………………………………… |
20 |
Список использованных источников…………………………………. |
21 |
Приложение А. Нахождение корня уравнения методом половинного деления отрезка при заданной точности вычисления с помощью Microsoft Excel…………………………………………….. |
22 |
ВВЕДЕНИЕ
Одной из особенностей сегодняшнего времени является широкое использование средств вычислительной техники в народном хозяйстве. Наибольшее распространение получили персональные компьютеры. На их основе создаются автоматизированные рабочие места, информационно-справочные системы, системы управления производством и т.п. Популярность персональных компьютеров определяется их высокими техническими характеристиками и наличием разнообразных по назначению периферийных устройств. К одному из самых существенных достоинств персонального компьютера можно отнести его графические возможности. Богатая палитра цветов, высокое качество изображения позволяют представлять результаты разработок в привлекательной форме и влиять на ход выполнения программ посредством общения с компьютером в диалоговом режиме.
В данной курсовой работе разработана программа, рассчитывающая значение корня тригонометрического уравнения методом половинного деления на отрезке (a,b) с заданной точностью ε. Используется физическая и математическая постановки задачи. Исходные данные по значениям a и b отрезка и точности ε вводятся с клавиатуры. Предусмотрена графическая иллюстрация результатов решения.
Данная программа может быть полезна студентам, которым необходимо найти корень любого уравнения на заданном промежутке методом половинного деления отрезка.
ОСНОВНАЯ ЧАСТЬ
1 Описание программы
Наименование программы: «Программа
отыскания корня
Программное обеспечение, необходимое для функционирования программы: Windows 7, Windows XP, Windows 97 и др.
Язык программирования, на котором написана программа: TURBO PASCAL 7.0
Составить программу отыскания корня уравнения
с заданной точностью методом половинного деления на отрезке (a, b).
Назначение программы: нахождение корня уравнения на заданном промежутке.
Функциональные ограничения на применение: данную программу можно использовать для решения только приведенного выше уравнения, в противном случае нужно внести небольшие поправки в текст программы.
Задается интервал (а,b), на котором существует только одно решение уравнения, и желаемая точность ε. Затем определяется середина заданного интервала и проверяется условие . Если указанное условие выполняется, то правую границу интервала b переносим в среднюю точку c, т.е. b:=c. Если условие не выполняется, то в среднюю точку переносим левую границу, т. е. a=c. Деление отрезка пополам происходит до тех пор, пока .
1.4.2 Используемые методы: метод
половинного деления на
1.4.3 Структура программы с описанием функций составных частей и связи между ними (блок-схема программы). Рисунок 1.
Рисунок 1
Вызов программы осуществляется с
помощью программной среды
Ввод исходных данных осуществляется во втором пункте меню программы, Рисунок 2. Входные данные: значения границ интервала a и b, заданная точность вычисления e, все переменные типа real (вещественные данные). Занимают во внутреннем представлении 6 байт; диапазон возможных значений – от 2.9Е-39 до 1.7Е+38; точность представления данных – 11..12 значащих цифр.
Рисунок 2
Выходные данные выводятся в 3 пункте меню программы, Рисунок 3. Выходные данные: корень х заданного уравнения на данном промежутке (a,b), вычисленный с точностью е, х – переменная типа real (вещественные данные). Занимает во внутреннем представлении 6 байт; диапазон возможных значений – от 2.9Е-39 до 1.7Е+38; точность представления данных – 11..12 значащих цифр.
Рисунок 3
2 Руководство оператора
2.1 Назначение программы
Программа предназначена для нахождения корня уравнения на заданном промежутке с заданной точностью. Значения левой и правой границы интервала, а также точность вычисления вводятся с клавиатуры.
2.2 Условия выполнения программы
Необходимым условием работы программы является правильный ввод значений границ интервала, в которых будет производиться поиск необходимого решения. Правильный ввод заключается в том, что на заданном промежутке обязательно должен существовать корень уравнения, причем только один. В противном случае программа будет работать неправильно.
2.3 Выполнение программы
Последовательность действий оператора:
Запустить программную среду TURBO PASCAL 7.0, открыть нужный файл, нажать комбинацию клавиш Alt+R, либо Ctrl+F9. Итак, программа запущена, перед оператором появляется диалоговое окно или меню программы, Рисунок 4.
Рисунок 4
Пользователь с помощью
Если пользователь выбрал вкладку «Задание», появляется диалоговое окно, в котором представлены сведения о разработчике программы и сведения о самой программе, Рисунок 5.
Рисунок 5
Если оператор выбрал второй пункт меню, появляется диалоговое окно ввода исходных данных, в котором необходимо ввести значения границ интервала и предполагаемую точность вычисления, Рисунок 2.
Для получения результатов
Для выхода из программы оператор открывает четвертую вкладку. Появляется диалоговое окно с запросом выхода. При нажатии клавиши «Д», программа завершает свою работу, Рисунок 6.
Рисунок 6
2.4 Сообщения оператору
«Для просмотра меню используйте ßà» - сообщение, которое выводится в нижней строке при нахождении пользователя в основном меню программы. Необходимо нажать клавишу вправо или влево для перемещения по пунктам меню.
«Для
выхода в меню нажмите пробел» - сообщение,
которое выводится в нижней строке
при нахождении пользователя в любом
из пунктов меню программы, когда
выполнены все необходимые
«Закончим? Да Нет» - сообщение, которое выводится в виде диалогового окна при нажатии пользователем последнего пункта меню программы, означающее желание выйти из программы. Требуется нажать клавишу «д» в случае, если оператор действительно желает завершить работу с программой, в противном случае, нажать клавишу «н».
3 Текст программы
uses crt;
const
Da=['¤','„','l','L']; Net=['','Ќ','y','Y'];
Sign=['.',',','!','?'];
Enter = #13; esc = #27; Space = #32; BS = #8; Del = #83; Tab = #9;
right=#77; {vpravo} left=#75; {vlevo} punkt=4;
Punkt_Menu:array[1..punkt] of
string=(' Zadanie ',' Vvod dannih ',' Rezultati ',' Exit ');
coord_menu:array[1..punkt] of Byte=(3,20,45,65);
{-----------pushu v zadannyy poziciy------------}
Procedure WriteXY(x,y:byte; s:string);
begin
GoToXY(x,y); write(s);
end;
{-----------------rusovanie okna------------------}
Procedure MyWindow(x1,y1,x2,y2,ColorFon,
frame {ramka}, shadow {ten}:boolean; WinName {name okna}:string);
var i:byte;
begin
if shadow then begin
window(x1+1,y1+1,x2+1,y2+1); TextBackGround(black);
ClrScr;
end;
window(x1,y1,x2,y2); TextBackGround(ColorFon); TextColor(ColorSymbol);
ClrScr;
if frame then begin
window(x1,y1,x2,y2+1);
write('Й'); {alt / +Dop. klava}
for i:=1 to x2-x1-1 do write('Н');
write ('»');
for i:=1 to y2-y1-1 do begin
write ('є'); WriteXY(x2-x1 + 1,i + 1,'є');
end;
write('И');
for i:=1 to x2-x1-1 do write('Н');
write('ј');
WriteXY((x2-x1+2)div 2-Length (WinName) div 2,1,WinName);
window(x1+ 1, y1+1, x2-1, y2-1);
end;
end {MyWindow};
{--------zapolnenie polia cumvolamu--------------}
Procedure Field(ColorFon,ColorSymbol : Byte);
Var x,y:byte;
begin
MyWindow(1,1,80,25,ColorFon,
for y:=1 to 24 do
for x:=1 to 80 do
write('°');
end {Field};
{---vivodit coobshenue u gdet nagatia zadannoi klavushu---}
Procedure WriteMesssage (Message : String;
ColorFon,ColorSymbol : byte;
Code : Char;
NameCode : String;
PressCode:Boolean);
{nado lu kontrolurovat nagatue klavishu}
begin
MyWindow(1,25,80,25,colorFon,
WriteXY(35-(length(NameCode)+
div 2, 1, Message);
TextColor(red+128); write(' ',NameCode);
If PressCode then repeat until ReadKey=Code;
end {WriteMesssage};
{-------------zapros na vixod-----------------------}
Procedure Da_Net (Message : String; {coobshenue}
ColorFon : byte; {cvet fona}
var ch : char); {kakaia nagata clavisha?}
begin
write(Message);
repeat
ch := readkey;
until ch in Da+Net;
end {Da_Net};
{-------------spriach kyrsor------------------}
Procedure HideCursor(ColorFon : byte);