determinanti e matrici

esci algebraturbo.htm

 

program matrix2;

(* verifica proprieta determinanti *)
(* 1 scambiare tra loro due righe o due colonne*)
(* il determinante cambia solo di segno *)
(* 2 scambiare righe con colonne:trasposizione *)
(* il determinante non cambia *)
(* 3 moltiplicando elementi di riga o colonna per un numero *)
(* il determinante risulta moltiplicato per tale numero *)
(* 4 aggiungendo agli elementi di una riga o colonna *)
(* corrispondenti elementi di altra riga o colonna *)
(* eventualmente moltiplicati per uno stesso numero *)
(* il determinante non cambia *)
(* 5 la somma dei prodotti degli elementi di una riga o colonna *)
(* per i complementi dei rispettivi elementi di altra riga o colonna*)
(* vale zero *)

uses crt;
var n:array[1..3,1..3] of real;
d:array[1..4] of real;
s:string;
scelta,T,a,b:integer;

procedure fine;
begin
exit;
end;

procedure calcola;
begin
clrscr;
s:=' ';
writeln('calcolo determinante terzo ordine:regola LAPLACE ');
writeln('scrivi i valori della matrice quadrata ordine 3');
writeln('se valori con decimali usa punto decimale 5.3 ');
writeln('dopo ogni valore premere enter ');
writeln('------------------');
writeln('a1 b1 c1 ');
writeln('a2 b2 c2 ');
writeln('a3 b3 c3 ');
writeln;
for a:=1 to 3 do
begin
writeln('------------------------');
for b:=1 to 3 do
begin
write('riga ',a,' colonna n.',b,' = ');readln(n[a,b]);
end;
end;
writeln;
d[2]:=n[2,2]*n[3,3]-n[3,2]*n[2,3];
d[3]:=-(n[2,1]*n[3,3]-n[3,1]*n[2,3]);
d[4]:=n[2,1]*n[3,2]-n[3,1]*n[2,2];
d[1]:=n[1,1]*d[2]+n[1,2]*d[3]+n[1,3]*d[4];

writeln('determinante matrice =',d[1]:4:3);
writeln(d[2]:4:3);
writeln(d[3]:4:3);
writeln(d[4]:4:3);
writeln('-----------------------------------');
writeln('prendi nota del valore del determinante');
writeln('per verificare relazione con nuovo determinante');
writeln('ottenuto apportando variazione alla matrice ');
writeln;
writeln('premi 1 per altro calcolo');
writeln('premi 2 per finire');
write('scelta 1 o 2 ? ');readln(scelta);
case scelta of
1:calcola;
2:fine;
end;
end;

begin
clrscr;
calcola;
end.