|
||||
|
||||
|
Capitolo 1Fattori
La Label multiline spega in maniera esauriente ciò che fa questo
programma. Gli oggetti presenti sulla form sono già stati tutti visti precedentemente, quindi non perderemo tempo in altre spiegazioni. Prima di tutto elenchiamo, come al solito, gli oggetti da inserire nella form con le loro proprietà:
Per effettuare la ricerca esaustiva delle possibili coppie di numeri che moltiplicati tra loro danno n, effettuiamo un doppio ciclo for su i e su j da 1 a n e per ogni coppia di valori (i,j) verifichiamo se il loro prodotto è n. In caso affermativo inseriamo la coppia nella Memo come i × i = n. Riportiamo la procedura associata alla pressione del Tasto Cerca: procedure TFormFattori.BitBtnCercaClick(Sender: TObject);
var
n, i, j: Integer;
begin
MemoFattoriDiN.Lines.Clear;
n:=StrToIntDef(EditN.Text, 0);
for i:=1 to n do
for j:=1 to n do
if i*j=n then
MemoFattoriDiN.Lines.Add(IntToStr(i)+' × '+IntToStr(j));
end;
Esercizio. Modificare l'algoritmo in modo da renderlo più efficiente. Senza troppa difficoltà è possibile trasformare il tempo di ricerca da quadratico (n² passi) a lineare (n passi).
|
|||
|
||||