2.1 Автоматизация метода
Программа на Pascal состоит из отдельных разделов или блоков, которые должны располагаться в следующем порядке:
- заголовок программы;
- раздел объявления переменных;
- раздел объявления процедур и функций;
- тело программы.
Заголовок программы состоит из зарезервированного слова PROGRAM и имени программы: PROGRAM MetodIteraccii;
Раздел объявления переменных начинается служебным словом VAR: VAR
x0, x1, e, a, b: real;
i, k:integer;
где:
x0 и x1 - результативные переменные;
e - точность вычислений;
a и b - коэффициенты заданной функции;
k - номер заданной функции.
Объявление функции состоит из:
- ключевого слова FUNCTION, имени функции, списка формальных параметров и типа возвращаемого значения:
- раздела объявления локальных переменных или констант, если он требуется;
- тела функции, заключенного в операторные скобки BEGIN END.
В функции помещаются формулы, по которым будут вычисляться приближенное значение. В своей программе я использовала формулы, содержащие стандартные функции: ln(x), cos(x) и sin(x):
function f(x:real; a, b:real):real;
begin
f:=a*ln(x)+b;
end;
function c(x:real; a, b:real):real;
begin
c:=a*cos(x)+b;
end;
function s(x:real; a, b:real):real;
begin
s:=a*sin(x)+b;
end;
Тело программы начинается словом BEGIN и содержит различные команды:
Write (Writeln) - команда вывода текста на экран;
Read (Readln) - запрос данных;
If … then - краткая форма условного оператора;
Repeat … until - оператор цикла с постусловием;
Abs(x) - абсолютная величина (модуль).
Итак, определяем заданную функцию, приближенное значение X и точность вычисления:
BEGIN
Write (1) x=a*ln(x)+b 2) x=a*cos(x)+b 3) x=a*sin(x)+b
Выберете функцию: );
Readln (k);
Write (Введите a=);
Readln (a);
Write (Введите b=);
Readln (b);
Write (Введите приближённое значение X=);
Readln (x1);
Write (Введите точность e=);
Readln (e);
Для подсчета количества проведенных итераций требуется обнулить переменную i, которая заданы в разделе переменных, и организовать цикл, который будет проводить итерации и обеспечивать их подсчет:
i:=0;
Repeat
i:=i+1;
x0:=x1;
if k=1 then x1:=f(x0, a, b);
if k=2 then x1:=c(x0, a, b);
if k=3 then x1:=s(x0, a, b);
Until (abs(x1-x0)<=e);
Вывод результатов на экран:
Writeln (Решение уравнения: );
Writeln (Вычисленное значение корня..., x1:6:5);
Writeln (Число итераций.............. , i);
Readln;
Конец программы фиксируется служебным словом END, после которого обязательно ставится точка:
END.
- Тема 5. Методы решения нелинейных уравнений.
- Решение системы нелинейных уравнений методом простой итерации
- Глава 2 Программная реализация решения систем нелинейных уравнений методом простой итерации 14
- Решение НелинейноГо уравнениЯ МетодОм простых итераций
- 41. Решение нелинейного уравнения методом простой итерации.
- 50. Решение нелинейного уравнения методом итерации.
- 43. Решение нелинейного уравнения методом простой итерации.
- Решение нелинейных уравнений методом простой итерации
- Методы решения систем нелинейных уравнений
- Приближенное решение систем нелинейных уравнений. Метод итерации.