Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 18:59   #1
Shiza321
 
Регистрация: 13.12.2009
Сообщений: 4
Восклицание Pascal. Слау методом простых итераций.

Не могу разобратся в чем проблема в программе: после нажатия выполнить не выводятся решения , выдаёт: Ошибка: вещественное переполнение.
Вот программа:
Program Metod_Prostoy_Iteracii ;
Uses crt;
const n=4; e=0.0000001;
Type matrix= array [1..n,1..n] of real;
Var A:matrix;
i,j,k:integer;
x1,x2,x3:real;
b1,b2,b3:real;
begin
a[1,1]:=0.63; a[1,2]:=-0.37; a[1,3]:=1.76; b1:=-9.29;
a[2,1]:=0.90; a[2,2]:=0.99; a[2,3]:=0.05; b2:=0.12;
a[3,1]:=0.13; a[3,2]:=-0.95; a[3,3]:=0.69; b3:=0.69;
Writeln('ìàòðèöà êîýôôèöèåíòîâ');
For i:=1 to n do
begin
For j:=1 to n do
Write(A[i,j]:6:1);
Writeln;
end;
Writeln('b1=' ,b1:3:1,' b2=' ,b2:3:1,' b3=' ,b3:3:1,' ' );
x1:=0; x2:=0; x3:=0;
For k:=1 to 1000 do
begin
x1:=(b1-a[1,2]*x2-a[1,3]*x3)/a[1,1];
x2:=(b2-a[2,1]*x1-a[2,3]*x3)/a[2,2];
x3:=(b3-a[3,1]*x1-a[3,2]*x2)/a[3,3];
if abs(x1-x1)<=e Then
if abs(x2-x2)<=e Then
if abs(x3-x3)<=e Then
end;
Writeln('x1=' ,x1:3:6,' x2=' ,x2:3:6,' x3=' ,x3:3:6 );
End.
Shiza321 вне форума Ответить с цитированием
Старый 22.03.2010, 19:16   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

начальное приближение плохое.
Serebro вне форума Ответить с цитированием
Старый 22.03.2010, 19:16   #3
Shiza321
 
Регистрация: 13.12.2009
Сообщений: 4
По умолчанию

Какое предлагаешЬ решение проблемы?

Последний раз редактировалось Shiza321; 22.03.2010 в 19:50.
Shiza321 вне форума Ответить с цитированием
Старый 22.03.2010, 20:26   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

1. Заменить реал на что-то большее.
2. Поиграть с директивами для сопроцессора, кажись, N и E.
3. Переписать алгоритм.
p51x вне форума Ответить с цитированием
Старый 22.03.2010, 21:08   #5
Shiza321
 
Регистрация: 13.12.2009
Сообщений: 4
По умолчанию

1. Double?
2. Мои познания паскаля о таком и не слыхали)
3. алгоритм вроде верный (на мой взгляд)
Shiza321 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение СЛАУ методом итерации (Pascal) mambr Помощь студентам 9 08.02.2011 21:29
Решить систему линейных уравнений методом простых итераций на Delphi Кнопик Помощь студентам 2 22.10.2009 16:11
Решение СЛАУ (метод простых итераций) XeN0N Помощь студентам 2 15.02.2009 21:33
как решить нелинейное уравнение методом простых итераций??? Bonifaciy Помощь студентам 3 13.11.2008 17:30
текст программы для решения нелинейного уравнения методом простых итераций Dyst Помощь студентам 2 14.05.2008 22:00