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

2 .4. Описание программы

2.4.1. Общие сведения

Программа cubic предназначена для решения кубических уравнений. Программа написана на языке Турбо-Паскаль 7.0, работает под управлением операционной системы MS DOS 3.2 и выше или Windows 3.11 и выше.

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

Программа cubic предназначена для нахождения значений действительных корней кубических уравнений, то есть уравнений вида ax3+bx2+cx+d = 0 с точностью до 0.001.

2.4.3. Описание логической структуры

Программа содержит основной модуль, а также 5 процедур и 2 функции:

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

Процедура VVOD (строки 49-83 приложения 2) предназначена для обеспечения ввода с клавиатуры значений коэффициентов a,b,c и свободного члена d кубического уравнения. Процедура не имеет входных параметров, а ее выходными параметрами являются значения коэффициентов a, b, c и свободного члена d, а также значение переменной К, равное нулю, если пользователь хочет продолжить работу, или равное единице, если пользователь хочет закончить работу. Для создания удобного пользовательского интерфейса процедура VVOD вызывает процедуру RAMKA

Процедура RAMKA (строки 15-45 приложения 2) предназначена для рисования рамки на экране. Входными параметрами являются координаты левого верхнего угла рамки: Х – номер колонки и Y – номер строчки, а также число колонок в рамке DX и число строчек в рамке DY. Выходных параметров процедура не имеет.

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

Процедура KVADR (строки 187-206. приложения 2) предназначена для нахождения корней производной кубического многочлена. Входными параметрами процедуры являются значения коэффициентов A,B,C и свободного члена D, а выходными параметрами - число корней производной N и значения корней X1 и X2, причем в случае наличия двух корней должно выполняться неравенство X1<X2. Схема процедуры KVADR приведена на рис. 4 и описана в п.2.3.2.

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

Процедура KOREN (строки .208-238 приложения 2) предназначена для нахождения значения корня заданной функции на заданном интервале методом дихотомии (деления пополам). Входными параметрами процедуры являются левая L1 и правая L2 границы интервала, а выходными параметрами - число корней на данном интервале Z и значение корня X. Данная процедура вызывает функцию F(x), вычисляющую значение кубического многочлена при заданном значении х. Схема процедуры KOREN приведена на рис.5 и описана в п.2.3.3.

Функция F(x) (строки 240-243 приложения 2) вычисляет значение кубического многочлена при заданном значении х. Значение х является входным параметром функции, а значения коэффициентов a, b ,c и свободного члена d - глобальными переменными, задаваемыми в основном модуле.

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

Процедура VIVOD (строки 97-184 приложения 2) предназначена для вывода на экран, принтер или в файл результатов решения кубического уравнения. Входными параметрами процедуры являются значения коэффициентов уравнения a,b,c и свободного члена d, число корней уравнения К и массив значений корней KOR. Выходных параметров процедура не имеет. Процедура запрашивает пользователя, куда он хочет выводить результаты - на экран, принтер или в файл. Если пользователь хочет выводить результаты в файл, то процедура запрашивает также имя файла. Затем осуществляется вывод результатов на заданное устройство по форме приложения 2. Для создания удобного пользовательского интерфейса процедура VIVOD вызывает процедуру RAMKA, описанную ранее. Для вывод на экран числового значения в удобной для пользователя форме используется функция IS.

Функция IS (строки 85-94 приложения 2) предназначена для преобразования числа в символьную строку для вывода. Для преобразования используется формат с 3 знаками после запятой. Входным параметром функции является действительное число. Функция возвращает символьную строку.

Все процедуры, функции и основной модуль находятся в одном исходном файле cubic.pas.

Схема основного модуля приведена на рис.3 и описана в п.2.3.1.

Взаимодействие процедур представлено на рис.6

Программа использует процедуры и функции стандартного модуля CRT среды Турбо-Паскаль 7.0.

Для нормальной работы программы требуется наличие арифметического сопроцессора либо его программной эмуляции, поэтому используется ключ компиляции {$N+}.

Исполняемый файл программы создан средствами среды Турбо-Паскаль 7.0, имеет имя cubic.exe и размер 3547. байт.

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