|
||||
|
||||
|
Capitolo 1Equazione lineare
Non soffermiamoci sui dettagli degli oggetti presenti sulla form, a parte il Button Risolvi che ha la proprietà Default impostata a True, il che gli permette di essere attivato premendo il tasto Invio. Riportiamo solamente i nomi consigliati per i vari oggetti presenti e per la form:
La procedura ButtonRisolviClick dovrà leggere da EditA ed EditB i valori dei coefficienti a e b. Quindi se il valore di a è diverso da 0, calcolare il valore di x come -b/a e visualizzarlo in EditX, altrimenti se a è uguale a 0 dovrà verificare se anche b è 0. In caso affermativo il Text di EditX sarà 'indeterminato', altrimenti se b fosse diverso da 0 il Text di EditX sarà 'impossibile'. Scriviamo la procedura: procedure TFormEquazioneLineare.ButtonRisolviClick(Sender: TObject);
var
a, b, x: Double;
begin
a:=StrToFloat(EditA.Text);
b:=StrToFloat(EditB.Text);
if a<>0 then
begin
x:=-b/a;
EditX.Text:=FloatToStr(x);
end
else
begin
if b=0 then
EditX.Text:='indeterminata'
else
EditX.Text:='impossibile';
end;
end;
Il blocco di istruzioni: begin
x:=-b/a;
EditX.Text:=FloatToStr(x);
end
viene eseguito se la condizione a<>0 è vera, altrimenti viene eseguito il blocco: begin
if b=0 then
EditX.Text:='indeterminata'
else
EditX.Text:='impossibile';
end
Questo secondo blocco contiene la condizione su b; se la condizione b=0 è vera viene eseguita l'istruzione: EditX.Text:='indeterminata' altrimenti viene eseguita l'istruzione: EditX.Text:='impossibile' Da notare il fatto che se vi è un'unica istruzione da eseguire dopo un then
o dopo un else non è necessario racchiuderla in un blocco begin-end,
come nella condizioni su b. N.B. Il segno ; non fa parte integrante del blocco begin-end, ma serve solamente a separare un'istruzione dalla successiva: quindi all'interno di un if-then-else non devono essere inseriti ; perché fornirebbero un errore, in particolare prima dell'else. (Questa è una caratteristica del Pascal: in C/C++ deve essere invece inserito il ; prima dell'else).
|
|||
|
||||