Алгоритмы для вычисления корней системы на языке Паскаль

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

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>