
- •Курсовой проект
- •Содержание
- •1. Теоретические основы разработки.
- •1.1. Описание предметной области
- •1.2. Анализ методов решения.
- •1.3. Обзор средств программирования.
- •1.4. Описание языка Паскаль.
- •2. Практическая часть
- •2.1. Постановка задачи
- •2.1.1. Основания для разработки
- •2.1.2. Назначение программы
- •2.1.3. Требования к программе
- •2.1.3.1. Требования к функциональным характеристикам
- •2.2. Описание схем
- •2.2.2 Описание схемы процедуры kvadr
- •2.2.3. Описание схемы процедуры koren
- •2.3. Текст программы
- •2 .4. Описание программы
- •2.4.1. Общие сведения
- •2.4.2. Функциональное назначение
- •2.4.3. Описание логической структуры
- •2.4.4. Используемые технические и программные средства
- •2.4.5. Вызов и загрузка
- •2.4.6. Входные и выходные данные
- •2.5. Руководство оператора
- •2.5.1. Назначение программы
- •2.5.2. Условия выполнения
- •2.5.3. Выполнение программы и сообщения оператору
- •2.6. Программа и методика испытаний
- •2.6.1. Объект испытаний
- •2.6.2. Цель испытаний
- •2.6.3. Требования к программе
- •2.6.3.1. Требования к функциональным характеристикам
- •2.6.3.2. Требования к информационной и программной совместимости
- •2.6.3.3. Требования к маркировке и упаковке
- •2.6.4. Требования к программной документации
- •2.6.5. Средства и порядок испытаний
- •2.6.6. Методы испытаний
- •2.6.6.1. Для проверки способности обеспечивать ввод исходных данных
- •2.6.6.2. Для проверки способности решать уравнение с точностью до 0.001 необходимо:
- •2.6.6.3. Для проверки способности выводить результат на экран, принтер или в файл необходимо:
- •2.6.6.3. Для проверки требований к информационной и программной совместимости необходимо:
- •2.7. Протокол испытаний
- •Заключение
- •Список литературы
- •Диалоговое окно для ввода данных
- •Окно с результатами работы программы
- •Сообщение о необходимости включить принтер
2.2. Описание схем
2.2.1. Описание схемы основного модуля
Схема основной программы представлена на рис.3.
Вначале с помощью процедуры VVOD (блок 3) осуществляется ввод исходных данных-значений коэффициентов уравнения a,b,c и свободного члена d. В процедуре VVOD также задается значение переменной К, равное 0, если пользователь правильно ввел данные и хочет продолжить решение уравнения, и равное 1, если пользователь хочет закончить работу.
В основной программе проверяется значение переменной К (блок 4), и если оно не равно 0, программа заканчивает работу, иначе работа программы продолжается.
С помощью процедуры KVADR (блок 5) вычисляются корни производной кубического многочлена х1 и х2, а в переменную N записывается количество корней производной (0,1 или 2).
Дальнейшее выполнение программы зависит от количества корней производной, которое проверяется в блоке 6.
Если производная имеет меньше двух корней, то кубическое уравнение имеет только один корень, который с помощью процедуры KOREN ищется на интервале (-∞ до +∞) , причем в качестве бесконечности взято значение 10000000000 (блок 7). Затем (блок 8) в переменную NK записывается 1 - число корней кубического уравнения, а значение корня Х записывается в массив KOR.
Если же производная имеет 2 корня, то кубическое уравнение может иметь до трех корней, и выполняется последовательное их нахождение. Вначале число корней кубического уравнения принимается равным 0 (блок 9), затем с помощью процедуры KOREN определяется корень на интервале (-∞, хl) (блок 10), где в качестве -∞ взято значение -10000000000, а хl - меньший из корней производной. Если корень на этом интервале есть, то переменная Z будет равна 1 (проверка в блоке 11), и тогда количество корней уравнения NK увеличивается на 1, а значение корня записывается в массив корней (блок 19).
Аналогичным образом вычисляются значения корней на других интервалах (блоки 12-13,20,14-15,21). После нахождения значений корней кубического уравнения они выводятся на экран, принтер или в файл с помощью процедуры VIVOD (блок 16), после чего происходит возврат к началу программы, и пользователь может решать следующее уравнение.
2.2.2 Описание схемы процедуры kvadr
Схема процедуры KVADR приведена на рис.4.
Вначале производится вычисление коэффициентов производной кубического трехчлена (блок 2). Для кубической функции F(x)= ax3+bx2+cx+d производной будет являться F'(x)=3ax2+3bx+c. Затем вычисляется дискриминант d1 квадратного уравнения 3ax2+2bx+c=0 (блок 3).
Если дискриминант меньше 0 (проверка в блоке 4), то число корней производной N равно 0 (Блок 5).
Если дискриминант равен 0 (проверка в блоке 6), то число корней производной N равно 1, а значение корня Х1=-b1/2a1 (блок 7).
Если же дискриминант больше 0 (проверка в блоке 8), то число корней производной N=2, а корни Х1=-b1+d1/2a1, Х2=-b1-d1/2a1 (блоки 9 и 10). Если оказывается, что Х1>Х2 (проверка в блоке 11), то значения корней меняются местами (блок 12).
После вычисления значений корней производной процедура заканчивает работу.