60 likes | 203 Views
MÉTODO JACOBI. CÓDIGO JACOBI EM PASCAL. Program Metodo_de_Jacobi ; {$APPTYPE CONSOLE} uses SysUtils ; var i,j,n,ite,cont,nite,k:integer ; a:array[0..100,0..100] of real; b,x,soma:array [0..100] of real; e,c:real ;. CÓDIGO JACOBI EM PASCAL. Begin write ('Ordem da Matriz = ');
E N D
CÓDIGO JACOBI EM PASCAL ProgramMetodo_de_Jacobi; {$APPTYPE CONSOLE} uses SysUtils; var i,j,n,ite,cont,nite,k:integer; a:array[0..100,0..100] of real; b,x,soma:array[0..100] of real; e,c:real;
CÓDIGO JACOBI EM PASCAL Begin write('Ordem da Matriz = '); readln(n); for i:=1 to n do begin writeln(''); PULA UMA LINHA for j:=1 to n do begin write('a',i,j,'='); ESCREVE Aij É IGUAL A read(a[i,j]); LÊ Aij end; write('b',i,' ='); FAZ O MESMO COM O VETOR b read(b[i]); end;
CÓDIGO JACOBI EM PASCAL writeln(''); write('Número de iteraçoes = ');PEDE O NÚMERO DE ITERAÇÕES read(ite); writeln(''); writeln('Soluçao inicial'); for i:=1 to n do LÊ O VETOR SOLUÇÃO OU O CHUTE INICIAL begin write('x',i,' = '); read(x[i]); end;
CÓDIGO JACOBI EM PASCAL writeln(''); ESTE COMANDO ESCREVE UMA LINHA VAZIA E PULA PRA SEGUINTE write('Tolerância = '); ESTE COMANDO ESCREVE NA LINHA MAS NÃO PULA FICA COM O CURSOR ESPERANDO O DEVIDO COMANDO, QUE É A TOLERÂNCIA read(e); for k:=1 toite do begin cont:=0; for i:=1 to n do begin soma[i]:=0; for j:=1 to n do begin if j<>i then soma[i]:=soma[i] + a[i,j]*x[j]; end;
CÓDIGO JACOBI EM PASCAL c:=x[i]; x[i]:= (b[i] - soma[i])/a[i,i]; if (abs(c-x[i])<e) thencont:=cont+1; end; nite:=nite+1; ifcont=n then break; SE O CONTADOR FOR IGUAL A n ENTÃO PARA end; writeln(''); writeln('Soluçao'); writeln(''); for i:=1 to n do writeln('x',i,'=',x[i]:10:2); writeln(''); writeln('Foram necessárias ',nite,' iteraçoes com a tolerância dada'); readln; readln; End.