A cuántos de ustedes no les ha pasado que cuando estudian física o matemática, al acabar de resolver un problema en donde lo importante era el razonamiento, se encuentran con un sistema de tres ecuaciones con tres variables y, para colmo de males, con números decimales incluidos.
A esa hora no tenemos otra forma de comprobar que resolviéndolo y comenzamos la tediosa tarea de calcular el sistema por cualquiera de los métodos que conocemos. Pero después de haber resuelto un problema duro de verdad esto no es tan sencillo.
Para evitar estos conflictos aquí va un código escrito en Pascal que resuelve sistemas de tres con tres.
var
i,j,k:integer;
Det,Detx,Dety,Detz,ti1,ti2,ti3,x,y,z:real;
a,b,c:array[1..3] of real;
begin
for i:=1 to 3 do
begin
write('a',i,':=');
readln(a[i]);
end;
for j:=1 to 3 do
begin
write('b',j,':=');
readln(b[j]);
end;
for k:=1 to 3 do
begin
write('c',k,':=');
readln(c[k]);
end;
write('t,rmino independiente1:=');
readln(ti1);
write('t,rmino independiente2:=');
readln(ti2);
write('t,rmino independiente3:=');
readln(ti3);
Det:=a[1]*b[2]*c[3]+a[2]*b[3]*c[1]+a[3]*b[1]*c[2]-a[3]*b[2]*c[1]-a[1]*b[3]*c[2]-a[2]*b[1]*c[3];
If Det=0 Then writeln('el sistema no tiene solución')
Else
Begin
Detx:=ti1*b[2]*c[3]+ti2*b[3]*c[1]+ti3*b[1]*c[2]-ti3*b[2]*c[1]-ti1*b[3]*c[2]-ti2*b[1]*c[3];
Dety:=a[1]*ti2*c[3]+a[2]*ti3*c[1]+a[3]*ti1*c[2]-a[3]*ti2*c[1]-a[1]*ti3*c[2]-a[2]*ti1*c[3];
Detz:=a[1]*b[2]*ti3+a[2]*b[3]*ti1+a[3]*b[1]*ti2-a[3]*b[2]*ti1-a[1]*b[3]*ti2-a[2]*b[1]*ti3;
x:=Detx/Det;
y:=Dety/Det;
z:=Detz/Det;
Writeln('x:=',x:5:2);
Writeln('y:=',y:5:2);
Writeln('z:=',z:5:2);
end;
end.
Para saber más…
Escrito por Gandalf [yoslaine.fernandez@infomed.sld.cu]
