Prendere delle decisioni

Una istruzione condizionale uno speciale comando che permette di valutare una o pi condizioni per eseguire un particolare blocco di istruzioni. Il concetto : se si verifica la condizione allora esegui questa istruzione.
In Visual Basic le istruzioni condizionali pi semplici sono:
	If "condizione" then "istruzione" End if
	If "condizione" then "istruzione" else "istruzione" End if
	
Vediamo un esempio:
	Sub valuta()
	    VariabileInput = _ 
		InputBox("immettere un numero o una stringa di caratteri")
		'inizio dell’ istruzione condizionale
	    If IsNumeric(VariabileInput) Then
	        MsgBox "la variabile  un numero", vbInformation, "valutazione 1"
	    Else
	        MsgBox "la variabile  un carattere o una stringa di caratteri", _
	        vbInformation, "valutazione 2"
	    End If
		'fine dell’ istruzione condizionale
	End Sub
Soffermiamo la nostra attenzione su due aspetti:
  • Nella routine usata l’istruzione: "IsNumeric" che definisce se il valore memorizzato nella variabile "VariabileInput" numerico o stringa.
  • L’istruzione "InputBox" apre una finestra contenente una casella di testo, se immettiamo del testo e clicchiamo "Ok" la funzione restituisce il valore digitato.
Con l’istruzione ElseIf possibile valutare pi espressioni all’interno dello stesso blocco. Esempio:
	Sub ValutaNumero()
	    VariabileInput = InputBox("immettere un numero")
	    If VariabileInput <= 1 Then
	        MsgBox "la variabile  minore o uguale a 1", vbInformation, _ 
		"valutazione 1"
	    ElseIf (VariabileInput > 1) And (VariabileInput <= 5) Then
	        MsgBox "la variabile  maggiore di 1 e minore o uguale a 5", _ 
		vbInformation, "valutazione 2"
	    ElseIf (VariabileInput > 5) And (VariabileInput <= 10) Then
	        MsgBox "la variabile  maggiore di 5 e minore o uguale a 10", _ 
		vbInformation, "valutazione 3"
	    Else
	        MsgBox "la variabile  maggiore di 10", vbInformation, _ 
		"valutazione 4"
	    End If
	End Sub
Soffermiamo la nostra attenzione su un aspetto:
  • Nella routine sono usati degli operatori logici e matematici come: "And", ">", "<=". Essi verranno trattati nel prossimo paragrafo.
Una istruzione molto simile a "If ... ElseIf ..." "Select Case ..." Proviamo a modificare l’esempio precedente:
	Sub valutaNumero()
	    VariabileInput = InputBox("immettere un numero")
	    Select Case VariabileInput
	    Case Is <= 1
	        MsgBox "la variabile  minore o uguale a 1", vbInformation, _ 
		"valutazione 1"
	    Case 2 To 5
	        MsgBox "la variabile  maggiore di 1 e minore o uguale a 5", _ 
		vbInformation, "valutazione 2"
	    Case 6 To 10
	        MsgBox "la variabile  maggiore di 5 e minore o uguale a 10", _ 
		vbInformation, "valutazione 3"
	    Case Else
	        MsgBox "la variabile  maggiore di 10", vbInformation, _ 
		"valutazione 4"
	    End Select
	End Sub

Cognolato Studio 2004