|
Livello di difficoltà: |
|
Il Perl, acronimo di Pratical extraction and report language, è diventato tanto popolare in Rete perché è il linguaggio più utilizzato per la creazine di programmi Cgi residenti su server Http. Può essere sfruttato sia su Web servers Apache che Iis.
|
| |
Ricorsione
Guida a Perl
In Perl possono anche essere definite delle funzioni ricosive, ossia
delle funzioni che possono richiamare se stesse per produrre il risultato
desiderato.
Ad esempio supponiamo di voler calcolare il fattoriale di un numero intero;
il fattoriale di n è quella funzione che restituisce il prodotto dei
numeri da 2 ad n. Possiamo definire due subroutine diverse per
calcolare il fattoriale di $n$, una iterativa ed una ricorsiva:
#!/usr/local/bin/perl
# fattoriale.pl
sub fattoriale_1 {
local($i, $n, $f);
$n = shift(@_);
$f = $n;
for ($i=$n -1; $i>1; $i--) {
$f = $f*$i;
}
return($f);
}
sub fattoriale_2 {
local($n) = shift(@_);
($n == 1) && return(1);
return($n * &fattoriale_2($n-1));
}
$n = <STDIN>;
$f1 = &fattoriale_1($n);
$f2 = &fattoriale_2($n);
print "fattoriale iterativo = $f1\n";
print "fattoriale ricorsivo = $f2\n";
|
| |