Home

A scuola di Delphi

www.gpeano.org 

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

Sommario
Blocco note
Tavola gradi-rad
Primitive grafiche
Giochi grafici
Assi cartesiani
Retta esplicita
Fascio improprio
Circonferenza
Ellisse
Sistema solare
Parabola
Iperbole
 

Capitolo 3

Fascio improprio

Questo programma è di fatto una semplice modifica di quello precedente.

Si tratta di riuscire a disegnare una fascio di rette improprio (m cost. e q variabile).

Le rette dovranno essere disegnate per valori di q compresi fra due estremi q1 e q2 ad intervalli dq.

La struttura della form è molto simile a quella del programma precedente, quindi non la descriveremo in dettaglio. Elenchiamo solo i nomi dei vari componenti inseriti.

  • object PanelControlli: TPanel
      Align = alLeft
      BevelInner = bvRaised
      BevelOuter = bvLowered
  • object LabelEq: TLabel
      Caption = 'y = m x + q'
  • object LabelM: TLabel
      Caption = 'm'
  • object EditM: TEdit
      Text = '1'
  • object LabelQ1: TLabel
      Caption = 'q1'
  • object EditQ1: TEdit
      Text = '-5'
  • object LabelQ2: TLabel
      Caption = 'q2'
  • object EditQ2: TEdit
      Text = '5'
  • object LabelDq: TLabel
      Caption = 'dq'
  • object EditDq: TEdit
      Text = '0.5'
  • object ButtonDisegna: TButton
      Caption = '&Disegna'
      Default = True
      OnClick = ButtonDisegnaClick
  • object ButtonCancella: TButton
      Caption = '&Cancella'
      OnClick = ButtonCancellaClick
  • object Oxy: TOxy
      Align = alClient

Osserviamo, solamente la struttura della procedura associata al bottone Disegna, che è la parte più interessante dal punto di vista matematico e informatico.

procedure TFormFascioImproprio.ButtonDisegnaClick(Sender: TObject);
var
  m, q, q1, q2, dq, x1, y1, x2, y2: Double;
begin
  m:=StrToFloat(EditM.Text);
  q1:=StrToFloat(EditQ1.Text);
  q2:=StrToFloat(EditQ2.Text);
  dq:=StrToFloat(EditDq.Text);
  
  with Oxy do
  begin
    Pen.Color:=clBlue;
    q:=q1;
    repeat
      x1:=xMin; y1:=m*x1+q;
      x2:=xMax; y2:=m*x2+q;
      Line(x1, y1, x2, y2);
      q:=q+dq;
    until q>q2;
  end;
end;

Vengono letti i valori di m, q1, q2 e dq; all'interno del costrutto with Oxy do vi sono le istruzioni grafiche; a partire dal valore iniziale di q pari a q1, vengono disegnate le rette del fascio a incrementi di dq fino a quando il valore di q supera q2.

 3.07 - Fascio improprio (*)

 

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