Home

A scuola di Delphi

www.gpeano.org 

Introduzione · Capitolo 1 · Capitolo 2 · Capitolo 3 · Capitolo 4 · Capitolo 5 · Download 

Sommario
Indovina numero
Sistema lineare
Figura
Distr. automatico
Potenze
Mcm
Scomp. in fattori
Numeri primi
 

Capitolo 2

Sistema lineare

Questa applicazione calcola le soluzioni di un sistema lineare di 2 equazioni in 2 incognite.
Dopo aver inserito i 6 coefficienti del sistema, il programma calcola il risultato se il sistema č determinato e visualizza il messaggio "Il sistema č determinato", oppure visualizza i messaggi "Il sistema č indeterminato" o "Il sistema č impossibile" in caso contrario.

Il calcolo delle soluzioni avviene tramite il metodo di Cramer. Dato il sistema nella forma:

a x + b y = e
c x + d y = f

le soluzioni sono date da:

x = Δx

Δ
= e d - f b

a d - c b
y = Δy

Δ
= a f - c e

a d - c b

Se il denominatore Δ č diverso da 0, il sistema č determinato, se Δ č uguale a 0 e Δx e Δy sono entrambi 0 il sistema č indeterminato, altrimenti č impossibile.

Prima di passare al listato osserviamo che sulla form sono presenti le due parentesi graffe. Queste vengono rappresentate grazie ad un nuovo componente Delphi costruito appositamente per lo scopo. La spiegazione relativa alla sua realizzazione va oltre le capacitą acquisite fino a questo punto del nostro corso; sarą eventualmente oggetto delle prossime lezioni.

Vediamo come installare un nuovo componente nella palette di Delphi. Estrarre i due file contenuti nel file 2_02_tbrace.zip nella cartella C:\Programmi\Borland\Delphi 2.0\LIB dove sono contenuti gli altri componenti di Delphi. Quindi in Delphi accedere al menu: Component - Install - Add - Browse - selezionare Brace.pas dalla cartella suddetta - Apri - OK. Dopo pochi istanti il componente Brace comparirą nella linguetta Samples visualizzando l'icona . Ora č possibile inserire la graffa sulla form come un qualsiasi componente di Delphi, dimensionarla a piacimento e cambiarne le proprietą.

Infine il listato della procedura associata all'evento OnClick del bottone Calcola, che con le nostre conoscenze non dovrebbe presentare problemi di comprensione.

procedure TFormSistemaLineare.BitBtnCalcolaClick(Sender:
  TObject);
var
  a, b, c, d, e, f, x, y, dx, dy, det: Double;
begin
  a:=StrToFloat(EditA.text);
  b:=StrToFloat(EditB.text);
  c:=StrToFloat(EditC.text);
  d:=StrToFloat(EditD.text);
  e:=StrToFloat(EditE.text);
  f:=StrToFloat(EditF.text);

  dx:=e*d-f*b;
  dy:=a*f-c*e;
  det:=a*d-c*b;

  if det<>0 then
  begin
    x:=dx/det;
    y:=dy/det;
    EditX.Text:=FloatToStr(x);
    EditY.Text:=FloatToStr(y);
    LabelMessaggio.Caption:='Il sistema č determinato';
  end
  else if (dx=0) and (dy=0) then
  begin
    EditX.Text:='';
    EditY.Text:='';
    LabelMessaggio.Caption:='Il sistema č indeterminato';
  end
  else
  begin
    EditX.Text:='';
    EditY.Text:='';
    LabelMessaggio.Caption:='Il sistema č impossibile';
  end;
end;

 2.02 - Sistema lineare (*)

 

(*) TBrace (deve essere installato in Delphi prima di aprire il progetto: seguire le istruzioni contenute nel commento del file zip oppure all'interno del file Brace.pas)