Алгоритмы для вычисления корней системы на языке Паскаль
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
System располагаются наиболее часто используемые процедуры и функции языка. Основная группа процедур и функций модуля System:
процедуры управления выполнения программы;
функции преобразования типов;
процедуры и функции для переменных ординального типа;
математические функции;
процедуры и функции для работы со строками;
процедуры и функции управления динамической памятью;
процедуры ввода-вывода и работы с файлами и каталогами.
Процедуры и функции модуля Crt предназначены для работы с экраном: его очистки, управления движением курсора на экране, управление клавиатурой, определения цветов фонов и символов, управления звуком и окнами экрана.
Процедуры и функции модуля Graph предоставляют пользователю графические возможности языка. Процедуры и функции модуля Overlay позволяют организацию работы с программами оверлейной структуры.
Процедуры и функции DOS предназначены для обслуживания прерываний, проверки состояния диска, обработки файлов, управления процессами и операционной средой.
Рис. 2.2 Структура программы на языке Паскаль
Программа на языке Паскаль состоит из заголовка программы и блока (тела программы). Заголовок программы или подпрограммы - это один из операторов:
PROGRAM - для программы;
PROCEDURE - для процедуры;
FUNKTION - для функции.
Процедуры и функции могут иметь ряд уровней вложенности, т.е. могут быть вложены в другие процедуры или функции.
Блок программы и подпрограммы на языке Паскаль состоит из двух частей:
1.декларативной - описание (объявления) данных программы и текстов подпрограмм (разделы описаний);
2.выполнимой - описания действий, которые надо выполнить над данными (раздел операторов).
Блок включает все, кроме заголовка программы или подпрограммы. В общем случае блок может состоять из шести разделов различных типов. Все они, кроме раздела операторов, необязательны. Каждый раздел описаний начинается ключевым словам:
LABEL - для определения меток;
CONST - для определения констант;
TYPE - для определения типов данных;
VAR - для определения переменных;
PROCEDURE и FUNKTION - для определения процедур и функций;
BEGIN - определяет начало раздела операторов программы.
Оператор PROGRAM должен быть первым в программе, раздел операторов программы - вторым. А между ними может быть сколько угодно разделов описаний в любом порядке. Типы и константы могут использоваться в последующих описаниях типов и переменных и программ.
Последовательность разделов описания объектов (LABEL, CONST, TYPE, VAR и др.) программы может быть произвольной. В случае необходимости типы разделов могут повторяться. Умолчаний в Паскале нет. Все, что используется в программе: константы, переменные, метки, - должно быть объявлено явно. Каждый объект программы должен быть описан и только один раз для данной области действия, объекты программы имеют областью их действия блок, в котором они объявлены, и все вложенные в него блоки, процедуры и функции, в которых они не переобъявлены. Поэтому одни и те же идентификаторы можно использовать в различных подпрограммах (процедурах и функциях) программы в разных смыслах.
паскаль алгоритм уравнение итерация
3.Математическая модель
Метод Гаусса
Этот метод представляет собой конечный алгоритм для вычисления корней системы.
За основу метода принята идея последовательного исключения неизвестных и приведение СЛАУ к "треугольному" виду.
Алгоритм решения СЛАУ:
А11Х1+А12Х2+А13Х3=В1; (1)
А21Х1+А22Х2+А23Х3=В2(2)
А31Х1+А32Х2+А33Х3=В3(3)
1.если А11?0 (т.е. система не является вырожденной) делим первое уравнение на А11
2.исключим из уравнения (2) Х1, для этого умножим уравнение (1) на коэффициент А21 и вычтем из уравнения 2 А21Х1
.исключим из уравнения (3) Х1, для этого умножим уравнение (1) на коэффициент А31 и вычтем из уравнения (1) уравнение (3), т.е. исключаем из уравнения (3) А31Х1, исходное СЛАУ примет вид
А11Х1+А12*Х2+А13*Х3=В1*(1)
А22*Х2+А23*Х3=В2*(2)
А32*Х2+А33*Х3=В3*(3)
4.разделим уравнение (2) на коэффициент А22*
5.исключим из уравнения (3) Х2, для этого умножим уравнение (2) на коэффициент А32* и вычтем из уравнения (2) уравнение (3), т.е. исключаем из уравнения (3) А32*Х2 , исходное СЛАУ примет вид
А11Х1+А12**Х2+А13**Х3=В1**(1)
А22**Х2+А23**Х3=В2**(2)
А33**Х3=В3**(3)
т.о. исходное СЛАУ приводится к эквивалентной системе с треугольной матрицей. Процедура нахождения неизвестной из полученной треугольной СЛАУ осуществляется обратным ходом.
Метод итерации
Метод итерации - итерационный метод, позволяющий получать корни системы с заданной точностью, путем сходящихся бесконечных процессов.
Алгоритм решения СЛАУ
А11Х1+А12Х2+А13Х3=В1(1)
А21Х1+А22Х2+А23Х3=В2(2)
А31Х1+А32Х2+А33Х3=В3(3)
Пусть
¦ А11 А12 А13 ¦ ¦В1¦ ¦Х1¦
А=¦ А21 А22 А23 ¦ В=¦В2¦ Х=¦Х2¦
¦ А31 А32 А33 ¦ ¦В3¦ ¦Х3¦
тогда АХ=В
Предполагая, что Аii?0 i€[1,3], разрешим уравнение (1) относительно Х1, уравнение (2) относительно Х2, уравнение (3) относительно Х3.
Х1=?1+?12Х2+ ?13Х3(1)
Х2=?2+?21Х2+ ?23Х3 (1)
Х3=?3+?31Х2+ ?32Х3(1)
где ?i=?i/?ii; ?ij=-?ij/?ii
¦ ?11 ?12 ?13 ¦ ¦?1¦ ¦Х1¦
?=¦ ?21 ?22 ?23 ¦ ?=¦?2¦ Х=¦Х2¦
¦?31 ?32 ?33¦ ¦?3¦ ¦Х3¦
исходная СЛАУ примет вид
Х=?+?Х.
Далее решаем методом последовательных приближений. За начальное приближение принимаем столбец свободных членов:
Х1=?1; Х2=?2; Х3=?3
Алгоритм нахождения корней систе?/p>