Algoritmo Ordinamento di 3 Numeri Sviluppiamo il problema con la tecnica Top-down Trovare una subroutine generale per risolvere il problema scambia
Trovare una subroutine generale per risolvere il problema scambia RAM a b c 5 3 1 comodo Trovare una subroutine generale per risolvere il problema scambia
Private Sub scambia (X,Y AS Integer) Dim Comodo AS Integer if X > Y then Comodo = X X = Y Y = Comodo End if End Sub I parametri sono oggetti che la routine chiamante trasmette alla routine chiamata e su cui essa deve operare. In questo modo le routine generali sono viste come “scatole chiuse” di cui si conosce solo la funzione svolta con cui si può comunicare solo attraverso i parametri. Scambia è una routine generale, non è legata a nessun controllo presente nel form, ma viene attivata solo se richiamata all’interno del codice. X e Y sono detti parametri formali della subroutine rendono il sottoprogramma(cioè la subroutine) indipendente dalla routine chiamante; sono variabili di input/output del sottoprogramma
lblvariabile1.Caption = b Private Sub scambia (X,Y AS Integer) Dim Comodo AS Integer if X > Y then Comodo = X X = Y Y = Comodo End if End Sub Private Sub cmdscambia_Click() a = VAL(txtPrimoValore.text) b = VAL(txtSecondoValore.Text) c = VAL(txtTerzoValore.Text) scambia a,b scambia b,c scambia a,c lblvariabile1.Caption = a lblvariabile1.Caption = b lblvariabile1.Caption = c End Sub Questa istruzione scambia scritta nella routine d’evento richiama la generale passando ad essa i valori contenuti nelle variabili a b I valori di a e b sono detti parametri attuali . Questi valori vengono accolti dalla routine generale per mezzo dei parametri formali X e Y ed elaborati
a b c 5 3 1 3 5 1 3 3 5 lblvariabile1.Caption = b X Y X Y Private Sub scambia (X,Y AS Integer) Dim Comodo AS Integer if X > Y then Comodo = X X = Y Y = Comodo End if End Sub Private Sub cmdscambia_Click() a = VAL(txtPrimoValore.text) b = VAL(txtSecondoValore.Text) c = VAL(txtTerzoValore.Text) scambia a,b scambia a,c scambia b,c lblvariabile1.Caption = a lblvariabile1.Caption = b lblvariabile1.Caption = c End Sub a b c comodo X Y X Y 5 3 1 3 5 1 3 3 5
a b c 5 3 1 3 5 5 1 3 3 3 5 5 lblvariabile1.Caption = b Private Sub scambia (X,Y AS Integer) Dim Comodo AS Integer if X > Y then Comodo = X X = Y Y = Comodo End if End Sub Private Sub cmdscambia_Click() a = VAL(txtPrimoValore.text) b = VAL(txtSecondoValore.Text) c = VAL(txtTerzoValore.Text) scambia a,b scambia a,c scambia b,c lblvariabile1.Caption = a lblvariabile1.Caption = b lblvariabile1.Caption = c End Sub a b c comodo 5 3 1 3 5 5 1 3 3 3 5 5