![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Pitbul |
|
|||
![]() Fruzenshtein ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.4.2008 Где: Киев Репутация: нет Всего: нет |
Добрый день, помогите пожалуйста перевести програму с ПАСКАЛЯ в VBA. В этой проге реализован метод ИТЕРАЦИЙ для СЛАУ, в эксэле надо, что бы этот макрос работал аналогично. Спасибо
Program metod_iteracia; uses crt; const maxn=10; type matrix=array [1..maxn,1..maxn] of real; vector=array [1..maxn] of real; var a:matrix; b,x:vector; i,n,k:integer; procedure DiaG(a:matrix; b:vector; var x:vector); {процедура пошуку початкового наближення} var i:integer; begin for i:=1 to n do x[i]:=b[i]/abs(a[i,i]); end; procedure SymmA(a:matrix; b:vector; var t:vector); {процедура пошуку суми елементів рівняння } var i,j:integer; begin for i:=1 to n do begin t[i]:=0; for j:=1 to n do t[i]:=t[i]+(a[i,j]*b[j]); end; end; procedure MinusveC(a:vector; b:vector; var t:vector); {процедура пошуку різниці вектора і знайденого значення} var i:integer; begin for i:=1 to n do t[i]:=a[i]-b[i] end; procedure IteraciA(a:matrix; b:vector; var y:vector); {процедура розрахунків методом ітерації} const m=100; var i,j:integer; d:matrix; buf,buf1 : vector; begin for i:= 1 to n do begin for j:=1 to n do d[i,j]:=0; d[i,i]:=a[i,i]; y[i]:=0 end; for i:= 1 to m do begin SymmA(a,y,buf); MinusveC(buf,b,buf); SymmA(d,y,buf1); MinusveC(buf1,buf,buf); DiaG(d,buf,y); end; end; procedure RivN(A: Matrix; b: Vector); {процедура виводу на екран системи заданих рівнянь} var i,j:integer; begin writeln('zadana systema rivnan'); writeln('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='); for i:=1 to N do begin for j:=1 to N do begin write('+','(',A[i,j]:2:2,')',' * X[',j,'] '); end; writeln(' = ',b[i]:2:2); end; writeln('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='); writeln; end; procedure VvodMatriX(var A: Matrix; var b: Vector); {процедура введення коефіцієнтів системи рівнянь} var i,j:integer; begin for i:=1 to N do begin for j:=1 to N do begin write('A[',i,'.',j,'] = '); read(A[i,j]); end; write('b[',i,'] = '); readln(b[i]); end; end; {основна програма} begin clrscr; writeln('vvedit n-rozmirnist matruci'); readln(n); VvodMatriX(a,b); RivN(a,b); writeln('pochatkove nabligina'); for i:=1 to n do begin x[i]:=b[i]/abs(a[i,i]); writeln(' x[',i,']=',x[i]:3:4); x[i]:=0; end; writeln; IteraciA(a,b,x); writeln('Rishenie metodom iteracii'); for i:=1 to n do writeln(' X[',I,']=',x[i]:3:3,' '); writeln; readln; end. --------------------
### JAVA ###### programming ### |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 34 Всего: 116 |
Ты думаешь? По-моему это просто новый вариант генератора случайных чисел
Так что ты сначала программу исправь, а потом уже будешь переносить... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
В Экселе есть надстройка "Поиск решений", которая СЛАУ щёлкает как орехи. И никаких макросов не надо.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Pitbul |
|
|||
![]() Fruzenshtein ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.4.2008 Где: Киев Репутация: нет Всего: нет |
Akina
Мне надо курсач сдать, а не решать примеры=) volvo877 Как это может быть гениратор случайных чисел, если там РЕНДОМ нигде не упоминается? Добавлено через 10 минут и 18 секунд Ну, окей, если эта прога не правильно написана на паскале, то может кто то поможет найти ее в Бэйсике? Ведь это же одна из базовых лаб во всем СНГ. Тут наверняка есть и люди которые хорошо знают и математику и информатику --------------------
### JAVA ###### programming ### |
|||
|
||||
| Pitbul |
|
|||
![]() Fruzenshtein ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.4.2008 Где: Киев Репутация: нет Всего: нет |
Знатоки, помогите плиз, найти решение задачи:
МЕТОД ИТЕРАЦИЙ для систем линейных алгебраических уравнений на языке VBA --------------------
### JAVA ###### programming ### |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |