Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBaldassare Marino Modificato 10 anni fa
1
Linguaggi di programmazione: funzioni Le funzioni richiedono un numero fisso o variabile di argomenti, ovvero valori che devono essere passati alla funzione che ci lavora Le funzioni richiedono un numero fisso o variabile di argomenti, ovvero valori che devono essere passati alla funzione che ci lavora Le funzioni ritornano un numero fisso o variabile di valori di ritorno, che sono il risultato del calcolo fatto dalla funzione Le funzioni ritornano un numero fisso o variabile di valori di ritorno, che sono il risultato del calcolo fatto dalla funzione In Perl le funzioni in un programma si chiamano subroutines In Perl le funzioni in un programma si chiamano subroutines
2
Funzioni Subroutine Perl Subroutine Perl sub nome_funzione{ istruzioni....} Immaginiamo che in Perl non esista una funzione che permette di calcolare il risultato di x elevato alla y Immaginiamo che in Perl non esista una funzione che permette di calcolare il risultato di x elevato alla y Creiamo una nuova funzione, che chiamiamo eleva, in modo tale da permettere di scrivere espressioni tipo: Creiamo una nuova funzione, che chiamiamo eleva, in modo tale da permettere di scrivere espressioni tipo: $z = &eleva($x,$y) $z conterrà il risultato di $x elevato alla $y $z conterrà il risultato di $x elevato alla $y La & prima del nome della funzione serve a dire allinterprete che eleva non è un comando, ma una funzione che si trova allinterno del programma stesso La & prima del nome della funzione serve a dire allinterprete che eleva non è un comando, ma una funzione che si trova allinterno del programma stesso
3
Funzioni Occorre passare a eleva due valori, $x e $y Occorre passare a eleva due valori, $x e $y Eleva *non* lavorerà direttamente sulle variabili $x e $y, ma su altre due variabili in cui ricopieremo i valori! Eleva *non* lavorerà direttamente sulle variabili $x e $y, ma su altre due variabili in cui ricopieremo i valori! Occorre fare in modo che eleva risponda dando il risultato di $x elevato a $y Occorre fare in modo che eleva risponda dando il risultato di $x elevato a $y sub eleva{ }
4
Funzioni: passaggio di valori Le variabili che sono passate a una funzione definita tramite sub sono memorizzate in un array speciale che è chiamato @_ nellordine in cui sono messe tra parentesi Le variabili che sono passate a una funzione definita tramite sub sono memorizzate in un array speciale che è chiamato @_ nellordine in cui sono messe tra parentesi Quindi, chiamando &eleva($x, $y), dentro al blocco di codice di eleva $_[0] avrà il valore di $x, $_[1] quello di $y, e così via in caso di più argomenti Quindi, chiamando &eleva($x, $y), dentro al blocco di codice di eleva $_[0] avrà il valore di $x, $_[1] quello di $y, e così via in caso di più argomenti
5
Funzioni $z = &eleva($x, $y)... sub eleva { my $i; my $i; my $risultato = 1; for($i = 0; $i < $_[1]; i++) { $risultato = $risultato * $_[0]; $risultato = $risultato * $_[0]; }} Rimane da fare in modo che la funzione ritorni un valore, ovvero quello che verrà assegnato alla variabile $z: questo è possibile tramite il comando return Rimane da fare in modo che la funzione ritorni un valore, ovvero quello che verrà assegnato alla variabile $z: questo è possibile tramite il comando return
6
Funzioni $z = &eleva($x, $y)... sub eleva { my $i; my $i; my $risultato = 1; for($i = 0; $i < $_[1]; $i++) { $risultato = $risultato * $_[0]; $risultato = $risultato * $_[0]; } return $risultato; } Il valori della variabile dopo return saranno quelli restituiti dalla funzione, ovvero il risultato del calcolo Una funzione può restituire anche un array di elementi
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.