Escolar Documentos
Profissional Documentos
Cultura Documentos
Ko$#,.,e&1: H;en,!#e)'
/$o"ed,$e Bi#B#n29li"k(>ende$: HD1%e"#)'
/$o"ed,$e Bi#B#n19li"k(>ende$: HD1%e"#)'
K$o"ed,$e D,#/,#(C0;a#1: 9ol0-$$ay' E : !n#e.e$)'
K$o"ed,$e >,1&#i#,#e(La$ 9ol0;a#1, C0;a#1 : 9ol0-$$ay'
9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
E : !n#e.e$)'
K$o"ed,$e *li)ina#e(La$ 9ol0;a#1, >"ale0Le"#1 : 9ol0-$$ay'
La$ 9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
E : !n#e.e$)'
K$o"ed,$e Ki2o#(La$ >"ale0Le"#1 : 9ol0-$$ay'
9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
M,E: !n#e.e$)'
K$o"ed,$e o$de$(La$ >"ale0Le"#1 : 9ol0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
La$ 9oe660;a#1 : ;a#0-$$ay'
E: !n#e.e$)'
K$o"ed,$e !n/,#(La$ E : !n#e.e$'
La$ 9oe660;a#1 : ;a#0-$$ay'
La$ 9ol0;a#1 : 9ol0-$$ay)'
K$o"ed,$e !ni#ialize0-$$ay( La$ 9oe660;a# : ;a#0-$$ay '
La$ 9ol0;a#,C0;a#, >"ale0Le"# : 9ol0-$$ay'
La$ o$de$0Le"# : !n#0-$$ay)'
/$i2a#e
N K$i2a#e de"la$a#ion& O
/,1li"
N K,1li" de"la$a#ion& O
end'
.eclaramos as seguintes variveis glo)ais !ue sero utilizadas no processo1
La$
:o$)1: H:o$)1'
x:in#e.e$'
y:in#e.e$'
n"ol:in#e.e$'
n$o=:in#e.e$'
e)/#y:in#e.e$'
E0*PE> : !n#e.e$' // !n/,# do ,&,G$io : EF)e$o de *+,a3Qe& no >i&#e)a
9D*::0;-H : ;a#0-$$ay' // !n/,# do ,&,G$io : ;a#$iz 9oe6i"ien#e do >i&#e)a
9D70;-H : 9ol0-$$ay' // !n/,# do ,&,G$io : ;a#$iz 9ol,na "o) a& 9on&#an#e&
C0;-H : 9ol0-$$ay' // D,#K,# : ;a#$iz "o) a &ol,34o do /$o1le)a
o$A*(0L*9H : !n#0-$$ay' // ;a#$iz /a$a /i2o#ea)en#o da& lin8a +,ando
//ne"e&&G$io
>9-7*0L*9H : 9ol0-$$ay' // Ai2i&4o /elo )aio$ ele)en#o da lin8a
!,R,M : !n#e.e$' // ?&ada& /a$a 7oo/
-n& : 98a$'
2 c*digo das un(-es ento adicionado ao pro+eto1
i)/le)en#a#ion
NS( *A:;O
K$o"ed,$e #6o$)1!ni#ialize0-$$ay( La$ 9oe660;a# : ;a#0-$$ay '
La$ 9ol0;a#,C0;a#, >"ale0Le"# : 9ol0-$$ay'
La$ o$de$0Le"# : !n#0-$$ay)'
// *&#a /$o"ed,$e ini"ializa #oda& a& )a#$ize& ,#ilizada& no /$o.$a)a
// E- *EH(-A- : Hoda& a& )a#$ize& #e) 2alo$e& inde6inido&
// E- >-!A- : -& )a#$ize& eo /$een"8ida& /o$ 0 (ze$o&)
9on&#
;-C(D< = 50'
;-C9D7 = 50'
La$
! : !n#e.e$'
R : !n#e.e$'
1e.in
:o$ ! := 1 #o ;ax(o= do N indi"e da& lin8a& O
1e.in
9ol0;a#I!J := 0'
C0;a#I!J := 0'
o$de$0Le"#I!J := 0'
>"ale0Le"#I!J := 0'
:o$ R := 1 #o ;ax9ol do Nindi"e da& "ol,na& O
9oe660;a#I!,RJ := 0'
end'
end'
K$o"ed,$e #6o$)1!n/,#(La$ E : !n#e.e$'
La$ 9oe660;a#1 : ;a#0-$$ay'
La$ 9ol0;a#1 : 9ol0-$$ay)'
// *&#a /$o"ed,$e $e"e1e o n,)e$o de e+,a3Qe& do &i&#e)a& e
// a& )a#$ize& do )e&)o
// E- *EH(-A- : E => nF)e$o de e+,a3Qe& : n4o de6inido
// 9oe660;a#1 => )a#$iz do& "oe6i"ien#e& : n4o de6inido
// 9ol0;a#1 => )a#$iz "ol,na : n4o de6inido
// E- >-!A- : E => nF)e$o de e+,a3Qe& en#$ada& no &#$in..$id
// 9oe660;a#1 => )a#$iz do& "oe6i"ien#e& en#$ada& no &#$in..$id
// 9ol0;a#1 => )a#$iz "ol,na en#$ada no &#$in..$id
La$
!,R : !n#e.e$'
1e.in
E:=&#$in..$id1$o="o,n#'
:o$ ! := 1 #o E do // Tndi"e da& lin8a&
1e.in
:o$ R := 1 #o E do // Tndi"e da& "ol,na&
1e.in
"oe660)a#1I!,RJ:=&#$#o6loa#(&#$in..$id1"ell&IR-1,!-1J)'
end'
"ol0)a#1I!J:=&#$#o6loa#(&#$in..$id1"ell&I&#$in..$id1"ol"o,n#-1,!-1J)'
end'
end'
K$o"ed,$e #6o$)1o$de$(La$ >"ale0Le"#1 : 9ol0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
La$ 9oe660;a#1 : ;a#0-$$ay'
E : !n#e.e$)'
// *&#a K$o"ed,$e o$dena a& lin8a& da )a#$iz
// E- *EH(-A- : >"ale0Le"#1 => n4o de6inido
// o$de$0Le"#1 => n4o de6inido
// 9oe660;a#1
// E => nF)e$o de e+,a3Qe&
// E- >-!A- : >"ale0Le"#1 => "on#5) o 2alo$ )Gxi)o /a$a "ada lin8a
da // )a#$iz do& "oe6i"ien#e&
// o$de$0Le"#1 => n,)e$a "ada lin8a da )a#$iz do& "oe6i"ien#e&
// 9oe660;a# => n4o di&/onT2el
// E => n4o di&/onT2el
La$
!,R : !n#e.e$'
1e.in
:o$ ! := 1 #o E do
1e.in
o$de$0Le"#1I!J := !' // o$de$2e"# $e"e1e o nF)e$o da lin8a de "ada lin8a
>"ale0Le"#1I!J := -1&(9oe660;a#1I!,1J)' // $e"e1e o /$i)ei$o nF)e$o de "ada
lin8a
:o$ R := 2 #o E do N loo/ na& "ol,na& O
1e.in // "o)/a$a o& 2alo$e& de "ada lin8a da )a#$iz do& "oe6i"ien#e& e
.,a$da o 2alo$ e) &"ale02e"#IiJ
i6 -1&(9oe660;a#1I!,RJ) > >"ale0Le"#1I!J #8en
>"ale0Le"#1I!J := -1&(9oe660;a#1I!,RJ)'
end'
end'
end'
K$o"ed,$e #6o$)1Ki2o#(La$ >"ale0Le"#1 : 9ol0-$$ay'
9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
M,E : !n#e.e$)'
// *&#a K$o"ed,$e a"8a o )aio$ nF)e$o e) "ada "ol,na de/oi& dala #e$ "ido
//e&"alonada e "o)/a$a "o) o nF)e$o na /o&i34o dia.onal "o$$e&/onden#e
// E- *EH(-A- : >"ale0Le"#1 => o 2alo$ de no$)a#iza34o /a$a "ada lin8a
// 9oe660;a#1 => - )a#$iz de en#$ada do& "oe6i"ien#e&
// o$de$0Le"#1 => D nF)e$o de "ada lin8a na /o&i34o o$i.inal
// M => (e#o$nado /ela K$o"ed,$e *li)ina#e
// E => nF)e$o de e+,a3Qe&
// E- >-!A- : >"ale0Le"# => )e&)a "oi&a
// 9oe660;a#1 => )e&)a "oi&a
// o$de$0Le"# => "on#ain& #8e $o= n,)1e$ <i#8 8i.8e&# &"aled
// 2al,e
// k => n4o di&/onT2el
// E => n4o di&/onT2el
La$
! : !n#e.e$'
Ki2o#, !d,) : !n#e.e$' N$e"e1e 2alo$e& #e)/o$G$io& /a$a /i2o#ea)en#oO
Bi.,A,))y : (eal' N9o)/a$a 2alo$e& de "ada "ol,naO
1e.in
Ki2o# := M'
Bi. := -1&(9oe660;a#1Io$de$0Le"#1IMJ,MJ/>"ale0Le"#1Io$de$0Le"#1IMJJ)'
:o$ ! := M+1 #o E do
1e.in
A,))y := -1&(9oe660;a#1Io$de$0Le"#1I!J,MJ/>"ale0Le"#1Io$de$0Le"#1I!JJ)'
i6 A,))y > Bi. #8en
1e.in
Bi. := A,))y'
Ki2o# := !'
end'
end'
!d,) := o$de$0Le"#1IKi2o#J'
o$de$0Le"#1IKi2o#J := o$de$0Le"#1IMJ'
o$de$0Le"#1IMJ := !d,)'
end'
K$o"ed,$e #6o$)1*li)ina#e(La$ 9ol0;a#1, >"ale0Le"#1 : 9ol0-$$ay'
La$ 9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
E : !n#e.e$)'
La$
!,R,M : !n#e.e$'
:a"#o$ : (eal'
1e.in
:o$ M := 1 #o E-1 do
1e.in
Ki2o# (>"ale0Le"#1,9oe660;a#1,o$de$0Le"#1,M,E)'
:o$ ! := M+1 #o E do
1e.in
:a"#o$ := 9oe660;a#1Io$de$0Le"#1I!J,MJ/9oe660;a#1Io$de$0Le"#1IMJ,MJ'
:o$ R := M+1 #o E do
1e.in
9oe660;a#1Io$de$0Le"#1I!J,RJ := 9oe660;a#1Io$de$0Le"#1I!J,RJ -
:a"#o$*9oe660;a#1Io$de$0Le"#1IMJ,RJ'
end'
9ol0;a#1Io$de$0Le"#1I!JJ := 9ol0;a#1Io$de$0Le"#1I!JJ -
:a"#o$*9ol0;a#1Io$de$0Le"#1IMJJ'
end'
end'
end'
K$o"ed,$e #6o$)1>,1&#i#,#e(La$ 9ol0;a#1, C0;a#1 : 9ol0-$$ay'
9oe660;a#1 : ;a#0-$$ay'
La$ o$de$0Le"#1 : !n#0-$$ay'
E : !n#e.e$)'
// *&#a /$o"ed,$e 6az a $e#$o&,1&#i#,i34o /a$a o1#e$ o& $e&,l#ado&
// E- *EH(-A- : 9ol0;a# => ;a#$ix da& "on&#an#e& ()odi6i"ada)
// C0;a#1 => n4o de6inido
// 9oe660;a#1 => ;a#$iz #$ian.,la$izada a"i)a
// o$de$0Le"# => 9on#5) a o$de) da& lin8a&
// E => nF)e$o de e+,a3Qe&
// E- >-!A- : 9ol0;a# => n4o di&/onT2el
// C0;-#1 => -> >D7?UV*> A*>*R-A-> WWWWWW
// 9oe660;a#1 => n4o di&/onT2el
// o$de$0Le"#1
// E => n4o di&/onT2el
La$
!, R : !n#e.e$'
>,) : (eal'
1e.in
C0;a#1IEJ := 9ol0;a#1Io$de$0Le"#1IEJJ/9oe660;a#1Io$de$0Le"#1IEJ,EJ'
// (e#o$na o 2alo$ de xInJ
:o$ ! := E-1 do=n#o 1 do
1e.in
>,) := 00'
:o$ R := !+1 #o E do
>,) := >,) + 9oe660;a#1Io$de$0Le"#1I!J,RJ*C0;a#1IRJ'
C0;a#1I!J := (9ol0;a#1Io$de$0Le"#1I!JJ - >,))/9oe660;a#1Io$de$0Le"#1I!J,!J'
end'
end'
K$o"ed,$e #6o$)1D,#/,#(C0;a#1: 9ol0-$$ay' E : !n#e.e$)'
// (e#o$na a& &ol,3Qe& do /$o1le)a de en#$ada
// E- *EH(-A- : C0;a#1 => - &ol,34o do &i&#e)a
// E => nF)e$o de e+,a3Qe&
// E- >-!A- : C0;a#1 => n4o di&/onT2el
// E => n4o di&/onT2el
La$
! : !n#e.e$'
1e.in
:o$ ! := 1 #o E do
1e.in
&#$in..$id29ell&I0,!-1J:= XC(X+ in##o&#$(!) +X)X'
&#$in..$id29ell&I1,!-1J:= 6loa##o&#$(C0)a#1I!J)'
&#$in..$id2$o="o,n#:=&#$in..$id1$o="o,n#+1'
end'
end'
/$o"ed,$e H:o$)1Bi#B#n29li"k(>ende$: HD1%e"#)'
// *&#a /$o"ed,$e #e&#a &e a )a#$iz do& "oe6i"ien#e& 5 +,ad$ada
// * "8a)a #oda& a& /$o"ed,$e& ne"e&&G$ia&
1e.in
i6 (&#$in..$id1"ol"o,n#-1)=&#$in..$id1$o="o,n# #8en //He&#a &e a )a#$iz 5
+,ad$ada
1e.in
!ni#ialize0-$$ay(9oe660;a#, 9ol0;a#, C0;a#, >"ale0Le"#, o$de$0Le"#)'
!n/,#(E0*PE>, 9oe660;a#, 9ol0;a#)'
D$de$(>"ale0Le"#,o$de$0Le"#,9oe660;a#,E0*PE>)'
*li)ina#e(9ol0;a#,>"ale0Le"#,9oe660;a#,o$de$0Le"#,E0*PE>)'
>,1&#i#,#e(9ol0;a#,C0;a#,9oe660;a#,o$de$0Le"#,E0*PE>)'
la1el32i&i1le:=#$,e'
&#$in..$id22i&i1le:=#$,e'
D,#/,#(C0;a#,E0*PE>)'
end
el&e
1e.in
&8o=)e&&a.e(X;a#$iz do& 9oe6i"ien#e& n4o P?-A(-A-X)' // &e n4o 6o$
+,ad$ada
end
end'
end
Com isso demonstramos a cria(o da Implementa(o do Processo de Elimina(o de 3auss.
2 programa completo pode ser encontrado para doGnload nos sites, ===en.e"%1ne# e
===2i"#o$y8/."o)1$, e inclui outras op(-es tais como salvamento das matrizes para a)ertura
posterior, tratamento multi9lingue <Portugu&s 9 Ingl&s> !ue no so de interesse da a)ordagem do artigo.
#gradecimentos para1
9 Cristiano $ontes 9H Por me mostrar !ue o mundo numrico <"eu Proessor>.
9 3uilherme 2siris 9H Por sugest-es e de)uga(o.
9 "arcus "es!uita 9H Por sugest-es e de)uga(o.
5ictorE $ernandes desenvolvedor da :B6 6otGare 9 6olu(-es de #utoma(o Comercial, 6otGares
.edicados e 6o)9Encomenda. Pode ser contactado em victorye!net"com"#r$ ou atrav%s dos sites
&&&"victory"'pg"com"#r 9 &&&"enge"c(#"net I &&&"igara"com"#r.